APS_Define.cs 61 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401
  1. namespace Venus_RT.Devices.AdLinkEthercat
  2. {
  3. //[StructLayout(LayoutKind.Sequential)]
  4. //public struct APS_Define
  5. //public cla APS_Define
  6. public enum APS_Define
  7. {
  8. // Initial option
  9. INIT_AUTO_CARD_ID = (0x00), // (Bit 0) CardId assigned by system, Input parameter of APS_initial( cardId, "MODE" )
  10. INIT_MANUAL_ID = (0x01), //CardId manual by dip switch, Input parameter of APS_initial=( cardId, "MODE" )
  11. INIT_PARALLEL_FIXED = (0x02), // (Bit 1) Fixed axis indexing mode in Parallel type
  12. INIT_SERIES_FIXED = (0x04), // (Bit 2) Fixed axis indexing mode in Series type
  13. INIT_NOT_RESET_DO = (0x08), // (Bit 3) HSL Digital output not reset, (DO status will follow the slave status.)
  14. INIT_PARAM_IGNORE = (0x00), // (Bit 4-5) Load parameter method - ignore, keep current value
  15. INIT_PARAM_LOAD_DEFAULT = (0x10), // (Bit 4-5) Load parameter method - load parameter as default value
  16. INIT_PARAM_LOAD_FLASH = (0x20), // (Bit 4-5) Load parameter method - load parameter from flash memory
  17. INIT_MNET_INTERRUPT = (0x40), // (Bit 6) Enable MNET interrupt mode. (Support motion interrupt for MotionNet series)
  18. // Board parameter define =(General),
  19. PRB_EMG_LOGIC = (0x0), // Board EMG logic
  20. PRB_WDT0_LIMIT = (0x10), // Set / Get watch dog limit.
  21. PRB_WDT0_COUNTER = (0x11), // Reset Wdt / Get Wdt_Count_Value
  22. PRB_WDT0_UNIT = (0x12), // wdt_unit
  23. PRB_WDT0_ACTION = (0x13), // wdt_action
  24. PRB_DO_LOGIC = (0x14), //DO logic, 0: no invert; 1: invert
  25. PRB_DI_LOGIC = (0x15), //DI logic, 0: no invert; 1: invert
  26. MHS_GET_SERVO_OFF_INFO = (0x16), //
  27. MHS_RESET_SERVO_OFF_INFO = (0x0017),
  28. MHS_GET_ALL_STATE = (0x0018),
  29. PRB_TMR0_BASE = (0x20), // Set TMR Value
  30. PRB_TMR0_VALUE = (0x21), // Get timer System.Int32 count value
  31. PRB_SYS_TMP_MONITOR = (0x30), // Get system temperature monitor data
  32. PRB_CPU_TMP_MONITOR = (0x31), // Get CPU temperature monitor data
  33. PRB_AUX_TMP_MONITOR = (0x32), // Get AUX temperature monitor data
  34. PRB_UART_MULTIPLIER = (0x40), // Set UART Multiplier
  35. PRB_PSR_MODE = (0x90), // Config pulser mode
  36. PRB_PSR_EA_LOGIC = (0x91), // Set EA inverted
  37. PRB_PSR_EB_LOGIC = (0x92), // Set EB inverted
  38. PRB_EMG_MODE = (0x101), // Set EMG condition mode
  39. PRB_ECAT_MODE = (0x102), // Set EtherCAT master operation mode
  40. PRB_ECAT_RESTORE_OUTPUT = (0x104), // Keeps status setting for EtherCAT DIO/AIO slave devices.
  41. PRB_DI_EMG_FILTER_ENABLE = (0x105), //Low-pass filter switch setting for on-board DI and EMG signal
  42. PRB_DI_EMG_FILTER_RANGE = (0x106), //Low-pass filter bandwidth setting for on-board DI and EMG signal
  43. PRB_PULSER_FILTER_RANGE = (0x107), //Low-pass filter bandwidth setting for on-board pulser signal. (The filter is always enable)
  44. PRB_PULSER_FILTER_ENABLE = (0x108),
  45. PRB_ECAT_AUTO_RECOVERY = (0x109),
  46. PRB_IO_ACCESS_SEL = (0x16),
  47. PRB_ECAT_SYNC_MODE = (0x17), // 0: DC(default); 1: FreeRun;
  48. PRB_ECAT_OP_RETRY_COUNT = (0x18),
  49. PRB_ECAT_SERVO_ON_MODE = (0x19), // 0 : Standard mode (Default ) , 1 : Fast mode (no check status word)
  50. PRB_ECAT_SERVO_ON_NO_RESET_ALARM = (0x1A), // 0 : Disable that remove reset alarm while servo on( Default ), 1 : Enable that remove reset alarm while servo on
  51. //for 8364RS
  52. PRB_PT0_MOD_NO = (0x1C),
  53. PRB_PT1_MOD_NO = (0x1D),
  54. PRB_ECAT_SYNC_OFFSET = (0x20),
  55. PRB_MANUAL_SLAVE_ID_SRC_1ST_GROUP = (0x21), // The first group of setting manual slave ID source by bit format.(Salve 0 to Slave 31)
  56. PRB_MANUAL_SLAVE_ID_SRC_2ND_GROUP = (0x22), // The second group of setting manual slave ID source by bit format.(Salve 32 to Slave 63)
  57. PRB_ECAT_CONTI_FRAME_LOSS_CNT = (0x23), // The number of consecutive frame loss.
  58. PRB_SAMPLING_SRC_AXIS_TYPE = (0x24), // Sampling source axis type.
  59. PRB_AUTO_CONNECT = (0x25), // For ECAT state to pre-OP
  60. // Board parameter define =(For PCI-8253/56),
  61. PRB_DENOMINATOR =(0x80), // Floating number denominator
  62. // PRB_PSR_MODE =(0x90), // Config pulser mode
  63. PRB_PSR_ENABLE =(0x91), // Enable/disable pulser mode
  64. PRB_BOOT_SETTING =(0x100), // Load motion parameter method when DSP boot
  65. PRB_PWM0_MAP_DO =(0x110), // Enable & Map PWM0 to Do channels
  66. PRB_PWM1_MAP_DO =(0x111), // Enable & Map PWM1 to Do channels
  67. PRB_PWM2_MAP_DO =(0x112), // Enable & Map PWM2 to Do channels
  68. PRB_PWM3_MAP_DO =(0x113), // Enable & Map PWM3 to Do channels
  69. // PTP buffer mode define
  70. PTP_OPT_ABORTING =(0x00000000),
  71. PTP_OPT_BUFFERED =(0x00001000),
  72. PTP_OPT_BLEND_LOW =(0x00002000),
  73. PTP_OPT_BLEND_PREVIOUS =(0x00003000),
  74. PTP_OPT_BLEND_NEXT =(0x00004000),
  75. PTP_OPT_BLEND_HIGH =(0x00005000),
  76. ITP_OPT_ABORT_BLEND =(0x00000000),
  77. ITP_OPT_ABORT_FORCE =(0x00001000),
  78. ITP_OPT_ABORT_STOP =(0x00002000),
  79. ITP_OPT_BUFFERED =(0x00003000),
  80. ITP_OPT_BLEND_DEC_EVENT =(0x00004000),
  81. ITP_OPT_BLEND_RES_DIST =(0x00005000),
  82. ITP_OPT_BLEND_RES_DIST_PERCENT =(0x00006000),
  83. //Latch parameter number define. [Only for PCI-8158A]
  84. //////////////////////////////////////
  85. LTC_ENC_IPT_MODE =(0x00),
  86. LTC_ENC_EA_INV =(0x01),
  87. LTC_ENC_EB_INV =(0x02),
  88. LTC_ENC_EZ_CLR_LOGIC =(0x03),
  89. LTC_ENC_EZ_CLR_EN =(0x04),
  90. LTC_ENC_SIGNAL_FILITER_EN =(0x05),
  91. LTC_FIFO_HIGH_LEVEL =(0x06),
  92. LTC_SIGNAL_FILITER_EN =(0x07),
  93. LTC_SIGNAL_TRIG_LOGIC =(0x08),
  94. //Latch parameter number define. [For PCI-8258 & PCIe-8334/8]
  95. LTC_IPT =(0x10),
  96. LTC_ENC =(0x11),
  97. LTC_LOGIC =(0x12),
  98. LTC_EN =(0x13),
  99. LTC_FIFO_MODE =(0x14), //(only in Ecat-4XMO/TRG4)
  100. LTC_EXTENC_SRC =(0x15), //(only in ECAT-TRG4)
  101. LTC_GET_DATA_SIZE =(0x16), //(only in AMP-304C)
  102. LTC_FIFO_LEVEL =(0x17),
  103. LTC_SGN_MAP =(0x20), // Only for software latch in SuperCAT.
  104. // Board parameter define =(For PCI-8392 SSCNET),
  105. PRB_SSC_APPLICATION =(0x10000), // Reserved
  106. PRB_SSC_CYCLE_TIME =(0x10000), // SSCNET cycle time selection=(vaild befor start sscnet),
  107. PRB_PARA_INIT_OPT =(0x00020), // Initial boot mode.
  108. PRB_WATCH_DOG_LIMIT =(0x00010), // Set / Get watch dog limit.
  109. PRB_WATCH_DOG_COUNTER =(0x00011), //Watch dog counter
  110. // Board parameter define =(For DPAC),
  111. PRB_DPAC_DISPLAY_MODE =(0x10001), //DPAC Display mode
  112. PRB_DPAC_DI_MODE =(0x10002), //Set DI pin modes
  113. //Board Parameter define (EMX-100)
  114. PRB_ASYNC_MODE =(0x50),
  115. PRB_DISCONNET_HANDLING =(0x51),
  116. PRB_DPAC_THERMAL_MONITOR_NO =(0x20001), //DPAC TEST
  117. PRB_DPAC_THERMAL_MONITOR_VALUE =(0x20002), //DPAC TEST
  118. //Board Parameter define (AMP-304C) //20210401
  119. PRB_GPDO_SEL_C0 = (0X60),
  120. PRB_GPDO_SEL_C1 = (0X61),
  121. PRB_GPDO_SEL_C2 = (0X62),
  122. PRB_GPDO_SEL_C3 = (0X63),
  123. PRB_GPDO_SEL_C4 = (0X64),
  124. PRB_GPDO_SEL_C5 = (0X65),
  125. PRB_GPDO_SEL_C6 = (0X66),
  126. PRB_GPDO_SEL_C7 = (0X67),
  127. PRB_GPDI_SEL_C0 = (0X70),
  128. PRB_GPDI_SEL_C1 = (0X71),
  129. PRB_GPDI_SEL_C2 = (0X72),
  130. PRB_GPDI_SEL_C3 = (0X73),
  131. PRB_GPDI_SEL_C4 = (0X74),
  132. PRB_GPDI_SEL_C5 = (0X75),
  133. PRB_GPDI_SEL_C6 = (0X76),
  134. PRB_GPDI_SEL_C7 = (0X77),
  135. PRB_GPDI_LOGIC_C0 = (0X80),
  136. PRB_GPDI_LOGIC_C1 = (0X81),
  137. PRB_GPDI_LOGIC_C2 = (0X82),
  138. PRB_GPDI_LOGIC_C3 = (0X83),
  139. PRB_GPDI_LOGIC_C4 = (0X84),
  140. PRB_GPDI_LOGIC_C5 = (0X85),
  141. PRB_GPDI_LOGIC_C6 = (0X86),
  142. PRB_GPDI_LOGIC_C7 = (0X87),
  143. PRB_GPDI_FILTER_EN_C0 = (0X90),
  144. PRB_GPDI_FILTER_EN_C1 = (0X91),
  145. PRB_GPDI_FILTER_EN_C2 = (0X92),
  146. PRB_GPDI_FILTER_EN_C3 = (0X93),
  147. PRB_GPDI_FILTER_EN_C4 = (0X94),
  148. PRB_GPDI_FILTER_EN_C5 = (0X95),
  149. PRB_GPDI_FILTER_EN_C6 = (0X96),
  150. PRB_GPDI_FILTER_EN_C7 = (0X97),
  151. PRB_LTC_FILTER_EN_C0 = (0XB0),
  152. PRB_LTC_FILTER_EN_C1 = (0XB1),
  153. PRB_LTC_FILTER_EN_C2 = (0XB2),
  154. PRB_LTC_FILTER_EN_C3 = (0XB3),
  155. PRB_GPDI_FILTER_WIDTH_C0 = (0XC0),
  156. PRB_GPDI_FILTER_WIDTH_C1 = (0XC1),
  157. PRB_GPDI_FILTER_WIDTH_C2 = (0XC2),
  158. PRB_GPDI_FILTER_WIDTH_C3 = (0XC3),
  159. PRB_GPDI_FILTER_WIDTH_C4 = (0XC4),
  160. PRB_GPDI_FILTER_WIDTH_C5 = (0XC5),
  161. PRB_GPDI_FILTER_WIDTH_C6 = (0XC6),
  162. PRB_GPDI_FILTER_WIDTH_C7 = (0XC7),
  163. PRB_LTC_FILTER_WIDTH_C0 = (0XE0),
  164. PRB_LTC_FILTER_WIDTH_C1 = (0XE1),
  165. PRB_LTC_FILTER_WIDTH_C2 = (0XE2),
  166. PRB_LTC_FILTER_WIDTH_C3 = (0XE3),
  167. PRB_TTL_DO_SEL_C0 = (0X100),
  168. PRB_TTL_DO_SEL_C1 = (0X101),
  169. PRB_TTL_DO_SEL_C2 = (0X102),
  170. PRB_TTL_DO_SEL_C3 = (0X103),
  171. PRB_TTL_DI_SEL_C0 = (0X110),
  172. PRB_TTL_DI_SEL_C1 = (0X111),
  173. PRB_TTL_DI_SEL_C2 = (0X112),
  174. PRB_TTL_DI_SEL_C3 = (0X113),
  175. // move option define
  176. OPT_ABSOLUTE =(0x00000000),
  177. OPT_RELATIVE =(0x00000001),
  178. OPT_WAIT =(0x00000100),
  179. OPT_FORCE_ABORT =(0x00000200),
  180. // Axis parameter define =(General),
  181. PRA_EL_LOGIC =(0x00), // EL logic
  182. PRA_ORG_LOGIC =(0x01), // ORG logic
  183. PRA_EL_MODE =(0x02), // EL stop mode
  184. PRA_MDM_CONDI =(0x03), // Motion done condition <-- typo, DO NOT USE IN THE FUTURE
  185. PRA_MDN_CONDI =(0x03), // Motion done condition <-- NEW
  186. PRA_EL_EXCHANGE =(0x04), //PEL, MEL exchange enable
  187. PRA_ALM_LOGIC =(0x04), // ALM logic [PCI-8253/56 only]
  188. PRA_ZSP_LOGIC =(0x05), // ZSP logic [PCI-8253/56 only]
  189. PRA_EZ_LOGIC =(0x06), // EZ logic [PCI-8253/56 only]
  190. PRA_STP_DEC =(0x07), // Stop deceleration
  191. PRA_SD_DEC =(0x07), // Stop deceleration
  192. PRA_SPEL_EN =(0x08), // SPEL Enable
  193. PRA_SMEL_EN =(0x09), // SMEL Enable
  194. PRA_EFB_POS0 =(0x0A), // EFB position 0
  195. PRA_SPEL_POS =(0x0A), // EFB position 0
  196. PRA_EFB_POS1 =(0x0B), // EFB position 1
  197. PRA_SMEL_POS =(0x0B), // EFB position 1
  198. PRA_EFB_CONDI0 =(0x0C), // EFB position 0 condition
  199. PRA_EFB_CONDI1 =(0x0D), // EFB position 1 condition
  200. PRA_EFB_SRC0 =(0x0E), // EFB position 0 source
  201. PRA_EFB_SRC1 =(0x0F), // EFB position 1 source
  202. PRA_HOME_MODE =(0x10), // home mode
  203. PRA_HOME_DIR =(0x11), // homing direction
  204. PRA_HOME_CURVE =(0x12), // homing curve parten=(T or s curve),
  205. PRA_HOME_ACC =(0x13), // Acceleration deceleration rate
  206. PRA_HOME_VS =(0x14), // homing start velocity
  207. PRA_HOME_VM =(0x15), // homing max velocity
  208. PRA_HOME_VA =(0x16), // homing approach velocity [PCI-8253/56 only]
  209. PRA_HOME_SHIFT =(0x17), // The shift from ORG [PCI-8254/58 only]
  210. PRA_HOME_EZA =(0x18), // EZ alignment enable
  211. PRA_HOME_VO =(0x19), // Homing leave ORG velocity
  212. PRA_HOME_OFFSET =(0x1A), // The escape pulse amounts=(Leaving home by position),
  213. PRA_HOME_POS =(0x1B), // The position from ORG [PCI-8254/58 only]
  214. PRA_HOME_TORQUE =(0x1C), //Torque-Limit value setting for home move
  215. PRA_HOME_EZ_DIR =(0x1D),
  216. PRA_HOME_SEARCH_TARGET =(0x1E), // Select Home move search target signal
  217. PRA_HOME_DOWN_COUNTER =(0x1F), // Home down counter limit
  218. PRA_CURVE =(0x20), // Move curve pattern
  219. PRA_SF =(0x20), // Move s-factor
  220. PRA_ACC =(0x21), // Move acceleration
  221. PRA_DEC =(0x22),// Move deceleration
  222. PRA_VS =(0x23), // Move start velocity
  223. PRA_VM =(0x24), // Move max velocity
  224. PRA_VE =(0x25), // Move end velocity
  225. PRA_SACC =(0x26), // S curve acceleration
  226. PRA_SDEC =(0x27), // S curve deceleration
  227. PRA_ACC_SR =(0x28), // S curve ratio in acceleration( S curve with linear acceleration)
  228. PRA_DEC_SR =(0x29), // S curve ratio in deceleration( S curve with linear deceleration)
  229. PRA_PRE_EVENT_DIST =(0x2A), //Pre-event distance
  230. PRA_POST_EVENT_DIST =(0x2B), //Post-event distance
  231. //following only for V2...
  232. PRA_DIST =(0x30), // Move distance
  233. PRA_MAX_VELOCITY =(0x31), // Maximum velocity
  234. PRA_SCUR_PERCENTAGE =(0x32), // Scurve percentage
  235. PRA_BLENDING_MODE =(0x33), // Blending mode
  236. PRA_STOP_MODE =(0x34), // Stop mode
  237. PRA_STOP_DELRATE =(0x35), // Stop function deceleration rate
  238. PRA_PT_STOP_ENDO =(0x32), // Disable do when point table stopping.
  239. PRA_PT_STP_DO_EN =(0x32), // Disable do when point table stopping.
  240. PRA_PT_STOP_DO =(0x33), // Set do value when point table stopping.
  241. PRA_PT_STP_DO =(0x33), // Set do value when point table stopping.
  242. PRA_PWM_OFF =(0x34), // Disable specified PWM output when ASTP input signal is active.
  243. PRA_DO_OFF =(0x35), // Set DO value when ASTP input signal is active.
  244. PRA_GPIO_SEL_SRC =(0x3A), // The source of GPIO selecting action function.
  245. PRA_GPIO_SEL_CH_MAP =(0x3B), // The channel mapping of GPIO selection action function.
  246. PRA_GPIO_SEL_ACTION =(0x3C), // GPIO selecting action assigned.
  247. PRA_GPIO_SEL_LOGIC =(0x3D), // GPIO selecting logic assigned.
  248. PRA_GPIO_SEL_EN =(0x3E), // GPIO selecting action function enable or disable.
  249. PRA_MOVE_RATIO =(0x88), //Move ratio
  250. PRA_JG_MODE =(0x40), // Jog mode
  251. PRA_JG_DIR =(0x41), // Jog move direction
  252. PRA_JG_CURVE =(0x42), // Jog curve parten=(T or s curve),
  253. PRA_JG_SF =(0x42), // Jog curve parten=(T or s curve)
  254. PRA_JG_ACC =(0x43), // Jog move acceleration
  255. PRA_JG_DEC =(0x44), // Jog move deceleration
  256. PRA_JG_VM =(0x45), // Jog move max velocity
  257. PRA_JG_STEP =(0x46), // Jog offset =(For step mode),
  258. PRA_JG_OFFSET =(0x46), // Jog offset =(For step mode),
  259. PRA_JG_DELAY =(0x47), // Jog delay =(For step mode),
  260. PRA_JG_MAP_DI_EN =(0x48), // (I32) Enable Digital input map to jog command signal
  261. PRA_JG_P_JOG_DI =(0x49), // (I32) Mapping configuration for positive jog and digital input.
  262. PRA_JG_N_JOG_DI =(0x4A), // (I32) Mapping configuration for negative jog and digital input.
  263. PRA_JG_JOG_DI =(0x4B), // (I32) Mapping configuration for jog and digital input.
  264. PRA_JG_STOP =(0x4C),// just for EMX100
  265. PRA_MDN_DELAY =(0x50), // NSTP delay setting
  266. PRA_SINP_WDW =(0x51), // Soft INP window setting
  267. PRA_SINP_STBL =(0x52), // Soft INP stable cycle
  268. PRA_SINP_STBT =(0x52), // Soft INP stable cycle
  269. PRA_SERVO_LOGIC =(0x53), // SERVO logic
  270. PRA_MOTION_SGN_PEL_MAP =(0x55), // The channel mapping of motion signal PEL
  271. PRA_MOTION_SGN_MEL_MAP =(0x56), // The channel mapping of motion signal MEL
  272. PRA_MOTION_SGN_ORG_MAP =(0x57), // The channel mapping of motion signal ORG
  273. PRA_MOTION_SGN_MAP_EN =(0x5D), // Motion signal mapping enable
  274. PRA_GEAR_MASTER =(0x60), // (I32) Select gearing master
  275. PRA_GEAR_ENGAGE_RATE=(0x61), // (F64) Gear engage rate
  276. PRA_GEAR_RATIO =(0x62), // (F64) Gear ratio
  277. PRA_GANTRY_PROTECT_1=(0x63), // (F64) E-gear gantry mode protection level 1
  278. PRA_GANTRY_PROTECT_2=(0x64), // (F64) E-gear gantry mode protection level 2
  279. PRA_EGEAR_MASTER =(0x65), // Select gearing master axis
  280. PRA_EGEAR_SOURCE =(0x66), // Select gearing source // 0: command position deviation1: feedback position deviation
  281. // Axis parameter define =(For PCI-8253/56),
  282. PRA_PLS_IPT_MODE =(0x80), // Pulse input mode setting
  283. PRA_PLS_OPT_MODE =(0x81), // Pulse output mode setting
  284. PRA_MAX_E_LIMIT =(0x82), // Maximum encoder count limit
  285. PRA_ENC_FILTER =(0x83), // Encoder filter
  286. PRA_ENCODER_FILTER =(0x83), // Encoder filter
  287. PRA_EGEAR =(0x84), // E-Gear ratio
  288. PRA_ENCODER_DIR =(0x85), // Encoder direction
  289. PRA_POS_UNIT_FACTOR =(0x86), // position unit factor setting
  290. PRA_ABSENC_FIXOFFSET=(0x8F), // Absolute encoder fix offset setting
  291. PRA_KP_SHIFT =(0x9B), // Proportional control result shift
  292. PRA_KI_SHIFT =(0x9c), // Integral control result shift
  293. PRA_KD_SHIFT =(0x9D), // Derivative control result shift
  294. PRA_KVFF_SHIFT =(0x9E), // Velocity feed-forward control result shift
  295. PRA_KAFF_SHIFT =(0x9F), // Acceleration feed-forward control result shift
  296. PRA_PID_SHIFT =(0xA0), // PID control result shift
  297. PRA_KP_GAIN =(0x90), // PID controller Kp gain
  298. PRA_KI_GAIN =(0x91), // PID controller Ki gain
  299. PRA_KD_GAIN =(0x92), // PID controller Kd gain
  300. PRA_KFF_GAIN =(0x93), // Feed forward Kff gain
  301. PRA_KVFF_GAIN =(0x93), // Feed forward Kff gain
  302. PRA_KVGTY_GAIN =(0x94), // Gantry controller Kvgty gain
  303. PRA_KPGTY_GAIN =(0x95), // Gantry controller Kpgty gain
  304. PRA_IKP_GAIN =(0x96), // PID controller Kp gain in torque mode
  305. PRA_IKI_GAIN =(0x97), // PID controller Ki gain in torque mode
  306. PRA_IKD_GAIN =(0x98), // PID controller Kd gain in torque mode
  307. PRA_IKFF_GAIN =(0x99), // Feed forward Kff gain in torque mode
  308. PRA_KAFF_GAIN =(0x9A), // Acceleration feedforward Kaff gain
  309. //following only for V2...
  310. PRA_VOLTAGE_MAX =(0x9B), // Maximum output limit
  311. PRA_VOLTAGE_MIN =(0x9C), // Minimum output limit
  312. PRA_M_INTERFACE =(0x100), // Motion System.Int32erface
  313. PRA_M_VOL_RANGE =(0x110), // Motor voltage input range
  314. PRA_M_MAX_SPEED =(0x111), // Motor maximum speed
  315. PRA_M_ENC_RES =(0x112), // Motor encoder resolution
  316. PRA_V_OFFSET =(0x120), // Voltage offset
  317. PRA_SERVO_V_BIAS =(0x120), // Voltage offset
  318. PRA_DZ_LOW =(0x121), // Dead zone low side
  319. PRA_DZ_UP =(0x122), // Dead zone up side
  320. PRA_SAT_LIMIT =(0x123), // Voltage saturation output limit
  321. PRA_SERVO_V_LIMIT =(0x123), // Voltage saturation output limit
  322. PRA_ERR_C_LEVEL =(0x124), // Error counter check level
  323. PRA_ERR_POS_LEVEL =(0x124), // Error counter check level
  324. PRA_V_INVERSE =(0x125), // Output voltage inverse
  325. PRA_SERVO_V_INVERSE =(0x125), // Output voltage inverse
  326. PRA_DZ_VAL =(0x126), // Dead zone output value
  327. PRA_IW_MAX =(0x127), // Integral windup maximum value
  328. PRA_IW_MIN =(0x128), // Integral windup minimum value
  329. PRA_BKL_DIST =(0x129), // Backlash distance
  330. PRA_BKL_CNSP =(0x12a),// Backlash consumption
  331. PRA_INTEGRAL_LIMIT =(0x12B), // (I32) Integral limit
  332. PRA_D_SAMPLE_TIME =(0x12C), // (I32) Derivative Sample Time
  333. PRA_PSR_LINK =(0x130), // Connect pulser number
  334. PRA_PSR_RATIO =(0x131), // Set pulser ratio
  335. PRA_BIQUAD0_A1 =(0x132), // (F64) Biquad filter0 coefficient A1
  336. PRA_BIQUAD0_A2 =(0x133),// (F64) Biquad filter0 coefficient A2
  337. PRA_BIQUAD0_B0 =(0x134), // (F64) Biquad filter0 coefficient B0
  338. PRA_BIQUAD0_B1 =(0x135), // (F64) Biquad filter0 coefficient B1
  339. PRA_BIQUAD0_B2 =(0x136), // (F64) Biquad filter0 coefficient B2
  340. PRA_BIQUAD0_DIV =(0x137), // (F64) Biquad filter0 divider
  341. PRA_BIQUAD1_A1 =(0x138), // (F64) Biquad filter1 coefficient A1
  342. PRA_BIQUAD1_A2 =(0x139), // (F64) Biquad filter1 coefficient A2
  343. PRA_BIQUAD1_B0 =(0x13A), // (F64) Biquad filter1 coefficient B0
  344. PRA_BIQUAD1_B1 =(0x13B), // (F64) Biquad filter1 coefficient B1
  345. PRA_BIQUAD1_B2 =(0x13C), // (F64) Biquad filter1 coefficient B2
  346. PRA_BIQUAD1_DIV =(0x13D), // (F64) Biquad filter1 divider
  347. PRA_FRIC_GAIN =(0x13E), // (F64) Friction voltage compensation
  348. PRA_DA_TYPE =(0x140), // DAC output type
  349. PRA_CONTROL_MODE =(0x141), // Closed loop control mode
  350. PRA_CMD_PSF =(0x144), // (F64) Command Preshaping Path Smooth Factor
  351. //Pulser function
  352. PRA_PSR_IPT_MODE = (0x160), // all
  353. PRA_PSR_IPT_LOGIC = (0x161), // dsp
  354. PRA_PSR_IPT_DIR = (0x162), // all
  355. PRA_PSR_RATIO_VALUE = (0x163), // dsp
  356. PRA_PSR_PDV = (0x164), // asic
  357. PRA_PSR_PMG = (0x165), // asic
  358. PRA_PSR_HOME_TYPE = (0x166), // asic
  359. PRA_PSR_HOME_SPD = (0x167), // asic
  360. PRA_PSR_ACC = (0x168), // dsp
  361. PRA_PSR_JERK = (0x169), // dsp
  362. //Abs Home function
  363. PRA_SENSOR_TYPE = (0x171), // (I32) sensor type; 0: unknown, 1: incremental, 2: single turn, 3: multi-turn
  364. PRA_PULSE_PER_TURN = (0x172),
  365. PRA_ENC_1_RESOLUTION = (0x173),
  366. PRA_ENC_2_RESOLUTION = (0x174),
  367. PRA_ENC_2_DETERMINABLE_REVOLUTION = (0x175),
  368. PRA_ABS_HOME_ENABLE = (0x176), // Enable absolute home
  369. PRA_ABS_ENCODER_VALUE = (0x177), // absolute encoder value (F64)
  370. // Axis parameter define =(For PCI-8154/58),
  371. // Input/Output Mode
  372. PRA_PLS_IPT_LOGIC =(0x200), //Reverse pulse input counting
  373. PRA_FEEDBACK_SRC =(0x201), //Select feedback conter
  374. //IO Config
  375. PRA_ALM_MODE =(0x210), //ALM Mode
  376. PRA_INP_LOGIC =(0x211), //INP Logic
  377. PRA_SD_EN =(0x212), //SD Enable -- Bit 8
  378. PRA_SD_MODE =(0x213), //SD Mode
  379. PRA_SD_LOGIC =(0x214), //SD Logic
  380. PRA_SD_LATCH =(0x215), //SD Latch
  381. PRA_ERC_MODE =(0x216), //ERC Mode
  382. PRA_ERC_LOGIC =(0x217), //ERC logic
  383. PRA_ERC_LEN =(0x218), //ERC pulse width
  384. PRA_RESET_COUNTER =(0x219), //Reset counter when home move is complete
  385. PRA_PLS_IPT_FLT =(0x21B), //EA/EB Filter Enable
  386. PRA_INP_MODE =(0x21C), //INP Mode
  387. PRA_LTC_LOGIC =(0x21D), //LTC LOGIC
  388. PRA_IO_FILTER =(0x21E), //+-EZ, SD, ORG, ALM, INP filter
  389. PRA_COMPENSATION_PULSE =(0x221), //BACKLASH PULSE
  390. PRA_COMPENSATION_MODE =(0x222), //BACKLASH MODE
  391. PRA_LTC_SRC =(0x223), //LTC Source
  392. PRA_LTC_DEST =(0x224), //LTC Destination
  393. PRA_LTC_DATA =(0x225), //Get LTC DATA
  394. PRA_GCMP_EN =(0x226), // CMP Enable
  395. PRA_GCMP_POS =(0x227), // Get CMP position
  396. PRA_GCMP_SRC =(0x228), // CMP source
  397. PRA_GCMP_ACTION =(0x229), // CMP Action
  398. PRA_GCMP_STS =(0x22A), // CMP Status
  399. PRA_VIBSUP_RT =(0x22B), // Vibration Reverse Time
  400. PRA_VIBSUP_FT =(0x22C), // Vibration Forward Time
  401. PRA_LTC_DATA_SPD =(0x22D), // Choose latch data for current speed or error position
  402. PRA_GPDO_SEL =(0x230), //Select DO/CMP Output mode
  403. PRA_GPDI_SEL =(0x231), //Select DO/CMP Output mode
  404. PRA_GPDI_LOGIC =(0x232), //Set gpio input logic
  405. PRA_RDY_LOGIC =(0x233), //RDY logic
  406. PRA_RDY_SEL =(0X236), //for AMP-304C
  407. PRA_INP_SEL =(0X237), //for AMP-304C
  408. PRA_SVON_SEL =(0X238), //for AMP-304C
  409. PRA_ERC_SEL =(0X239), //for AMP-304C
  410. PRA_ECMP_EN =(0x280), // Error CMP Enable
  411. PRA_ECMP_POS =(0x281), // Get CMP position
  412. PRA_ECMP_SRC =(0x282), // Set CMP source
  413. PRA_ECMP_ACTION =(0x283), // CMP Status
  414. PRA_ECMP_STS =(0x284), //Error CMP status
  415. PRA_ERR_RESCOUNT =(0x285), // Reset Counter 3 (Error Counter)
  416. PRA_ERR_COUNTER =(0x290), // Counter 3(Error Counter)
  417. PRA_TCMP_EN =(0x270), // trigger CMP Enable
  418. PRA_TCMP_POS =(0x271), // Get CMP position
  419. PRA_TCMP_SRC =(0x272), // Set CMP source
  420. PRA_TCMP_STS =(0x273), // CMP Status
  421. PRA_TCMP_LOGIC =(0x274), // CMP logic
  422. PRA_TCMP_ACTION =(0x275), // CMP Action
  423. //Fixed Speed
  424. PRA_SPD_LIMIT =(0x240), // Set Fixed Speed
  425. PRA_MAX_ACCDEC =(0x241), // Get max acceleration by fixed speed
  426. PRA_MIN_ACCDEC =(0x242), // Get max acceleration by fixed speed
  427. PRA_ENABLE_SPD =(0x243), // Disable/Enable Fixed Speed only for HSL-4XMO.
  428. //Continuous Move
  429. PRA_CONTI_MODE =(0x250), // Continuous Mode
  430. PRA_CONTI_BUFF =(0x251), // Continuous Buffer
  431. //Simultaneous Move
  432. PRA_SYNC_STOP_MODE =(0x260), // Sync Mode
  433. //PCS
  434. PRA_PCS_EN =(0x2A0), // PCS Enable
  435. PRA_PCS_LOGIC =(0x2A1), // PCS Logic
  436. //AMP-304C axis parameter define
  437. PRA_CNT_SRC =(0x2B0),
  438. // CST mode using.
  439. PRA_INIT_TRQ =(0x300), // Initial torque command when switching to CST mode; Unit is 0.1%. Default value is 0%
  440. PRA_TRQ_STP_TIME =(0x301), // Time to reach zero torque command; Unit is 1ms. Default is 0 (Stop immediately).
  441. PRA_MODE_CHANGE_STABLE_CNT =(0x302), // Stable count when operation mode changing to CSP.
  442. // PCI-8144 axis parameter define
  443. PRA_CMD_CNT_EN =(0x10000),
  444. PRA_MIO_SEN =(0x10001),
  445. PRA_START_STA =(0x10002),
  446. PRA_SPEED_CHN =(0x10003),
  447. PRA_ORG_STP =(0x1A),
  448. // Axis parameter define =(For PCI-8392 SSCNET),
  449. PRA_SSC_SERVO_PARAM_SRC =(0x10000), //Servo parameter source
  450. PRA_SSC_SERVO_ABS_POS_OPT =(0x10001), //Absolute position system option
  451. PRA_SSC_SERVO_ABS_CYC_CNT =(0x10002), //Absolute cycle counter of servo driver
  452. PRA_SSC_SERVO_ABS_RES_CNT =(0x10003), //Absolute resolution counter of servo driver
  453. PRA_SSC_TORQUE_LIMIT_P =(0x10004), //Torque limit positive =(0.1%),
  454. PRA_SSC_TORQUE_LIMIT_N =(0x10005), //Torque limit negative =(0.1%),
  455. PRA_SSC_TORQUE_CTRL =(0x10006), //Torque control
  456. PRA_SSC_RESOLUTION =(0x10007), //resolution =(E-gear),
  457. PRA_SSC_GMR =(0x10008), //resolution (New E-gear)
  458. PRA_SSC_GDR =(0x10009), //resolution (New E-gear)
  459. // Axis parameter define (For EMX-100)
  460. PRA_SOFT_EL_EN = (0xB0),
  461. PRA_SOFT_EL_SRC = (0xB1),
  462. PRA_PLS_IPT_NEG_DRIVE =(0xB2),
  463. PRA_PLS_OPT_NEG_DRIVE =(0xB3),
  464. PRA_PLS_OPT_DIR =(0xB4),
  465. PRA_TRIG_VEL_PREVENTION_EN =(0xB5),
  466. PRA_PLS_IPT_DIR_PIN = (0x87),
  467. PRA_PLS_OPT_DIR_PIN = (0x88),
  468. PRA_RST_OPT_CHG_DIO = (0x89),
  469. //PCI-8353
  470. PRA_HOME_LATCH = (0x900), //Select Home latch source
  471. // Sampling parameter define
  472. SAMP_PA_RATE =(0x0), //Sampling rate
  473. SAMP_PA_EDGE =(0x2), //Edge select
  474. SAMP_PA_LEVEL =(0x3), //Level select
  475. SAMP_PA_TRIGCH =(0x5), //Select trigger channel
  476. SAMP_PA_SEL =(0x6),
  477. SAMP_PA_SRC_CH0 =(0x10), //Sample source of channel 0
  478. SAMP_PA_SRC_CH1 =(0x11), //Sample source of channel 1
  479. SAMP_PA_SRC_CH2 =(0x12), //Sample source of channel 2
  480. SAMP_PA_SRC_CH3 =(0x13), //Sample source of channel 3
  481. // Sampling source
  482. SAMP_AXIS_MASK =(0xF00),
  483. SAMP_PARAM_MASK =(0xFF),
  484. SAMP_COM_POS =(0x00), //command position
  485. SAMP_FBK_POS =(0x01), //feedback position
  486. SAMP_CMD_VEL =(0x02), //command velocity
  487. SAMP_FBK_VEL =(0x03), //feedback velocity
  488. SAMP_MIO =(0x04), //motion IO
  489. SAMP_MSTS =(0x05), //motion status
  490. SAMP_MSTS_ACC =(0x06), //motion status acc
  491. SAMP_MSTS_MV =(0x07), //motion status at max velocity
  492. SAMP_MSTS_DEC =(0x08), //motion status at dec
  493. SAMP_MSTS_CSTP =(0x09), //motion status CSTP
  494. SAMP_MSTS_NSTP =(0x0A), //motion status NSTP
  495. SAMP_MSTS_MDN =(0x0A), //motion status NSTP
  496. SAMP_MIO_INP =(0x0B), //motion status INP
  497. SAMP_MIO_ZERO =(0x0C), //motion status ZERO
  498. SAMP_MIO_ORG =(0x0D), //motion status OGR
  499. SAMP_CONTROL_VOL =(0x20), // Control command voltage
  500. SAMP_GTY_DEVIATION =(0x21), // Gantry deviation
  501. SAMP_ENCODER_RAW =(0x22), // Encoder raw data
  502. SAMP_ERROR_COUNTER =(0x23), // Error counter data
  503. SAMP_ERROR_POS =(0x23), //Error position [PCI-8254/58]
  504. SAMP_PTBUFF_RUN_INDEX =(0x24), //Point table running index
  505. // Only for PCIe-833X CST mode.
  506. SAMP_CMD_TRQ =(0x25), // Command torque (I16)
  507. SAMP_FBK_TRQ =(0x26), // Actual torque (I16)
  508. //Only for PCI-8392
  509. SAMP_SSC_MON_0 =(0x10), // SSCNET servo monitor ch0
  510. SAMP_SSC_MON_1 =(0x11), // SSCNET servo monitor ch1
  511. SAMP_SSC_MON_2 =(0x12), // SSCNET servo monitor ch2
  512. SAMP_SSC_MON_3 =(0x13), // SSCNET servo monitor ch3
  513. //Only for PCI-8254/8, AMP-204/8C
  514. SAMP_COM_POS_F64 =(0x10), // Command position
  515. SAMP_FBK_POS_F64 =(0x11), // Feedback position
  516. SAMP_CMD_VEL_F64 =(0x12), // Command velocity
  517. SAMP_FBK_VEL_F64 =(0x13), // Feedback velocity
  518. SAMP_CONTROL_VOL_F64 =(0x14), // Control command voltage
  519. SAMP_ERR_POS_F64 =(0x15), // Error position
  520. SAMP_PWM_FREQUENCY_F64 =(0x18), // PWM frequency (Hz)
  521. SAMP_PWM_DUTY_CYCLE_F64 =(0x19), // PWM duty cycle (%)
  522. SAMP_PWM_WIDTH_F64 =(0x1A), // PWM width (ns)
  523. SAMP_VAO_COMP_VEL_F64 =(0x1B), // Composed velocity for Laser power control (pps)
  524. SAMP_PTBUFF_COMP_VEL_F64 =(0x1C), // Composed velocity of point table
  525. SAMP_PTBUFF_COMP_ACC_F64 =(0x1D), // Composed acceleration of point table
  526. //FieldBus parameter define
  527. PRF_COMMUNICATION_TYPE =(0x00),// FiledBus Communication Type=(Full/half duplex),
  528. PRF_TRANSFER_RATE =(0x01),// FiledBus Transfer Rate
  529. PRF_HUB_NUMBER =(0x02),// FiledBus Hub Number
  530. PRF_INITIAL_TYPE =(0x03),// FiledBus Initial Type(Clear/Reserve Do area)
  531. PRF_CHKERRCNT_LAYER =(0x04),// Set the check error count layer.
  532. PRF_RESEND_CNT =(0x05),// Set MNET command resend counts
  533. //Gantry parameter number define [Only for PCI-8392, PCI-8253/56]
  534. GANTRY_MODE =(0x0),
  535. GENTRY_DEVIATION =(0x1),
  536. GENTRY_DEVIATION_STP =(0x2),
  537. // Filter parameter number define [Only for PCI-8253/56]
  538. FTR_TYPE_ST0 =(0x00), // Station 0 filter type
  539. FTR_FC_ST0 =(0x01), // Station 0 filter cutoff frequency
  540. FTR_BW_ST0 =(0x02), // Station 0 filter bandwidth
  541. FTR_ENABLE_ST0 =(0x03), // Station 0 filter enable/disable
  542. FTR_TYPE_ST1 =(0x10), // Station 1 filter type
  543. FTR_FC_ST1 =(0x11), // Station 1 filter cutoff frequency
  544. FTR_BW_ST1 =(0x12), // Station 1 filter bandwidth
  545. FTR_ENABLE_ST1 =(0x13), // Station 1 filter enable/disable
  546. // Device name define
  547. DEVICE_NAME_NULL =(0xFFFF),
  548. DEVICE_NAME_PCI_8392 =(0),
  549. DEVICE_NAME_PCI_825X =(1),
  550. DEVICE_NAME_PCI_8154 =(2),
  551. DEVICE_NAME_PCI_785X =(3),
  552. DEVICE_NAME_PCI_8158 =(4),
  553. DEVICE_NAME_PCI_7856 =(5),
  554. DEVICE_NAME_ISA_DPAC1000 =(6),
  555. DEVICE_NAME_ISA_DPAC3000 =(7),
  556. DEVICE_NAME_PCI_8144 =(8),
  557. DEVICE_NAME_PCI_825458 =(9),
  558. DEVICE_NAME_PCI_8102 =(10),
  559. DEVICE_NAME_PCI_V8258 =(11),
  560. DEVICE_NAME_PCI_V8254 =(12),
  561. DEVICE_NAME_PCI_8158A =(13),
  562. DEVICE_NAME_AMP_20408C =(14),
  563. DEVICE_NAME_PCI_8353 =(15),
  564. DEVICE_NAME_PCI_8392F =(16),
  565. DEVICE_NAME_PCI_C154 =(17),
  566. DEVICE_NAME_PCI_C154_PLUS =(18),
  567. DEVICE_NAME_PCI_8353_RTX =(19),
  568. DEVICE_NAME_PCIE_8338 =(20),
  569. DEVICE_NAME_PCIE_8154 =(21),
  570. DEVICE_NAME_PCIE_8158 =(22),
  571. DEVICE_NAME_ENET_EMX100 =(23),
  572. DEVICE_NAME_PCIE_8334 =(24),
  573. DEVICE_NAME_PCIE_8332 =(25),
  574. DEVICE_NAME_PCIE_8331 =(26),
  575. DEVICE_NAME_PCIE_7856 =(27),
  576. DEVICE_NAME_AMP104C =(28),
  577. DEVICE_NAME_AMP_304C =(29),
  578. DEVICE_NAME_BMP_132 =(30),
  579. DEVICE_NAME_BMP_116 =(31),
  580. DEVICE_NAME_PCIE_8364 =(32),
  581. DEVICE_NAME_AEW_38 =(33),
  582. DEVICE_NAME_AMP_304H =(34),
  583. DEVICE_NAME_EM_2P00 =(35),
  584. DEVICE_NAME_EM_4P00 =(36),
  585. DEVICE_NAME_EM_8P00 =(37),
  586. DEVICE_NAME_EM_FP00 =(38),
  587. DEVICE_NAME_EM_2C00 =(39),
  588. DEVICE_NAME_EM_4C00 =(40),
  589. DEVICE_NAME_EM_8C00 =(41),
  590. DEVICE_NAME_EM_FC00 =(42),
  591. DEVICE_NAME_EM_2A00 =(43),
  592. DEVICE_NAME_EM_4A00 =(44),
  593. DEVICE_NAME_EM_8A00 =(45),
  594. DEVICE_NAME_EM_FA00 =(46),
  595. DEVICE_NAME_EM_0P00 =(47),
  596. DEVICE_NAME_EM_1P00 =(48),
  597. DEVICE_NAME_EM_0C00 =(49),
  598. DEVICE_NAME_EM_1C00 =(50),
  599. DEVICE_NAME_EM_0A00 =(51),
  600. DEVICE_NAME_EM_1A00 =(52),
  601. ///////////////////////////////////////////////
  602. // HSL Slave module definition
  603. ///////////////////////////////////////////////
  604. SLAVE_NAME_UNKNOWN =(0x000),
  605. SLAVE_NAME_HSL_DI32 =(0x100),
  606. SLAVE_NAME_HSL_DO32 =(0x101),
  607. SLAVE_NAME_HSL_DI16DO16 =(0x102),
  608. SLAVE_NAME_HSL_AO4 =(0x103),
  609. SLAVE_NAME_HSL_AI16AO2_VV =(0x104),
  610. SLAVE_NAME_HSL_AI16AO2_AV =(0x105),
  611. SLAVE_NAME_HSL_DI16UL =(0x106),
  612. SLAVE_NAME_HSL_DI16RO8 =(0x107),
  613. SLAVE_NAME_HSL_4XMO =(0x108),
  614. SLAVE_NAME_HSL_DI16_UCT =(0x109),
  615. SLAVE_NAME_HSL_DO16_UCT =(0x10A),
  616. SLAVE_NAME_HSL_DI8DO8 =(0x10B),
  617. ///////////////////////////////////////////////
  618. // MNET Slave module definition
  619. ///////////////////////////////////////////////
  620. SLAVE_NAME_MNET_1XMO =(0x200),
  621. SLAVE_NAME_MNET_4XMO =(0x201),
  622. SLAVE_NAME_MNET_4XMO_C =(0x202),
  623. ///////////////////////////////////////////////
  624. SLAVE_NAME_ECAT_UNKNOWN =(0x300),
  625. SLAVE_NAME_GPM_4XMO =(0x301),
  626. SLAVE_NAME_ECAT_4XMO =(0x302),
  627. SLAVE_NAME_ECAT_TRG4 =(0x303),
  628. ///////////////////////////////////////////////
  629. // PCIe-8364RS Device name definition
  630. ///////////////////////////////////////////////
  631. SLAVE_NAME_PN_UNKNOWN =(0x400), //Unknown
  632. SLAVE_NAME_PN_V90 =(0x401), //Drive
  633. SLAVE_NAME_PN_ET200SP =(0x402), //IO
  634. ///////////////////////////////////////////////
  635. // PCIe-8364RS Module name definition
  636. ///////////////////////////////////////////////
  637. SLAVE_NAME_PN_DO_ST_16x24V =(0x501),
  638. SLAVE_NAME_PN_DI_ST_16x24V =(0x502),
  639. SLAVE_NAME_PN_AO_ST_4xUI =(0x503),
  640. SLAVE_NAME_PN_AI_ST_4xUI =(0x504),
  641. ///////////////////////////////////////////////
  642. // PCIe-8338 Slave module definition
  643. ///////////////////////////////////////////////
  644. SLAVE_ADLINK_ECAT_EPS_1132 =(0x1132),
  645. SLAVE_ADLINK_ECAT_EPS_2032 =(0x2032),
  646. SLAVE_ADLINK_ECAT_EPS_2132 =(0x2132),
  647. SLAVE_ADLINK_ECAT_EPS_3032 =(0x3032),
  648. SLAVE_ADLINK_ECAT_EPS_3216 =(0x3216),
  649. SLAVE_ADLINK_ECAT_EPS_3504 =(0x3504),
  650. SLAVE_ADLINK_ECAT_EPS_4008 =(0x4008),
  651. SLAVE_ADLINK_ECAT_EPS_2308 =(0x2308),
  652. SLAVE_ADLINK_ECAT_EPS_7002 =(0x7002),
  653. SLAVE_ADLINK_ECAT_EPS_1032 =(0x1032),
  654. SLAVE_ADLINK_ECAT_ESM_A620F =(0x516204A0), // AI08
  655. SLAVE_ADLINK_EU_1008 =(0x6), //DI8, 8 Channels, PNP
  656. SLAVE_ADLINK_EU_1108 =(0x9), //DI8, 8 Channels, NPN
  657. SLAVE_ADLINK_EU_1016 =(0x10), // DI16, 16 Channels, PNP
  658. SLAVE_ADLINK_EU_1116 =(0xF), // DI16, 16 Channels, NPN
  659. SLAVE_ADLINK_EU_2008 =(0xB), //11 DO8, 8 Channels, PNP
  660. SLAVE_ADLINK_EU_2108 =(0xC), //12 DO8, 8 Channels, NPN
  661. SLAVE_ADLINK_EU_2016 =(0x11), // DO16, 16 Channels, PNP
  662. SLAVE_ADLINK_EU_2116 =(0x12), // DO16, 16 Channels, NPN
  663. SLAVE_ADLINK_EU_3104 =(0x31), //49 AI4, Voltage(0-10V), 4 Channels, 16 Bit
  664. SLAVE_ADLINK_EU_3304 =(0x29), //41 AI4, Current(4-20mA), 4 Channels, 16 Bit
  665. SLAVE_ADLINK_EU_4104 =(0x32), //50 AO4, Voltage(0-10V), 4 Channels, 16 Bit
  666. SLAVE_ADLINK_EU_4304 =(0x35), //53 AO4, Current(4-20mA), 4 Channels, 16 Bit
  667. ///////////////////////////////////////////////
  668. // PCIe-8338 EtherCAT master/slave status definition
  669. ///////////////////////////////////////////////
  670. EC_STATE_NOT_RDY =(0x0000),
  671. EC_STATE_RDY =(0x0001),
  672. EC_STATE_BUS_SCAN =(0x0002),
  673. EC_STATE_INIT =(0x0003),
  674. EC_STATE_PREOP =(0x0004),
  675. EC_STATE_SAFEOP =(0x0005),
  676. EC_STATE_OP =(0x0006),
  677. //Trigger parameter number define. [Only for DB-8150]
  678. TG_PWM0_PULSE_WIDTH =(0x00),
  679. TG_PWM1_PULSE_WIDTH =(0x01),
  680. TG_PWM0_MODE =(0x02),
  681. TG_PWM1_MODE =(0x03),
  682. TG_TIMER0_INTERVAL =(0x04),
  683. TG_TIMER1_INTERVAL =(0x05),
  684. TG_ENC0_CNT_DIR =(0x06),
  685. TG_ENC1_CNT_DIR =(0x07),
  686. TG_IPT0_MODE =(0x08),
  687. TG_IPT1_MODE =(0x09),
  688. TG_EZ0_CLEAR_EN =(0x0A),
  689. TG_EZ1_CLEAR_EN =(0x0B),
  690. TG_EZ0_CLEAR_LOGIC =(0x0C),
  691. TG_EZ1_CLEAR_LOGIC =(0x0D),
  692. TG_CNT0_SOURCE =(0x0E),
  693. TG_CNT1_SOURCE =(0x0F),
  694. TG_FTR0_EN =(0x10),
  695. TG_FTR1_EN =(0x11),
  696. TG_DI_LATCH0_EN =(0x12),
  697. TG_DI_LATCH1_EN =(0x13),
  698. TG_DI_LATCH0_EDGE =(0x14),
  699. TG_DI_LATCH1_EDGE =(0x15),
  700. TG_DI_LATCH0_VALUE =(0x16),
  701. TG_DI_LATCH1_VALUE =(0x17),
  702. TG_TRGOUT_MAP =(0x18),
  703. TG_TRGOUT_LOGIC =(0x19),
  704. TG_FIFO_LEVEL =(0x1A),
  705. TG_PWM0_SOURCE =(0x1B),
  706. TG_PWM1_SOURCE =(0x1C),
  707. //trigger only for EMX100
  708. TGR0_CMP_SRC = (0x00),
  709. TGR1_CMP_SRC = (0x01),
  710. TGR0_CMP_COND = (0x02),
  711. TGR1_CMP_COND = (0x03),
  712. TGR0_CMP_VALUE = (0x04),
  713. TGR1_CMP_VALUE = (0x05),
  714. TGR0_PULSE_WIDTH = (0x06),
  715. TGR1_PULSE_WIDTH = (0x07),
  716. TGR0_PULSE_LOGIC = (0x08),
  717. TGR1_PULSE_LOGIC = (0x09),
  718. TGR0_CMP_EN = (0x0A),
  719. TGR1_CMP_EN = (0x0B),
  720. TGR0_CMP_MODE = (0x0C),
  721. TGR1_CMP_MODE = (0x0D),
  722. TGR0_LCMP_INTER = (0x0E),
  723. TGR1_LCMP_INTER = (0x0F),
  724. TGR0_LCMP_RETIME = (0x10),
  725. TGR1_LCMP_RETIME = (0x11),
  726. //Trigger parameter number define. [Only for PCI-8253/56]
  727. TG_LCMP0_SRC =(0x00),
  728. TG_LCMP1_SRC =(0x01),
  729. TG_TCMP0_SRC =(0x02),
  730. TG_TCMP1_SRC =(0x03),
  731. TG_LCMP0_EN =(0x04),
  732. TG_LCMP1_EN =(0x05),
  733. TG_TCMP0_EN =(0x06),
  734. TG_TCMP1_EN =(0x07),
  735. TG_TRG0_SRC =(0x10),
  736. TG_TRG1_SRC =(0x11),
  737. TG_TRG2_SRC =(0x12),
  738. TG_TRG3_SRC =(0x13),
  739. TG_TRG0_PWD =(0x14),
  740. TG_TRG1_PWD =(0x15),
  741. TG_TRG2_PWD =(0x16),
  742. TG_TRG3_PWD =(0x17),
  743. TG_TRG0_CFG =(0x18),
  744. TG_TRG1_CFG =(0x19),
  745. TG_TRG2_CFG =(0x1A),
  746. TG_TRG3_CFG =(0x1B),
  747. TMR_ITV =(0x20),
  748. TMR_EN =(0x21),
  749. //Trigger parameter number define. [Only for MNET-4XMO-C & HSL-4XMO]
  750. TG_CMP0_SRC =(0x00),
  751. TG_CMP1_SRC =(0x01),
  752. TG_CMP2_SRC =(0x02),
  753. TG_CMP3_SRC =(0x03),
  754. TG_CMP0_EN =(0x04),
  755. TG_CMP1_EN =(0x05),
  756. TG_CMP2_EN =(0x06),
  757. TG_CMP3_EN =(0x07),
  758. TG_CMP0_TYPE =(0x08),
  759. TG_CMP1_TYPE =(0x09),
  760. TG_CMP2_TYPE =(0x0A),
  761. TG_CMP3_TYPE =(0x0B),
  762. TG_CMPH_EN =(0x0C), //Not for HSL-4XMO
  763. TG_CMPH_DIR_EN =(0x0D),//Not for HSL-4XMO
  764. TG_CMPH_DIR =(0x0E), //Not for HSL-4XMO
  765. TG_ENCH_CFG =(0x20),//Not for HSL-4XMO
  766. TG_TRG0_CMP_DIR =(0x21), //Only for HSL-4XMO
  767. TG_TRG1_CMP_DIR =(0x22), //Only for HSL-4XMO
  768. TG_TRG2_CMP_DIR =(0x23), //Only for HSL-4XMO
  769. TG_TRG3_CMP_DIR =(0x24), //Only for HSL-4XMO
  770. //Trigger parameter number define. [Only for PCI-8258, ECAT-4XMO]
  771. TGR_LCMP0_SRC =(0x00),
  772. TGR_LCMP1_SRC =(0x01),
  773. TGR_TCMP0_SRC =(0x02),
  774. TGR_TCMP1_SRC =(0x03),
  775. TGR_TCMP0_DIR =(0x04),
  776. TGR_TCMP1_DIR =(0x05),
  777. TGR_TRG_EN =(0x06),
  778. TGR_TCMP0_REUSE =(0x07), // ECAT-4XMO
  779. TGR_TCMP1_REUSE =(0x08), // ECAT-4XMO
  780. TGR_TCMP0_TRANSFER_DONE =(0x09), // ECAT-4XMO
  781. TGR_TCMP1_TRANSFER_DONE =(0x0A), // ECAT-4XMO
  782. TGR_MTCMP0_TRANSFER_DONE =(0x0D), // ECAT-4XMO-MT/TRG4-MT
  783. TGR_TRG0_SRC =(0x10),
  784. TGR_TRG1_SRC =(0x11),
  785. TGR_TRG2_SRC =(0x12),
  786. TGR_TRG3_SRC =(0x13),
  787. TGR_TRG0_PWD =(0x14),
  788. TGR_TRG1_PWD =(0x15),
  789. TGR_TRG2_PWD =(0x16),
  790. TGR_TRG3_PWD =(0x17),
  791. TGR_TRG0_LOGIC =(0x18),
  792. TGR_TRG1_LOGIC =(0x19),
  793. TGR_TRG2_LOGIC =(0x1A),
  794. TGR_TRG3_LOGIC =(0x1B),
  795. TGR_TRG0_TGL =(0x1C),
  796. TGR_TRG1_TGL =(0x1D),
  797. TGR_TRG2_TGL =(0x1E),
  798. TGR_TRG3_TGL =(0x1F),
  799. TIMR_ITV =(0x20),
  800. TIMR_DIR =(0x21),
  801. TIMR_RING_EN =(0x22),
  802. TIMR_EN =(0x23),
  803. TGR_MCMP0_SRC =(0x30),
  804. TGR_MCMP1_SRC =(0x31),
  805. TGR_MCMP2_SRC =(0x32),
  806. TGR_MCMP3_SRC =(0x33),
  807. TGR_MCMP_MODE =(0x34),
  808. TGR_TRG0_TOGGLE_MODE =(0x35),
  809. TGR_TRG1_TOGGLE_MODE =(0x36),
  810. TGR_TRG2_TOGGLE_MODE =(0x37),
  811. TGR_TRG3_TOGGLE_MODE =(0x38),
  812. TGR_TRG0_TOGGLE_STATUS =(0x39),
  813. TGR_TRG1_TOGGLE_STATUS =(0x3A),
  814. TGR_TRG2_TOGGLE_STATUS =(0x3B),
  815. TGR_TRG3_TOGGLE_STATUS =(0x3C),
  816. TGR_TCMP2_SRC =(0x40),
  817. TGR_TCMP3_SRC =(0x41),
  818. TGR_TCMP2_DIR =(0x42),
  819. TGR_TCMP3_DIR =(0x43),
  820. TGR_LCMP2_SRC =(0x44),
  821. TGR_LCMP3_SRC =(0x45),
  822. TGR_TCMP2_REUSE =(0x46), // ECAT-4XMO/TRG4
  823. TGR_TCMP3_REUSE =(0x47), // ECAT-4XMO/TRG4
  824. TGR_TCMP2_TRANSFER_DONE =(0x48), // ECAT-4XMO/TRG4
  825. TGR_TCMP3_TRANSFER_DONE =(0x49), // ECAT-4XMO/TRG4
  826. TGR_CMP_EXTENC0_SRC =(0x50), // ECAT-TRG4
  827. TGR_CMP_EXTENC1_SRC =(0x51), // ECAT-TRG4
  828. TGR_CMP_EXTENC2_SRC =(0x52), // ECAT-TRG4
  829. TGR_CMP_EXTENC3_SRC =(0x53), // ECAT-TRG4
  830. TGR_TCMP0_SETTING_TYPE = (0x80), // ECAT-4XMO(-MT)/TRG4(-MT)
  831. TGR_TCMP1_SETTING_TYPE = (0x81), // ECAT-4XMO(-MT)/TRG4(-MT)
  832. TGR_TCMP2_SETTING_TYPE = (0x82), // ECAT-4XMO/TRG4
  833. TGR_TCMP3_SETTING_TYPE = (0x83), // ECAT-4XMO/TRG4
  834. TGR_MTCMP0_SETTING_TYPE = (0x88), // ECAT-4XMO-MT/TRG4-MT
  835. // 20210326
  836. TGR_TRG0_MAP = (0X54), //for AMPC-304C, 8364RS
  837. TGR_TRG1_MAP = (0X55), //for AMPC-304C, 8364RS
  838. TGR_TRG2_MAP = (0X56), // only AMP-304C
  839. TGR_TRG3_MAP = (0X57), // only AMP-304C
  840. // For SuperCAT software compare trigger using.
  841. TGR_TRG0_SGN_MAP = (0X58),
  842. TGR_TRG1_SGN_MAP = (0X59),
  843. TGR_TRG2_SGN_MAP = (0X5A),
  844. TGR_TRG3_SGN_MAP = (0X5B),
  845. TGR_SCMP0_SRC = (0X70), // only AMP-304C
  846. TGR_SCMP1_SRC = (0X71), // only AMP-304C
  847. TGR_SCMP2_SRC = (0X72), // only AMP-304C
  848. TGR_SCMP3_SRC = (0X73), // only AMP-304C
  849. TGR_SCMP0_DIR = (0X80), // only AMP-304C
  850. TGR_SCMP1_DIR = (0X81), // only AMP-304C
  851. TGR_SCMP2_DIR = (0X82), // only AMP-304C
  852. TGR_SCMP3_DIR = (0X83), // only AMP-304C
  853. TGR_SCMP0_EN = (0X90), // only AMP-304C
  854. TGR_SCMP1_EN = (0X91), // only AMP-304C
  855. TGR_SCMP2_EN = (0X92), // only AMP-304C
  856. TGR_SCMP3_EN = (0X93), // only AMP-304C
  857. TGR_TCMP0_LEVEL = (0XA0), // only AMP-304C
  858. TGR_TCMP1_LEVEL = (0XA1), // only AMP-304C
  859. TGR_TCMP2_LEVEL = (0XA2), // only AMP-304C
  860. TGR_TCMP3_LEVEL = (0XA3), // only AMP-304C
  861. TGR_TRG_STATUS = (0XB0), // only AMP-304C
  862. TGR_TRG0_RESET_OUTPUT = (0XC0), // only AMP-304C
  863. TGR_TRG1_RESET_OUTPUT = (0XC1), // only AMP-304C
  864. TGR_TRG2_RESET_OUTPUT = (0XC2), // only AMP-304C
  865. TGR_TRG3_RESET_OUTPUT = (0XC3), // only AMP-304C
  866. // for 8364RS
  867. TGR_TCMP4_SRC =(0x62),
  868. TGR_TCMP5_SRC =(0x63),
  869. TGR_TCMP4_DIR =(0x66),
  870. TGR_TCMP5_DIR =(0x67),
  871. TGR_EXTENC0_VALUE =(0x68),
  872. TGR_EXTENC1_VALUE =(0x69),
  873. TGR_EXTENC0_MODE =(0x6A),
  874. TGR_EXTENC1_MODE =(0x6B),
  875. TGR_EXTENC0_FILTER_EN =(0x6C),
  876. TGR_EXTENC1_FILTER_EN =(0x6D),
  877. TGR_EXTENC0_DIR =(0x6E),
  878. TGR_EXTENC1_DIR =(0x6F),
  879. TGR_TCMP4_TRANSFER_DONE =(0x70),
  880. TGR_TCMP5_TRANSFER_DONE =(0x71),
  881. TGR_TCMP2_TRG_CH = (0x76),
  882. TGR_TCMP3_TRG_CH = (0x77),
  883. TGR_TCMP4_TRG_CH = (0x78),
  884. TGR_TCMP5_TRG_CH = (0x79),
  885. TGR_LCMP4_SRC = (0x7C),
  886. TGR_LCMP5_SRC = (0x7D),
  887. TGR_LCMP2_TRG_CH = (0x7E),
  888. TGR_LCMP3_TRG_CH = (0x7F),
  889. TGR_LCMP4_TRG_CH = (0x80),
  890. TGR_LCMP5_TRG_CH = (0x81),
  891. TGR_TRG4_TGL = (0x82),
  892. TGR_TRG5_TGL = (0x83),
  893. TGR_TRG4_PWD = (0x84),
  894. TGR_TRG5_PWD = (0x85),
  895. //Trigger parameter number define. [Only for PCI-8158A & PCI-C154(+)]
  896. TIG_ENC_IPT_MODE0 = (0x00),
  897. TIG_ENC_IPT_MODE1 =(0x01),
  898. TIG_ENC_IPT_MODE2 =(0x02),
  899. TIG_ENC_IPT_MODE3 =(0x03),
  900. TIG_ENC_IPT_MODE4 =(0x04),
  901. TIG_ENC_IPT_MODE5 =(0x05),
  902. TIG_ENC_IPT_MODE6 =(0x06),
  903. TIG_ENC_IPT_MODE7 =(0x07),
  904. TIG_ENC_EA_INV0 =(0x08),
  905. TIG_ENC_EA_INV1 =(0x09),
  906. TIG_ENC_EA_INV2 =(0x0A),
  907. TIG_ENC_EA_INV3 =(0x0B),
  908. TIG_ENC_EA_INV4 =(0x0C),
  909. TIG_ENC_EA_INV5 =(0x0D),
  910. TIG_ENC_EA_INV6 =(0x0E),
  911. TIG_ENC_EA_INV7 =(0x0F),
  912. TIG_ENC_EB_INV0 =(0x10),
  913. TIG_ENC_EB_INV1 =(0x11),
  914. TIG_ENC_EB_INV2 =(0x12),
  915. TIG_ENC_EB_INV3 =(0x13),
  916. TIG_ENC_EB_INV4 =(0x14),
  917. TIG_ENC_EB_INV5 =(0x15),
  918. TIG_ENC_EB_INV6 =(0x16),
  919. TIG_ENC_EB_INV7 =(0x17),
  920. TIG_ENC_SIGNAL_FILITER_EN0 =(0x28),
  921. TIG_ENC_SIGNAL_FILITER_EN1 =(0x29),
  922. TIG_ENC_SIGNAL_FILITER_EN2 =(0x2A),
  923. TIG_ENC_SIGNAL_FILITER_EN3 =(0x2B),
  924. TIG_ENC_SIGNAL_FILITER_EN4 =(0x2C),
  925. TIG_ENC_SIGNAL_FILITER_EN5 =(0x2D),
  926. TIG_ENC_SIGNAL_FILITER_EN6 =(0x2E),
  927. TIG_ENC_SIGNAL_FILITER_EN7 =(0x2F),
  928. TIG_TIMER8_DIR =(0x30),
  929. TIG_TIMER8_ITV =(0x31),
  930. TIG_CMP0_SRC =(0x32),
  931. TIG_CMP1_SRC =(0x33),
  932. TIG_CMP2_SRC =(0x34),
  933. TIG_CMP3_SRC =(0x35),
  934. TIG_CMP4_SRC =(0x36),
  935. TIG_CMP5_SRC =(0x37),
  936. TIG_CMP6_SRC =(0x38),
  937. TIG_CMP7_SRC =(0x39),
  938. TIG_TRG0_SRC =(0x3A),
  939. TIG_TRG1_SRC =(0x3B),
  940. TIG_TRG2_SRC =(0x3C),
  941. TIG_TRG3_SRC =(0x3D),
  942. TIG_TRG4_SRC =(0x3E),
  943. TIG_TRG5_SRC =(0x3F),
  944. TIG_TRG6_SRC =(0x40),
  945. TIG_TRG7_SRC =(0x41),
  946. TIG_TRGOUT0_MAP =(0x42),
  947. TIG_TRGOUT1_MAP =(0x43),
  948. TIG_TRGOUT2_MAP =(0x44),
  949. TIG_TRGOUT3_MAP =(0x45),
  950. TIG_TRGOUT4_MAP =(0x46),
  951. TIG_TRGOUT5_MAP =(0x47),
  952. TIG_TRGOUT6_MAP =(0x48),
  953. TIG_TRGOUT7_MAP =(0x49),
  954. TIG_TRGOUT0_LOGIC =(0x4A),
  955. TIG_TRGOUT1_LOGIC =(0x4B),
  956. TIG_TRGOUT2_LOGIC =(0x4C),
  957. TIG_TRGOUT3_LOGIC =(0x4D),
  958. TIG_TRGOUT4_LOGIC =(0x4E),
  959. TIG_TRGOUT5_LOGIC =(0x4F),
  960. TIG_TRGOUT6_LOGIC =(0x50),
  961. TIG_TRGOUT7_LOGIC =(0x51),
  962. TIG_PWM0_PULSE_WIDTH =(0x52),
  963. TIG_PWM1_PULSE_WIDTH =(0x53),
  964. TIG_PWM2_PULSE_WIDTH =(0x54),
  965. TIG_PWM3_PULSE_WIDTH =(0x55),
  966. TIG_PWM4_PULSE_WIDTH =(0x56),
  967. TIG_PWM5_PULSE_WIDTH =(0x57),
  968. TIG_PWM6_PULSE_WIDTH =(0x58),
  969. TIG_PWM7_PULSE_WIDTH =(0x59),
  970. TIG_PWM0_MODE =(0x5A),
  971. TIG_PWM1_MODE =(0x5B),
  972. TIG_PWM2_MODE =(0x5C),
  973. TIG_PWM3_MODE =(0x5D),
  974. TIG_PWM4_MODE =(0x5E),
  975. TIG_PWM5_MODE =(0x5F),
  976. TIG_PWM6_MODE =(0x60),
  977. TIG_PWM7_MODE =(0x61),
  978. TIG_TIMER0_ITV =(0x62),
  979. TIG_TIMER1_ITV =(0x63),
  980. TIG_TIMER2_ITV =(0x64),
  981. TIG_TIMER3_ITV =(0x65),
  982. TIG_TIMER4_ITV =(0x66),
  983. TIG_TIMER5_ITV =(0x67),
  984. TIG_TIMER6_ITV =(0x68),
  985. TIG_TIMER7_ITV =(0x69),
  986. TIG_FIFO_LEVEL0 =(0x6A),
  987. TIG_FIFO_LEVEL1 =(0x6B),
  988. TIG_FIFO_LEVEL2 =(0x6C),
  989. TIG_FIFO_LEVEL3 =(0x6D),
  990. TIG_FIFO_LEVEL4 =(0x6E),
  991. TIG_FIFO_LEVEL5 =(0x6F),
  992. TIG_FIFO_LEVEL6 =(0x70),
  993. TIG_FIFO_LEVEL7 =(0x71),
  994. TIG_OUTPUT_EN0 =(0x72),
  995. TIG_OUTPUT_EN1 =(0x73),
  996. TIG_OUTPUT_EN2 =(0x74),
  997. TIG_OUTPUT_EN3 =(0x75),
  998. TIG_OUTPUT_EN4 =(0x76),
  999. TIG_OUTPUT_EN5 =(0x77),
  1000. TIG_OUTPUT_EN6 =(0x78),
  1001. TIG_OUTPUT_EN7 =(0x79),
  1002. // Motion IO status bit number define.
  1003. MIO_ALM =(0), // Servo alarm.
  1004. MIO_PEL =(1), // Positive end limit.
  1005. MIO_MEL =(2), // Negative end limit.
  1006. MIO_ORG =(3), // ORG (Home)
  1007. MIO_EMG =(4), // Emergency stop
  1008. MIO_EZ =(5), // EZ.
  1009. MIO_INP =(6), // In position.
  1010. MIO_SVON =(7), // Servo on signal.
  1011. MIO_RDY =(8), // Ready.
  1012. MIO_WARN =(9), // Warning.
  1013. MIO_ZSP =(10), // Zero speed.
  1014. MIO_SPEL =(11), // Soft positive end limit.
  1015. MIO_SMEL =(12), // Soft negative end limit.
  1016. MIO_TLC =(13), // Torque is limited by torque limit value.
  1017. MIO_ABSL =(14), // Absolute position lost.
  1018. MIO_STA =(15), // External start signal.
  1019. MIO_PSD =(16), // Positive slow down signal
  1020. MIO_MSD =(17), // Negative slow down signal
  1021. MIO_SCL =(10), // Circular limit.
  1022. MIO_OP =(24), // Not all slaves are in operation mode.
  1023. // Motion status bit number define.
  1024. MTS_CSTP =(0), // Command stop signal.
  1025. MTS_VM =(1), // At maximum velocity.
  1026. MTS_ACC =(2), // In acceleration.
  1027. MTS_DEC =(3), // In deceleration.
  1028. MTS_DIR =(4), // (Last)Moving direction.
  1029. NSTP =(5), // Normal stop(Motion done).
  1030. MTS_HMV =(6), // In home operation.
  1031. MTS_SMV =(7), // Single axis move( relative, absolute, velocity move).
  1032. MTS_LIP =(8), // Linear interpolation.
  1033. MTS_CIP =(9), // Circular interpolation.
  1034. MTS_VS =(10), // At start velocity.
  1035. MTS_PMV =(11), // Point table move.
  1036. MTS_PDW =(12), // Point table dwell move.
  1037. MTS_PPS =(13), // Point table pause state.
  1038. MTS_SLV =(14), // Slave axis move.
  1039. MTS_JOG =(15), // Jog move.
  1040. MTS_ASTP =(16), // Abnormal stop.
  1041. MTS_SVONS =(17), // Servo off stopped.
  1042. MTS_EMGS =(18), // EMG / SEMG stopped.
  1043. MTS_ALMS =(19), // Alarm stop.
  1044. MTS_WANS =(20), // Warning stopped.
  1045. MTS_PELS =(21), // PEL stopped.
  1046. MTS_MELS =(22), // MEL stopped.
  1047. MTS_ECES =(23), // Error counter check level reaches and stopped.
  1048. MTS_SPELS =(24), // Soft PEL stopped.
  1049. MTS_SMELS =(25), // Soft MEL stopped.
  1050. MTS_STPOA =(26), // Stop by others axes.
  1051. MTS_GDCES =(27), // Gantry deviation error level reaches and stopped.
  1052. MTS_GTM =(28), // Gantry mode turn on.
  1053. MTS_PAPB =(29), // Pulsar mode turn on.
  1054. //Following definition for PCI-8254/8
  1055. MTS_MDN =(5), // Motion done. 0: In motion, 1: Motion done ( It could be abnormal stop)
  1056. MTS_WAIT =(10), // Axis is in waiting state. ( Wait move trigger )
  1057. MTS_PTB =(11), // Axis is in point buffer moving. ( When this bit on, MDN and ASTP will be cleared )
  1058. MTS_BLD =(17), // Axis (Axes) in blending moving
  1059. MTS_PRED =(18), // Pre-distance event, 1: event arrived. The event will be clear when axis start moving
  1060. MTS_POSTD =(19), // Post-distance event. 1: event arrived. The event will be clear when axis start moving
  1061. MTS_GER =(28), // 1: In geared ( This axis as slave axis and it follow a master specified in axis parameter. )
  1062. //Following definition for PCI-8334/8
  1063. MTS_TM =(7), // At maximum torque.
  1064. MTS_ASYNCERR = (23),
  1065. MTS_PSR =(29),
  1066. MTS_GRY =(30),
  1067. //Following definition for EMX-100
  1068. MTS_EZS =(28),
  1069. MTS_HMES =(29),
  1070. MTS_ORGS =(30),
  1071. //define error code
  1072. ERR_NoError =(0), // No Error
  1073. ERR_OSVersion =(-1), // Operation System type mismatched
  1074. ERR_OpenDriverFailed =(-2), // Open device driver failed - Create driver interface failed
  1075. ERR_InsufficientMemory =(-3), // System memory insufficiently
  1076. ERR_DeviceNotInitial =(-4), // Cards not be initialized
  1077. ERR_NoDeviceFound =(-5), // Cards not found(No card in your system)
  1078. ERR_CardIdDuplicate =(-6), // Cards' ID is duplicated.
  1079. ERR_DeviceAlreadyInitialed =(-7), // Cards have been initialed
  1080. ERR_InterruptNotEnable =(-8), // Cards' interrupt events not enable or not be initialized
  1081. ERR_TimeOut =(-9), // Function time out
  1082. ERR_HandshakeAckTimeout =(-90001), // Handshake wait acknowledgement time out.
  1083. ERR_ParametersInvalid =(-10), // Function input parameters are invalid
  1084. ERR_SetEEPROM =(-11), // Set data to EEPROM (or nonvolatile memory) failed
  1085. ERR_GetEEPROM =(-12), // Get data from EEPROM (or nonvolatile memory) failed
  1086. ERR_FunctionNotAvailable =(-13), // Function is not available in this step, The device is not support this function or Internal process failed
  1087. ERR_HandshakeRespNotEqualCmd =(-130001), // Handshake command response not equal.
  1088. ERR_NotSupportReuseMode =(-130002), // The setting type not support reuse mode.
  1089. ERR_FirmwareError =(-14), // Firmware error, please reboot the system
  1090. ERR_CommandInProcess =(-15), // Previous command is in process
  1091. ERR_PushCompareDataNotFinish =(-150001), // Last comparison data not push to FIFO completely.
  1092. ERR_AxisIdDuplicate =(-16), // Axes' ID is duplicated.
  1093. ERR_ModuleNotFound =(-17), // Slave module not found.
  1094. ERR_InsufficientModuleNo =(-18), // System ModuleNo insufficiently
  1095. ERR_HandShakeFailed =(-19), // HandSake with the DSP out of time.
  1096. ERR_FILE_FORMAT =(-20), // Config file format error.(cannot be parsed)
  1097. ERR_ParametersReadOnly =(-21), // Function parameters read only.
  1098. ERR_DistantNotEnough =(-22), // Distant is not enough for motion.
  1099. ERR_FunctionNotEnable =(-23), // Function is not enabled.
  1100. ERR_ServerAlreadyClose =(-24), // Server already closed.
  1101. ERR_DllNotFound =(-25), // Related dll is not found, not in correct path.
  1102. ERR_TrimDAC_Channel =(-26),
  1103. ERR_Satellite_Type =(-27),
  1104. ERR_Over_Voltage_Spec =(-28),
  1105. ERR_Over_Current_Spec =(-29),
  1106. ERR_SlaveIsNotAI =(-30),
  1107. ERR_Over_AO_Channel_Scope =(-31),
  1108. ERR_DllFuncFailed =(-32), // Failed to invoke dll function. Extension Dll version is wrong.
  1109. ERR_FeederAbnormalStop =(-33), //Feeder abnormal stop, External stop or feeding stop
  1110. ERR_AreadyClose =(-34),
  1111. ERR_NullObject =(-35), // Null object is detected
  1112. ERR_PreMoveErr =(-36), // last move is on error stop
  1113. ERR_PreMoveNotDone =(-37), // last move not be done
  1114. ERR_MismatchState =(-38), // there is a mismatch state
  1115. ERR_Read_ModuleType_Dismatch =(-39),
  1116. ERR_DoubleOverflow =(-40), // Double format parameter is overflow
  1117. ERR_SlaveNumberErr =(-41),
  1118. ERR_SlaveStatusErr =(-42),
  1119. ERR_MapPDOOffset_TimeOut =(-43),
  1120. ERR_Fifo_Access_Fail =(-44),
  1121. ERR_KernelVerifyError =(-45),
  1122. ERR_LatchFlowErr =(-46),
  1123. ERR_NoSystemAuthority =(-47),
  1124. ERR_InServoOnState =(-48), // Now only use it in 8154/58 APS_spiral_ce_xxx this API, to judge 4th axis is servo on
  1125. ERR_InterpolationParameterInvalid =(-49), // For 8144C, some interpolation axis Vmax out of range.
  1126. ERR_KernelUpdateError =(-50), // For Kernel update
  1127. ERR_KernelGeneralFunc =(-51), // For general functions
  1128. ERR_NO_POINT_EXIST =(-52), // There is no point exist in point table when point table move start.
  1129. ERR_WRONG_MANUAL_SLAVE_ID =(-53), // One of connected slave not support AL control procedure.
  1130. ERR_DUPLICATE_MANUAL_SLAVE_ID =(-54), // The manual slave ID number duplicate condition occurrence.
  1131. ERR_VALUE_NOT_DEFINE =(-55), // The value is not in definition.
  1132. ERR_CTRL_MODE_NOT_COMPATIBLE =(-56), // Command control mode not compatible.
  1133. ERR_ServerTimeout =(-57), // For multi-process error code define
  1134. ERR_DataOverRange =(-58), // For argument or get data over range check
  1135. ERR_MappingConfigureErr =(-59), // For DIO/AIO configure error
  1136. ERR_waitWatchDogAliveTimeout =(-60), // Wait watch dog alive timeout
  1137. ERR_KernelRebootTimeout =(-61), // Wait kernel reboot timeout
  1138. ERR_FilesAreNotEqual =(-62), // Files are not equal
  1139. ERR_AccessFileFailed =(-63), // Access file failed
  1140. ERR_AllocateMemoryFailed =(-64), // Allocate memory failed
  1141. ERR_FileSizeIsWrong =(-65), // File size is wrong
  1142. ERR_DUPLICATE_DI_CHANNEL =(-66), // The mapping DI channel duplicate condition occurrence in motion signal and gpio selection mapping
  1143. ERR_NotActiveTrialLicense =(-67), // Not yet active trial license
  1144. ERR_NoCompatibleLicense =(-68), // Without license
  1145. ERR_KernelClose =(-69), // Kernel/ Soft-core encountered an unexpected error then close
  1146. ERR_Win32Error =(-1000), // No such INT number, or WIN32_API error, contact with ADLINK's FAE staff.
  1147. ERR_DspStart =(-2000), // The base for DSP error
  1148. //For EtherCAT, PCIe-8334_8 ( -1001 ~ -1999 )
  1149. ERR_NoENIFile =(-1001),
  1150. ERR_TimeOut_SetVoltageEnable =(-1002),
  1151. ERR_TimeOut_SetReadyToSwitch =(-1003),
  1152. ERR_TimeOut_SetShutdown =(-1004),
  1153. ERR_TimeOut_SetSwitchOn =(-1005),
  1154. ERR_TimeOut_SetOperationEnable =(-1006),
  1155. ERR_RegistryPath =(-1007),
  1156. ERR_MasterNotOPState =(-1008),
  1157. ERR_SlaveNotOPState =(-1009),
  1158. ERR_SlaveTotalAxisNumber =(-1010), // The scanned number of EtherCAT slaves' axes exceeds the number of max.
  1159. ERR_MissESIFileOrMissENIPath = (-1011), // No ESI file or ESI file path miss result .
  1160. ERR_MissConfig_1_Xml = (-1012), // No config_1 xml.
  1161. ERR_MissConfig_1_Xml_fail = (-1013), // No config_1 xml.
  1162. ERR_MissConfig_2_Xml =(-1014), // No config_2 xml.
  1163. ERR_CopyConfig_2_Xml_fail =(-1015), // No config_2 xml.
  1164. ERR_InvalidSlaveLocalAxis =(-1016), // Invalid slave local axis
  1165. ERR_InvalidECATHomeMode =(-1017), // Invalid home mode
  1166. ERR_FoEFileNameOverLimit =(-1018),
  1167. ERR_FoEFileVerifyError =(-1019),
  1168. ERR_FoEConflictAutoRecovery =(-1020),
  1169. EC_NO_ERROR =(0),
  1170. EC_INIT_MASTER_ERR =(-4001),
  1171. EC_GET_SLV_NUM_ERR =(-4011),
  1172. EC_CONFIG_MASTER_ERR =(-4012),
  1173. EC_BUSCONFIG_MISMATCH =(-4013),
  1174. EC_CONFIGDATA_READ_ERR =(-4014),
  1175. EC_ENI_NO_SAFEOP_OP_SUPPORT =(-4015),
  1176. EC_CONFIG_DC_ERR =(-4021),
  1177. EC_DCM_MODE_NO_SUPPORT =(-4022),
  1178. EC_CONFIG_DCM_FEATURE_DISABLED =(-4023),
  1179. EC_CONFIG_DCM_ERR =(-4024),
  1180. EC_REG_CLIENT_ERR =(-4031),
  1181. EC_SET_INIT_STATE_ERR =(-4041),
  1182. EC_SET_PREOP_STATE_ERR =(-4042),
  1183. EC_SET_SAFEOP_STATE_ERR =(-4043),
  1184. EC_SET_OP_STATE_ERR =(-4044),
  1185. EC_DE_INIT_MASTER_ERR =(-4051),
  1186. EC_ENI_FOPEN_ERR =(-4061),
  1187. EC_ENI_FREAD_ERR =(-4062),
  1188. EC_GEN_EBI_BUSSCAN_ERR =(-4063),
  1189. EC_GEN_EBI_FOPEN_ERR =(-4064),
  1190. EC_GET_EBI_FOPEN_ERR =(-4065),
  1191. EC_GET_EBI_FREAD_ERR =(-4066),
  1192. EC_WRITE_DO_OUT_ERR =(-4071),
  1193. EC_READ_DI_INP_ERR =(-4072),
  1194. EC_CONNECT_SLAVES_ERR =(-4073),
  1195. EC_WRONG_PORT_NO =(-4081),
  1196. EC_GET_SLAVE_INFO_ERR =(-4091),
  1197. EC_COE_SDO_UPLOAD_ERR =(-4101),
  1198. EC_COE_SDO_DOWNLOAD_REQ_ERR =(-4113),
  1199. EC_COE_SDO_DOWNLOAD_RES_ERR =(-4114),
  1200. EC_COE_SDO_UPLOAD_REQ_ERR =(-4115),
  1201. EC_COE_SDO_UPLOAD_RES_ERR =(-4116),
  1202. EC_WRONG_SLAVE_NO =(-4201),
  1203. EC_WRONG_MODULE_NO =(-4202),
  1204. EC_WRONG_AI_CHANNEL_NO =(-4203),
  1205. EC_WRONG_AO_CHANNEL_NO =(-4204),
  1206. EC_COE_SDO_DOWNLOAD_ERR =(-4205),
  1207. EC_COE_OD_INIT_ERR =(-4301),
  1208. EC_COE_GET_OD_NUM_ERR =(-4302),
  1209. EC_COE_GET_OD_NUM_LAST =(-4303),
  1210. EC_COE_GET_OD_DESC_ERR =(-4304),
  1211. EC_COE_GET_OD_DESC_ENTRY_ERR =(-4305),
  1212. EC_COE_GET_OD_STATUS_PEND =(-4306),
  1213. EC_GET_SLAVE_ID_ERR =(-4501),
  1214. EC_SET_SLAVE_ID_ERR =(-4502),
  1215. EC_DUPLICATE_SLAVE_ID_ERR =(-4503),
  1216. EC_GET_SLAVE_REGISTER_ERR =(-4504),
  1217. EC_SET_SLAVE_REGISTER_ERR =(-4505),
  1218. EC_UNIVERSAL_OD_NOT_EXIST =(-4509),
  1219. EC_FOE_FILE_NAME_NULL =(-4600),
  1220. EC_FOE_FILE_OPEN_FAIL =(-4601),
  1221. EC_FOE_FILE_MEMORY_ALLOCATE_FAIL =(-4602),
  1222. EC_FOE_FILE_COPY_DATA_FAIL =(-4603),
  1223. EC_FOE_NO_MBX_SUPPORT =(-4604),
  1224. EC_FOE_FILE_DELETE_FAIL =(-4605),
  1225. EC_FOE_DOWNLOAD_TIME_OUT =(-4606),
  1226. EC_FOE_DOWNLOAD_FILE_NOT_VALID =(-4607),
  1227. EC_FOE_DOWNLOAD_PWD_NOT_VALID =(-4608),
  1228. // Motion IO status bit value define.
  1229. MIO_ALM_V =(0x1), // Servo alarm.
  1230. MIO_PEL_V =(0x2), // Positive end limit.
  1231. MIO_MEL_V =(0x4), // Negative end limit.
  1232. MIO_ORG_V =(0x8), // ORG (Home).
  1233. MIO_EMG_V =(0x10), // Emergency stop.
  1234. MIO_EZ_V =(0x20), // EZ.
  1235. MIO_INP_V =(0x40), // In position.
  1236. MIO_SVON_V =(0x80), // Servo on signal.
  1237. MIO_RDY_V =(0x100), // Ready.
  1238. MIO_WARN_V =(0x200), // Warning.
  1239. MIO_ZSP_V =(0x400), // Zero speed.
  1240. MIO_SPEL_V =(0x800), // Soft positive end limit.
  1241. MIO_SMEL_V =(0x1000), // Soft negative end limit.
  1242. MIO_TLC_V =(0x2000), // Torque is limited by torque limit value.
  1243. MIO_ABSL_V =(0x4000), // Absolute position lost.
  1244. MIO_STA_V =(0x8000), // External start signal.
  1245. MIO_PSD_V =(0x10000), // Positive slow down signal.
  1246. MIO_MSD_V =(0x20000), // Negative slow down signal.
  1247. // Motion status bit define.
  1248. MTS_CSTP_V =(0x1), // Command stop signal.
  1249. MTS_VM_V =(0x2), // At maximum velocity.
  1250. MTS_ACC_V =(0x4), // In acceleration.
  1251. MTS_DEC_V =(0x8), // In deceleration.
  1252. MTS_DIR_V =(0x10), // (Last)Moving direction.
  1253. MTS_NSTP_V =(0x20), // Normal stop(Motion done).
  1254. MTS_HMV_V =(0x40), // In home operation.
  1255. MTS_SMV_V =(0x80), // Single axis move( relative, absolute, velocity move).
  1256. MTS_LIP_V =(0x100), // Linear interpolation.
  1257. MTS_CIP_V =(0x200), // Circular interpolation.
  1258. MTS_VS_V =(0x400), // At start velocity.
  1259. MTS_PMV_V =(0x800), // Point table move.
  1260. MTS_PDW_V =(0x1000), // Point table dwell move.
  1261. MTS_PPS_V =(0x2000), // Point table pause state.
  1262. MTS_SLV_V =(0x4000), // Slave axis move.
  1263. MTS_JOG_V =(0x8000), // Jog move.
  1264. MTS_ASTP_V =(0x10000), // Abnormal stop.
  1265. MTS_SVONS_V =(0x20000), // Servo off stopped.
  1266. MTS_EMGS_V =(0x40000), // EMG / SEMG stopped.
  1267. MTS_ALMS_V =(0x80000), // Alarm stop.
  1268. MTS_WANS_V =(0x100000), // Warning stopped.
  1269. MTS_PELS_V =(0x200000), // PEL stopped.
  1270. MTS_MELS_V =(0x400000), // MEL stopped.
  1271. MTS_ECES_V =(0x800000), // Error counter check level reaches and stopped.
  1272. MTS_SPELS_V =(0x1000000), // Soft PEL stopped.
  1273. MTS_SMELS_V =(0x2000000), // Soft MEL stopped.
  1274. MTS_STPOA_V =(0x4000000), // Stop by others axes.
  1275. MTS_GDCES_V =(0x8000000), // Gantry deviation error level reaches and stopped.
  1276. MTS_GTM_V =(0x10000000), // Gantry mode turn on.
  1277. MTS_PAPB_V =(0x20000000), // Pulsar mode turn on.
  1278. // PointTable, option
  1279. PT_OPT_ABS =(0x00000000), // move, absolute
  1280. PT_OPT_REL =(0x00000001), // move, relative
  1281. PT_OPT_LINEAR =(0x00000000), // move, linear
  1282. PT_OPT_ARC =(0x00000004), // move, arc
  1283. PT_OPT_FC_CSTP =(0x00000000), // signal, command stop (finish condition)
  1284. PT_OPT_FC_INP =(0x00000010), // signal, in position
  1285. PT_OPT_LAST_POS =(0x00000020), // last point index
  1286. PT_OPT_DWELL =(0x00000040), // dwell
  1287. PT_OPT_RAPID =(0x00000080), // rapid positioning
  1288. PT_OPT_NOARC =(0x00010000), // do not add arc
  1289. PT_OPT_SCUVE =(0x00000002), // s-curve
  1290. MAX_DEVICES = 16, //define max number of devices
  1291. }
  1292. }