欧姆龙PLC CJ2M标准程序:控制12个伺服电机与气缸的模块化程序设计指南
欧姆龙, PLC CJ2M标准程序一共控制12个伺服电机 气缸若干包含轴点动回零相对与绝对定位整个项目的模块都有:主控程序复位程序手动生产计数只要弄明白这个程序就可以非常了解整个项目的程序如何去编写从哪里开始下手可提供程序问题解答程序流程清晰明了程序还有与机器人通讯包含有触摸屏与电路图拆解欧姆龙CJ2M标准程序就像拆乐高积木关键得找准拼装顺序。这个控制12轴伺服的项目主程序里藏着个总指挥——MAIN_LOOP块。先看这段热乎的初始化代码MOV #8000 D100 MOV #500 D101 FOR #0 TO 11 SERVO_CTRL[#0].ENABLE : TRUE SERVO_CTRL[#0].ACC_TIME : D100 SERVO_CTRL[#0].DEC_TIME : D101 NEXT这段硬核操作相当于给12个伺服挨个装上了油门和刹车。D100存的加速时间D101管减速时间像给每个电机定制了专属驾驶模式。注意那个循环结构用FOR指令批量处理12轴参数比逐个写12遍清爽多了。手动模式里藏着个骚操作——轴点动用到了双线圈互锁。看这个JOG正转逻辑IF HMI_JOG_FWD[0] AND NOT HMI_JOG_REV[0] THEN AXIS[0].JOG_SPEED : 3000 AXIS[0].JOG_DIR : CW JOG_EXECUTE[0] : TRUE ELSE JOG_EXECUTE[0] : FALSE END_IF这里用AND NOT实现了正反转按钮的物理互锁比用辅助继电器省了三个触点。注意速度单位是脉冲/秒换算成实际转速得看伺服的电子齿轮比。有个坑我踩过JOG_EXECUTE信号必须用微分指令触发否则容易造成伺服使能冲突。欧姆龙, PLC CJ2M标准程序一共控制12个伺服电机 气缸若干包含轴点动回零相对与绝对定位整个项目的模块都有:主控程序复位程序手动生产计数只要弄明白这个程序就可以非常了解整个项目的程序如何去编写从哪里开始下手可提供程序问题解答程序流程清晰明了程序还有与机器人通讯包含有触摸屏与电路图定位模块里藏着个时间魔术——绝对定位和相对定位共享同一套移动指令CASE HMI_OPERATION_MODE OF 0: AXIS[0].MOVE_ABS(POS_SET, 5000); 1: AXIS[0].MOVE_REL(INC_SET, 5000); END_CASE重点在参数传递方式绝对定位用固定地址POSSET相对定位用增量地址INCSET。5000是速度参数实测发现超过8000容易触发过冲报警。回零程序里有个黑科技——Z相捕获用到了高速计数器中断比普通搜索零点快三倍。生产计数模块玩的是位偏移魔法MOV PROD_COUNT D200 SHL D200 4 ADD D200 1 MOV D200 PROD_COUNT这个用位移代替乘法的操作把产量统计压缩到4位显示同时用高12位存批次号。和机器人通讯那块EtherCAT的PDO映射设置是关键特别是同步管理器配置搞错一个偏移量能让机器人跳机械舞。整个程序最精髓的是状态机设计用五个状态位实现模式切换STATE_REGISTER : INIT_MODE * 16#01 MANUAL_MODE * 16#02 AUTO_MODE * 16#04 ERROR_MODE * 16#08 RESET_MODE * 16#10;这种位操作的状态管理比用多个BOOL变量节省了70%的内存空间。调试时可以用十六进制监控直接看出当前状态组合比逐个查BOOL爽快得多。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2523952.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!