Attribute VB_Name = "PISOCANCPM" Option Explicit '-------------------------------------------------- ' Return Code '-------------------------------------------------- Public Const CPM_NoError As Integer = 0 Public Const CPM_BoardNumberErr As Integer = 3 Public Const CPM_PortNumberError As Integer = 4 Public Const CPM_ConfigErr As Integer = 5 Public Const CPM_MasterInitErr As Integer = 6 Public Const CPM_MasterNotInit As Integer = 7 Public Const CPM_ListenMode As Integer = 8 Public Const CPM_NodeErr As Integer = 9 Public Const CPM_NodeExist As Integer = 10 Public Const CPM_AddModeErr As Integer = 11 Public Const CPM_TxBusy As Integer = 12 Public Const CPM_UnknowCmd As Integer = 13 Public Const CPM_CmdReceErr As Integer = 14 Public Const CPM_DataEmpty As Integer = 15 Public Const CPM_MemAllocErr As Integer = 16 Public Const CPM_SendCycMsgErr As Integer = 17 Public Const CPM_StatusErr As Integer = 18 Public Const CPM_SetGuardErr As Integer = 20 Public Const CPM_SetHbeatErr As Integer = 21 Public Const CPM_SegLenErr As Integer = 22 Public Const CPM_SegToggleErr As Integer = 23 Public Const CPM_SegWriteErr As Integer = 24 Public Const CPM_Abort As Integer = 25 Public Const CPM_PDOLenErr As Integer = 26 Public Const CPM_COBIDErr As Integer = 27 Public Const CPM_PDOInstErr As Integer = 28 Public Const CPM_PDODynaErr As Integer = 29 Public Const CPM_PDONumErr As Integer = 30 Public Const CPM_PDOSetErr As Integer = 31 Public Const CPM_PDOEntryErr As Integer = 32 Public Const CPM_SetCobIdErr As Integer = 33 Public Const CPM_CycFullErr As Integer = 34 Public Const CPM_Timeout As Integer = 35 Public Const CPM_DataLenErr As Integer = 36 Public Const CPM_Wait As Integer = 40 Public Const CPM_Processing As Integer = 41 Public Const CPM_LoadEDSErr As Integer = 50 Public Const CPM_EDSFormatErr As Integer = 51 '-------------------------------------------------- ' CANopen Master NMTErr Event Define '-------------------------------------------------- Public Const CPM_Node_Guarding_Event As Integer = 1 Public Const CPM_Heartbeat_Event As Integer = 2 '-------------------------------------------------- ' Common functions '-------------------------------------------------- Declare Function CPM_GetCANDriverVer Lib "PISOCANCPM.dll" () As Integer Declare Function CPM_GetVersion Lib "PISOCANCPM.dll" () As Integer Declare Function CPM_TotalBoard Lib "PISOCANCPM.dll" () As Integer Declare Function CPM_GetCardPortNum Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, bGetPortNum As Byte) As Integer Declare Function CPM_GetBoardInf Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, dwVID As Long, dwDID As Long, dwSVID As Long, dwSDID As Long, dwSAuxID As Long, dwIrqNo As Long) As Integer Declare Function CPM_GetCANStatus Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, bStatus As Byte) As Integer Declare Sub CPM_SetFunctionTimeout Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal FunTimeout As Long) Declare Function CPM_InitMaster Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal BaudRate As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_ShutdownMaster Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_MasterSendBootupMsg Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_SetMasterMode Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal mode As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetMasterMode Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, mode As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetFirmwareVersion Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, Fir_Ver As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_EDS_Load Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal FilePath As String, ByVal DelayTime As Integer, ByVal ResTimeout As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_AddNode Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal AddMode As Byte, ByVal DelayTime As Integer, ByVal ResTimeout As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_RemoveNode Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_RemoveAndResetNode Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_DelayAndResponseTimeout Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal DelayTime As Integer, ByVal ResTimeout As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_ScanNode Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal S_Node As Byte, ByVal E_Node As Byte, NodeList As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetNodeList Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, NodeList As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_NMTChangeState Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal State As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_NMTGetState Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, State As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_NMTGuarding Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal GuardTime As Integer, ByVal LiftTime As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_NMTHeartbeat Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal ProduceTime As Integer, ByVal ConsumeTime As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_SDOReadData Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal Index As Integer, ByVal SubIndex As Byte, RDlen As Long, RData As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_SDOReadFile Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal Index As Integer, ByVal SubIndex As Byte, ByVal Start As Long, ByVal DLen As Long, RDlen As Long, RData As Byte) As Integer Declare Function CPM_SDOWriteData Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal Index As Integer, ByVal SubIndex As Byte, ByVal TDLen As Long, TData As Byte, RDlen As Integer, RData As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_SDOAbortTransmit Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal Index As Integer, ByVal SubIndex As Byte, ByVal TData As Long, ByVal BlockMode As Byte) As Integer Declare Function CPM_PDOWrite Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal Offset As Byte, ByVal DLen As Byte, data As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_PDOWrite_Fast Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal Offset As Byte, ByVal DLen As Byte, data As Byte) As Integer Declare Function CPM_PDORemote Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, DLen As Byte, data As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_PDORemote_Fast Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer) As Integer Declare Function CPM_SetPDORemotePolling Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal PDOCnt As Byte, CobId As Integer, ByVal Polling_Time As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetPDOLastData Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, IsNew As Byte, DLen As Byte, data As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetMultiPDOData Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal PDOCnt As Byte, CobId As Integer, IsNew As Byte, DLen As Byte, data As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetRxPDOID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, PDO_Cnt As Byte, Id_List As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetTxPDOID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, PDO_Cnt As Byte, Id_List As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_InstallPDO Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal RxTx As Byte, ByVal PDO_No As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_DynamicPDO Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal RxTx As Byte, ByVal Entry As Byte, ByVal EntryData As Long, ByVal BlockMode As Byte) As Integer Declare Function CPM_RemovePDO Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal Entry As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_ChangePDOID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Old_Cobid As Integer, ByVal New_Cobid As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetPDOMapInfo Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, PDONo As Integer, RxTx As Byte, Tx_Type As Byte, Event_Timer As Integer, Entry_Cnt As Byte, Map_Data As Long, ByVal BlockMode As Byte) As Integer Declare Function CPM_InstallPDO_List Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal RxTx As Byte, ByVal PDO_No As Integer, ByVal Tx_Type As Byte, ByVal Event_Timer As Integer, ByVal EntryUse As Byte, EntryData As Long, ByVal BlockMode As Byte) As Integer Declare Function CPM_RemovePDO_List Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal Entry As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_PDOUseEntry Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal Entry As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_PDOTxType Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal Tx_Type As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_PDOEventTimer Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal eTimer As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_ChangeSYNCID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_SetSYNC_List Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetSYNCID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, CobId As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_SendSYNCMsg Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal sTimer As Integer, ByVal Times As Long, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetCyclicSYNCInfo Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, CobId As Integer, Timer As Integer, Times As Long, ByVal BlockMode As Byte) As Integer Declare Function CPM_ChangeEMCYID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_SetEMCY_List Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, ByVal CobId As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetEMCYID Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, CobId As Integer, ByVal BlockMode As Byte) As Integer Declare Function CPM_ReadLastEMCY Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal Node As Byte, IsNew As Byte, data As Byte, ByVal BlockMode As Byte) As Integer Declare Function CPM_GetBootUpNodeAfterAdd Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, Node As Byte) As Integer Declare Function CPM_GetEMCYData Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, Node As Byte, data As Byte) As Integer Declare Function CPM_GetNMTError Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, Node As Byte, NMTErrMode As Byte) As Integer Declare Function CPM_InstallBootUpISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_BOOTISR As Long) As Integer 'User_BOOTISR is the format of Sub User_BOOTISR () Declare Function CPM_RemoveBootUpISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_InstallEMCYISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_EMCYISR As Long) As Integer 'User_EMCYISR is the format of Sub User_EMCYISR () Declare Function CPM_RemoveEMCYISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_InstallNMTErrISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_NMTErrISR As Long) As Integer 'User_NMTErrISR is the format of Sub User_NMTErrISR () Declare Function CPM_RemoveNMTErrISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_GetMasterReadSDOEvent Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, Index As Integer, SubIndex As Byte) As Integer Declare Function CPM_GetMasterWriteSDOEvent Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, Index As Integer, SubIndex As Byte, WLen As Byte, WData As Byte) As Integer Declare Function CPM_ResponseMasterSDO Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal ResType As Byte, ByVal Index As Integer, ByVal SubIndex As Byte, ByVal RLen As Byte, RData As Byte) As Integer Declare Function CPM_GetMasterRemotePDOEvent Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, CobId As Integer) As Integer Declare Function CPM_GetMasterRxPDOEvent Lib "PISOCANCPM.dll" (BoardNo As Byte, Port As Byte, CobId As Integer, WLen As Byte, WData As Byte) As Integer Declare Function CPM_ResponseMasterPDO Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal CobId As Integer, ByVal RLen As Byte, RData As Byte) As Integer Declare Function CPM_InstallReadSDOISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_ReadSDOISR As Long) As Integer 'User_ReadSDOISR is the format of Sub User_ReadSDOISR () Declare Function CPM_RemoveReadSDOISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_InstallWriteSDOISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_WriteSDOISR As Long) As Integer 'User_WriteSDOISR is the format of Sub User_WriteSDOISR () Declare Function CPM_RemoveWriteSDOISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_InstallRxPDOISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_RxPDOISR As Long) As Integer 'User_RxPDOISR is the format of Sub User_RxPDOISR () Declare Function CPM_RemoveRxPDOISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer Declare Function CPM_InstallRemotePDOISR Lib "PISOCANCPM.dll" _ (ByVal BoardNo As Byte, ByVal Port As Byte, ByVal User_RemotePDOISR As Long) As Integer 'User_RemotePDOISR is the format of Sub User_RemotePDOISR () Declare Function CPM_RemoveRemotePDOISR Lib "PISOCANCPM.dll" (ByVal BoardNo As Byte, ByVal Port As Byte) As Integer