⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcandllheader.~h

📁 iCAN主站库[windows平台DLL],用于开发iCAN系统windows平台程序[上位机程序]
💻 ~H
字号:
#ifndef PCANDLLHEADER_H
#define PCANDLLHEADER_H

//接口卡类型定义
#define VCI_PCI5121		1
#define VCI_PCI9810		2
#define VCI_USBCAN1		3
#define VCI_USBCAN2		4
#define VCI_PCI9820		5
#define VCI_CAN232		6
#define VCI_PCI5110		7
#define VCI_CANLITE		8
#define VCI_ISA9620		9
#define VCI_ISA5420		10
#define VCI_PC104CAN	11
#define VCI_CANETE		12
#define VCI_DNP9810		13
#define VCI_PCI9840		14
#define VCI_PC104CAN2	15

#define PCANOK					0
#define PCANERR_FUNCNOTEXIST	0x01
#define PCANERR_SRCNOTEXIST		0x02//资源不存在
#define PCANERR_CMDNOTSUPPORT	0x03
#define PCANERR_CMDILLEGAL		0x04
#define PCANERR_CONNECTNOTEXIST	0x05

#define PCANERR					0xf1
#define PCANERR_USING			0xf3//资源被占用
#define PCANERR_SETCAN			0xf4//打开设备失败或初始化CAN失败
#define PCANERR_SRVSTARTED		0xf5//服务已启动,无法进行此项操作
#define PCANERR_TIMEOUT			0xf6
#define PCANERR_ITEMEXIST		0xf7//目标已经存在

#define MASTER_CYCLEUNIT	10

typedef struct _tagRouteCfg
{
	int iCardType;//CAN接口卡类型
	int iCardInd;//CAN接口卡序号
	int iCANInd;//CAN路数
	WORD wCANBaud;//0x311c - 10K,0x041c - 100K,0x001c - 500K
	WORD wMasterID;//PCAN网络主站ID
	int iMasterCycle;//PCAN网络主站定时循环参数
}ROUTECFG;

//添加一个PCAN网络,并设定PCAN网络参数
DWORD __stdcall Mgr_AddRoute(ROUTECFG &cfg,HANDLE* phRoute);
//删除一个PCAN网络
DWORD __stdcall Mgr_DelRoute(HANDLE hRoute);
//删除所有PCAN网络
DWORD __stdcall Mgr_DelAllRoute();
//启动系统
DWORD __stdcall Mgr_StartSys();
//停止系统
DWORD __stdcall Mgr_StopSys();
//系统是否已启动
DWORD __stdcall Mgr_IsStarted();

//往指定PCAN网络中添加从站
DWORD __stdcall Route_AddSlave(HANDLE hRoute,DWORD SlaveID,HANDLE* phSlave);
//删除指定PCAN网络中的从站
DWORD __stdcall Route_DelSlave(HANDLE hRoute,HANDLE hSlave);
//删除指定PCAN网络中所有从站
DWORD __stdcall Route_DelAllSlave(HANDLE hRoute);
//设置指定PCAN网络配置参数
DWORD __stdcall Route_SetConfig(HANDLE hRoute,ROUTECFG &cfg);
//获取指定PCAN网络配置参数
DWORD __stdcall Route_GetConfig(HANDLE hRoute,ROUTECFG* pcfg);
//通过从站ID在指定PCAN网络中获取该从站句柄
DWORD __stdcall Route_GetSlavebyID(HANDLE hRoute,DWORD SlaveID,HANDLE* phSlave);

//连接指定从站
DWORD __stdcall Slave_Connect(HANDLE hSlave);
//断开指定从站
DWORD __stdcall Slave_Disconnect(HANDLE hSlave);
//从站是否已连接
DWORD __stdcall Slave_IsConnected(HANDLE hSlave);
//获取指定从站ID
DWORD __stdcall Slave_GetID(HANDLE hSlave);
//获取指定从站IO数据长度
DWORD __stdcall Slave_GetIODataLen(HANDLE hSlave,DWORD *pDI,DWORD* pDO,DWORD* pAI,DWORD* pAO);
//获取指定从站AI数据
DWORD __stdcall Slave_GetAIData(HANDLE hSlave,BYTE* pRecbuf,DWORD* pReclen);
//获取指定从站DI数据
DWORD __stdcall Slave_GetDIData(HANDLE hSlave,BYTE* pRecbuf,DWORD* pReclen);
//往指定从站发送AO/DO数据
DWORD __stdcall Slave_SendData(HANDLE hSlave,DWORD SourceID,BYTE* pSendbuf,DWORD Sendlen);
//设置指定从站配置参数
DWORD __stdcall Slave_SetConfig(HANDLE hSlave,DWORD SourceID,DWORD* pSubsourceID,
								BYTE* pSendbuf,DWORD Sendlen);
//获取指定从站配置参数
DWORD __stdcall Slave_GetConfig(HANDLE hSlave,DWORD SourceID,DWORD* pSubsourceID,
								BYTE* pRecbuf,DWORD Reclen);


#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -