UCB_i.h 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. #pragma once
  2. #ifdef UCB_EXPORTS
  3. #define UCB_API _declspec(dllexport)
  4. #else
  5. #define UCB_API _declspec(dllimport)
  6. #endif
  7. #define UCB_MAX_DI 16
  8. #define UCB_MAX_DO 16
  9. #define UCB_COPYDATA_SET 0
  10. #define UCB_COPYDATA_DATA 1
  11. #ifndef MSG_SYN_UCB
  12. #define MSG_SYN_UCB WM_USER + 1120
  13. //WPARAM:
  14. #define SYN_UCB_IO_ON 1
  15. #define SYN_UCB_IO_OFF 2
  16. #define SYN_UCB_IO_RESET 3
  17. #define SYN_UCB_ECHO 4
  18. #define SYN_UCB_CANDATA 5
  19. #define SYN_UCB_CONNECTLOST 6
  20. #define SYN_UCB_AECSTOPTIME 7
  21. #define SYN_UCB_AECCHANNEL 8
  22. #endif
  23. enum UCB_RESULT
  24. {
  25. UCBRST_NOTOPEN = -1,
  26. UCBRST_OK = 0,
  27. UCBRST_FAULT = 1,
  28. UCBRST_BUSY = 2,
  29. };
  30. //---------------------------------------------------------------------------------------
  31. // 作 者:郑丽华
  32. // 日 期:2014-03-11
  33. // 枚举名称:ECOM_UCB_PWM_MODE
  34. // 枚举说明:PWM模式
  35. //---------------------------------------------------------------------------------------
  36. typedef enum
  37. {
  38. UCB_PWMMODE_DISABLE = 0,
  39. UCB_PWMMODE_ENABLE = 1,
  40. UCB_PWMMODE_ONCE = 2,
  41. UCB_PWMMODE_CONTINUOUS = 3,
  42. }ECOM_UCB_PWM_MODE;
  43. //---------------------------------------------------------------------------------------
  44. // 作 者:郑丽华
  45. // 日 期:2014-03-11
  46. // 枚举名称:ECOM_UCB_EXPO_MODE
  47. // 枚举说明:曝光模式
  48. //---------------------------------------------------------------------------------------
  49. typedef enum
  50. {
  51. UCB_EXPOMODE_0 = 0,
  52. UCB_EXPOMODE_1 = 1,
  53. UCB_EXPOMODE_2 = 2,
  54. UCB_EXPOMODE_3 = 3
  55. }ECOM_UCB_EXPO_MODE;
  56. //---------------------------------------------------------------------------------------
  57. // 作 者:郑丽华
  58. // 日 期:2014-03-11
  59. // 枚举名称:ECOM_UCB_CHANNEL_TYPE
  60. // 枚举说明:UCB通道类型
  61. //---------------------------------------------------------------------------------------
  62. typedef enum
  63. {
  64. UCB_DI = 0,
  65. UCB_DO = 1,
  66. UCB_ALL = 2
  67. }ECOM_UCB_CHANNEL_TYPE;
  68. //---------------------------------------------------------------------------------------
  69. // 作 者:郑丽华
  70. // 日 期:2013-10-23
  71. // 结构名称:ECOM_UCB_CHANNEL_MAP
  72. // 结构说明:UCB通道ID与名称之间的Map信息
  73. //---------------------------------------------------------------------------------------
  74. typedef struct tagECOMUCBChannelMap
  75. {
  76. CString strVer;
  77. CString strChannelName[32];
  78. ECOM_UCB_CHANNEL_TYPE eChanneltype[32];
  79. UCHAR cChannelID[32];
  80. tagECOMUCBChannelMap& operator =(const tagECOMUCBChannelMap &ChannelMap)
  81. {
  82. strVer = ChannelMap.strVer;
  83. for(int i=0;i<32;i++)
  84. {
  85. strChannelName[i] = ChannelMap.strChannelName[i];
  86. eChanneltype[i] = ChannelMap.eChanneltype[i];
  87. cChannelID[i] = ChannelMap.cChannelID[i];
  88. }
  89. return *this;
  90. }
  91. } ECOM_UCB_CHANNEL_MAP;
  92. //---------------------------------------------------------------------------------------
  93. // 作 者:郑丽华
  94. // 日 期:2013-10-23
  95. // 结构名称:ECOM_UCB_IO_CONF
  96. // 结构说明:UCB通道设置
  97. //---------------------------------------------------------------------------------------
  98. typedef struct tagECOMUCBIOConfigure
  99. {
  100. CString strVer;
  101. UCHAR unSet1[4][32];
  102. UCHAR unSet2[4][32];
  103. UCHAR unSet3[4][32];
  104. UCHAR unRelay1[4][32];
  105. UCHAR unRelay2[4][32];
  106. UCHAR unRelay3[4][32];
  107. tagECOMUCBIOConfigure& operator =(const tagECOMUCBIOConfigure &IOConf)
  108. {
  109. strVer = IOConf.strVer;
  110. memcpy((void *)&unSet1,(void *)&IOConf.unSet1,32*4);
  111. memcpy((void *)&unSet2,(void *)&IOConf.unSet2,32*4);
  112. memcpy((void *)&unSet3,(void *)&IOConf.unSet3,32*4);
  113. memcpy((void *)&unRelay1,(void *)&IOConf.unRelay1,32*4);
  114. memcpy((void *)&unRelay2,(void *)&IOConf.unRelay2,32*4);
  115. memcpy((void *)&unRelay3,(void *)&IOConf.unRelay3,32*4);
  116. return *this;
  117. }
  118. } ECOM_UCB_IO_CONF;
  119. //---------------------------------------------------------------------------------------
  120. // 作 者:郑丽华
  121. // 日 期:2014-04-11
  122. // 结构名称:ECOM_UCB_CAN_DATA
  123. // 结构说明:CAN数据包
  124. //---------------------------------------------------------------------------------------
  125. #define MAX_CANDATA_LEN 64
  126. typedef struct tagECOMUCBCanData
  127. {
  128. int nCanType;
  129. int nCanAddr;
  130. int nCanLen;
  131. UCHAR cCanStr[MAX_CANDATA_LEN];
  132. //CString strAddr;
  133. //CString strDATA;
  134. } ECOM_UCB_CAN_DATA;
  135. //---------------------------------------------------------------------------------------
  136. // 作 者:郑丽华
  137. // 日 期:2014-07-4
  138. // 结构名称:ECOM_UCB_CAN_SET
  139. // 结构说明:CAN设置
  140. //---------------------------------------------------------------------------------------
  141. #define MAX_CANFILTER_LEN 16
  142. typedef struct tagECOMUCBCanSet
  143. {
  144. int nCanType;
  145. int nBaud;
  146. char cFilter[MAX_CANFILTER_LEN];
  147. int nEnable;
  148. } ECOM_UCB_CAN_SET;
  149. extern "C" UCB_API int _stdcall UCB_BeginLog(CString strPath = _T(""),CString strName = _T("UCB"),int nLogDays = 15,int nLogMode = 5);
  150. extern "C" UCB_API int _stdcall UCB_Open(HWND hWnd,CString strCommType,int nPort,int nBaud);
  151. extern "C" UCB_API int _stdcall UCB_Close();
  152. extern "C" UCB_API int _stdcall UCB_Restart();
  153. extern "C" UCB_API int _stdcall UCB_Reset();
  154. extern "C" UCB_API int _stdcall UCB_SetDObyName(CString strName, bool bStatus);
  155. extern "C" UCB_API int _stdcall UCB_SetDObyIndex(int nIndex, bool bStatus);
  156. extern "C" UCB_API int _stdcall UCB_SetPWM(CString strName,int nCycle,int nPulse);
  157. extern "C" UCB_API int _stdcall UCB_SetPWMEnable(CString strName,ECOM_UCB_PWM_MODE eMode,bool bEnable);
  158. extern "C" UCB_API int _stdcall UCB_ReadSerial(char *strSerial);
  159. extern "C" UCB_API int _stdcall UCB_WriteSerial(char *strSerial);
  160. extern "C" UCB_API int _stdcall UCB_SetExpoMode(ECOM_UCB_EXPO_MODE nMode,int nCount);
  161. extern "C" UCB_API int _stdcall UCB_VerifyVer();
  162. extern "C" UCB_API int _stdcall UCB_Echo(bool bSyn = true);
  163. extern "C" UCB_API int _stdcall UCB_ReadVer(int nType,char *strVer);
  164. extern "C" UCB_API int _stdcall UCB_LoadMapFile(CString strPath,ECOM_UCB_CHANNEL_MAP *pstChannelMap);
  165. extern "C" UCB_API int _stdcall UCB_SaveMapFile(CString strPath,ECOM_UCB_CHANNEL_MAP *pstChannelMap);
  166. extern "C" UCB_API int _stdcall UCB_GetIOConf(int nZone,ECOM_UCB_IO_CONF *pstIOConf);
  167. extern "C" UCB_API int _stdcall UCB_SaveIOConf(CString strPath,ECOM_UCB_IO_CONF *pstIOConf);
  168. extern "C" UCB_API int _stdcall UCB_DownLoadIOConf(CString strPath,int nZone);
  169. extern "C" UCB_API int _stdcall UCB_FactReset();
  170. extern "C" UCB_API int _stdcall UCB_EEPROMCopy(int nZone1,int nZone2);
  171. extern "C" UCB_API int _stdcall UCB_GetIndex(ECOM_UCB_CHANNEL_TYPE eType, CString strName,int &nIndex);
  172. extern "C" UCB_API int _stdcall UCB_GetName(ECOM_UCB_CHANNEL_TYPE eType, int nIndex, CString &strName);
  173. extern "C" UCB_API int _stdcall UCB_CANSet(int nDataType,int nBaud,char *cFilter,int nEnable);
  174. extern "C" UCB_API int _stdcall UCB_CANSend(int nDataType,CString strID,CString strData,int nWaitTime);
  175. extern "C" UCB_API int _stdcall UCB_ABSSet(int nChannel,bool bAmpli,int nValue,bool bEnable);
  176. extern "C" UCB_API int _stdcall UCB_ADCSet(char cChannel,bool bEnable);
  177. extern "C" UCB_API int _stdcall UCB_ADCGet(char cChannel,int& nValue);
  178. extern "C" UCB_API int _stdcall UCB_AECSet(int nInID,int nOutID,char cIO,int nID,int nTime,int nMode,bool bEnable);
  179. extern "C" UCB_API int _stdcall UCB_AECReadStopTime(int nInID,int& nTime);
  180. extern "C" UCB_API int _stdcall UCB_GetConfPath(CString& strPath);
  181. extern "C" UCB_API int _stdcall UCB_SetConfPath(CString strPath);
  182. extern "C" UCB_API int _stdcall UCB_TestSignals(int nOuputChannelID, int nInputChannelID, bool bState, int nWaitTime,int &nUsedTime, int &nErrorCode);
  183. extern "C" UCB_API int _stdcall UCB_GetLastError(CString& strError);
  184. extern "C" UCB_API int _stdcall UCB_SetWindowName(CString strName);