variable.h 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. #ifndef __VARIABLE_H__
  2. #define __VARIABLE_H__
  3. #include "GD32Sys.h"
  4. #define MIDDLE_COILS_NUMBER 512 //线圈变量的个数
  5. #define USER_DATA_NUMBER 512 //用户数据的个数
  6. #define IO_X_NUMBER 32
  7. #define IO_Y_NUMBER 32
  8. #define MIDDLE_COILS2_NUMBER 512 //线圈变量的个数
  9. #define USER_DATA2_NUMBER 256 //用户数据的个数
  10. extern byte_bits_t middle_coils[];
  11. extern unsigned short user_datas[];
  12. extern byte_bits_t io_x_reg[];
  13. extern byte_bits_t io_y_reg[];
  14. #define M0000 middle_coils[0].bits.b0
  15. #define M0001 middle_coils[0].bits.b1
  16. #define M0002 middle_coils[0].bits.b2
  17. #define M0003 middle_coils[0].bits.b3
  18. #define M0004 middle_coils[0].bits.b4
  19. #define M0005 middle_coils[0].bits.b5
  20. #define M0006 middle_coils[0].bits.b6
  21. #define M0007 middle_coils[0].bits.b7
  22. #define M0008 middle_coils[1].bits.b0
  23. #define M0009 middle_coils[1].bits.b1
  24. #define M0010 middle_coils[1].bits.b2
  25. #define M0011 middle_coils[1].bits.b3
  26. #define M0012 middle_coils[1].bits.b4
  27. #define M0013 middle_coils[1].bits.b5
  28. #define M0014 middle_coils[1].bits.b6
  29. #define M0015 middle_coils[1].bits.b7
  30. #define M0016 middle_coils[2].bits.b0
  31. #define M0017 middle_coils[2].bits.b1
  32. #define M0018 middle_coils[2].bits.b2
  33. #define M0019 middle_coils[2].bits.b3
  34. #define M0020 middle_coils[2].bits.b4
  35. #define M0021 middle_coils[2].bits.b5
  36. #define M0022 middle_coils[2].bits.b6
  37. #define M0023 middle_coils[2].bits.b7
  38. #define M0024 middle_coils[3].bits.b0
  39. #define M0025 middle_coils[3].bits.b1
  40. #define M0026 middle_coils[3].bits.b2
  41. #define M0027 middle_coils[3].bits.b3
  42. #define M0028 middle_coils[3].bits.b4
  43. #define M0029 middle_coils[3].bits.b5
  44. #define M0030 middle_coils[3].bits.b6
  45. #define M0031 middle_coils[3].bits.b7
  46. #define M0032 middle_coils[4].bits.b0
  47. #define M0033 middle_coils[4].bits.b1
  48. #define M0034 middle_coils[4].bits.b2
  49. #define M0035 middle_coils[4].bits.b3
  50. #define M0036 middle_coils[4].bits.b4
  51. #define M0037 middle_coils[4].bits.b5
  52. #define M0038 middle_coils[4].bits.b6
  53. #define M0039 middle_coils[4].bits.b7
  54. #define M0040 middle_coils[5].bits.b0
  55. #define M0041 middle_coils[5].bits.b1
  56. #define M0042 middle_coils[5].bits.b2
  57. #define M0043 middle_coils[5].bits.b3
  58. #define M0044 middle_coils[5].bits.b4
  59. #define M0045 middle_coils[5].bits.b5
  60. #define M0046 middle_coils[5].bits.b6
  61. #define M0047 middle_coils[5].bits.b7
  62. #define M0048 middle_coils[6].bits.b0
  63. #define M0049 middle_coils[6].bits.b1
  64. #define M0050 middle_coils[6].bits.b2
  65. #define M0051 middle_coils[6].bits.b3
  66. #define M0052 middle_coils[6].bits.b4
  67. #define M0053 middle_coils[6].bits.b5
  68. #define M0054 middle_coils[6].bits.b6
  69. #define M0055 middle_coils[6].bits.b7
  70. #define M0056 middle_coils[7].bits.b0
  71. #define M0057 middle_coils[7].bits.b1
  72. #define M0058 middle_coils[7].bits.b2
  73. #define M0059 middle_coils[7].bits.b3
  74. #define M0060 middle_coils[7].bits.b4
  75. #define M0061 middle_coils[7].bits.b5
  76. #define M0062 middle_coils[7].bits.b6
  77. #define M0063 middle_coils[7].bits.b7
  78. #define M0064 middle_coils[8].bits.b0
  79. #define M0065 middle_coils[8].bits.b1
  80. #define M0066 middle_coils[8].bits.b2
  81. #define M0067 middle_coils[8].bits.b3
  82. #define M0068 middle_coils[8].bits.b4
  83. #define M0069 middle_coils[8].bits.b5
  84. #define M0070 middle_coils[8].bits.b6
  85. #define M0071 middle_coils[8].bits.b7
  86. #define M0072 middle_coils[9].bits.b0
  87. #define M0073 middle_coils[9].bits.b1
  88. #define M0074 middle_coils[9].bits.b2
  89. #define M0075 middle_coils[9].bits.b3
  90. #define M0076 middle_coils[9].bits.b4
  91. #define M0077 middle_coils[9].bits.b5
  92. #define M0078 middle_coils[9].bits.b6
  93. #define M0079 middle_coils[9].bits.b7
  94. #define M0080 middle_coils[10].bits.b0
  95. #define M0081 middle_coils[10].bits.b1
  96. #define M0082 middle_coils[10].bits.b2
  97. #define M0083 middle_coils[10].bits.b3
  98. #define M0084 middle_coils[10].bits.b4
  99. #define M0085 middle_coils[10].bits.b5
  100. #define M0086 middle_coils[10].bits.b6
  101. #define M0087 middle_coils[10].bits.b7
  102. #define M0088 middle_coils[11].bits.b0
  103. #define M0089 middle_coils[11].bits.b1
  104. #define M0090 middle_coils[11].bits.b2
  105. #define M0091 middle_coils[11].bits.b3
  106. #define M0092 middle_coils[11].bits.b4
  107. #define M0093 middle_coils[11].bits.b5
  108. #define M0094 middle_coils[11].bits.b6
  109. #define M0095 middle_coils[11].bits.b7
  110. #define M0096 middle_coils[12].bits.b0
  111. #define M0097 middle_coils[12].bits.b1
  112. #define M0098 middle_coils[12].bits.b2
  113. #define M0099 middle_coils[12].bits.b3
  114. #define M0100 middle_coils[12].bits.b4
  115. #define M0101 middle_coils[12].bits.b5
  116. #define M0102 middle_coils[12].bits.b6
  117. #define M0103 middle_coils[12].bits.b7
  118. #define M0104 middle_coils[13].bits.b0
  119. #define M0105 middle_coils[13].bits.b1
  120. #define M0106 middle_coils[13].bits.b2
  121. #define M0107 middle_coils[13].bits.b3
  122. #define M0108 middle_coils[13].bits.b4
  123. #define M0109 middle_coils[13].bits.b5
  124. #define M0110 middle_coils[13].bits.b6
  125. #define M0111 middle_coils[13].bits.b7
  126. #define M0112 middle_coils[14].bits.b0
  127. #define M0113 middle_coils[14].bits.b1
  128. #define M0114 middle_coils[14].bits.b2
  129. #define M0115 middle_coils[14].bits.b3
  130. #define M0116 middle_coils[14].bits.b4
  131. #define M0117 middle_coils[14].bits.b5
  132. #define M0118 middle_coils[14].bits.b6
  133. #define M0119 middle_coils[14].bits.b7
  134. #define M0120 middle_coils[15].bits.b0
  135. #define M0121 middle_coils[15].bits.b1
  136. #define M0122 middle_coils[15].bits.b2
  137. #define M0123 middle_coils[15].bits.b3
  138. #define M0124 middle_coils[15].bits.b4
  139. #define M0125 middle_coils[15].bits.b5
  140. #define M0126 middle_coils[15].bits.b6
  141. #define M0127 middle_coils[15].bits.b7
  142. #define M0128 middle_coils[16].bits.b0
  143. #define M0129 middle_coils[16].bits.b1
  144. #define M0130 middle_coils[16].bits.b2
  145. #define M0131 middle_coils[16].bits.b3
  146. #define M0132 middle_coils[16].bits.b4
  147. #define M0133 middle_coils[16].bits.b5
  148. #define M0134 middle_coils[16].bits.b6
  149. #define M0135 middle_coils[16].bits.b7
  150. #define M0136 middle_coils[17].bits.b0
  151. #define M0137 middle_coils[17].bits.b1
  152. #define M0138 middle_coils[17].bits.b2
  153. #define M0139 middle_coils[17].bits.b3
  154. #define M0140 middle_coils[17].bits.b4
  155. #define M0141 middle_coils[17].bits.b5
  156. #define M0142 middle_coils[17].bits.b6
  157. #define M0143 middle_coils[17].bits.b7
  158. #define M0144 middle_coils[18].bits.b0
  159. #define M0145 middle_coils[18].bits.b1
  160. #define M0146 middle_coils[18].bits.b2
  161. #define M0147 middle_coils[18].bits.b3
  162. #define M0148 middle_coils[18].bits.b4
  163. #define M0149 middle_coils[18].bits.b5
  164. #define M0150 middle_coils[18].bits.b6
  165. #define M0151 middle_coils[18].bits.b7
  166. #define M0152 middle_coils[19].bits.b0
  167. #define M0153 middle_coils[19].bits.b1
  168. #define M0154 middle_coils[19].bits.b2
  169. #define M0155 middle_coils[19].bits.b3
  170. #define M0156 middle_coils[19].bits.b4
  171. #define M0157 middle_coils[19].bits.b5
  172. #define M0158 middle_coils[19].bits.b6
  173. #define M0159 middle_coils[19].bits.b7
  174. #define M0160 middle_coils[20].bits.b0
  175. #define M0161 middle_coils[20].bits.b1
  176. #define M0162 middle_coils[20].bits.b2
  177. #define M0163 middle_coils[20].bits.b3
  178. #define M0164 middle_coils[20].bits.b4
  179. #define M0165 middle_coils[20].bits.b5
  180. #define M0166 middle_coils[20].bits.b6
  181. #define M0167 middle_coils[20].bits.b7
  182. #define M0168 middle_coils[21].bits.b0
  183. #define M0169 middle_coils[21].bits.b1
  184. #define M0170 middle_coils[21].bits.b2
  185. #define M0171 middle_coils[21].bits.b3
  186. #define M0172 middle_coils[21].bits.b4
  187. #define M0173 middle_coils[21].bits.b5
  188. #define M0174 middle_coils[21].bits.b6
  189. #define M0175 middle_coils[21].bits.b7
  190. #define M0176 middle_coils[22].bits.b0
  191. #define M0177 middle_coils[22].bits.b1
  192. #define M0178 middle_coils[22].bits.b2
  193. #define M0179 middle_coils[22].bits.b3
  194. #define M0180 middle_coils[22].bits.b4
  195. #define M0181 middle_coils[22].bits.b5
  196. #define M0182 middle_coils[22].bits.b6
  197. #define M0183 middle_coils[22].bits.b7
  198. #define M0184 middle_coils[23].bits.b0
  199. #define M0185 middle_coils[23].bits.b1
  200. #define M0186 middle_coils[23].bits.b2
  201. #define M0187 middle_coils[23].bits.b3
  202. #define M0188 middle_coils[23].bits.b4
  203. #define M0189 middle_coils[23].bits.b5
  204. #define M0190 middle_coils[23].bits.b6
  205. #define M0191 middle_coils[23].bits.b7
  206. #define M0192 middle_coils[24].bits.b0
  207. #define M0193 middle_coils[24].bits.b1
  208. #define M0194 middle_coils[24].bits.b2
  209. #define M0195 middle_coils[24].bits.b3
  210. #define M0196 middle_coils[24].bits.b4
  211. #define M0197 middle_coils[24].bits.b5
  212. #define M0198 middle_coils[24].bits.b6
  213. #define M0199 middle_coils[24].bits.b7
  214. #define M0200 middle_coils[25].bits.b0
  215. #define M0201 middle_coils[25].bits.b1
  216. #define M0202 middle_coils[25].bits.b2
  217. #define M0203 middle_coils[25].bits.b3
  218. #define M0204 middle_coils[25].bits.b4
  219. #define M0205 middle_coils[25].bits.b5
  220. #define M0206 middle_coils[25].bits.b6
  221. #define M0207 middle_coils[25].bits.b7
  222. #define M0208 middle_coils[26].bits.b0
  223. #define M0209 middle_coils[26].bits.b1
  224. #define M0210 middle_coils[26].bits.b2
  225. #define M0211 middle_coils[26].bits.b3
  226. #define M0212 middle_coils[26].bits.b4
  227. #define M0213 middle_coils[26].bits.b5
  228. #define M0214 middle_coils[26].bits.b6
  229. #define M0215 middle_coils[26].bits.b7
  230. #define M0216 middle_coils[27].bits.b0
  231. #define M0217 middle_coils[27].bits.b1
  232. #define M0218 middle_coils[27].bits.b2
  233. #define M0219 middle_coils[27].bits.b3
  234. #define M0220 middle_coils[27].bits.b4
  235. #define M0221 middle_coils[27].bits.b5
  236. #define M0222 middle_coils[27].bits.b6
  237. #define M0223 middle_coils[27].bits.b7
  238. #define M0224 middle_coils[28].bits.b0
  239. #define M0225 middle_coils[28].bits.b1
  240. #define M0226 middle_coils[28].bits.b2
  241. #define M0227 middle_coils[28].bits.b3
  242. #define M0228 middle_coils[28].bits.b4
  243. #define M0229 middle_coils[28].bits.b5
  244. #define M0230 middle_coils[28].bits.b6
  245. #define M0231 middle_coils[28].bits.b7
  246. #define M0232 middle_coils[29].bits.b0
  247. #define M0233 middle_coils[29].bits.b1
  248. #define M0234 middle_coils[29].bits.b2
  249. #define M0235 middle_coils[29].bits.b3
  250. #define M0236 middle_coils[29].bits.b4
  251. #define M0237 middle_coils[29].bits.b5
  252. #define M0238 middle_coils[29].bits.b6
  253. #define M0239 middle_coils[29].bits.b7
  254. #define M0240 middle_coils[30].bits.b0
  255. #define M0241 middle_coils[30].bits.b1
  256. #define M0242 middle_coils[30].bits.b2
  257. #define M0243 middle_coils[30].bits.b3
  258. #define M0244 middle_coils[30].bits.b4
  259. #define M0245 middle_coils[30].bits.b5
  260. #define M0246 middle_coils[30].bits.b6
  261. #define M0247 middle_coils[30].bits.b7
  262. #define M0248 middle_coils[31].bits.b0
  263. #define M0249 middle_coils[31].bits.b1
  264. #define M0250 middle_coils[31].bits.b2
  265. #define M0251 middle_coils[31].bits.b3
  266. #define M0252 middle_coils[31].bits.b4
  267. #define M0253 middle_coils[31].bits.b5
  268. #define M0254 middle_coils[31].bits.b6
  269. #define M0255 middle_coils[31].bits.b7
  270. #define M0256 middle_coils[32].bits.b0
  271. #define M0257 middle_coils[32].bits.b1
  272. #define M0258 middle_coils[32].bits.b2
  273. #define M0259 middle_coils[32].bits.b3
  274. #define M0260 middle_coils[32].bits.b4
  275. #define M0261 middle_coils[32].bits.b5
  276. #define M0262 middle_coils[32].bits.b6
  277. #define M0263 middle_coils[32].bits.b7
  278. #define M0264 middle_coils[33].bits.b0
  279. #define M0265 middle_coils[33].bits.b1
  280. #define M0266 middle_coils[33].bits.b2
  281. #define M0267 middle_coils[33].bits.b3
  282. #define M0268 middle_coils[33].bits.b4
  283. #define M0269 middle_coils[33].bits.b5
  284. #define M0270 middle_coils[33].bits.b6
  285. #define M0271 middle_coils[33].bits.b7
  286. #define M0272 middle_coils[34].bits.b0
  287. #define M0273 middle_coils[34].bits.b1
  288. #define M0274 middle_coils[34].bits.b2
  289. #define M0275 middle_coils[34].bits.b3
  290. #define M0276 middle_coils[34].bits.b4
  291. #define M0277 middle_coils[34].bits.b5
  292. #define M0278 middle_coils[34].bits.b6
  293. #define M0279 middle_coils[34].bits.b7
  294. #define M0280 middle_coils[35].bits.b0
  295. #define M0281 middle_coils[35].bits.b1
  296. #define M0282 middle_coils[35].bits.b2
  297. #define M0283 middle_coils[35].bits.b3
  298. #define M0284 middle_coils[35].bits.b4
  299. #define M0285 middle_coils[35].bits.b5
  300. #define M0286 middle_coils[35].bits.b6
  301. #define M0287 middle_coils[35].bits.b7
  302. #define M0288 middle_coils[36].bits.b0
  303. #define M0289 middle_coils[36].bits.b1
  304. #define M0290 middle_coils[36].bits.b2
  305. #define M0291 middle_coils[36].bits.b3
  306. #define M0292 middle_coils[36].bits.b4
  307. #define M0293 middle_coils[36].bits.b5
  308. #define M0294 middle_coils[36].bits.b6
  309. #define M0295 middle_coils[36].bits.b7
  310. #define M0296 middle_coils[37].bits.b0
  311. #define M0297 middle_coils[37].bits.b1
  312. #define M0298 middle_coils[37].bits.b2
  313. #define M0299 middle_coils[37].bits.b3
  314. #define M0300 middle_coils[37].bits.b4
  315. #define M0301 middle_coils[37].bits.b5
  316. #define M0302 middle_coils[37].bits.b6
  317. #define M0303 middle_coils[37].bits.b7
  318. #define M0304 middle_coils[38].bits.b0
  319. #define M0305 middle_coils[38].bits.b1
  320. #define M0306 middle_coils[38].bits.b2
  321. #define M0307 middle_coils[38].bits.b3
  322. #define M0308 middle_coils[38].bits.b4
  323. #define M0309 middle_coils[38].bits.b5
  324. #define M0310 middle_coils[38].bits.b6
  325. #define M0311 middle_coils[38].bits.b7
  326. #define M0312 middle_coils[39].bits.b0
  327. #define M0313 middle_coils[39].bits.b1
  328. #define M0314 middle_coils[39].bits.b2
  329. #define M0315 middle_coils[39].bits.b3
  330. #define M0316 middle_coils[39].bits.b4
  331. #define M0317 middle_coils[39].bits.b5
  332. #define M0318 middle_coils[39].bits.b6
  333. #define M0319 middle_coils[39].bits.b7
  334. #define M0320 middle_coils[40].bits.b0
  335. #define M0321 middle_coils[40].bits.b1
  336. #define M0322 middle_coils[40].bits.b2
  337. #define M0323 middle_coils[40].bits.b3
  338. #define M0324 middle_coils[40].bits.b4
  339. #define M0325 middle_coils[40].bits.b5
  340. #define M0326 middle_coils[40].bits.b6
  341. #define M0327 middle_coils[40].bits.b7
  342. #define M0328 middle_coils[41].bits.b0
  343. #define M0329 middle_coils[41].bits.b1
  344. #define M0330 middle_coils[41].bits.b2
  345. #define M0331 middle_coils[41].bits.b3
  346. #define M0332 middle_coils[41].bits.b4
  347. #define M0333 middle_coils[41].bits.b5
  348. #define M0334 middle_coils[41].bits.b6
  349. #define M0335 middle_coils[41].bits.b7
  350. #define M0336 middle_coils[42].bits.b0
  351. #define M0337 middle_coils[42].bits.b1
  352. #define M0338 middle_coils[42].bits.b2
  353. #define M0339 middle_coils[42].bits.b3
  354. #define M0340 middle_coils[42].bits.b4
  355. #define M0341 middle_coils[42].bits.b5
  356. #define M0342 middle_coils[42].bits.b6
  357. #define M0343 middle_coils[42].bits.b7
  358. #define M0344 middle_coils[43].bits.b0
  359. #define M0345 middle_coils[43].bits.b1
  360. #define M0346 middle_coils[43].bits.b2
  361. #define M0347 middle_coils[43].bits.b3
  362. #define M0348 middle_coils[43].bits.b4
  363. #define M0349 middle_coils[43].bits.b5
  364. #define M0350 middle_coils[43].bits.b6
  365. #define M0351 middle_coils[43].bits.b7
  366. #define M0352 middle_coils[44].bits.b0
  367. #define M0353 middle_coils[44].bits.b1
  368. #define M0354 middle_coils[44].bits.b2
  369. #define M0355 middle_coils[44].bits.b3
  370. #define M0356 middle_coils[44].bits.b4
  371. #define M0357 middle_coils[44].bits.b5
  372. #define M0358 middle_coils[44].bits.b6
  373. #define M0359 middle_coils[44].bits.b7
  374. #define M0360 middle_coils[45].bits.b0
  375. #define M0361 middle_coils[45].bits.b1
  376. #define M0362 middle_coils[45].bits.b2
  377. #define M0363 middle_coils[45].bits.b3
  378. #define M0364 middle_coils[45].bits.b4
  379. #define M0365 middle_coils[45].bits.b5
  380. #define M0366 middle_coils[45].bits.b6
  381. #define M0367 middle_coils[45].bits.b7
  382. #define M0368 middle_coils[46].bits.b0
  383. #define M0369 middle_coils[46].bits.b1
  384. #define M0370 middle_coils[46].bits.b2
  385. #define M0371 middle_coils[46].bits.b3
  386. #define M0372 middle_coils[46].bits.b4
  387. #define M0373 middle_coils[46].bits.b5
  388. #define M0374 middle_coils[46].bits.b6
  389. #define M0375 middle_coils[46].bits.b7
  390. #define M0376 middle_coils[47].bits.b0
  391. #define M0377 middle_coils[47].bits.b1
  392. #define M0378 middle_coils[47].bits.b2
  393. #define M0379 middle_coils[47].bits.b3
  394. #define M0380 middle_coils[47].bits.b4
  395. #define M0381 middle_coils[47].bits.b5
  396. #define M0382 middle_coils[47].bits.b6
  397. #define M0383 middle_coils[47].bits.b7
  398. #define M0384 middle_coils[48].bits.b0
  399. #define M0385 middle_coils[48].bits.b1
  400. #define M0386 middle_coils[48].bits.b2
  401. #define M0387 middle_coils[48].bits.b3
  402. #define M0388 middle_coils[48].bits.b4
  403. #define M0389 middle_coils[48].bits.b5
  404. #define M0390 middle_coils[48].bits.b6
  405. #define M0391 middle_coils[48].bits.b7
  406. #define M0392 middle_coils[49].bits.b0
  407. #define M0393 middle_coils[49].bits.b1
  408. #define M0394 middle_coils[49].bits.b2
  409. #define M0395 middle_coils[49].bits.b3
  410. #define M0396 middle_coils[49].bits.b4
  411. #define M0397 middle_coils[49].bits.b5
  412. #define M0398 middle_coils[49].bits.b6
  413. #define M0399 middle_coils[49].bits.b7
  414. #define M0400 middle_coils[50].bits.b0
  415. #define M0401 middle_coils[50].bits.b1
  416. #define M0402 middle_coils[50].bits.b2
  417. #define M0403 middle_coils[50].bits.b3
  418. #define M0404 middle_coils[50].bits.b4
  419. #define M0405 middle_coils[50].bits.b5
  420. #define M0406 middle_coils[50].bits.b6
  421. #define M0407 middle_coils[50].bits.b7
  422. #define M0408 middle_coils[51].bits.b0
  423. #define M0409 middle_coils[51].bits.b1
  424. #define M0410 middle_coils[51].bits.b2
  425. #define M0411 middle_coils[51].bits.b3
  426. #define M0412 middle_coils[51].bits.b4
  427. #define M0413 middle_coils[51].bits.b5
  428. #define M0414 middle_coils[51].bits.b6
  429. #define M0415 middle_coils[51].bits.b7
  430. #define M0416 middle_coils[52].bits.b0
  431. #define M0417 middle_coils[52].bits.b1
  432. #define M0418 middle_coils[52].bits.b2
  433. #define M0419 middle_coils[52].bits.b3
  434. #define M0420 middle_coils[52].bits.b4
  435. #define M0421 middle_coils[52].bits.b5
  436. #define M0422 middle_coils[52].bits.b6
  437. #define M0423 middle_coils[52].bits.b7
  438. #define M0424 middle_coils[53].bits.b0
  439. #define M0425 middle_coils[53].bits.b1
  440. #define M0426 middle_coils[53].bits.b2
  441. #define M0427 middle_coils[53].bits.b3
  442. #define M0428 middle_coils[53].bits.b4
  443. #define M0429 middle_coils[53].bits.b5
  444. #define M0430 middle_coils[53].bits.b6
  445. #define M0431 middle_coils[53].bits.b7
  446. #define M0432 middle_coils[54].bits.b0
  447. #define M0433 middle_coils[54].bits.b1
  448. #define M0434 middle_coils[54].bits.b2
  449. #define M0435 middle_coils[54].bits.b3
  450. #define M0436 middle_coils[54].bits.b4
  451. #define M0437 middle_coils[54].bits.b5
  452. #define M0438 middle_coils[54].bits.b6
  453. #define M0439 middle_coils[54].bits.b7
  454. #define M0440 middle_coils[55].bits.b0
  455. #define M0441 middle_coils[55].bits.b1
  456. #define M0442 middle_coils[55].bits.b2
  457. #define M0443 middle_coils[55].bits.b3
  458. #define M0444 middle_coils[55].bits.b4
  459. #define M0445 middle_coils[55].bits.b5
  460. #define M0446 middle_coils[55].bits.b6
  461. #define M0447 middle_coils[55].bits.b7
  462. #define M0448 middle_coils[56].bits.b0
  463. #define M0449 middle_coils[56].bits.b1
  464. #define M0450 middle_coils[56].bits.b2
  465. #define M0451 middle_coils[56].bits.b3
  466. #define M0452 middle_coils[56].bits.b4
  467. #define M0453 middle_coils[56].bits.b5
  468. #define M0454 middle_coils[56].bits.b6
  469. #define M0455 middle_coils[56].bits.b7
  470. #define M0456 middle_coils[57].bits.b0
  471. #define M0457 middle_coils[57].bits.b1
  472. #define M0458 middle_coils[57].bits.b2
  473. #define M0459 middle_coils[57].bits.b3
  474. #define M0460 middle_coils[57].bits.b4
  475. #define M0461 middle_coils[57].bits.b5
  476. #define M0462 middle_coils[57].bits.b6
  477. #define M0463 middle_coils[57].bits.b7
  478. #define M0464 middle_coils[58].bits.b0
  479. #define M0465 middle_coils[58].bits.b1
  480. #define M0466 middle_coils[58].bits.b2
  481. #define M0467 middle_coils[58].bits.b3
  482. #define M0468 middle_coils[58].bits.b4
  483. #define M0469 middle_coils[58].bits.b5
  484. #define M0470 middle_coils[58].bits.b6
  485. #define M0471 middle_coils[58].bits.b7
  486. #define M0472 middle_coils[59].bits.b0
  487. #define M0473 middle_coils[59].bits.b1
  488. #define M0474 middle_coils[59].bits.b2
  489. #define M0475 middle_coils[59].bits.b3
  490. #define M0476 middle_coils[59].bits.b4
  491. #define M0477 middle_coils[59].bits.b5
  492. #define M0478 middle_coils[59].bits.b6
  493. #define M0479 middle_coils[59].bits.b7
  494. #define M0480 middle_coils[60].bits.b0
  495. #define M0481 middle_coils[60].bits.b1
  496. #define M0482 middle_coils[60].bits.b2
  497. #define M0483 middle_coils[60].bits.b3
  498. #define M0484 middle_coils[60].bits.b4
  499. #define M0485 middle_coils[60].bits.b5
  500. #define M0486 middle_coils[60].bits.b6
  501. #define M0487 middle_coils[60].bits.b7
  502. #define M0488 middle_coils[61].bits.b0
  503. #define M0489 middle_coils[61].bits.b1
  504. #define M0490 middle_coils[61].bits.b2
  505. #define M0491 middle_coils[61].bits.b3
  506. #define M0492 middle_coils[61].bits.b4
  507. #define M0493 middle_coils[61].bits.b5
  508. #define M0494 middle_coils[61].bits.b6
  509. #define M0495 middle_coils[61].bits.b7
  510. #define M0496 middle_coils[62].bits.b0
  511. #define M0497 middle_coils[62].bits.b1
  512. #define M0498 middle_coils[62].bits.b2
  513. #define M0499 middle_coils[62].bits.b3
  514. #define M0500 middle_coils[62].bits.b4
  515. #define M0501 middle_coils[62].bits.b5
  516. #define M0502 middle_coils[62].bits.b6
  517. #define M0503 middle_coils[62].bits.b7
  518. #define M0504 middle_coils[63].bits.b0
  519. #define M0505 middle_coils[63].bits.b1
  520. #define M0506 middle_coils[63].bits.b2
  521. #define M0507 middle_coils[63].bits.b3
  522. #define M0508 middle_coils[63].bits.b4
  523. #define M0509 middle_coils[63].bits.b5
  524. #define M0510 middle_coils[63].bits.b6
  525. #define M0511 middle_coils[63].bits.b7
  526. //用户数据 D0~D369
  527. typedef __packed struct
  528. {
  529. unsigned short Data[370];
  530. }UserParam_t;
  531. //伺服参数 D370~D417
  532. typedef __packed struct
  533. {
  534. unsigned short XMaxSpeed; // 1 X伺服电机最大转速
  535. unsigned short XCycleLength; // 2 X一圈距离
  536. unsigned short XCyclePulse; // 3 X轴一圈脉冲数
  537. unsigned short XSevoAlarm; // 4 X伺服报警
  538. unsigned short XResetSpeed; // 5 X轴复位速度
  539. unsigned short XDir; // 6 X轴伺服方向
  540. int XMaxLength; // 7 X轴正限位距离
  541. int XMinLength; // 9 X轴负限位距离
  542. int XOrignOffset; // 11 X轴原点偏移
  543. unsigned short YMaxSpeed; // 13 Y伺服电机最大转速
  544. unsigned short YCycleLength; // 14 Y一圈距离
  545. unsigned short YCyclePulse; // 15 Y轴一圈脉冲数
  546. unsigned short YSevoAlarm; // 16 Y轴复位速度
  547. unsigned short YResetSpeed; // 17 Y伺服报警
  548. unsigned short YDir; // 18 Y轴伺服方向
  549. int YMaxLength; // 19 Y轴正限位距离
  550. int YMinLength; // 21 Y轴负限位距离
  551. int YOrignOffset; // 23 Y轴原点偏移
  552. unsigned short ZMaxSpeed; // 25 Z伺服电机最大转速
  553. unsigned short ZCycleLength; // 26 Z指定脉冲距离
  554. unsigned short ZCyclePulse; // 27 Z轴一圈脉冲数
  555. unsigned short ZSevoAlarm; // 28 Z轴复位速度
  556. unsigned short ZResetSpeed; // 29 Z伺服报警
  557. unsigned short ZDir; // 30 Z轴伺服方向
  558. int ZMaxLength; // 31 Z轴正限位距离
  559. int ZMinLength; // 33 Z轴负限位距离
  560. int ZOrignOffset; // 35 Z轴原点偏移
  561. unsigned short UMaxSpeed; // 37 U轴 伺服电机最大转速
  562. unsigned short UCycleLength; // 38 U指定脉冲距离
  563. unsigned short UCyclePulse; // 39 U轴一圈脉冲数
  564. unsigned short USevoAlarm; // 40 U轴复位速度
  565. unsigned short UResetSpeed; // 41 U伺服报警
  566. unsigned short UDir; // 42 U轴伺服方向、
  567. int UMaxLength; // 43 U轴正限位距离
  568. int UMinLength; // 45 U轴负限位距离
  569. int UOrignOffset; // 47 U轴原点偏移
  570. }
  571. MotorParam_t;
  572. //当前轴状态 D418~D425
  573. typedef __packed struct
  574. {
  575. long XDistance; //X轴距离
  576. long YDistance; //Y轴距离
  577. long ZDistance; //Z轴距离
  578. long UDistance; //U轴距离
  579. }
  580. CurAxisParam_t;
  581. //IO配置 D426~D505
  582. typedef __packed struct
  583. {
  584. unsigned short Input[50];
  585. unsigned short Output[30];
  586. }IOPinConfigStrct;
  587. extern UserParam_t *UserParam; //用户数据
  588. extern MotorParam_t *MotorParam; //电机参数
  589. extern CurAxisParam_t *CurAxisParam; //当前轴状态
  590. extern IOPinConfigStrct *IOPinConfig; //输入输出接口配置
  591. void variable_init(void);
  592. #endif