一、 任务描述
1、案例(项目)描述如下,有一台触摸屏,连接了一台3U的PLC,PLC下面带了一台步进电机,现在需要写一段控制的程序对步进电机进行控制。( 步进电机步距角1.8,螺距2mm,细分设置为4;X5是负极限 ,X4是原点,X3是正极限)。
2、要求:1)手动模式下,可自动正反转。
2)按下回原点按钮,能够自动回原点,回完原点才可进行自动。
3)自动模式下,同时原点回归完毕 ,按下启动按钮,电机按照设定的位置走(位置1——位置2——位置3——位置4——位置5——位置1)不断循环。
4)按下急停按钮按钮,步进电机立即停止运行。需重新执行一次原点回归指令。
5)按下暂停按钮时,设备停止,重新按下启动时设备继续动作。
二、元件选型I/O排布
1、电气元件选型: 2、I/O分配:三、电机接线
四、程序编写
1、手动控制:M8343和M8344分别是Y0轴的正负极限特殊继电器,直接和外部信号一一对应,这样电机碰到对应的极限就会停,在手动M2断开时,M2常闭触点导通,触摸屏的正反转按钮M3和M4控制了可变速脉冲输出指令控制电机正反转,频率暂时固定为3000HZ。
2、原点回归:PLC开机时,用M8002设置爬行速度和回归速度,把回归速度设置为3000HZ,爬行速度设置为500HZ;
当plc开机时,或者触摸屏按下回原点按钮M5时,触发M0去驱动原点回归指令,执行原点回归,执行完毕就复位M0,同时置位M1,M1置位原点回归完成标志位,它导通了说明原点回归完成,后面才可以控制自动控制的动作。
3、数据计算:已知步进电机步距离角1.8°,细分4,也就是一个脉冲走的角度是1.8/4=0.45°,360°除以0.45度,等于800,也就是发送800个脉冲转动一圈,已知螺杆的螺距是2mm,电机转动一圈走2mm,需要800个脉冲,可以得出脉冲当量=2mm/800 =0.0025mm
计算时,用距离除以脉冲当量就是实际脉冲数,把5个位置的距离从D200、D202、D204、D206、D208转化到D0、D2、D4、D6、D8。
D8340是Y0周的位置信息,把脉冲信息通过DFLT指令转换成浮点数,然后乘以脉冲当量,就得出实际距离,放在D210里面,在触摸屏进行显示。
4、自动控制启停:在手动状态,并且回原点完成,D100 =0时,就进入第1步动作,导通M7启动标志位,顺序运行的程序在后面写。
按下停止按钮复位D100,复位原点回归完成,复位启动标志。
5、顺序控制:动作需要逆序写,第一步写在最后,动作完成M8029会导通,使用INC让D100加1,后面每一步都一样;运行到第5步,用M8029导通M10线圈,M10的常开写在这一行程序上面,用MOV指令让D100回到第1步,这样写是为了隔开一个扫描周期,让第5步的动作和第一步的定位指令不在同一个扫描周期里面运行。
触摸屏做M7的按钮时,要选择复位按钮,按下停止,就只能断开M7,下次按下启动时,就重新导通M7,重新运行。
以上就是我们案例的全部内容了,这里再留一个思考题目给大家,如果需要在触摸屏上面设置一个速度的输入框,单位是mm/s,能实现对速度的调节,该如何编写程序?