codesys平台 汇川中型PLC AM400 AM600 手轮接线以及程序上的相关设置指南 ECAT轴【调试笔记】

codesys平台 汇川中型PLC AM400 AM600 手轮接线以及程序上的相关设置 ECAT轴【调试笔记】

  1. 背景

使用汇川中型PLC AM600

      使用5V分差型手轮

2.设备环境配置

PLC接线图

手轮接线图

3.编写程序前相关配置

新建一个程序,找到HIGH_SPEED_IO钩选计数器0,计数模式我选的是1倍频,X0映射为PLC端32-32口,X1映射为PLC端28-26口

找到计数器参数设置,可以看到计数器0的实例名HS_Counter0记下来,后面映射会用到

找到SoftMotion General Axis Pool 添加设备

供应商选择(全部供应商),在下面找到自由编码器选择SMC_FreeEncoder确定,这样虚轴建立完成了

             后面建立ECAT轴就不说明了,建立3个轴XYZ

4.全局变量定义

5. 程序编写

IF 急停 THEN

//X轴
MC_错误状态[1](Axis:=X_Axis,Enable:=NO_1, AxisError=> X_错误状态,);
MC_坐标读取[1](Axis:=X_Axis,Enable:=NO_1,Position=>X_当前坐标);
MC_使能控制[1](Axis:=X_Axis,Enable:=NO_1,bRegulatorOn:=NOT X_错误状态 AND X_GO_使能,bDriveStart:= NO_1,bRegulatorRealState=>X_使能状态);
MC_复位[1](Axis:=X_Axis,Execute:=GO_复位);
MC_点动[1](Axis:=X_Axis,JogForward:=X_点动_正转,JogBackward:=X_点动_反转,Velocity:=点动速度,Acceleration:=加减速度,Deceleration:=加减速度);
MC_相对[1](Axis:=X_Axis,Execute:=X_GO_相对位 , Distance:=X_相对位置, Velocity:=自动速度 , Acceleration:=加减速度, Deceleration:=加减速度,Busy=>X_轴相对移动中);
MC_绝对[1](Axis:=X_Axis,Execute:=X_GO_绝对位 ,Position:=X_绝对位置,Velocity:=自动速度,Acceleration:= 加减速度,Deceleration:= 加减速度,Busy=>X_轴绝对移动中);
IF MC_绝对[1].Done THEN X_GO_绝对位:=FALSE; END_IF
IF MC_相对[1].Done THEN X_GO_相对位:=FALSE; END_IF
X_转换坐标:=LREAL_TO_INT(X_当前坐标);

//Y轴
MC_错误状态[2](Axis:=Y_Axis,Enable:=NO_1, AxisError=> Y_错误状态,);
MC_坐标读取[2](Axis:=Y_Axis,Enable:=NO_1,Position=>Y_当前坐标);
MC_使能控制[2](Axis:=Y_Axis,Enable:=NO_1,bRegulatorOn:=NOT Y_错误状态 AND Y_GO_使能,bDriveStart:= NO_1,bRegulatorRealState=>Y_使能状态);
MC_复位[2](Axis:=Y_Axis,Execute:=GO_复位);
MC_点动[2](Axis:=Y_Axis,JogForward:=Y_点动_正转,JogBackward:=Y_点动_反转,Velocity:=点动速度,Acceleration:=加减速度,Deceleration:=加减速度);
MC_相对[2](Axis:=Y_Axis,Execute:=Y_GO_相对位 , Distance:=Y_相对位置, Velocity:=自动速度 , Acceleration:=加减速度, Deceleration:=加减速度,Busy=>Y_轴相对移动中);
MC_绝对[2](Axis:=Y_Axis,Execute:=Y_GO_绝对位 ,Position:=Y_绝对位置,Velocity:=自动速度,Acceleration:= 加减速度,Deceleration:= 加减速度,Busy=>Y_轴绝对移动中);
IF MC_绝对[2].Done THEN Y_GO_绝对位:=FALSE; END_IF
IF MC_相对[2].Done THEN Y_GO_相对位:=FALSE; END_IF
X_转换坐标:=LREAL_TO_INT(Y_当前坐标);

//Z轴
MC_错误状态[3](Axis:=Z_Axis,Enable:=NO_1, AxisError=> Z_错误状态,);
MC_坐标读取[3](Axis:=Z_Axis,Enable:=NO_1,Position=>Z_当前坐标);
MC_使能控制[3](Axis:=Z_Axis,Enable:=NO_1,bRegulatorOn:=NOT Z_错误状态 AND Z_GO_使能,bDriveStart:= NO_1,bRegulatorRealState=>Z_使能状态);
MC_复位[3](Axis:=Z_Axis,Execute:=GO_复位);
MC_点动[3](Axis:=Z_Axis,JogForward:=Z_点动_正转,JogBackward:=Z_点动_反转,Velocity:=点动速度,Acceleration:=加减速度,Deceleration:=加减速度);
MC_相对[3](Axis:=Z_Axis,Execute:=Z_GO_相对位 , Distance:=Z_相对位置, Velocity:=自动速度 , Acceleration:=加减速度, Deceleration:=加减速度,Busy=>Z_轴相对移动中);
MC_绝对[3](Axis:=Z_Axis,Execute:=Z_GO_绝对位 ,Position:=Z_绝对位置,Velocity:=自动速度,Acceleration:= 加减速度,Deceleration:= 加减速度,Busy=>Z_轴绝对移动中);
IF MC_绝对[3].Done THEN Z_GO_绝对位:=FALSE; END_IF
IF MC_相对[3].Done THEN Z_GO_相对位:=FALSE; END_IF
X_转换坐标:=LREAL_TO_INT(Z_当前坐标);
	
END_IF
MC_轴停止[1](Axis:=X_Axis,Execute:=GO_停止,Deceleration:=1000);
MC_轴停止[2](Axis:=Y_Axis,Execute:=GO_停止,Deceleration:=1000);
MC_轴停止[3](Axis := Z_Axis,Execute:=GO_停止,Deceleration:=1000);


P_急停      (CLK:=急停);
IF 急停=FALSE THEN
	GO_停止 := TRUE;
END_IF
IF P_急停.Q THEN
	GO_停止 := FALSE;
END_IF

6.人机程序编写

信捷PLC手轮控制程序是一种用于控制机械设备的程序。其主要功能是通过手轮控制系统中的运动,实现对机械设备的精确控制。 该程序通过信捷PLC硬件结构实现,包括主控制器、输入输出模块、运动控制器等。在程序中,首先需要进行硬件设备的初始化,包括输入输出端口的设置和通信设置等操作。 在控制模式设置阶段,可以选择手动控制模式或自动控制模式。在手动控制模式下,通过手轮进行控制,可以实现对设备移动、转动等运动的精确控制。在自动控制模式下,则可以通过程序预设的运动轨迹,实现对设备的自动控制。 在手轮控制模式下,程序会实时读取手轮的位置和速度信息。当手轮被旋转时,程序会根据旋转方向和速度大小来调整设备的运动状态。通过反馈控制算法,可以实现设备运动的闭环控制,从而确保控制的精确性和稳定性。 此外,该程序还可实现一些附加功能,如设备状态监测、报警处理等。当设备发生异常或超出设定范围时,程序会触发相应的报警,通过声音、光线等方式提醒操作人员。 在编写该程序时,需要根据具体的控制需求进行逻辑设计和编码。编写完成后,还需要进行验证和调试,确保程序的正常运行。 综上所述,信捷PLC手轮控制程序是一种用于实现对机械设备精确控制的程序。通过手轮控制系统中的运动,可以实现对设备的移动、转动等操作。这一程序可以应用于各种工业领域,为生产过程提供便利和高效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值