XYChuantou_HeLian23.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. #if XIN_YE_MACHINE==1
  2. extern void XYChuanTou_HeLian_InitAction(void);
  3. extern void XYChuanTou_HeLian_Action(void);
  4. extern void XYChuanTou_HeLian_SetAlarmCode(unsigned alarm_code);
  5. extern void ExtiAcitionX02(void);
  6. #define DIR_P 1
  7. #define DIR_N 0
  8. #define MOTOR_EN 0
  9. #define MOTOR_DISEN 1
  10. #define XY_CTHL_VAVLE_ERROR_TIME 3000
  11. #define XY_CTHL_MOTOR_ALARM_TIME 5000
  12. //故障代码列表
  13. #define XY_CTHL_NO_ALARM 0
  14. #define XY_CTHL_WLZDTJ_ALARM 1 //无拉链自动停机
  15. #define XY_CTHL_XKSC_Limit_ALARM 2 //X03斜口上止到位异常
  16. #define XY_CTHL_TLiao_Limit_ALARM 3 //X04推料到位异常
  17. #define XY_CTHL_HSLiao_Limit_ALARM 5 //X06横送料到位异常
  18. #define XY_CTHL_HSLiao_Origin_ALARM 6 //X07横送料原位异常
  19. #define XY_CTHL_JLiao_Limit_ALARM 7 //X10接料到位异常
  20. #define XY_CTHL_CTM_Limit_ALARM 8 //X11穿头模到位异常
  21. #define XY_CTHL_CTM_Origin_ALARM 9 //X12穿头模原位异常
  22. #define XY_CTHL_First_CT_Origin_ALARM 10 //X13一次穿头原位异常
  23. #define XY_CTHL_LTou_Check_ALARM 11 //X14拉头缺料感应异常
  24. #define XY_CTHL_CXSC_Limit_ALARM 12 //X15插稍上止感应异常
  25. #define XY_CTHL_CX_Limit_ALARM 13 //X16插稍到位感应异常
  26. #define XY_CTHL_XKTD_Origin_ALARM 14 //X17斜口原位感应异常
  27. #define XY_CTHL_CXXY_Limit_ALARM 15 //X20插稍下移到位异常
  28. #define XY_CTHL_SF_ALR_ALARM 16 //X22伺服报警异常
  29. #define XY_CTHL_SF_Origin_ALARM 17 //X23伺服原位(穿链原位)异常
  30. #define XY_CTHL_ZLT_ALARM 18 //装拉头异常
  31. #define XY_CTHL_FK_Check_ALARM 19 //X02方块检测
  32. #define XY_CTHL_FKCXDW_ALARM 20 //方块插销定位异常警告
  33. #define XY_CTHL_YCCRYWYC_ALARM 21 //一次穿入原位异常
  34. #define XY_CTHL_XCXXCYC_ALARM 22 //小插销行程异常
  35. #define XY_CTHL_HENSONGLIAO_ALARM 23 //横送料不能输出
  36. #define XY_CTHL_YCCT_ALARM 24 //一次穿头不能输出
  37. #define XY_CTHL_YCXM_Origin_ALARM 25 //一次穿头和下模不能输出
  38. #define XY_CTHL_DXKCTXM_Origin_ALARM 26 //顶斜口和穿头下模不能输出
  39. #define XY_CTHL_XKTD_ALARM 27 //斜口推带不能有输出
  40. #define XY_CTHL_CXQJD_ALARM 28 //插销前夹带不能有输出
  41. #define XY_CTHL_WFZIDONGCX_ALARM 29 //无法自动插销
  42. #define XY_CTHL_SafeDoor_ALARM 30 //安全门关上才能启动
  43. #define XY_CTHL_AutoStep cStepMByte
  44. #define XY_CTHL_ZhuangLiaoStep cStepMByte1
  45. #define XY_CTHL_TLiaoStep cStepMByte2
  46. #define XY_CTHL_TD_MotorStep cStepMByte3 //拖带电机
  47. #define XY_CTHL_JiaLianStep cStepMByte4
  48. #define XY_CTHL_ZhenDongStep cStepMByte6
  49. #define XY_CTHL_SongLiaoStep cStepMByte7
  50. #define XY_CTHL_CL_MotorStep cStepMByte8 //穿链
  51. #define XY_CTHL_AutoStep1 cStepMByte9
  52. #define XY_CTHL_bFKCXTDDW_Step cStepMByte10
  53. #define XY_CTHL_bCXCR_Step cStepMByte11
  54. #define XY_CTHL_bCLFirst_Step cStepMByte12
  55. #define XY_CTHL_ZhuangLiaoDelay cDelayTime2
  56. #define XY_CTHL_TLiao_Delay cDelayTime3
  57. #define XY_CTHL_TD_MotorDelay cDelayTime4
  58. #define XY_CTHL_AutoDelay cDelayTime5
  59. #define XY_CTHL_TestDelay cDelayTime6
  60. #define XY_CTHL_CL_MotorDelay cDelayTime7
  61. #define XY_CTHL_TouchDelay cDelayTime8
  62. #define XY_CTHL_AutoDelay1 cDelayTime9
  63. #define XY_CTHL_ZDP_Delay cDelayTime10
  64. #define XY_CTHL_bCXCR_Delay cDelayTime11
  65. #define XY_CTHL_bFKCXTDDW_Delay cDelayTime12
  66. #define XY_CTHL_bCLFirst_Delay cDelayTime13
  67. #define XY_CTHL_bLTCHECK_Delay cDelayTime14
  68. #define XY_CTHL_bSFBBAOJIN_Delay cDelayTime15
  69. //32位无符号变量
  70. #define XY_CTHL_LianLengthCheck cUDword32Buff1
  71. #define XY_CTHL_LianLengthAutoCheck cUDword32Buff2
  72. //32位有符号变量
  73. #define XY_CTHL_XSavePosBuff cDword32Buff1
  74. #define XY_CTHL_X_CXPosBuff cDword32Buff2
  75. #define XY_CTHL_YSavePosBuff cDword32Buff3
  76. #define XY_CTHL_CheckInX02PosBuff cDword32Buff4
  77. #define XY_CTHL_YsaveCXDWPosBuff cDword32Buff5
  78. #define XY_CTHL_LENTH cDword32Buff6
  79. //8位变量
  80. #define XY_CTHL_TryCnt cCharBuff1
  81. #define cZipCnt cCharBuff2
  82. #define cStopInCnt cCharBuff3
  83. #define cStopMode cCharBuff4
  84. #define cXcxcrCnt cCharBuff5
  85. #define cWULATOUCnt cCharBuff6
  86. #define cQDXK_DXK cCharBuff7
  87. #define cZDP_Auto cCharBuff8
  88. //位标志位
  89. #define bTuiLaTouOkFlg bBitFlag0
  90. #define bZhuangLiaoOkFlg bBitFlag1
  91. #define bXiaMoENFlg bBitFlag2
  92. #define bYFirstDingWeiFlg bBitFlag3
  93. #define bCL_EN_FLG bBitFlag4
  94. #define bCL_OK_FLG bBitFlag5
  95. #define bCheckEN_FLG bBitFlag6
  96. #define bSingOneFlg bBitFlag7
  97. #define XY_CTHL_TOTAL_ADDR 76
  98. #define XY_CTHL_SPEED_ADDR 78
  99. #define XY_CTHL_ALARM_ADDR 100
  100. #define XY_CTHL_PARAM_CYCLE_PULSE user_datas[0]//0 转一圈脉冲数
  101. #define XY_CTHL_PARAM_CYCLE_LENGTH user_datas[1]//整数 转一圈拖带多长
  102. #define XY_CTHL_PARAM_TD_RunSpeed user_datas[2]//整数 拖带电机拖带速度
  103. #define XY_CTHL_PARAM_FKDW_Speed user_datas[3]//整数 方块定位速度(低速度)
  104. #define XY_CTHL_PARAM_CL_Speed user_datas[4]//整数 合链速度
  105. #define XY_CTHL_PARAM_CL_Back_O_Speed user_datas[5]//整数 合链电机回零速度
  106. #define XY_CTHL_PARAM_FKDW_Length user_datas[6]//0.01 方块定位长度
  107. #define XY_CTHL_PARAM_CXDW_Length user_datas[7]//0.01 插销定位长度
  108. #define XY_CTHL_PARAM_CL_Length user_datas[8]//0.01 合链长度
  109. #define XY_CTHL_PARAM_CL_MAX_Length user_datas[9]//0.01 穿链最长限制
  110. #define XY_CTHL_PARAM_TLiao_BACKDELAY (10*user_datas[10])//0.01推拉头到位延时返回
  111. #define XY_CTHL_PARAM_MaGou_DELAY (10*user_datas[11])//0.01接料到位延时码勾
  112. #define XY_CTHL_PARAM_HSLiaoOff_DELAY (10*user_datas[12])//0.01码勾输出后退横送料
  113. #define XY_CTHL_PARAM_CheckLT_DELAY (10*user_datas[13])//0.01码勾输出后延时检测拉头
  114. #define XY_CTHL_PARAM_SCDWOff_CXDW_DELAY (10*user_datas[14])//0.01退上止定位延时穿插销
  115. #define XY_CTHL_PARAM_First_CL_Timer (10*user_datas[15]) //0.01一次穿入时间
  116. #define XY_CTHL_PARAM_MGOff_XiaMo_DELAY (10*user_datas[16]) //0.01松码勾后延时退下模
  117. #define XY_CTHL_PARAM_CXCR_DELAY (10*user_datas[17]) //0.01插销延时穿入
  118. #define XY_CTHL_PARAM_XKDW_TD_DELAY (10*user_datas[18]) //0.01斜口定位后延时拖带
  119. #define XY_CTHL_PARAM_XK_CR_DELAY (10*user_datas[19]) //0.01斜口延时穿拉头
  120. #define XY_CTHL_PARAM_DXK_XKDW_Off_DELAY (10*user_datas[20]) //0.01顶斜口后延时退斜口定位
  121. #define XY_CTHL_PARAM_XCQJD_XCDW_DELAY (10*user_datas[21]) //0.01插销前夹带后延时插销定位
  122. #define XY_CTHL_PARAM_First_CL_DELAY (10*user_datas[22]) //0.01延时一次穿入
  123. #define XY_CTHL_PARAM_HLJJ_CL_DELAY (10*user_datas[23]) //0.01合链夹具延时穿入
  124. #define XY_CTHL_PARAM_ZDP_Start_TIME (10*user_datas[24]) //0.01振动盘启动延时
  125. #define XY_CTHL_PARAM_ZDP_Stop_TIME (10*user_datas[25]) //0.01振动盘延时停止
  126. #define XY_CTHL_PARAM_XCX_LENTH user_datas[26] //0.01 小插销感应后再走标准长度
  127. #define XY_CTHL_PARAM_XCXWC_LENTH user_datas[27] //0.01 小插销标准长度过长的误差值
  128. #define XY_CTHL_PARAM_TDFZ_LENTH user_datas[28] //0.01拖带电机反转长度
  129. #define XY_CTHL_PARAM_WLCDSHEZHI_LENTH (10* user_datas[29]) //0.1无拉链情况再走长度设置
  130. #define XY_CTHL_PARAM_DXKFZ_LENTH user_datas[30] //顶斜口反转长度
  131. #define XY_CTHL_PARAM_DXKYS_DELAY (user_datas[31]*10) //前顶斜口后延时顶斜口
  132. #define XY_CTHL_PARAM_ZDP_AUTO user_datas[32]
  133. //输入
  134. #define XY_CTHL_START_IN M0384 //X00 //启动
  135. #define XY_CTHL_START_IN_UP (M0384 && !OLDM384)//(X00 && !OLDX00)
  136. #define XY_CTHL_STOP_IN M0385 // X01 //停止
  137. #define XY_CTHL_STOP_IN_UP (M0385 && !OLDM385)//(X01 && !OLDX01)
  138. #define XY_CTHL_STOP_IN_DW (!M0385 && OLDM385)//(!X01 && OLDX01)
  139. #define XY_CTHL_FK_Check M0386 //X02方块检测
  140. #define XY_CTHL_XKSC_Limit_IN M0387 //X03斜口上止到位
  141. #define XY_CTHL_TLiao_Limit_IN M0388 //X04推料到位
  142. #define XY_CTHL_SafeDoor_IN M0389 //X05安全门
  143. #define XY_CTHL_HSLiao_Limit_IN M0390 //X06横送料到位
  144. #define XY_CTHL_HSLiao_Origin_IN M0391 //X07横送料原位
  145. #define XY_CTHL_JLiao_Limit_IN M0392 //X10接料到位
  146. #define XY_CTHL_CTM_Limit_IN M0393 //X11穿头模到位
  147. #define XY_CTHL_CTM_Origin_IN M0394 //X12穿头模原位
  148. #define XY_CTHL_First_CT_Origin_IN M0395 //X13一次穿头原位
  149. #define XY_CTHL_LTou_Check M0396 //X14拉头缺料感应
  150. #define XY_CTHL_CXSC_Limit_IN M0397 //X15插稍上止感应
  151. #define XY_CTHL_CXSC_Limit_IN_UP (M0397 && !OLDM397)
  152. #define XY_CTHL_CXSC_Limit_IN_DW (!M0397 && OLDM397)
  153. #define XY_CTHL_CX_Limit_IN M0398 //X16插稍到位感应
  154. #define XY_CTHL_XKTD_Origin_IN M0399 //X17斜口推带原位感应
  155. #define XY_CTHL_CXXY_Limit_IN M0400 //X20插稍下移到位
  156. #define XY_CTHL_ZDP_IN M0401 //X21振动盘
  157. #define XY_CTHL_SF_ALR_IN M0402 //X22伺服报警
  158. #define XY_CTHL_SF_Origin_IN M0403 //X23伺服原位(穿链原位)
  159. //输出
  160. #define XY_CTHL_TLiao_VAVLE M0304 //Y00 推料电磁阀
  161. #define XY_CTHL_HSLiao_VAVLE M0305 //Y01 横送料电磁阀
  162. #define XY_CTHL_JLTou_VAVLE M0306 //Y02 接拉头电磁阀
  163. #define XY_CTHL_XKTD_VAVLE M0307 //Y03 斜口推带电磁阀
  164. #define XY_CTHL_XKDW_VAVLE M0308 //Y04 斜口定位电磁阀
  165. #define XY_CTHL_DXK_VAVLE M0309 //Y05 顶斜口电磁阀
  166. #define XY_CTHL_CXXY_VAVLE M0310 //Y06 插销下移电磁阀
  167. #define XY_CTHL_CTXM_VAVLE M0311 //Y07 穿头下模电磁阀
  168. #define XY_CTHL_First_CT_VAVLE M0312 //Y10 一次穿头电磁阀
  169. #define XY_CTHL_FKGD_VAVLE M0313 //Y11 方块固定电磁阀
  170. #define XY_CTHL_CXQJD_VAVLE M0314 //Y12 插销前夹带电磁阀
  171. #define XY_CTHL_CXDWZ_VAVLE M0315 //Y13 插销定位针(到位)电磁阀
  172. #define XY_CTHL_CXHJD_VAVLE M0316 //Y14 插销后夹带电磁阀
  173. #define XY_CTHL_CXHDW_VAVLE M0317 //Y15 插销后定位电磁阀
  174. #define XY_CTHL_FKJD_VAVLE M0318 //Y16 方块夹带电磁阀
  175. #define XY_CTHL_ZhenDongPian_OUT M0319 //Y17 振动盘启动吹气电磁阀
  176. #define XY_CTHL_HLJJ_VAVLE M0320 //Y20 合链夹具电磁阀
  177. #define XY_CTHL_CXSCDW_VAVLE M0321 //Y21 插销上止定位电磁阀
  178. #define XY_CTHL_MGuo_VAVLE M0324 //Y23 码勾电磁阀
  179. #define XY_CTHL_SF_ALR_CLR M0325 //Y24 伺服警告清除
  180. #define XY_CTHL_Run_State M0326 //Y25 运行灯
  181. #define XY_CTHL_Stop_State M0327 //Y26 停止灯
  182. #define XY_CTHL_QDXK_VAVLE M0328 // Y27 前顶斜口电磁阀
  183. #define XY_CTHL_TestLED M0329 //Y30 测试状态灯
  184. //M0~M4全局固定使用
  185. /*
  186. #define bRunning M0000
  187. #define bStart M0001
  188. #define bStop M0002
  189. #define bAlarmStop M0003
  190. #define bClearTotal M0004
  191. */
  192. #define XY_CTHL_bTLiao M0005 //手动推料
  193. #define XY_CTHL_bHSL M0006 //手动横送料
  194. #define XY_CTHL_bJLT M0007 //接拉头
  195. #define XY_CTHL_bMG M0008 //码勾
  196. #define XY_CTHL_bFKJD M0009 //方块夹带
  197. #define XY_CTHL_bXKTD M0010 //斜口推带
  198. #define XY_CTHL_bXKDW M0011 //斜口定位
  199. #define XY_CTHL_bCTXM M0012 //穿头下模
  200. #define XY_CTHL_bDXK M0013 //顶斜口
  201. #define XY_CTHL_bFKGD M0014 //方块固定
  202. #define XY_CTHL_bCXQJD M0015 //插销前夹带
  203. #define XY_CTHL_bCXSY M0016 //插销上移电磁阀
  204. #define XY_CTHL_bCXDWZ M0017 //Y14 插销定位针电磁阀
  205. #define XY_CTHL_bCXHJD M0018 //Y15 插销后夹带电磁阀
  206. #define XY_CTHL_bCXHDW M0019 //Y16 插销后定位电磁阀
  207. //#define XY_CTHL_bCXDWCheck M0020 //Y17 插销到位电磁阀
  208. #define XY_CTHL_bFirst_CT M0021 //Y20 一次穿头电磁阀
  209. #define XY_CTHL_bHLJJ M0022 //Y21 合链夹具电磁阀
  210. #define XY_CTHL_bCXSCDW M0023 //Y23 插销上止定位电磁阀
  211. #define XY_CTHL_bCLMotor_P M0026 //穿链电机正转
  212. #define XY_CTHL_bCLMotor_N M0025 //穿链电机反转
  213. //下面为动作组合按键
  214. #define XY_CTHL_bAutoZhuangLiao M0024 //自动装料
  215. #define XY_CTHL_bCLMotor_O M0027 //穿链电机定位原点
  216. #define XY_CTHL_bCL_First M0028 //一次穿链动作
  217. #define XY_CTHL_bFKTDDW M0029 //拖带方块定位
  218. #define XY_CTHL_bFKCXTDDW M0030 //拖带方块插销定位
  219. #define XY_CTHL_bCXMotorDW M0031 //插销电机前定位
  220. #define XY_CTHL_bCXCR M0032 //插销穿入(包含电机前定位,插销下移,后夹,后定位)
  221. #define XY_CTHL_bMotorHL M0033 //电机合链操作
  222. #define XY_CTHL_bQianDXK M0034 //Y27 前顶斜口电磁阀
  223. #define XY_CTHL_bQianDXK_DXK M0035 //顶斜口动作
  224. //#define XY_CTHL_bCloseAuto M0036 //关闭自动振动盘
  225. #endif