AsSafety.h 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154
  1. /* Automation Studio generated header file */
  2. /* Do not edit ! */
  3. #ifndef _ASSAFETY_
  4. #define _ASSAFETY_
  5. #ifdef __cplusplus
  6. extern "C"
  7. {
  8. #endif
  9. #include <bur/plctypes.h>
  10. #include <runtime.h>
  11. #include <standard.h>
  12. #include <FileIO.h>
  13. #include <AsXml.h>
  14. #include <astime.h>
  15. #include <DataObj.h>
  16. #ifndef _BUR_PUBLIC
  17. #define _BUR_PUBLIC
  18. #endif
  19. /* Constants */
  20. #ifdef _REPLACE_CONST
  21. #define safeERR_TC_INVALID_STEP 36190U
  22. #define safeERR_TC_ACK_SET 36189U
  23. #define safeERR_TC_LOCK_FAILED 36188U
  24. #define safeERR_TC_EXTRACT_FAILED 36187U
  25. #define safeERR_TC_CHECK_FAILED 36186U
  26. #define safeWRN_TC_WAIT_FOR_ACK 36191U
  27. #define safeERR_TC_TYPE_CPY_FCT 36185U
  28. #define safeERR_TC_INV_USER 36184U
  29. #define safeERR_TC_INV_TAB_LEN 36183U
  30. #define safeERR_TC_INV_INPUT_PTR 36182U
  31. #define safeERR_TC_INV_INST 36181U
  32. #define safeERR_TC_INV_TABTYPE 36180U
  33. #define safeERR_COT_PWD_ERR 36138U
  34. #define safeERR_SLINFO_RET_ERR 36137U
  35. #define safeERR_SLINFO_TYPE_ERR 36136U
  36. #define safeERR_FI_TYPE_ERR 36135U
  37. #define safeERR_FILE_EMPTY 36134U
  38. #define safeERR_BUFFER_TOO_SMALL 36133U
  39. #define safeERR_BUFFER_NULL 36132U
  40. #define safeERR_COT_READING_FILE 36131U
  41. #define safeERR_COT_TYPE_ERR 36130U
  42. #define safeERR_DLDATA_ERR_DATA 36129U
  43. #define safeERR_DLDATA_TYPE_ERR 36128U
  44. #define safeERR_DL_COMPARE_FAILED 36127U
  45. #define safeERR_DL_STATIC_UNLOCK 36126U
  46. #define safeERR_DL_UNLOCK_WRITE 36125U
  47. #define safeERR_DL_UNLOCK_READ 36124U
  48. #define safeERR_DL_UNLOCK_FILE_INFO 36123U
  49. #define safeERR_DL_NO_RIGHTS_TO_WRITE 36122U
  50. #define safeERR_DL_WRONG_FILE_SIZE 36121U
  51. #define safeERR_DL_UDID 36120U
  52. #define safeERR_DL_CHECKSUM 36119U
  53. #define safeERR_DL_STREAM 36118U
  54. #define safeERR_DL_WRITE 36117U
  55. #define safeERR_DL_FILE_TOO_BIG 36116U
  56. #define safeERR_DL_FILE_INVALID 36115U
  57. #define safeERR_DL_FILE_OPEN 36114U
  58. #define safeERR_DL_PROTOCOL 36113U
  59. #define safeERR_DL_NO_PASSWORD 36112U
  60. #define safeERR_RC_DATA_LENGTH 36111U
  61. #define safeERR_RC_STATUS_DATA 36110U
  62. #define safeERR_RC_ENTER_SK_PW 36109U
  63. #define safeERR_RC_ENTER_PW 36108U
  64. #define safeERR_RC_ENTER_DATA 36107U
  65. #define safeERR_RC_CMD 36106U
  66. #define safeERR_TIMEOUT 36105U
  67. #define safeERR_INTERNAL_ERROR 36104U
  68. #define safeERR_ALLOC_MEM 36103U
  69. #define safeERR_UDID 36102U
  70. #define safeERR_PW_LENGTH 36101U
  71. #define safeERR_VERSION 36100U
  72. #define safeRET_NO_TIMESTAMP 4294967295U
  73. #define safeCMD_VERSION_INFO 61440U
  74. #define safeCMD_SETUP_MODE_DEACT 37120U
  75. #define safeCMD_SETUP_MODE_ACT 36864U
  76. #define safeCMD_CLEAR_DATA 32768U
  77. #define safeCMD_RESET 28672U
  78. #define safeCMD_SK_FORMAT 24576U
  79. #define safeCMD_SK_PW 20480U
  80. #define safeCMD_SCAN 8192U
  81. #define safeCMD_TEST 4096U
  82. #define safeCMD_SK_XCHG 512U
  83. #define safeCMD_FW_ACKN 256U
  84. #define safeCMD_1_UDID_ACKN 96U
  85. #define safeCMD_2_UDID_ACKN 80U
  86. #define safeCMD_3_UDID_ACKN 64U
  87. #define safeCMD_4_UDID_ACKN 48U
  88. #define safeCMD_N_UDID_ACKN 32U
  89. #define safeCMD_STATUS_SL 0U
  90. #define safeCMD_STATUS 512U
  91. #define safeCMD_ENTER 256U
  92. #define safeSRC_TYPE_LOCAL_FILE 2U
  93. #define safeSRC_TYPE_LOCAL_DATA 1U
  94. #define safeSRC_TYPE_UPLOAD_FILE 0U
  95. #define safeTABLE_DATA_TYPE 1U
  96. #define safeTABLE_FILE_TYPE 0U
  97. #define safeINFO_TYPE_PWD_CHK 2U
  98. #define safeINFO_TYPE_PWD_INFO 1U
  99. #define safeDATA_TYPE_APPLICATION 4608U
  100. #define safeDATA_TYPE_ADDPARA 1024U
  101. #define safeDATA_TYPE_TABLE 768U
  102. #define safeDATA_TYPE_EXTMAOP 512U
  103. #define safeDATA_TYPE_MAOP 256U
  104. #define safeVERSION_R110 272U
  105. #define safeVERSION_R107 263U
  106. #else
  107. #ifndef _GLOBAL_CONST
  108. #define _GLOBAL_CONST _WEAK const
  109. #endif
  110. _GLOBAL_CONST unsigned short safeERR_TC_INVALID_STEP;
  111. _GLOBAL_CONST unsigned short safeERR_TC_ACK_SET;
  112. _GLOBAL_CONST unsigned short safeERR_TC_LOCK_FAILED;
  113. _GLOBAL_CONST unsigned short safeERR_TC_EXTRACT_FAILED;
  114. _GLOBAL_CONST unsigned short safeERR_TC_CHECK_FAILED;
  115. _GLOBAL_CONST unsigned short safeWRN_TC_WAIT_FOR_ACK;
  116. _GLOBAL_CONST unsigned short safeERR_TC_TYPE_CPY_FCT;
  117. _GLOBAL_CONST unsigned short safeERR_TC_INV_USER;
  118. _GLOBAL_CONST unsigned short safeERR_TC_INV_TAB_LEN;
  119. _GLOBAL_CONST unsigned short safeERR_TC_INV_INPUT_PTR;
  120. _GLOBAL_CONST unsigned short safeERR_TC_INV_INST;
  121. _GLOBAL_CONST unsigned short safeERR_TC_INV_TABTYPE;
  122. _GLOBAL_CONST unsigned short safeERR_COT_PWD_ERR;
  123. _GLOBAL_CONST unsigned short safeERR_SLINFO_RET_ERR;
  124. _GLOBAL_CONST unsigned short safeERR_SLINFO_TYPE_ERR;
  125. _GLOBAL_CONST unsigned short safeERR_FI_TYPE_ERR;
  126. _GLOBAL_CONST unsigned short safeERR_FILE_EMPTY;
  127. _GLOBAL_CONST unsigned short safeERR_BUFFER_TOO_SMALL;
  128. _GLOBAL_CONST unsigned short safeERR_BUFFER_NULL;
  129. _GLOBAL_CONST unsigned short safeERR_COT_READING_FILE;
  130. _GLOBAL_CONST unsigned short safeERR_COT_TYPE_ERR;
  131. _GLOBAL_CONST unsigned short safeERR_DLDATA_ERR_DATA;
  132. _GLOBAL_CONST unsigned short safeERR_DLDATA_TYPE_ERR;
  133. _GLOBAL_CONST unsigned short safeERR_DL_COMPARE_FAILED;
  134. _GLOBAL_CONST unsigned short safeERR_DL_STATIC_UNLOCK;
  135. _GLOBAL_CONST unsigned short safeERR_DL_UNLOCK_WRITE;
  136. _GLOBAL_CONST unsigned short safeERR_DL_UNLOCK_READ;
  137. _GLOBAL_CONST unsigned short safeERR_DL_UNLOCK_FILE_INFO;
  138. _GLOBAL_CONST unsigned short safeERR_DL_NO_RIGHTS_TO_WRITE;
  139. _GLOBAL_CONST unsigned short safeERR_DL_WRONG_FILE_SIZE;
  140. _GLOBAL_CONST unsigned short safeERR_DL_UDID;
  141. _GLOBAL_CONST unsigned short safeERR_DL_CHECKSUM;
  142. _GLOBAL_CONST unsigned short safeERR_DL_STREAM;
  143. _GLOBAL_CONST unsigned short safeERR_DL_WRITE;
  144. _GLOBAL_CONST unsigned short safeERR_DL_FILE_TOO_BIG;
  145. _GLOBAL_CONST unsigned short safeERR_DL_FILE_INVALID;
  146. _GLOBAL_CONST unsigned short safeERR_DL_FILE_OPEN;
  147. _GLOBAL_CONST unsigned short safeERR_DL_PROTOCOL;
  148. _GLOBAL_CONST unsigned short safeERR_DL_NO_PASSWORD;
  149. _GLOBAL_CONST unsigned short safeERR_RC_DATA_LENGTH;
  150. _GLOBAL_CONST unsigned short safeERR_RC_STATUS_DATA;
  151. _GLOBAL_CONST unsigned short safeERR_RC_ENTER_SK_PW;
  152. _GLOBAL_CONST unsigned short safeERR_RC_ENTER_PW;
  153. _GLOBAL_CONST unsigned short safeERR_RC_ENTER_DATA;
  154. _GLOBAL_CONST unsigned short safeERR_RC_CMD;
  155. _GLOBAL_CONST unsigned short safeERR_TIMEOUT;
  156. _GLOBAL_CONST unsigned short safeERR_INTERNAL_ERROR;
  157. _GLOBAL_CONST unsigned short safeERR_ALLOC_MEM;
  158. _GLOBAL_CONST unsigned short safeERR_UDID;
  159. _GLOBAL_CONST unsigned short safeERR_PW_LENGTH;
  160. _GLOBAL_CONST unsigned short safeERR_VERSION;
  161. _GLOBAL_CONST unsigned long safeRET_NO_TIMESTAMP;
  162. _GLOBAL_CONST unsigned short safeCMD_VERSION_INFO;
  163. _GLOBAL_CONST unsigned short safeCMD_SETUP_MODE_DEACT;
  164. _GLOBAL_CONST unsigned short safeCMD_SETUP_MODE_ACT;
  165. _GLOBAL_CONST unsigned short safeCMD_CLEAR_DATA;
  166. _GLOBAL_CONST unsigned short safeCMD_RESET;
  167. _GLOBAL_CONST unsigned short safeCMD_SK_FORMAT;
  168. _GLOBAL_CONST unsigned short safeCMD_SK_PW;
  169. _GLOBAL_CONST unsigned short safeCMD_SCAN;
  170. _GLOBAL_CONST unsigned short safeCMD_TEST;
  171. _GLOBAL_CONST unsigned short safeCMD_SK_XCHG;
  172. _GLOBAL_CONST unsigned short safeCMD_FW_ACKN;
  173. _GLOBAL_CONST unsigned short safeCMD_1_UDID_ACKN;
  174. _GLOBAL_CONST unsigned short safeCMD_2_UDID_ACKN;
  175. _GLOBAL_CONST unsigned short safeCMD_3_UDID_ACKN;
  176. _GLOBAL_CONST unsigned short safeCMD_4_UDID_ACKN;
  177. _GLOBAL_CONST unsigned short safeCMD_N_UDID_ACKN;
  178. _GLOBAL_CONST unsigned short safeCMD_STATUS_SL;
  179. _GLOBAL_CONST unsigned short safeCMD_STATUS;
  180. _GLOBAL_CONST unsigned short safeCMD_ENTER;
  181. _GLOBAL_CONST unsigned short safeSRC_TYPE_LOCAL_FILE;
  182. _GLOBAL_CONST unsigned short safeSRC_TYPE_LOCAL_DATA;
  183. _GLOBAL_CONST unsigned short safeSRC_TYPE_UPLOAD_FILE;
  184. _GLOBAL_CONST unsigned short safeTABLE_DATA_TYPE;
  185. _GLOBAL_CONST unsigned short safeTABLE_FILE_TYPE;
  186. _GLOBAL_CONST unsigned short safeINFO_TYPE_PWD_CHK;
  187. _GLOBAL_CONST unsigned short safeINFO_TYPE_PWD_INFO;
  188. _GLOBAL_CONST unsigned short safeDATA_TYPE_APPLICATION;
  189. _GLOBAL_CONST unsigned short safeDATA_TYPE_ADDPARA;
  190. _GLOBAL_CONST unsigned short safeDATA_TYPE_TABLE;
  191. _GLOBAL_CONST unsigned short safeDATA_TYPE_EXTMAOP;
  192. _GLOBAL_CONST unsigned short safeDATA_TYPE_MAOP;
  193. _GLOBAL_CONST unsigned short safeVERSION_R110;
  194. _GLOBAL_CONST unsigned short safeVERSION_R107;
  195. #endif
  196. /* Datatypes and datatypes of function blocks */
  197. typedef struct FileReferenceType
  198. { plcstring Device[81];
  199. plcstring File[81];
  200. } FileReferenceType;
  201. typedef struct AsSafetyInternalType
  202. { plcbit Clean;
  203. unsigned short State;
  204. unsigned short Result;
  205. unsigned long Tmp;
  206. unsigned long pThis;
  207. unsigned long pFcn;
  208. } AsSafetyInternalType;
  209. typedef struct SourceLocalDataTypeV1
  210. { unsigned long pFileData;
  211. unsigned long FileLength;
  212. } SourceLocalDataTypeV1;
  213. typedef struct SourceLocalFileTypeV1
  214. { struct FileReferenceType SourceFile;
  215. } SourceLocalFileTypeV1;
  216. typedef struct DataSourceTypeV1
  217. { unsigned short Type;
  218. struct SourceLocalDataTypeV1 LocalData;
  219. struct SourceLocalFileTypeV1 LocalFile;
  220. } DataSourceTypeV1;
  221. typedef struct InfoCmdPwdInfoTypeV1
  222. { unsigned short Version;
  223. plcbit PasswordSet;
  224. } InfoCmdPwdInfoTypeV1;
  225. typedef struct InfoCmdPwdChkTypeV1
  226. { unsigned short Version;
  227. plcstring Password[17];
  228. plcbit PasswordEqual;
  229. } InfoCmdPwdChkTypeV1;
  230. typedef struct ConfigurationAddParaTypeV2
  231. { unsigned short SADR;
  232. unsigned char ID;
  233. unsigned long pParaData;
  234. unsigned long Length;
  235. unsigned long LengthOut;
  236. unsigned long CRC;
  237. unsigned long Timestamp;
  238. } ConfigurationAddParaTypeV2;
  239. typedef struct ConfigurationAddParaTypeV1
  240. { unsigned short SADR;
  241. unsigned char ID;
  242. unsigned long pParaData;
  243. unsigned long Length;
  244. unsigned long CRC;
  245. unsigned long Timestamp;
  246. } ConfigurationAddParaTypeV1;
  247. typedef struct ConfigurationBitOptionsTypeV1
  248. { unsigned char BitData[64];
  249. } ConfigurationBitOptionsTypeV1;
  250. typedef struct ConfigurationCmdAddParaTypeV2
  251. { unsigned short Version;
  252. plcstring Password[17];
  253. unsigned long pParaDataOutput;
  254. unsigned short NumberParaSetsOutput;
  255. unsigned short NumberParaSetsOutputOut;
  256. unsigned long pBackupFile;
  257. unsigned long pXmlOutputFile;
  258. } ConfigurationCmdAddParaTypeV2;
  259. typedef struct ConfigurationCmdAddParaTypeV1
  260. { unsigned short Version;
  261. plcstring Password[17];
  262. unsigned long pParaDataOutput;
  263. unsigned short NumberParaSetsOutput;
  264. } ConfigurationCmdAddParaTypeV1;
  265. typedef struct ConfigurationCmdExtMaOpTypeV2
  266. { unsigned short Version;
  267. plcstring Password[17];
  268. unsigned long pIntDataOutput;
  269. unsigned short NumberIntOutput;
  270. unsigned short NumberIntOutputOut;
  271. unsigned long pUintDataOutput;
  272. unsigned short NumberUintOutput;
  273. unsigned short NumberUintOutputOut;
  274. unsigned long pDintDataOutput;
  275. unsigned short NumberDintOutput;
  276. unsigned short NumberDintOutputOut;
  277. unsigned long pUdintDataOutput;
  278. unsigned short NumberUdintOutput;
  279. unsigned short NumberUdintOutputOut;
  280. unsigned long pBackupFile;
  281. unsigned long pXmlOutputFile;
  282. } ConfigurationCmdExtMaOpTypeV2;
  283. typedef struct ConfigurationCmdExtMaOpTypeV1
  284. { unsigned short Version;
  285. plcstring Password[17];
  286. unsigned long pIntDataOutput;
  287. unsigned short NumberIntOutput;
  288. unsigned long pUintDataOutput;
  289. unsigned short NumberUintOutput;
  290. unsigned long pDintDataOutput;
  291. unsigned short NumberDintOutput;
  292. unsigned long pUdintDataOutput;
  293. unsigned short NumberUdintOutput;
  294. } ConfigurationCmdExtMaOpTypeV1;
  295. typedef struct ConfigurationCmdMaOpTypeV2
  296. { unsigned short Version;
  297. plcstring Password[17];
  298. unsigned long pDeviceListOutput;
  299. unsigned short NumberDevicesOutput;
  300. unsigned short NumberDevicesOutputOut;
  301. unsigned long pMachineOptionsOutput;
  302. unsigned long pModuleFlagsOutput;
  303. unsigned long pBackupFile;
  304. unsigned long pXmlOutputFile;
  305. } ConfigurationCmdMaOpTypeV2;
  306. typedef struct ConfigurationCmdMaOpTypeV1
  307. { unsigned short Version;
  308. plcstring Password[17];
  309. unsigned long pDeviceListOutput;
  310. unsigned short NumberDevicesOutput;
  311. unsigned long pMachineOptionsOutput;
  312. unsigned long pModuleFlagsOutput;
  313. } ConfigurationCmdMaOpTypeV1;
  314. typedef struct ConfigurationCmdTableTypeV2
  315. { unsigned short Version;
  316. plcstring Password[17];
  317. unsigned long pTableDataOutput;
  318. unsigned short NumberTablesOutput;
  319. unsigned short NumberTablesOutputOut;
  320. unsigned long pBackupFile;
  321. unsigned long pXmlOutputFile;
  322. } ConfigurationCmdTableTypeV2;
  323. typedef struct ConfigurationCmdTableTypeV1
  324. { unsigned short Version;
  325. plcstring Password[17];
  326. unsigned long pTableDataOutput;
  327. unsigned short NumberTablesOutput;
  328. } ConfigurationCmdTableTypeV1;
  329. typedef struct FileInfoCmdTypeV1
  330. { unsigned short Version;
  331. struct DataSourceTypeV1 DataSource;
  332. unsigned long Timestamp;
  333. unsigned long pCrcs;
  334. unsigned short NumberOfCrcs;
  335. unsigned short NumberOfCrcsOut;
  336. } FileInfoCmdTypeV1;
  337. typedef struct ConfigurationDeviceTypeV1
  338. { unsigned short SADR;
  339. unsigned char UDID[6];
  340. } ConfigurationDeviceTypeV1;
  341. typedef struct ConfigurationDintOptionsTypeV1
  342. { unsigned short ID;
  343. signed long Value;
  344. } ConfigurationDintOptionsTypeV1;
  345. typedef struct ConfigurationIntOptionsTypeV1
  346. { unsigned short ID;
  347. signed short Value;
  348. } ConfigurationIntOptionsTypeV1;
  349. typedef struct ConfigurationModuleFlagsTypeV1
  350. { unsigned char Optional[128];
  351. unsigned char Startup[128];
  352. unsigned char NotPresent[128];
  353. } ConfigurationModuleFlagsTypeV1;
  354. typedef struct ConfigurationTableTypeV2
  355. { unsigned short ID;
  356. unsigned char Type;
  357. unsigned short NumberOfCRCs;
  358. unsigned short NumberOfCRCsOut;
  359. unsigned long pCRCData;
  360. } ConfigurationTableTypeV2;
  361. typedef struct ConfigurationTableTypeV1
  362. { unsigned short ID;
  363. unsigned char Type;
  364. unsigned short NumberOfCRCs;
  365. unsigned long pCRCData;
  366. } ConfigurationTableTypeV1;
  367. typedef struct ConfigurationUdintOptionsTypeV1
  368. { unsigned short ID;
  369. unsigned long Value;
  370. } ConfigurationUdintOptionsTypeV1;
  371. typedef struct ConfigurationUintOptionsTypeV1
  372. { unsigned short ID;
  373. unsigned short Value;
  374. } ConfigurationUintOptionsTypeV1;
  375. typedef struct DownloadAcknExtMaOpTypeV1
  376. { plcbit AcknIntOptions[64];
  377. plcbit AcknUintOptions[64];
  378. plcbit AcknDintOptions[64];
  379. plcbit AcknUdintOptions[64];
  380. } DownloadAcknExtMaOpTypeV1;
  381. typedef struct DownloadAcknMaOpTypeV1
  382. { unsigned char AcknBitOptions[64];
  383. } DownloadAcknMaOpTypeV1;
  384. typedef struct DownloadAcknAddParaTypeV1
  385. { unsigned char AcknBitAddPara[64];
  386. } DownloadAcknAddParaTypeV1;
  387. typedef struct DownloadCmdAddParaTypeV2
  388. { unsigned short Version;
  389. plcstring Password[17];
  390. unsigned long UDID_Low;
  391. unsigned short UDID_High;
  392. unsigned char Unlock;
  393. unsigned long pParaListInput;
  394. unsigned short NumberParaSetsInput;
  395. unsigned long pParaDataOutput;
  396. unsigned short NumberParaSetsOutput;
  397. unsigned short NumberParaSetsOutputOut;
  398. unsigned long pBackupFile;
  399. unsigned long pXmlOutputFile;
  400. } DownloadCmdAddParaTypeV2;
  401. typedef struct DownloadCmdAddParaTypeV1
  402. { unsigned short Version;
  403. plcstring Password[17];
  404. unsigned long UDID_Low;
  405. unsigned short UDID_High;
  406. unsigned char Unlock;
  407. unsigned long pParaListInput;
  408. unsigned short NumberParaSetsInput;
  409. unsigned long pParaDataOutput;
  410. unsigned short NumberParaSetsOutput;
  411. } DownloadCmdAddParaTypeV1;
  412. typedef struct DownloadCmdApplicationTypeV1
  413. { unsigned short Version;
  414. plcstring Password[17];
  415. unsigned long UDID_Low;
  416. unsigned short UDID_High;
  417. unsigned short ApplicationID;
  418. plcstring Device[81];
  419. plcstring File[81];
  420. unsigned char Unlock;
  421. } DownloadCmdApplicationTypeV1;
  422. typedef struct DownloadCmdExtMaOpTypeV2
  423. { unsigned short Version;
  424. plcstring Password[17];
  425. unsigned long UDID_Low;
  426. unsigned short UDID_High;
  427. unsigned char Unlock;
  428. unsigned long pIntDataInput;
  429. unsigned short NumberIntInput;
  430. unsigned long pUintDataInput;
  431. unsigned short NumberUintInput;
  432. unsigned long pDintDataInput;
  433. unsigned short NumberDintInput;
  434. unsigned long pUdintDataInput;
  435. unsigned short NumberUdintInput;
  436. unsigned long pAcknMachineOptions;
  437. unsigned long pIntDataOutput;
  438. unsigned short NumberIntOutput;
  439. unsigned short NumberIntOutputOut;
  440. unsigned long pUintDataOutput;
  441. unsigned short NumberUintOutput;
  442. unsigned short NumberUintOutputOut;
  443. unsigned long pDintDataOutput;
  444. unsigned short NumberDintOutput;
  445. unsigned short NumberDintOutputOut;
  446. unsigned long pUdintDataOutput;
  447. unsigned short NumberUdintOutput;
  448. unsigned short NumberUdintOutputOut;
  449. unsigned long pBackupFile;
  450. unsigned long pXmlOutputFile;
  451. } DownloadCmdExtMaOpTypeV2;
  452. typedef struct DownloadCmdExtMaOpTypeV1
  453. { unsigned short Version;
  454. plcstring Password[17];
  455. unsigned long UDID_Low;
  456. unsigned short UDID_High;
  457. unsigned char Unlock;
  458. unsigned long pIntDataInput;
  459. unsigned short NumberIntInput;
  460. unsigned long pUintDataInput;
  461. unsigned short NumberUintInput;
  462. unsigned long pDintDataInput;
  463. unsigned short NumberDintInput;
  464. unsigned long pUdintDataInput;
  465. unsigned short NumberUdintInput;
  466. unsigned long pAcknMachineOptions;
  467. unsigned long pIntDataOutput;
  468. unsigned short NumberIntOutput;
  469. unsigned long pUintDataOutput;
  470. unsigned short NumberUintOutput;
  471. unsigned long pDintDataOutput;
  472. unsigned short NumberDintOutput;
  473. unsigned long pUdintDataOutput;
  474. unsigned short NumberUdintOutput;
  475. } DownloadCmdExtMaOpTypeV1;
  476. typedef struct DownloadCmdMaOpTypeV2
  477. { unsigned short Version;
  478. plcstring Password[17];
  479. unsigned long UDID_Low;
  480. unsigned short UDID_High;
  481. unsigned char Unlock;
  482. unsigned long pDeviceListInput;
  483. unsigned short NumberDevicesInput;
  484. unsigned long pMachineOptionsInput;
  485. unsigned long pModuleFlagsInput;
  486. unsigned long pAcknMachineOptions;
  487. unsigned long pDeviceListOutput;
  488. unsigned short NumberDevicesOutput;
  489. unsigned short NumberDevicesOutputOut;
  490. unsigned long pMachineOptionsOutput;
  491. unsigned long pModuleFlagsOutput;
  492. unsigned long pBackupFile;
  493. unsigned long pXmlOutputFile;
  494. } DownloadCmdMaOpTypeV2;
  495. typedef struct DownloadCmdMaOpTypeV1
  496. { unsigned short Version;
  497. plcstring Password[17];
  498. unsigned long UDID_Low;
  499. unsigned short UDID_High;
  500. unsigned char Unlock;
  501. unsigned long pDeviceListInput;
  502. unsigned short NumberDevicesInput;
  503. unsigned long pMachineOptionsInput;
  504. unsigned long pModuleFlagsInput;
  505. unsigned long pAcknMachineOptions;
  506. unsigned long pDeviceListOutput;
  507. unsigned short NumberDevicesOutput;
  508. unsigned long pMachineOptionsOutput;
  509. unsigned long pModuleFlagsOutput;
  510. } DownloadCmdMaOpTypeV1;
  511. typedef struct DownloadCmdTableTypeV2
  512. { unsigned short Version;
  513. plcstring Password[17];
  514. unsigned long UDID_Low;
  515. unsigned short UDID_High;
  516. unsigned char Unlock;
  517. unsigned long pTableDataInput;
  518. unsigned short NumberTablesInput;
  519. unsigned long pTableDataOutput;
  520. unsigned short NumberTablesOutput;
  521. unsigned short NumberTablesOutputOut;
  522. unsigned long pBackupFile;
  523. unsigned long pXmlOutputFile;
  524. } DownloadCmdTableTypeV2;
  525. typedef struct DownloadCmdTableTypeV1
  526. { unsigned short Version;
  527. plcstring Password[17];
  528. unsigned long UDID_Low;
  529. unsigned short UDID_High;
  530. unsigned char Unlock;
  531. unsigned long pTableDataInput;
  532. unsigned short NumberTablesInput;
  533. unsigned long pTableDataOutput;
  534. unsigned short NumberTablesOutput;
  535. } DownloadCmdTableTypeV1;
  536. typedef struct DownloadCmdFileTypeV1
  537. { unsigned short Version;
  538. plcstring Password[17];
  539. unsigned long UDID_Low;
  540. unsigned short UDID_High;
  541. unsigned char Unlock;
  542. struct DataSourceTypeV1 DataSource;
  543. unsigned long pCrcs;
  544. unsigned short NumberOfCrcs;
  545. unsigned short NumberOfCrcsOut;
  546. } DownloadCmdFileTypeV1;
  547. typedef struct DownloadAddParaTypeV1
  548. { unsigned short SADR;
  549. unsigned char ID;
  550. unsigned long pParaData;
  551. unsigned long Length;
  552. unsigned long pAcknAddPara;
  553. } DownloadAddParaTypeV1;
  554. typedef struct DownloadDeviceTypeV1
  555. { unsigned short SADR;
  556. unsigned long UDID_Low;
  557. unsigned short UDID_High;
  558. } DownloadDeviceTypeV1;
  559. typedef struct DownloadTableTypeV1
  560. { plcstring Device[81];
  561. plcstring File[81];
  562. } DownloadTableTypeV1;
  563. typedef struct DownloadTableTypeV2
  564. { unsigned short Type;
  565. plcstring Device[81];
  566. plcstring File[81];
  567. unsigned long pData;
  568. unsigned long DataLen;
  569. } DownloadTableTypeV2;
  570. typedef struct RemoteControlCmdTypeV1
  571. { unsigned short Version;
  572. unsigned short Command;
  573. unsigned short Number;
  574. unsigned short Data;
  575. plcstring Password[17];
  576. plcstring NewPassword[17];
  577. } RemoteControlCmdTypeV1;
  578. typedef struct RemoteControlStatusTypeV1
  579. { unsigned short Command;
  580. unsigned short Number;
  581. unsigned short Status;
  582. unsigned short State;
  583. unsigned short EnterData;
  584. unsigned short EnterNumber;
  585. unsigned short EnterExecuteStatus;
  586. unsigned char SafeOSState;
  587. unsigned char SafeKEYChanged;
  588. unsigned char LedTestActive;
  589. unsigned char Scanning;
  590. unsigned char openSAFETYstate;
  591. unsigned char FailSafe;
  592. unsigned short NumberOfMissingModules;
  593. unsigned short NumberOfUDIDMismatches;
  594. unsigned short NumberOfDifferentFirmware;
  595. unsigned short SADR[101];
  596. unsigned char MissingModules[16];
  597. unsigned char UDIDMismatches[16];
  598. unsigned char DifferentFirmware[16];
  599. } RemoteControlStatusTypeV1;
  600. typedef struct RemoteControlStatusTypeV2
  601. { unsigned short Command;
  602. unsigned short Number;
  603. unsigned short Status;
  604. unsigned short State;
  605. unsigned short EnterData;
  606. unsigned short EnterNumber;
  607. unsigned short EnterExecuteStatus;
  608. unsigned char SafeOSState;
  609. unsigned char SafeKEYChanged;
  610. unsigned char LedTestActive;
  611. unsigned char Scanning;
  612. unsigned char openSAFETYstate;
  613. unsigned char FailSafe;
  614. unsigned short NumberOfMissingModules;
  615. unsigned short NumberOfUDIDMismatches;
  616. unsigned short NumberOfDifferentFirmware;
  617. unsigned short SADR[300];
  618. unsigned char MissingModules[40];
  619. unsigned char UDIDMismatches[40];
  620. unsigned char DifferentFirmware[40];
  621. unsigned short NumberOfConfiguredModules;
  622. unsigned char SetupModeActive;
  623. unsigned char ProjectPresent;
  624. unsigned char PasswordSet;
  625. unsigned char IsSL81xx;
  626. unsigned char IsSCMar;
  627. unsigned char SetupModeSupported;
  628. } RemoteControlStatusTypeV2;
  629. typedef struct TableHeaderATypeV1
  630. { signed long xTol;
  631. signed long yTol;
  632. } TableHeaderATypeV1;
  633. typedef struct TableEntryATypeV1
  634. { signed long xVal;
  635. signed long yVal;
  636. unsigned char resVal;
  637. } TableEntryATypeV1;
  638. typedef struct TableEntryBTypeV1
  639. { signed long xVal;
  640. signed long yVal;
  641. signed long zVal;
  642. signed long resVal;
  643. } TableEntryBTypeV1;
  644. typedef struct TableEntryCTypeV1
  645. { unsigned short Zone;
  646. unsigned short Position;
  647. unsigned short Dimension;
  648. } TableEntryCTypeV1;
  649. typedef struct TableHeaderDTypeV1
  650. { plcbyte Surveillance;
  651. } TableHeaderDTypeV1;
  652. typedef struct TableEntryDTypeV1
  653. { unsigned short Object;
  654. unsigned short Type;
  655. unsigned short MinimumBeam;
  656. unsigned short MaximumBeam;
  657. unsigned short Dimension;
  658. unsigned short DimensionTolerance;
  659. } TableEntryDTypeV1;
  660. typedef struct TableHeaderETypeV1
  661. { signed short xDim;
  662. signed short yDim;
  663. } TableHeaderETypeV1;
  664. typedef struct TableEntryETypeV1
  665. { signed long Entry;
  666. } TableEntryETypeV1;
  667. typedef struct TableEntrySTypeV1
  668. { signed long LinkTargetObjectID;
  669. signed long LinkTargetAxisType;
  670. signed long LinkSourceObjectID;
  671. signed long LinkSourceAxisType;
  672. signed long LinkFactorNum;
  673. signed long LinkFactorDenom;
  674. } TableEntrySTypeV1;
  675. typedef struct TableHeaderTTypeV1
  676. { signed long NumberOfActiveAxes;
  677. } TableHeaderTTypeV1;
  678. typedef struct TableEntryTTypeV1
  679. { signed long KinObjID;
  680. signed long KinObjType;
  681. signed long KinObjTransX;
  682. signed long KinObjTransY;
  683. signed long KinObjTransZ;
  684. signed long KinObjRotAngle1;
  685. signed long KinObjRotAngle2;
  686. signed long KinObjRotAngle3;
  687. signed long KinObjRotaryAxisDecRamp;
  688. signed long KinObjRotaryAxisMaxAcc;
  689. signed long KinObjLinearAxisDecRamp;
  690. signed long KinObjLinearAxisMaxAcc;
  691. } TableEntryTTypeV1;
  692. typedef struct TableHeaderTTypeV2
  693. { unsigned short NumberOfTableObjects;
  694. unsigned short VersionNumber;
  695. signed long NumberOfActiveAxes;
  696. } TableHeaderTTypeV2;
  697. typedef struct TableEntryTTypeV2
  698. { signed long KinObjID;
  699. signed long KinObjType;
  700. signed long KinObjTransX;
  701. signed long KinObjTransY;
  702. signed long KinObjTransZ;
  703. signed long KinObjRotAngle1;
  704. signed long KinObjRotAngle2;
  705. signed long KinObjRotAngle3;
  706. signed long KinObjRotaryAxisDecRamp;
  707. signed long KinObjRotaryAxisMaxAcc;
  708. signed long KinObjLinearAxisDecRamp;
  709. signed long KinObjLinearAxisMaxAcc;
  710. signed long KinObjActivateWireFrameModel;
  711. signed long KinObjDistanceToBndElements;
  712. } TableEntryTTypeV2;
  713. typedef struct TableHeaderTTypeV3
  714. { unsigned short NumberOfTableObjects;
  715. unsigned short VersionNumber;
  716. signed long NumberOfActiveAxes;
  717. } TableHeaderTTypeV3;
  718. typedef struct TableEntryTTypeV3
  719. { signed long KinObjID;
  720. signed long KinObjType;
  721. signed long KinObjTransX;
  722. signed long KinObjTransY;
  723. signed long KinObjTransZ;
  724. signed long KinObjRotAngle1;
  725. signed long KinObjRotAngle2;
  726. signed long KinObjRotAngle3;
  727. signed long KinObjRotaryAxisDecRamp;
  728. signed long KinObjRotaryAxisMaxAcc;
  729. signed long KinObjLinearAxisDecRamp;
  730. signed long KinObjLinearAxisMaxAcc;
  731. signed long KinObjActivateWireFrameModel;
  732. signed long KinObjDistanceToBndElements;
  733. } TableEntryTTypeV3;
  734. typedef struct TableEntryUTypeV1
  735. { signed long SpaceID;
  736. signed long SpaceType;
  737. signed long SpaceTransX;
  738. signed long SpaceTransY;
  739. signed long SpaceTransZ;
  740. signed long SpaceRotAngle1;
  741. signed long SpaceRotAngle2;
  742. signed long SpaceRotAngle3;
  743. signed long SpaceDimensionX;
  744. signed long SpaceDimensionY;
  745. signed long SpaceDimensionZ;
  746. } TableEntryUTypeV1;
  747. typedef struct TableEntryVTypeV1
  748. { signed long SpaceID;
  749. signed long SpaceType;
  750. signed long KinObjID;
  751. signed long KinObjJointAxisType;
  752. signed long SpaceMaxLimit;
  753. signed long SpaceMinLimit;
  754. } TableEntryVTypeV1;
  755. typedef struct TableEntryWTypeV1
  756. { signed long OrientID;
  757. signed long OrientType;
  758. signed long OrientTransX_RotAngle1;
  759. signed long OrientTransY_RotAngle2;
  760. signed long OrientTransZ_RotAngle3;
  761. } TableEntryWTypeV1;
  762. typedef struct safeRemoteControl
  763. {
  764. /* VAR_INPUT (analog) */
  765. unsigned short SafeLOGICID;
  766. unsigned long pCommandData;
  767. /* VAR_OUTPUT (analog) */
  768. unsigned short StatusID;
  769. struct RemoteControlStatusTypeV1 SafeLOGICStatus;
  770. /* VAR (analog) */
  771. unsigned short i_state;
  772. unsigned short i_result;
  773. unsigned long i_tmp;
  774. unsigned long i_handle;
  775. /* VAR_INPUT (digital) */
  776. plcbit Execute;
  777. /* VAR_OUTPUT (digital) */
  778. plcbit Done;
  779. plcbit Busy;
  780. plcbit Error;
  781. } safeRemoteControl_typ;
  782. typedef struct safeRemoteControl_V2
  783. {
  784. /* VAR_INPUT (analog) */
  785. unsigned short SafeLOGICID;
  786. unsigned long pCommandData;
  787. /* VAR_OUTPUT (analog) */
  788. unsigned short StatusID;
  789. struct RemoteControlStatusTypeV2 SafeLOGICStatus;
  790. /* VAR (analog) */
  791. struct AsSafetyInternalType Internal;
  792. /* VAR_INPUT (digital) */
  793. plcbit Execute;
  794. /* VAR_OUTPUT (digital) */
  795. plcbit Done;
  796. plcbit Busy;
  797. plcbit Error;
  798. } safeRemoteControl_V2_typ;
  799. typedef struct safeDownloadApplication
  800. {
  801. /* VAR_INPUT (analog) */
  802. unsigned short SafeLOGICID;
  803. unsigned long pCommandData;
  804. /* VAR_OUTPUT (analog) */
  805. unsigned short StatusID;
  806. unsigned long ApplicationCRC;
  807. /* VAR (analog) */
  808. unsigned short i_state;
  809. unsigned short i_result;
  810. unsigned long i_tmp;
  811. unsigned long i_handle;
  812. /* VAR_INPUT (digital) */
  813. plcbit Execute;
  814. /* VAR_OUTPUT (digital) */
  815. plcbit Done;
  816. plcbit Busy;
  817. plcbit Error;
  818. plcbit UnlockRequired;
  819. } safeDownloadApplication_typ;
  820. typedef struct safeDownloadApplication_V2
  821. {
  822. /* VAR_INPUT (analog) */
  823. unsigned short SafeLOGICID;
  824. unsigned long pCommandData;
  825. /* VAR_OUTPUT (analog) */
  826. unsigned short StatusID;
  827. unsigned long ApplicationCRC;
  828. /* VAR (analog) */
  829. struct AsSafetyInternalType Internal;
  830. /* VAR_INPUT (digital) */
  831. plcbit Execute;
  832. /* VAR_OUTPUT (digital) */
  833. plcbit Done;
  834. plcbit Busy;
  835. plcbit Error;
  836. plcbit UnlockRequired;
  837. } safeDownloadApplication_V2_typ;
  838. typedef struct safeDownloadData
  839. {
  840. /* VAR_INPUT (analog) */
  841. unsigned short SafeLOGICID;
  842. unsigned short Type;
  843. unsigned long pCommandData;
  844. /* VAR_OUTPUT (analog) */
  845. unsigned short StatusID;
  846. unsigned long Timestamp;
  847. /* VAR (analog) */
  848. unsigned short i_state;
  849. unsigned short i_result;
  850. unsigned long i_tmp;
  851. unsigned long i_handle;
  852. /* VAR_INPUT (digital) */
  853. plcbit Execute;
  854. /* VAR_OUTPUT (digital) */
  855. plcbit Done;
  856. plcbit Busy;
  857. plcbit Error;
  858. plcbit UnlockRequired;
  859. } safeDownloadData_typ;
  860. typedef struct safeDownloadData_V2
  861. {
  862. /* VAR_INPUT (analog) */
  863. unsigned short SafeLOGICID;
  864. unsigned short Type;
  865. unsigned long pCommandData;
  866. /* VAR_OUTPUT (analog) */
  867. unsigned short StatusID;
  868. unsigned long Timestamp;
  869. /* VAR (analog) */
  870. struct AsSafetyInternalType Internal;
  871. /* VAR_INPUT (digital) */
  872. plcbit Execute;
  873. /* VAR_OUTPUT (digital) */
  874. plcbit Done;
  875. plcbit Busy;
  876. plcbit Error;
  877. plcbit UnlockRequired;
  878. } safeDownloadData_V2_typ;
  879. typedef struct safeConfigurationOnTarget
  880. {
  881. /* VAR_INPUT (analog) */
  882. unsigned short SafeLOGICID;
  883. unsigned short Type;
  884. unsigned long pCommandData;
  885. /* VAR_OUTPUT (analog) */
  886. unsigned short StatusID;
  887. unsigned long Timestamp;
  888. /* VAR (analog) */
  889. unsigned short i_state;
  890. unsigned short i_result;
  891. unsigned long i_tmp;
  892. unsigned long i_handle;
  893. /* VAR_INPUT (digital) */
  894. plcbit Execute;
  895. /* VAR_OUTPUT (digital) */
  896. plcbit Done;
  897. plcbit Busy;
  898. plcbit Error;
  899. } safeConfigurationOnTarget_typ;
  900. typedef struct safeConfigurationOnTarget_V2
  901. {
  902. /* VAR_INPUT (analog) */
  903. unsigned short SafeLOGICID;
  904. unsigned short Type;
  905. unsigned long pCommandData;
  906. /* VAR_OUTPUT (analog) */
  907. unsigned short StatusID;
  908. unsigned long Timestamp;
  909. /* VAR (analog) */
  910. struct AsSafetyInternalType Internal;
  911. /* VAR_INPUT (digital) */
  912. plcbit Execute;
  913. /* VAR_OUTPUT (digital) */
  914. plcbit Done;
  915. plcbit Busy;
  916. plcbit Error;
  917. } safeConfigurationOnTarget_V2_typ;
  918. typedef struct safeDownloadFile
  919. {
  920. /* VAR_INPUT (analog) */
  921. unsigned short SafeLOGICID;
  922. unsigned long pCommandData;
  923. /* VAR_OUTPUT (analog) */
  924. unsigned short StatusID;
  925. unsigned long Timestamp;
  926. /* VAR (analog) */
  927. struct AsSafetyInternalType Internal;
  928. /* VAR_INPUT (digital) */
  929. plcbit Execute;
  930. /* VAR_OUTPUT (digital) */
  931. plcbit Done;
  932. plcbit Busy;
  933. plcbit Error;
  934. plcbit UnlockRequired;
  935. } safeDownloadFile_typ;
  936. typedef struct safeCheckTable
  937. {
  938. /* VAR_INPUT (analog) */
  939. unsigned char InstNr;
  940. unsigned long pUser;
  941. unsigned long Timestamp;
  942. unsigned char TableType;
  943. unsigned long EntryCnt;
  944. unsigned long pTableHeader;
  945. unsigned long pTableData;
  946. unsigned long pTableHeaderOut;
  947. unsigned long pTableDataOut;
  948. unsigned long pFileDataOut;
  949. unsigned char AckData;
  950. /* VAR_OUTPUT (analog) */
  951. unsigned short StatusID;
  952. unsigned long CheckErrorCode;
  953. unsigned long CheckErrorLine;
  954. unsigned long CheckErrorColumn;
  955. unsigned long pCrcOut;
  956. unsigned long CrcCntOut;
  957. /* VAR (analog) */
  958. unsigned short i_step;
  959. unsigned long i_tmp;
  960. /* VAR_INPUT (digital) */
  961. plcbit Execute;
  962. /* VAR_OUTPUT (digital) */
  963. plcbit Done;
  964. plcbit Busy;
  965. plcbit Error;
  966. /* VAR (digital) */
  967. plcbit i_clean;
  968. } safeCheckTable_typ;
  969. typedef struct safeFileInfo
  970. {
  971. /* VAR_INPUT (analog) */
  972. unsigned short SafeLOGICID;
  973. unsigned short Type;
  974. unsigned long pCommandData;
  975. /* VAR_OUTPUT (analog) */
  976. unsigned short StatusID;
  977. /* VAR (analog) */
  978. struct AsSafetyInternalType Internal;
  979. /* VAR_INPUT (digital) */
  980. plcbit Execute;
  981. /* VAR_OUTPUT (digital) */
  982. plcbit Done;
  983. plcbit Busy;
  984. plcbit Error;
  985. } safeFileInfo_typ;
  986. typedef struct safeGetDataLength
  987. {
  988. /* VAR_INPUT (analog) */
  989. unsigned short Type;
  990. unsigned long pCommandData;
  991. /* VAR_OUTPUT (analog) */
  992. unsigned short StatusID;
  993. unsigned long Length;
  994. /* VAR (analog) */
  995. struct AsSafetyInternalType Internal;
  996. /* VAR_INPUT (digital) */
  997. plcbit Execute;
  998. /* VAR_OUTPUT (digital) */
  999. plcbit Done;
  1000. plcbit Busy;
  1001. plcbit Error;
  1002. } safeGetDataLength_typ;
  1003. typedef struct safeCreateData
  1004. {
  1005. /* VAR_INPUT (analog) */
  1006. unsigned short SafeLOGICID;
  1007. unsigned short Type;
  1008. unsigned long pCommandData;
  1009. unsigned long FileDataOutLen;
  1010. unsigned long pFileDataOut;
  1011. /* VAR_OUTPUT (analog) */
  1012. unsigned short StatusID;
  1013. unsigned long Timestamp;
  1014. /* VAR (analog) */
  1015. struct AsSafetyInternalType Internal;
  1016. /* VAR_INPUT (digital) */
  1017. plcbit Execute;
  1018. /* VAR_OUTPUT (digital) */
  1019. plcbit Done;
  1020. plcbit Busy;
  1021. plcbit Error;
  1022. plcbit UnlockRequired;
  1023. } safeCreateData_typ;
  1024. typedef struct safeLogicInfo
  1025. {
  1026. /* VAR_INPUT (analog) */
  1027. unsigned short SafeLOGICID;
  1028. unsigned short Type;
  1029. unsigned long pCommandData;
  1030. /* VAR_OUTPUT (analog) */
  1031. unsigned short StatusID;
  1032. /* VAR (analog) */
  1033. struct AsSafetyInternalType Internal;
  1034. /* VAR_INPUT (digital) */
  1035. plcbit Execute;
  1036. /* VAR_OUTPUT (digital) */
  1037. plcbit Done;
  1038. plcbit Busy;
  1039. plcbit Error;
  1040. } safeLogicInfo_typ;
  1041. /* Prototyping of functions and function blocks */
  1042. _BUR_PUBLIC void safeRemoteControl(struct safeRemoteControl* inst);
  1043. _BUR_PUBLIC void safeRemoteControl_V2(struct safeRemoteControl_V2* inst);
  1044. _BUR_PUBLIC void safeDownloadApplication(struct safeDownloadApplication* inst);
  1045. _BUR_PUBLIC void safeDownloadApplication_V2(struct safeDownloadApplication_V2* inst);
  1046. _BUR_PUBLIC void safeDownloadData(struct safeDownloadData* inst);
  1047. _BUR_PUBLIC void safeDownloadData_V2(struct safeDownloadData_V2* inst);
  1048. _BUR_PUBLIC void safeConfigurationOnTarget(struct safeConfigurationOnTarget* inst);
  1049. _BUR_PUBLIC void safeConfigurationOnTarget_V2(struct safeConfigurationOnTarget_V2* inst);
  1050. _BUR_PUBLIC void safeDownloadFile(struct safeDownloadFile* inst);
  1051. _BUR_PUBLIC void safeCheckTable(struct safeCheckTable* inst);
  1052. _BUR_PUBLIC void safeFileInfo(struct safeFileInfo* inst);
  1053. _BUR_PUBLIC void safeGetDataLength(struct safeGetDataLength* inst);
  1054. _BUR_PUBLIC void safeCreateData(struct safeCreateData* inst);
  1055. _BUR_PUBLIC void safeLogicInfo(struct safeLogicInfo* inst);
  1056. _BUR_PUBLIC unsigned short safeLibraryVersion(void);
  1057. _BUR_PUBLIC unsigned long safeGetTableLength(unsigned char TableType, unsigned long EntryCnt, unsigned long pTableHeader);
  1058. #ifdef __cplusplus
  1059. };
  1060. #endif
  1061. #endif /* _ASSAFETY_ */