JTJinShuDinCun.c 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. #include "global.h"
  2. #if JUN_TENG_MACHINE
  3. unsigned char JSDC_cFirstFlg = 0,JSDC_cSeBiaoStep = 0;
  4. unsigned short JSDC_SecondToothNum = 0;
  5. unsigned char JSDC_cCntEn = 0;
  6. unsigned long JSDC_dwSeBiaoDelayCnt = 0;
  7. long JSDC_RemainLength = 0;
  8. static unsigned char cFengZhenTimes = 0;
  9. static long cRealPos;
  10. unsigned long CalEncodePulse(void);
  11. void JSDC_DelayAction(void);
  12. void JSDC_InitAction(void);
  13. void JSDC_ExtiActionX30(void);
  14. void JSDC_Action(void);
  15. void JSDC_ModeSelect(void);
  16. void JSDC_ChuiQi(void);
  17. void JSDC_XiaChong(void);
  18. void JSDC_SetAlarmCode(unsigned alarm_code);
  19. void JSDC_StartStopAction(void);
  20. void JSDC_AutoRunStep(void);
  21. void JSDC_FenZhen(void);
  22. void JSDC_Motor(void);
  23. void JSDC_SetAlarmCode(unsigned alarm_code)
  24. {
  25. SetAlarmCode(JSDC_ALARM_ADDR,alarm_code);
  26. JSDC_bAlarmStop = 1;
  27. }
  28. void JSDC_InitAction(void)
  29. {
  30. float buff_pulse,buff_dist;
  31. if USE_ENCODE
  32. {
  33. buff_pulse = JSDC_PARAM_CYCLE_BM_PULSE;
  34. buff_dist = JSDC_PARAM_CYCLE_BM_LENGTH;
  35. }
  36. else
  37. {
  38. buff_pulse = JSDC_PARAM_CYCLE_PULSE;
  39. buff_dist = JSDC_PARAM_CYCLE_LENGTH;
  40. }
  41. XGearRatio = buff_pulse/buff_dist;
  42. if(JSDC_XC_MODE)JSDC_XiaChong_MOTOR = 1;
  43. }
  44. //手动动作
  45. void JSDC_ManualAction(void)
  46. {
  47. //清理产量
  48. if(bClearTotal)
  49. {
  50. bClearTotal = 0;
  51. ClrcToTal(JSDC_TOTAL_ADDR);
  52. }
  53. if(!JSDC_bRunning)
  54. {
  55. if(JSDC_bAdd)
  56. {
  57. JSDC_bAdd = 0;
  58. if(JSDC_SET_ALL_LENGTH < 9999999)
  59. {
  60. SetData32bits(12,JSDC_SET_ALL_LENGTH+50);
  61. JSDC_bSetCM = 1;
  62. }
  63. }
  64. if(JSDC_bDec)
  65. {
  66. JSDC_bDec = 0;
  67. if(JSDC_SET_ALL_LENGTH >= 50)
  68. {
  69. SetData32bits(12,JSDC_SET_ALL_LENGTH-50);
  70. JSDC_bSetCM = 1;
  71. }
  72. }
  73. if(JSDC_bLeftFZ)
  74. {
  75. JSDC_bLeftFZ = 0;
  76. JSDC_LFZ_VAVLE = ~JSDC_LFZ_VAVLE;
  77. }
  78. if(JSDC_bRightFZ)
  79. {
  80. JSDC_bRightFZ = 0;
  81. JSDC_RFZ_VAVLE = ~JSDC_RFZ_VAVLE;
  82. }
  83. if(JSDC_bLSD)
  84. {
  85. JSDC_bLSD = 0;
  86. JSDC_LSD_VAVLE = ~JSDC_LSD_VAVLE;
  87. }
  88. if(JSDC_bGZ)
  89. {
  90. JSDC_bGZ = 0;
  91. JSDC_GZ_VAVLE = ~JSDC_GZ_VAVLE;
  92. }
  93. if(JSDC_bXC || JSDC_ManXiaChong_UP)
  94. {
  95. JSDC_bXC = 0;
  96. if(JSDC_XiaChongStep == 0)
  97. {
  98. JSDC_XiaChongStep = 1;
  99. }
  100. }
  101. if(JSDC_bCQ)
  102. {
  103. JSDC_bCQ = 0;
  104. JSDC_ChuiQi_VAVLE = 1;
  105. JSDC_ChuiQiDelay = dwTickCount + JSDC_PARAM_CHUIQI_TIME;
  106. }
  107. if(JSDC_bMotor)
  108. {
  109. if(!X_DRV)AxisContinueMove(X_AXIS,20,JSDC_DIR_P);
  110. }
  111. else
  112. {
  113. if(X_DRV)AxisDecStop(X_AXIS);
  114. }
  115. if(JSDC_bSetCM)
  116. {
  117. JSDC_bSetCM = 0;
  118. SetData32bits(8,CalInch(JSDC_SET_ZIPPER_LENGTH));
  119. JSDC_SET_KONGWEI_LENGTH_INCH = CalInch(JSDC_SET_KONGWEI_LENGTH);
  120. SetData32bits(14,CalInch(JSDC_SET_ALL_LENGTH));
  121. }
  122. if(JSDC_bSetInch)
  123. {
  124. JSDC_bSetInch = 0;
  125. SetData32bits(6,CalLengthCM(JSDC_SET_ZIPPER_LENGTH));
  126. JSDC_SET_KONGWEI_LENGTH = CalLengthCM(JSDC_SET_KONGWEI_LENGTH_INCH);
  127. SetData32bits(12,CalLengthCM(JSDC_SET_ALL_LENGTH));
  128. JSDC_bSetCM = 1;
  129. }
  130. }
  131. }
  132. //高速输入X30/X16定时器中断
  133. void JSDC_ExtiActionX30(void)
  134. {
  135. }
  136. //高速输入X31/X17外部色标信号中断
  137. void JSDC_ExtiActionX31(void)
  138. {
  139. }
  140. //胶牙定寸动作
  141. void JSDC_Action(void)
  142. {
  143. JSDC_ManualAction();
  144. JSDC_ChuiQi();
  145. JSDC_Motor();
  146. JSDC_XiaChong();
  147. JSDC_StartStopAction();
  148. JSDC_AutoRunStep();
  149. }
  150. //输入拉链长度返回所输入拉链长度所对应的齿数
  151. unsigned long JS_GetToothNum(unsigned long zipper_length)
  152. {
  153. float length_buff1,tooth_buff,length_buff2;
  154. length_buff1 = zipper_length;
  155. tooth_buff = JY_JIZHUN_CISHU;
  156. length_buff2 = JY_JIZHUN_LEN;
  157. return (unsigned long)round(length_buff1 * tooth_buff / length_buff2);
  158. }
  159. //吹气动作
  160. void JSDC_ChuiQi(void)
  161. {
  162. if(JSDC_ChuiQi_VAVLE)
  163. {
  164. if(JSDC_ChuiQiDelay < dwTickCount)JSDC_ChuiQi_VAVLE = 0;
  165. }
  166. }
  167. void JSDC_FenZhen(void)
  168. {
  169. if(JSDC_SX_ENABLE == 0)JSDC_FenZhenStep = 0;
  170. if(bRunning)
  171. {
  172. if((dwTickCount >= JSDC_FenZhenDelay) && JSDC_LSD_VAVLE)JSDC_LSD_VAVLE = 0;
  173. }
  174. switch(JSDC_FenZhenStep)
  175. {
  176. case 0:
  177. break;
  178. case 1: //锁带(右分针)
  179. if(dwTickCount >= JSDC_FenZhenDelay)
  180. {
  181. JSDC_FenZhenStep = 2;
  182. JSDC_RFZ_VAVLE = 1;
  183. JSDC_FenZhenDelay = dwTickCount + JSDC_VAVLE_ALARM_TIME;
  184. }
  185. break;
  186. case 2:
  187. if(JSDC_RFZ_IN) //分针到位
  188. {
  189. JSDC_RSD_VAVLE = 1;
  190. cFengZhenTimes = 0;
  191. JSDC_FenZhenStep = 3;
  192. JSDC_FenZhenDelay = dwTickCount + JSDC_PARAM_LFZ_DELAY;
  193. }
  194. else if(dwTickCount >= JSDC_FenZhenDelay) //右分针不到位警告
  195. {
  196. cFengZhenTimes++;
  197. JSDC_RFZ_VAVLE = 0;
  198. if(cFengZhenTimes >= 3)
  199. {
  200. JSDC_SetAlarmCode(JSDC_RFZ_ALARM);
  201. }
  202. else
  203. {
  204. JSDC_FenZhenStep = 1;
  205. JSDC_FenZhenDelay = dwTickCount + 300;
  206. }
  207. }
  208. break;
  209. case 3:
  210. if(dwTickCount >= JSDC_FenZhenDelay)
  211. {
  212. JSDC_LFZ_VAVLE = 1;
  213. JSDC_FenZhenStep = 4;
  214. JSDC_FenZhenDelay = dwTickCount + JSDC_VAVLE_ALARM_TIME;
  215. }
  216. break;
  217. case 4:
  218. if(JSDC_LFZ_IN)
  219. {
  220. JSDC_LSD_VAVLE = 1;
  221. JSDC_FenZhenStep = 0;
  222. JSDC_LSDDelay = dwTickCount + JSDC_PARAM_LSD_DELAY;
  223. }
  224. else if(dwTickCount >= JSDC_FenZhenDelay) //左分针不到位警告
  225. {
  226. JSDC_SetAlarmCode(JSDC_LFZ_ALARM);
  227. }
  228. break;
  229. }
  230. }
  231. //下冲动作
  232. void JSDC_XiaChong(void)
  233. {
  234. if(JSDC_XiaChongStep == 1)
  235. {
  236. if(JSDC_XC_MODE)
  237. {
  238. JSDC_XiaChongDelay = dwTickCount + XIACONG_DELAY_TIME;
  239. JSDC_ShaChe_VAVLE = 0;
  240. JSDC_XiaChongStep = 2;
  241. }
  242. else
  243. {
  244. if(JSDC_XC_ORIGIN_IN)
  245. {
  246. JSDC_XiaChongDelay = dwTickCount + XIACONG_DELAY_TIME;
  247. JSDC_XiaChongStep = 20;
  248. }
  249. else
  250. {
  251. JSDC_SetAlarmCode(JSDC_XIACHONG_LIMIT_ALARM);
  252. }
  253. }
  254. }
  255. else if((JSDC_XiaChongStep == 2) && (dwTickCount >= JSDC_XiaChongDelay))
  256. {
  257. JSDC_XiaChongDelay = dwTickCount + JSDC_PARAM_XC_ALARM_TIME;
  258. JSDC_XiaChongStep = 3;
  259. }
  260. else if(JSDC_XiaChongStep == 3)
  261. {
  262. if(JSDC_XC_ORIGIN_IN_UP)
  263. {
  264. JSDC_XiaChongDelay = dwTickCount + JSDC_PARAM_SHACHE_DELAY_TIME;
  265. JSDC_XiaChongStep = 4;
  266. }
  267. else if(dwTickCount >= JSDC_XiaChongDelay)
  268. {
  269. JSDC_SetAlarmCode(JSDC_XIACHONG_LIMIT_ALARM);
  270. JSDC_XiaChong_MOTOR = 0;
  271. JSDC_ShaChe_VAVLE = 0;
  272. }
  273. }
  274. else if((JSDC_XiaChongStep == 4) && (dwTickCount >= JSDC_XiaChongDelay))
  275. {
  276. JSDC_ShaChe_VAVLE = 1;
  277. if(JSDC_SC_MODE)
  278. {
  279. JSDC_XiaChongStep = 6;
  280. }
  281. else
  282. {
  283. JSDC_XiaChongStep = 5;
  284. JSDC_XiaChongDelay = dwTickCount + JSDC_PARAM_SHACHE_TIME;
  285. }
  286. }
  287. else if((JSDC_XiaChongStep == 5) && (dwTickCount >= JSDC_XiaChongDelay))
  288. {
  289. JSDC_ShaChe_VAVLE = 0;
  290. JSDC_XiaChongStep = 6;
  291. }
  292. else if(JSDC_XiaChongStep == 6)
  293. {
  294. JSDC_GZ_VAVLE = 0;
  295. JSDC_XiaChongStep = 0;
  296. }
  297. else if((JSDC_XiaChongStep == 20) && (dwTickCount >= JSDC_XiaChongDelay))
  298. {
  299. JSDC_XiaChong_MOTOR = 1;
  300. JSDC_XiaChongStep = 21;
  301. JSDC_XiaChongDelay = dwTickCount + JSDC_PARAM_XC_ALARM_TIME;
  302. }
  303. else if(JSDC_XiaChongStep == 21)
  304. {
  305. if(JSDC_XC_LIMIT_IN)
  306. {
  307. JSDC_XiaChong_MOTOR = 0;
  308. JSDC_GZ_VAVLE = 0;
  309. JSDC_XiaChongDelay = dwTickCount + JSDC_PARAM_XC_ALARM_TIME;
  310. JSDC_XiaChongStep = 22;
  311. }
  312. else if(dwTickCount >= JSDC_XiaChongDelay)
  313. {
  314. JSDC_SetAlarmCode(JSDC_XIACHONG_LIMIT_ALARM);
  315. }
  316. }
  317. else if(JSDC_XiaChongStep == 22)
  318. {
  319. if(JSDC_XC_ORIGIN_IN)
  320. {
  321. JSDC_XiaChongStep = 0;
  322. }
  323. else if(dwTickCount >= JSDC_XiaChongDelay)
  324. {
  325. JSDC_SetAlarmCode(JSDC_XIACHONG_ORIGIN_ALARM);
  326. }
  327. }
  328. }
  329. //启动停止故障停止动作
  330. void JSDC_StartStopAction(void)
  331. {
  332. if((START_IN_UP || JSDC_bStart) && !JSDC_bRunning && (JSDC_AutoStep ==0))
  333. {
  334. if(!JSDC_XC_ORIGIN_IN)JSDC_SetAlarmCode(JSDC_START_XIACHONG_ALARM);
  335. else if(GetTotal(JSDC_TOTAL_ADDR) >= SET_TOTAL)JSDC_SetAlarmCode(JSDC_TOTAL_ALARM);
  336. else
  337. {
  338. JSDC_AutoStep = 1;
  339. JSDC_bRunning = 1;
  340. JSDC_AutoDelay = 0;
  341. }
  342. JSDC_bStart = 0;
  343. }
  344. if(STOP_IN_UP || JSDC_bStop)
  345. {
  346. JSDC_bStop = 0;
  347. if(JSDC_bRunning && (SingOneFlg == 0))
  348. {
  349. SingOneFlg = 1;
  350. }
  351. else
  352. {
  353. JSDC_ChuiQi_VAVLE = 1;
  354. JSDC_ChuiQiDelay = dwTickCount + JSDC_PARAM_CHUIQI_TIME * 10;
  355. JSDC_bRunning = 0;
  356. JSDC_AutoStep = 0;
  357. AxisEgmStop(X_AXIS);
  358. SingOneFlg = 0;
  359. }
  360. }
  361. if(JSDC_bAlarmStop)
  362. {
  363. JSDC_bAlarmStop = 0;
  364. AxisEgmStop(X_AXIS);
  365. JSDC_AutoStep = 0;
  366. JSDC_bRunning = 0;
  367. SingOneFlg = 0;
  368. }
  369. }
  370. unsigned long JSDC_ToothTransPulse(unsigned long tooth)
  371. {
  372. return(JY_JIZHUN_LEN * tooth * 2000 / 250 / JY_JIZHUN_CISHU);
  373. }
  374. //电机控制动作
  375. void JSDC_Motor(void) //
  376. {
  377. static long save_buff,length_buff,low_speed_buff,total_length,move_pos_buff;
  378. cRealPos = GetPos(X_AXIS);
  379. SetData32bits(16,cRealPos);//刷新编码器位置
  380. user_datas[121] = cRealPos;
  381. switch(JSDC_MotorStep)
  382. {
  383. case 0: break;
  384. case 1://使用编码器/电机长度定寸
  385. if(JSDC_NOW_POS >= JSDC_SET_ALL_LENGTH)
  386. JSDC_MotorStep = 0;
  387. else
  388. JSDC_MotorStep = 2;
  389. break;
  390. case 2:
  391. total_length = JSDC_SET_ALL_LENGTH - JSDC_NOW_POS;
  392. move_pos_buff = JSDC_NOW_POS;
  393. AxisMovePos(X_AXIS,JSDC_PARAM_HIGH_SPEED,total_length);
  394. MoveChangSpeedPos(X_AXIS, JSDC_PARAM_LOW_SPEED,(PosToPulse(X_AXIS,JSDC_PARAM_LOWSPEED_LENGTH) + MV_Cal_Dec_pulse(JSDC_PARAM_HIGH_SPEED,JSDC_PARAM_LOW_SPEED,30)));
  395. JSDC_MotorStep = 3;
  396. break;
  397. case 3:
  398. if((JSDC_NOW_POS - move_pos_buff) >= total_length)AxisEgmStop(X_AXIS);
  399. if(!X_DRV)JSDC_MotorStep = 0;
  400. break;
  401. case 10://使用电机长度定寸走刀口长度
  402. JSDC_MotorStep = 11;
  403. break;
  404. case 11:
  405. AxisMovePos(X_AXIS,JSDC_PARAM_HIGH_SPEED,JSDC_SET_ALL_LENGTH);
  406. JSDC_MotorStep = 12;
  407. break;
  408. case 12:
  409. if(!X_DRV)JSDC_MotorStep = 0;
  410. break;
  411. case 20://使用勾针定寸
  412. JSDC_MotorStep = 21;
  413. break;
  414. case 21:
  415. if(dwTickCount >= JSDC_MotorDelay)
  416. {
  417. save_buff = GetPos(X_AXIS);
  418. if(dwZipCnt == 0)AxisContinueMove(X_AXIS,JSDC_PARAM_LOW_SPEED,JSDC_DIR_P); //第一条走低速
  419. else
  420. AxisMoveTwoPos(X_AXIS,JSDC_PARAM_HIGH_SPEED,(length_buff - JSDC_PARAM_LOWSPEED_LENGTH),JSDC_PARAM_LOW_SPEED,0xFFFFFF,JSDC_DIR_P);
  421. JSDC_MotorDelay = dwTickCount + MOTOR_ALARM_TIME;
  422. JSDC_MotorStep = 22;
  423. }
  424. break;
  425. case 22:
  426. if(1)
  427. {
  428. JSDC_MotorDelay = dwTickCount + JSDC_PARAM_GZ_DELAY;
  429. JSDC_MotorStep = 23;
  430. }
  431. else if(dwTickCount >= JSDC_MotorDelay)
  432. {
  433. JSDC_SetAlarmCode(JSDC_NO_ZIPPER_ALARM);
  434. }
  435. break;
  436. case 23:
  437. if(JSDC_GZ_RESET_MODE)
  438. {
  439. if(dwZipCnt < 2) //第一第二条勾针自己复位
  440. {
  441. if(dwTickCount >= JSDC_MotorDelay)
  442. {
  443. JSDC_GZ_VAVLE = 1;
  444. JSDC_MotorDelay = dwTickCount + VAVLE_ALARM_TIME;
  445. JSDC_MotorStep = 24;
  446. }
  447. }
  448. else
  449. {
  450. if((GetPos(X_AXIS) - save_buff) >= JSDC_GZ_RESET_LENGTH)
  451. {
  452. JSDC_GZ_VAVLE = 1;
  453. JSDC_MotorDelay = dwTickCount + VAVLE_ALARM_TIME;
  454. JSDC_MotorStep = 24;
  455. }
  456. }
  457. }
  458. else
  459. {
  460. if(dwTickCount >= JSDC_MotorDelay)
  461. {
  462. JSDC_GZ_VAVLE = 1;
  463. JSDC_MotorDelay = dwTickCount + VAVLE_ALARM_TIME;
  464. JSDC_MotorStep = 24;
  465. }
  466. }
  467. break;
  468. case 24:
  469. if(JSDC_GZ_IN)
  470. {
  471. AxisEgmStop(X_AXIS);
  472. JSDC_MotorStep = 25;
  473. }
  474. else if(dwTickCount >= JSDC_MotorDelay)
  475. {
  476. JSDC_SetAlarmCode(JSDC_GZ_ALARM);
  477. }
  478. break;
  479. case 25:
  480. if(!X_DRV)
  481. {
  482. JSDC_MotorDelay = dwTickCount + JSDC_PARAM_YD_DELAY;
  483. JSDC_MotorStep = 26;
  484. }
  485. break;
  486. case 26:
  487. if(dwTickCount >= JSDC_MotorDelay)
  488. {
  489. if(dwZipCnt == 1)length_buff = GetPos(X_AXIS) - save_buff;
  490. JSDC_MotorStep = 27;
  491. }
  492. break;
  493. case 27:
  494. JSDC_MotorStep = 0;
  495. break;
  496. }
  497. }
  498. //自动运行动作
  499. void JSDC_AutoRunStep(void)
  500. {
  501. if(JSDC_bRunning)
  502. {
  503. if(JSDC_AutoStep == 1)
  504. {
  505. JSDC_AutoStep = 2;
  506. }
  507. else if((JSDC_AutoStep == 2))
  508. {
  509. JSDC_AutoStep = 3;
  510. JSDC_RemainLength = JSDC_SET_KONGWEI_LENGTH;
  511. }
  512. else if(JSDC_AutoStep == 3)
  513. {
  514. if(JSDC_MotorStep == 0)JSDC_MotorStep = 1;
  515. JSDC_AutoStep = 4;
  516. }
  517. else if(JSDC_AutoStep == 4)
  518. {
  519. if(JSDC_MotorStep == 0)
  520. {
  521. if(JSDC_FenZhenStep == 0)JSDC_FenZhenStep = 1;
  522. JSDC_AutoStep = 5;
  523. }
  524. }
  525. else if(JSDC_AutoStep == 5)
  526. {
  527. if(JSDC_FenZhenStep == 0)
  528. {
  529. JSDC_XiaChongStep = 1;
  530. JSDC_AutoStep = 6;
  531. }
  532. }
  533. else if(JSDC_AutoStep == 6)
  534. {
  535. if(JSDC_XiaChongStep == 0)
  536. {
  537. JSDC_AutoStep = 7;
  538. if(JSDC_RemainLength >= JSDC_PARAM_DAOKOU_LENGTH)
  539. {
  540. JSDC_RemainLength -= JSDC_PARAM_DAOKOU_LENGTH;
  541. JSDC_AutoStep = 3;
  542. }
  543. else
  544. {
  545. JSDC_RemainLength = 0;
  546. JSDC_AutoStep = 7;
  547. }
  548. }
  549. }
  550. else if(JSDC_AutoStep == 7)
  551. {
  552. AddToTal(JSDC_TOTAL_ADDR);
  553. if((GetTotal(JSDC_TOTAL_ADDR) >= SET_TOTAL) || JSDC_bStop || SingOneFlg)
  554. {
  555. if(JSDC_bStop || SingOneFlg)
  556. {
  557. JSDC_bStop = 0;
  558. JSDC_AutoStep = 0;
  559. JSDC_bRunning = 0;
  560. SingOneFlg = 0;
  561. JSDC_XiaChong_MOTOR = 0;
  562. }
  563. else
  564. {
  565. JSDC_SetAlarmCode(JSDC_TOTAL_ALARM);
  566. }
  567. }
  568. else
  569. {
  570. JSDC_AutoStep = 1;
  571. JSDC_AutoDelay = JSDC_PARAM_CYCLE_DELAY + dwTickCount;
  572. CalProSP(JSDC_PROSPEED_ADDR);
  573. }
  574. }
  575. else if(JSDC_AutoStep == 8)
  576. {
  577. }
  578. else if((JSDC_AutoStep == 8))
  579. {
  580. }
  581. else if((JSDC_AutoStep == 20) && (dwTickCount >= JSDC_AutoDelay)) //色标动作
  582. {
  583. }
  584. else if(JSDC_AutoStep == 21)
  585. {
  586. }
  587. else if(JSDC_AutoStep == 22)
  588. {
  589. JSDC_AutoStep = 23;
  590. }
  591. else if((JSDC_AutoStep == 23) && (dwTickCount >= JSDC_AutoDelay))
  592. {
  593. }
  594. else if(JSDC_AutoStep == 24)
  595. {
  596. }
  597. else if(JSDC_AutoStep == 25)
  598. {
  599. }
  600. else if(JSDC_AutoStep == 26)
  601. {
  602. }
  603. else if((JSDC_AutoStep == 27))
  604. {
  605. }
  606. }
  607. }
  608. #endif