XDChuantou_HeLian.h 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. #if XI_DONG_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_CTHL(void);
  6. #define DIR_P 1
  7. #define DIR_N 0
  8. #define MOTOR_EN 0
  9. #define MOTOR_DISEN 1
  10. #define MOTOR_ALARM 0
  11. #define MOTOR_NOALARM 1
  12. #define ALARM_CLR 1
  13. #define ALARM_NOCLR 0
  14. #define GL_CTHL_VAVLE_ERROR_TIME 3000
  15. #define GL_CTHL_MOTOR_ALARM_TIME 5000
  16. //故障代码列表
  17. #define GL_CTHL_NO_ALARM 0
  18. #define GL_CTHL_WLZDTJ_ALARM 1 //无拉链自动停机
  19. #define GL_CTHL_XKSC_Limit_ALARM 2 //X03斜口上止到位异常
  20. #define GL_CTHL_TLiao_Limit_ALARM 3 //X04推料到位异常
  21. #define GL_CTHL_HSLiao_Limit_ALARM 5 //X06横送料到位异常
  22. #define GL_CTHL_HSLiao_Origin_ALARM 6 //X07横送料原位异常
  23. #define GL_CTHL_JLiao_Limit_ALARM 7 //X10接料到位异常
  24. #define GL_CTHL_CTM_Limit_ALARM 8 //X11穿头模到位异常
  25. #define GL_CTHL_CTM_Origin_ALARM 9 //X12穿头模原位异常
  26. #define GL_CTHL_First_CT_Origin_ALARM 10 //X13一次穿头原位异常
  27. #define GL_CTHL_LTou_Check_ALARM 11 //X14拉头缺料感应异常
  28. #define GL_CTHL_CXSC_Limit_ALARM 12 //X15插稍上止感应异常
  29. #define GL_CTHL_CX_Limit_ALARM 13 //X16插稍到位感应异常
  30. #define GL_CTHL_XKTD_Origin_ALARM 14 //X17斜口原位感应异常
  31. #define GL_CTHL_CXGL_Limit_ALARM 15 //X20插稍下移到位异常
  32. #define GL_CTHL_SF_ALR_ALARM 16 //X22伺服报警异常
  33. #define GL_CTHL_SF_Origin_ALARM 17 //X23伺服原位(穿链原位)异常
  34. #define GL_CTHL_ZLT_ALARM 18 //装拉头异常
  35. #define GL_CTHL_FK_Check_ALARM 19 //X02方块检测
  36. #define GL_CTHL_FKCXDW_ALARM 20 //方块插销定位异常警告
  37. #define GL_CTHL_YCCRYWYC_ALARM 21 //一次穿入原位异常
  38. #define GL_CTHL_XCXXCYC_ALARM 22 //小插销行程异常
  39. #define GL_CTHL_HENSONGLIAO_ALARM 23 //横送料不能输出
  40. #define GL_CTHL_YCCT_ALARM 24 //一次穿头不能输出
  41. #define GL_CTHL_YCXM_Origin_ALARM 25 //一次穿头和下模不能输出
  42. #define GL_CTHL_DXKCTXM_Origin_ALARM 26 //顶斜口和穿头下模不能输出
  43. #define GL_CTHL_XKTD_ALARM 27 //斜口推带不能有输出
  44. #define GL_CTHL_CXQJD_ALARM 28 //插销前夹带不能有输出
  45. #define GL_CTHL_WFZIDONGCX_ALARM 29 //无法自动插销
  46. #define GL_CTHL_SafeDoor_ALARM 30 //安全门关上才能启动
  47. #define GL_CTHL_YAxis_Limit_ALARM 31 //合链电机超过最大行程范围
  48. #define GL_CTHL_YAxis_Origin_ALARM 32 //合链电机回零失败
  49. #define GL_CTHL_Y_SF_ALR_ALARM 33//Y伺服报警
  50. #define GL_CTHL_AutoStep cStepMByte
  51. #define GL_CTHL_ZhuangLiaoStep cStepMByte1
  52. #define GL_CTHL_TLiaoStep cStepMByte2
  53. #define GL_CTHL_TD_MotorStep cStepMByte3 //拖带电机
  54. #define GL_CTHL_JiaLianStep cStepMByte4
  55. #define GL_CTHL_ZhenDongStep cStepMByte6
  56. #define GL_CTHL_SongLiaoStep cStepMByte7
  57. #define GL_CTHL_CL_MotorStep cStepMByte8 //穿链
  58. #define GL_CTHL_AutoStep1 cStepMByte9
  59. #define GL_CTHL_bFKCXTDDW_Step cStepMByte10
  60. #define GL_CTHL_bCXCR_Step cStepMByte11
  61. #define GL_CTHL_bCLFirst_Step cStepMByte12
  62. #define GL_CTHL_HeMoStep cStepMByte13
  63. #define GL_CTHL_SongDai_Step cStepMByte14
  64. #define GL_CTHL_ZhuangLiaoDelay cDelayTime2
  65. #define GL_CTHL_TLiao_Delay cDelayTime3
  66. #define GL_CTHL_TD_MotorDelay cDelayTime4
  67. #define GL_CTHL_AutoDelay cDelayTime5
  68. #define GL_CTHL_TestDelay cDelayTime6
  69. #define GL_CTHL_CL_MotorDelay cDelayTime7
  70. #define GL_CTHL_TouchDelay cDelayTime8
  71. #define GL_CTHL_AutoDelay1 cDelayTime9
  72. #define GL_CTHL_ZDP_Delay cDelayTime10
  73. #define GL_CTHL_bCXCR_Delay cDelayTime11
  74. #define GL_CTHL_bFKCXTDDW_Delay cDelayTime12
  75. #define GL_CTHL_bCLFirst_Delay cDelayTime13
  76. #define GL_CTHL_bLTCHECK_Delay cDelayTime14
  77. #define GL_CTHL_bSFBBAOJIN_Delay cDelayTime15
  78. #define GL_CTHL_HeMo_Time cDelayTime16
  79. #define GL_CTHL_RunStepSave cUShort16Buff1
  80. #define GL_CTHL_TDMotorStepSave cUShort16Buff2
  81. //32位无符号变量
  82. #define GL_CTHL_LianLengthCheck cUDword32Buff1
  83. #define GL_CTHL_LianLengthAutoCheck cUDword32Buff2
  84. #define GL_CTHL_LianLengthAutoCheckOLD cUDword32Buff3
  85. #define GL_CTHL_TimeBuff cUDword32Buff4
  86. #define GL_CTHL_LianLengthCheckReal cUDword32Buff5
  87. //32位有符号变量
  88. #define GL_CTHL_XSavePosBuff cDword32Buff1
  89. #define GL_CTHL_X_CXPosBuff cDword32Buff2
  90. #define GL_CTHL_YSavePosBuff cDword32Buff3
  91. #define GL_CTHL_CheckInX02PosBuff cDword32Buff4
  92. #define GL_CTHL_YsaveCXDWPosBuff cDword32Buff5
  93. #define GL_CTHL_LENTH cDword32Buff6
  94. #define GL_CTHL_X_FKCheckPos cDword32Buff7
  95. #define GL_CTHL_Y_CL_Length cDword32Buff8
  96. #define GL_CTHL_Y_CL_PosBuff cDword32Buff9
  97. #define GL_CTHL_LENCountBuff cDword32Buff10
  98. //8位变量
  99. #define GL_CTHL_TryCnt cCharBuff1
  100. #define GL_CTHL_cZipCnt cCharBuff2
  101. #define cStopInCnt cCharBuff3
  102. #define cStopMode cCharBuff4
  103. #define cXcxcrCnt cCharBuff5
  104. #define cWULATOUCnt cCharBuff6
  105. #define bSingOneCnt cCharBuff7
  106. //位标志位
  107. #define bTuiLaTouOkFlg bBitFlag0
  108. #define bZhuangLiaoOkFlg bBitFlag1
  109. #define bXiaMoENFlg bBitFlag2
  110. #define bYFirstDingWeiFlg bBitFlag3
  111. #define bCL_EN_FLG bBitFlag4
  112. #define bCL_OK_FLG bBitFlag5
  113. #define bCheckEN_FLG bBitFlag6
  114. #define bSingOneFlg bBitFlag7
  115. #define GL_CTHL_bXCBackOK bBitFlag8
  116. #define GL_CTHL_bDinweiOK bBitFlag9
  117. #define GL_CTHL_bTest bBitFlag10
  118. #define GL_CTHL_bReStart bBitFlag11
  119. #define GL_CTHL_X_EN_FLG bBitFlag12
  120. #define GL_CTHL_Y_EN_FLG bBitFlag13
  121. #define GL_CTHL_CXDW_Stop bBitFlag14
  122. #define GL_CTHL_TOTAL_ADDR 76
  123. #define GL_CTHL_WORK_TOTAL_ADDR 102
  124. #define GL_CTHL_CUR_TOTAL_ADDR 104
  125. #define GL_CTHL_SPEED_ADDR 78
  126. #define GL_CTHL_ALARM_ADDR 100
  127. #define GL_CTHL_PARAM_CYCLE_PULSE user_datas[0]//0 转一圈脉冲数 (拖带)
  128. #define GL_CTHL_PARAM_CYCLE_LENGTH user_datas[1]//0.1 转一圈拖带多长 (拖带)
  129. #define GL_CTHL_PARAM_TD_RunSpeed user_datas[2]//整数 拖带电机拖带速度
  130. #define GL_CTHL_PARAM_FKDW_Speed user_datas[3]//整数 方块定位速度(低速度)
  131. #define GL_CTHL_PARAM_CL_Speed user_datas[4]//整数 合链速度
  132. #define GL_CTHL_PARAM_CL_Back_O_Speed user_datas[5]//整数 合链电机回零速度
  133. #define GL_CTHL_PARAM_FKDW_Length user_datas[6]//0.01 方块定位长度
  134. #define GL_CTHL_PARAM_CXDW_Length user_datas[7]//0.01 插销定位长度
  135. #define GL_CTHL_PARAM_CL_Length user_datas[8]//0.01 合链长度(气缸时为时间)
  136. #define GL_CTHL_PARAM_CLT_Time (10*user_datas[8])//0.01 合链时间
  137. #define GL_CTHL_PARAM_CL_MAX_Length user_datas[9]//0.01 穿链最长限制
  138. #define GL_CTHL_PARAM_TLiao_BACKDELAY (10*user_datas[10])//0.01推拉头到位延时返回
  139. #define GL_CTHL_PARAM_MaGou_DELAY (10*user_datas[11])//0.01接料到位延时码勾
  140. #define GL_CTHL_PARAM_HSLiaoOff_DELAY (10*user_datas[12])//0.01码勾输出后退横送料
  141. #define GL_CTHL_PARAM_CheckLT_DELAY (10*user_datas[13])//0.01码勾输出后延时检测拉头
  142. #define GL_CTHL_PARAM_HL_BACK_Time (10*user_datas[14])//0.01合链气缸返回时间
  143. #define GL_CTHL_PARAM_First_CL_Timer (10*user_datas[15]) //0.01一次穿入时间
  144. #define GL_CTHL_PARAM_MGOff_XiaMo_DELAY (user_datas[16]) //0.01松码勾后延时退下模
  145. #define GL_CTHL_PARAM_CXCR_DELAY (10*user_datas[17]) //0.01插销延时穿入
  146. #define GL_CTHL_PARAM_XKDW_TD_DELAY (10*user_datas[18]) //0.01斜口定位后延时拖带
  147. #define GL_CTHL_PARAM_XK_CR_DELAY (10*user_datas[19]) //0.01斜口延时穿拉头
  148. #define GL_CTHL_PARAM_DXK_XKDW_Off_DELAY (10*user_datas[20]) //0.01顶斜口后延时退方块勾针
  149. //#define GL_CTHL_PARAM_XCQJD_XCDW_DELAY (10*user_datas[21]) //0.01插销前夹带后延时插销定位
  150. #define GL_CTHL_PARAM_First_CL_DELAY (10*user_datas[22]) //0.01延时一次穿入
  151. #define GL_CTHL_PARAM_HLJJ_CL_DELAY (10*user_datas[23]) //0.01合链夹具延时合链
  152. #define GL_CTHL_PARAM_ZDP_Start_TIME (10*user_datas[24]) //0.01振动盘启动延时
  153. #define GL_CTHL_PARAM_ZDP_Stop_TIME (10*user_datas[25]) //0.01振动盘延时停止
  154. #define GL_CTHL_PARAM_XCX_LENTH user_datas[26] //0.01 小插销感应后再走标准长度
  155. #define GL_CTHL_PARAM_XCXWC_LENTH user_datas[27] //0.01 小插销标准长度过长的误差值
  156. #define GL_CTHL_PARAM_TDFZ_LENTH user_datas[28] //0.01拖带电机反转长度
  157. #define GL_CTHL_PARAM_WLCDSHEZHI_LENTH (10* user_datas[29]) //0.1无拉链情况再走长度设置
  158. #define GL_CTHL_PARAM_YCYCLE_PULSE user_datas[30]//Y轴转一圈脉冲数
  159. #define GL_CTHL_PARAM_YCYCLE_LENGTH user_datas[31]//Y轴 整数 转一圈拖带多长
  160. #define GL_CTHL_PARAM_CR_MODE user_datas[32]//气缸穿入(0)还时电机穿入(1)
  161. //#define GL_CTHL_PARAM_XXHT_Time (10*user_datas[33])//0.01 插销退回时间
  162. #define GL_CTHL_PARAM_XKDW_Speed (user_datas[33])//斜口定位速度
  163. #define GL_CTHL_PARAM_DXK_DELAY (10*user_datas[34])//0.01 插销退回时间
  164. #define GL_CTHL_PARAM_CXJZ_HT_DELAY (10*user_datas[35]) //0.01插销前夹具延时后退
  165. #define GL_CTHL_PARAM_Y_MAX_LENTH (user_datas[36]) //0.01 合链电机最大行程
  166. #define GL_CTHL_PARAM_SCDW_LENTH (user_datas[37]) //0.01 上止定位延时停电机
  167. #define GL_CTHL_PARAM_TDCR_LowSpeed user_datas[38] //拖带穿入慢速度
  168. #define GL_CTHL_PARAM_TDCR_LowSpeedLength user_datas[39] //拖带穿入慢速距离
  169. #define GL_CTHL_PARAM_HSLYDTL_DELAY (10*user_datas[40]) //0.01 横送料原点延时推料
  170. #define GL_CTHL_PARAM_UP_DOWN_OUT_SELECT (user_datas[41]) //拉链类型 0 树脂,1尼龙
  171. #define GL_CTHL_PARAM_TuiDXM_Lenght (user_datas[42]) //退顶斜码位置
  172. #define GL_CTHL_PARAM_GFJ_WorkMode (user_datas[43]) //公分节操作选择
  173. #define GL_CTHL_PARAM_GFJ_Length (user_datas[44]) //公分节长度标准
  174. #define GL_CTHL_PARAM_QianMaSelect (user_datas[45]) //前码类型选择
  175. #define GL_CTHL_PARAM_ZDP_AUTO user_datas[46] //振动盘控制
  176. #define GL_CTHL_PARAM_Y_ENSelect user_datas[47] //合链电机类型 0 伺服 ,1 步进
  177. //#define GL_CTHL_PARAM_BoardSelect user_datas[48] //板块类型 0 DB15 ,1 无DB15
  178. //输入
  179. #define GL_CTHL_START_IN M0384 //X00 启动
  180. #define GL_CTHL_START_IN_UP (M0384 && !OLDM384)//(X00 && !OLDX00)
  181. #define GL_CTHL_STOP_IN M0385 //X01 停止
  182. #define GL_CTHL_STOP_IN_UP (M0385 && !OLDM385)//(X01 && !OLDX01)
  183. #define GL_CTHL_STOP_IN_DW (!M0385 && OLDM385)//(!X01 && OLDX01)
  184. #define GL_CTHL_FK_Check M0386 //X02方块检测
  185. #define GL_CTHL_XKSC_Limit_IN M0387 //X03斜口上止到位
  186. #define GL_CTHL_XKTD_Origin_IN M0388 //X04斜口推带原位感应
  187. #define GL_CTHL_CXXY_Limit_IN M0389 //X05插稍下移到位
  188. #define GL_CTHL_CXSC_Limit_IN M0390 //X06插稍上止感应
  189. #define GL_CTHL_CXSC_Limit_IN_UP (M0390 && !OLDM390)
  190. #define GL_CTHL_CXSC_Limit_IN_DW (!M0390 && OLDM390)
  191. #define GL_CTHL_CX_Limit_IN M0391 //X07插稍到位感应
  192. #define GL_CTHL_TLiao_Limit_IN M0392 //X10推拉头到位
  193. #define GL_CTHL_HSLiao_Origin_IN M0393 //X11横送料原位
  194. #define GL_CTHL_HSLiao_Limit_IN M0394 //X12横送料到位
  195. #define GL_CTHL_JLiao_Limit_IN M0395 //X13接料到位
  196. #define GL_CTHL_CTM_Origin_IN M0396 //X14穿头模原位
  197. #define GL_CTHL_CTM_Limit_IN M0397 //X15穿头模到位
  198. #define GL_CTHL_First_CT_Origin_IN M0398 //X16一次穿头原位
  199. #define GL_CTHL_LTou_Check M0399 //X17拉头缺料感应
  200. #define GL_CTHL_SF_Origin_IN M0400 //X20伺服原位(穿链原位)
  201. #define GL_CTHL_ZDP_IN M0401 //X21振动盘
  202. #define GL_CTHL_SafeDoor_IN M0402 //安全门(没有不接)
  203. //输出
  204. #define GL_CTHL_FKGD_VAVLE M0304 //Y00 方块固定电磁阀(方块定位)
  205. #define GL_CTHL_XKDW_VAVLE M0305 //Y01 斜口定位电磁阀(方块勾针)
  206. #define GL_CTHL_XKTD_VAVLE M0306 //Y02 斜口推带电磁阀(前码前后)
  207. #define GL_CTHL_GDXM_VAVLE M0307 //Y03 固定斜码
  208. #define GL_CTHL_DXK_VAVLE M0308 //Y04 顶斜口电磁阀(顶斜码)
  209. #define GL_CTHL_CXSCDW_VAVLE M0309 //Y05 插销上止定位电磁阀(小插勾针)
  210. #define GL_CTHL_CXSX_VAVLE M0310 //Y06 插销下移电磁阀(小插销上下)
  211. #define GL_CTHL_BB_VAVLE M0311 //Y07 摆臂(没有不用接)
  212. #define GL_CTHL_CXQJD_VAVLE M0312 //Y10 插销前夹带电磁阀(插销前锁带)
  213. #define GL_CTHL_HLJJ_VAVLE M0313 //Y11 合链夹具电磁阀(夹子)
  214. #define GL_CTHL_CXHDW_VAVLE M0314 //Y12 插销后定位电磁阀(穿小插)
  215. #define GL_CTHL_CXHJD_VAVLE M0315 //Y13 插销后夹带电磁阀(穿小插锁带)
  216. #define GL_CTHL_FKJD_VAVLE M0316 //Y14 方块夹带电磁阀(大插锁带)
  217. #define GL_CTHL_TLiao_VAVLE M0317 //Y15 推料电磁阀
  218. #define GL_CTHL_HSLiao_VAVLE M0318 //Y16 横送料电磁阀
  219. #define GL_CTHL_JLTou_VAVLE M0319 //Y17 接拉头电磁阀
  220. #define GL_CTHL_CTXMSS_VAVLE M0320 //Y20 穿头下模上升电磁阀
  221. #define GL_CTHL_CTXMXJ_VAVLE M0321 //Y21 穿头下模下降电磁阀
  222. #define GL_CTHL_First_CT_VAVLE M0322 //Y22 穿拉头电磁阀
  223. #define GL_CTHL_MGuo_VAVLE M0323 //Y23 码勾电磁阀
  224. #define GL_CTHL_CXDWZ_VAVLE M0324 //Y24 插销定位针(到位)电磁阀(小插卡位)
  225. #define GL_CTHL_ZhenDongPian_OUT M0325 //Y25 振动盘启动
  226. #define GL_CTHL_Run_State M0329 //Y31 运行灯
  227. #define GL_CTHL_Stop_State M0330 //Y32 停止灯
  228. //M0~M4全局固定使用
  229. /*
  230. #define bRunning M0000
  231. #define bStart M0001
  232. #define bStop M0002
  233. #define bAlarmStop M0003
  234. #define bClearTotal M0004
  235. */
  236. #define GL_CTHL_bTLiao M0005 //手动推料
  237. #define GL_CTHL_bHSL M0006 //手动横送料
  238. #define GL_CTHL_bJLT M0007 //接拉头
  239. #define GL_CTHL_bMG M0008 //码勾
  240. #define GL_CTHL_bFKJD M0009 //方块夹带
  241. #define GL_CTHL_bXKTD M0010 //斜口推带
  242. #define GL_CTHL_bXKDW M0011 //斜口定位
  243. #define GL_CTHL_bCTXM M0012 //穿头下模
  244. #define GL_CTHL_bDXK M0013 //顶斜口
  245. #define GL_CTHL_bFKGD M0014 //方块固定
  246. #define GL_CTHL_bCXQJD M0015 //插销前夹带
  247. #define GL_CTHL_bCXSY M0016 //插销下移电磁阀
  248. #define GL_CTHL_bCXDWZ M0017 //Y14 插销定位针电磁阀
  249. #define GL_CTHL_bCXHJD M0018 //Y15 插销后夹带电磁阀
  250. #define GL_CTHL_bCXHDW M0019 //Y16 插销后定位电磁阀(插销穿入)
  251. #define GL_CTHL_bXKGD M0020 //Y17 固定斜码电磁阀
  252. #define GL_CTHL_bFirst_CT M0021 //Y20 一次穿头电磁阀(穿拉头)
  253. #define GL_CTHL_bHLJJ M0022 //Y21 合链夹具电磁阀
  254. #define GL_CTHL_bCXSCDW M0023 //Y23 插销上止定位电磁阀
  255. #define GL_CTHL_bCXHT M0034 //Y10 插销后退
  256. #define GL_CTHL_bHL M0035 //合链电磁阀
  257. #define GL_CTHL_bZDP M0036 //振动盘
  258. #define GL_CTHL_bBB M0037 //摆臂
  259. #define GL_CTHL_bTiaoShiStep M0041
  260. #define GL_CTHL_bTiaoShiMode M0040
  261. #define GL_CTHL_bOnceStart M0042 //单一启动,做一条停止
  262. #define GL_CTHL_bCLMotor_P M0026 //穿链电机正转
  263. #define GL_CTHL_bCLMotor_N M0025 //穿链电机反转
  264. //下面为动作组合按键
  265. #define GL_CTHL_bAutoZhuangLiao M0024 //自动装料
  266. #define GL_CTHL_bCLMotor_O M0027 //穿链电机定位原点
  267. #define GL_CTHL_bCL_First M0028 //一次穿链动作
  268. #define GL_CTHL_bFKTDDW M0029 //拖带方块定位
  269. #define GL_CTHL_bFKCXTDDW M0030 //拖带方块插销定位
  270. #define GL_CTHL_bCXMotorDW M0031 //插销电机前定位
  271. #define GL_CTHL_bCXCR M0032 //插销穿入(包含电机前定位,插销下移,后夹,后定位)
  272. #define GL_CTHL_bMotorHL M0033 //电机合链操作
  273. //
  274. //#define QDCT_TOTAL_ADDR 8
  275. //#define QDCT_NOWTOTAL_ADDR 10
  276. //#define QDCT_SETTOTAL_ADDR 12
  277. //#define QDCT_SPEED_ADDR 14
  278. //#define QDCT_ALARM_ADDR 100
  279. //#define QDCT_NO_ALARM 0
  280. //#define QDCT_EX_ALARM 40
  281. #define JYDC_FILTER user_datas[39]
  282. #endif