#ifndef __I87123_H #define __I87123_H #ifdef __cplusplus extern "C" { #endif #ifdef I87123_API_EXPORTS #define I87123_API extern "C" __declspec(dllexport) #else #define I87123_API extern "C" __declspec(dllimport) #endif #define I87123_OK 0 #define I87123_COMMAND_ERR 1 #define I87123_CONFIG_ERR 2 #define I87123_DATALEN_ERR 3 #define I87123_ADDNODE_ERR 4 #define I87123_REMOVENODE_ERR 5 #define I87123_STATUS_ERR 6 #define I87123_SETGUARD_ERR 7 #define I87123_GUARD_FAILED 8 #define I87123_NODENUMBER_ERR 9 #define I87123_COBID_ERR 10 #define I87123_SDO_WRITEDATA_ERR 11 #define I87123_SDO_SEND_ERR 12 #define I87123_SDO_SEGMENT_ERR 13 #define I87123_PDO_SEND_ERR 15 #define I87123_PDO_TYPE_ERR 16 #define I87123_RESPONSE_ERR 17 #define I87123_PDO_CHANNEL_ERR 18 #define I87123_PDO_INSTALL_ERR 19 #define I87123_TIMEOUT 21 #define I87123_SLOT_ERR 24 #define I87123_PARATERS_ERR 25 #define I87123_CHANNEL_ERR 27 #define I87123_SYNC_SEND_ERR 30 #define I87123_SDO_DATA_LOSE 40 #define I87123_EMCY 45 #define I87123_RECEIVE_ERR 46 #define I87123_EMPTY 49 I87123_API WORD I87123_GetVersion(void); I87123_API void I87123_SetFunctionTimeout(DWORD timeout); I87123_API WORD I87123_Configure(HANDLE hPort, BYTE slot, BYTE baudrate) ; // 0 ~ 7 ==> 10k ~ 1000K I87123_API WORD I87123_ShutdownMaster(BYTE slot); I87123_API WORD I87123_AddNode(BYTE slot, BYTE node); I87123_API WORD I87123_RemoveNode(BYTE slot, BYTE node); I87123_API WORD I87123_ChangeState(BYTE slot, BYTE node, BYTE state); I87123_API WORD I87123_GetState(BYTE slot, BYTE node, BYTE* state); I87123_API WORD I87123_Guarding(BYTE slot, BYTE node, WORD guardtime, BYTE lifetime); I87123_API WORD I87123_Heartbeat(BYTE slot, BYTE node, WORD consumer, WORD heartbeat); I87123_API WORD I87123_SendSYNC(BYTE slot, WORD cobid, BYTE cyclically, WORD timer); I87123_API WORD I87123_ChaneSYNCID(BYTE slot, BYTE node, WORD cobid); I87123_API WORD I87123_ChaneEMCYID(BYTE slot, BYTE node, WORD cobid); I87123_API WORD I87123_AbortSDO(BYTE slot, BYTE node, WORD index, BYTE subindex); I87123_API WORD I87123_ReadSDO(BYTE slot, BYTE node, WORD index, BYTE subindex, BYTE *len, BYTE *rdata); I87123_API WORD I87123_WriteSDO(BYTE slot, BYTE node, WORD index, BYTE subindex, BYTE len, BYTE *tdata, BYTE *rlen, BYTE *rdata); I87123_API WORD I87123_SetPDOResponse(BYTE slot, BYTE node, WORD cobid, BYTE mode);//, unsigned short timer); I87123_API WORD I87123_InstallPDO(BYTE slot, BYTE node, WORD cobid, BYTE txrxtype, BYTE channel, BYTE *tdata); I87123_API WORD I87123_RemovePDO(BYTE slot, BYTE node, WORD cobid, BYTE txrxtype, BYTE channel); I87123_API WORD I87123_WritePDO(BYTE slot, WORD cobid, BYTE offset, BYTE dlen, BYTE *rdata); I87123_API WORD I87123_RemotePDO(BYTE slot, WORD cobid, BYTE *len, BYTE *rdata); I87123_API WORD I87123_PDOTxType(BYTE slot, BYTE node, WORD cobid, BYTE txtype); I87123_API WORD I87123_MsgResponse(BYTE *slot, BYTE *node, WORD *cobid, BYTE *len, BYTE *rdata); I87123_API WORD I87123_WriteDO(BYTE slot, BYTE node, BYTE dochannel, BYTE value); I87123_API WORD I87123_ReadDI(BYTE slot, BYTE node, BYTE dichannel, BYTE *value); I87123_API WORD I87123_WriteAO(BYTE slot, BYTE node, BYTE aochannel, WORD value); I87123_API WORD I87123_ReadAI(BYTE slot, BYTE node, BYTE aochannel, WORD *value); I87123_API WORD I87123_SavePollingListToEEP(BYTE slot); I87123_API WORD I87123_LoadPollingListFromEEP(BYTE slot); I87123_API WORD I87123_ScanNodeList(BYTE slot, BYTE *nodelist); I87123_API WORD I87123_SetSDOPolling(BYTE slot, BYTE node, WORD index, BYTE subindex, WORD timer, BYTE timer_unit); I87123_API WORD I87123_DelSDOPolling(BYTE slot, BYTE node, WORD index, BYTE subindex); I87123_API WORD I87123_SetPDOPolling(BYTE slot, WORD cobid, WORD timer, BYTE timer_unit); I87123_API WORD I87123_DelPDOPolling(BYTE slot, WORD cobid); I87123_API WORD I87123_GetSDOPollingList(BYTE slot, BYTE node, WORD *index, BYTE *sub_index); I87123_API WORD I87123_GetPDOPollingList(BYTE slot, WORD *cobid); I87123_API WORD I87123_GetTotalCobIdList(BYTE slot, BYTE node, BYTE *type, WORD *cobid); #ifdef __cplusplus } #endif #endif // __CPM100_H