简思中文编程PLC入门:运动控制+开关量支路控制
【控制要求】
①实现主/支路控制:主路控制一路伺服电机和四路电磁阀;支路实现另外四路电磁阀的流水灯控制。
②主路需要实现对电机脉冲位置比较位移段并控制电磁阀动作。
③急停控制。
④采用简思四代PLC,型号:SFa-1616A2MT。
【流程图说明】

【元件说明】
PLC输入端:X0-启动按钮;X1-急停按钮。
PLC输出端:Y0-电机脉冲信号(程序中无需设置该端口),Y2-电机方向信号(程序中无需设置该端口),Y10-气缸1号,Y11-气缸2号,Y12-气缸3号,Y13-气缸4号,Y14-气缸5号,Y15-气缸6号,Y16-气缸7号,Y17-气缸8号。
特别说明:伺服电机/步进电机均属于运动控制类,PLC支持24V脉冲输出信号,若电机驱动器支持24V脉冲,则可以将驱动器的脉冲信号和方向信号线直接连接到PLC输出端的脉冲控制端口,此时用作运动控制的输出端口就不能做普通开关量控制;若电机驱动器不支持24V脉冲信号,电机驱动器的方向线和脉冲线都必须串一个2.2K电阻。
【软件别名】
PLC输入端:

PLC输出端:请注意Y0和Y2在实际程序中是不需要用到的,只是此处别名以示区分。

时序环别名:

【编程指令要义】
输入端:“等待输入X通”,等外部条件给信号到PLC。
普通输出端:“触发输出Y通/断”,用于控制电磁阀的通断执行。
伺服电机控制指令:运动指令版块,其中涉及到“速度控制”-给电机赋予速度比值;“单轴运动”-给电机赋予位移长度;“单轴等待”-等待正在运行的电机停止;“单轴操作”-控制电机停止或运行,或回零。
【程序编辑】
①流程主干动作在时序环0环实现:

程序解析:
严格对照流程图编辑,一个动作一条指令,此处解析侧重于帧3、帧6-帧15、帧18。
帧3:“触发标志M0通”,用标志M0作为支路的启动信号,支路启动需要从主程序中传递过去。
帧18:“等待标志M0断”,表示支路动作执行完成反馈回主程序的信号,其中M0断的动作是在支路程序的结尾处完成的。
帧6-帧8:电机的第一次启动。
帧6表示 此次赋予电机的速度比值,常数值为500,该处速度是以每秒发送的脉冲个数计算(无论流程中是否有赋予速度的要求,在实际编程时都必须给电机速度,无速度不位移);
帧7表示电机位移值,也就是脉冲个数,同时还要在属性处设置电机运动方式:增量;电机运动方向:正向(正转);最后设定电机位移:5000。

帧8“单轴等待”表示此处等待电机走完5000个脉冲数后停止下来 ,有效的避免程序直接向下执行。
帧11:“赋值运算”,Pa1=D0+D0,0+0所有的结果都是0,此处赋值是将前面伺服电机走过的5000个脉冲位置清零,为保证下面电机执行位移比较指令打好铺垫。
帧12-帧13:电机的第二次启动。
帧12表示此处赋予电机的速度比值,常数值为800,该处速度是以每秒发送的脉冲个数计算(无论流程中是否有赋予速度的要求,在实际编程时都必须给电机速度,无速度不位移);
帧13表示电机位移值,也就是脉冲个数,同时还要在属性处设置电机运动方式:增量;电机运动方向:正向(正转);最后设定电机位移:10000。

帧14:“逻辑比较”,对电机的脉冲位置进行比较,P1>W0,在W0寄存器中保存此次需要的比较数值:3000,当电机运行脉冲大于3000时,就执行下面的动作。
帧15:“触发输出Y13通”,此处电磁阀启动,是上一条比较指令满足后才会执行。
帧16:“单轴等待”表示等待电机走完10000个脉冲数后停止下来 ,有效的避免程序直接向下执行。
②流程支路动作在时序环1环实现:

程序解析:
严格对照流程图编辑,一个动作一条指令。
帧0:“等待标志M0通”,此处M0通信号是在主程序0环的帧3“触发标志M0通”指令传递过来的。
帧1:“触发输出Y14-017通”,采用多端口连续触发模式,一条指令将输出脚Y14,Y15,Y16,Y17四个端口全部触发为通。
帧2-帧9:四路电磁阀按逆序方式,挨个熄灭,期间每一路延时时间均为1s。
帧10:“触发标志M0断”,结束分支启动信号。
③急停动作在时序环2环实现:

程序解析:
帧0:“等待输入X1通”,急停按钮有信号。
帧1-帧2:控制0环和1环停止并返回0帧,急停程序要将所有的主程序和支路程序均控制为停止状态并复位到程序起始位置,除去急停本环。
帧3-帧5:“触发输出Y10-Y17断”,断开所有的电磁阀信号;“触发标志M0断”断开支路启动信号;“单轴操作A1-紧急停止”,控制伺服电机停止。此处操作是将整体程序的所有输出动作,包含电机部分以及标志M信号全部断开。
帧6:“等待输入X1断”,解除急停,断开急停按钮。
帧7-帧8:“控制0环和1环恢复成运行状态,再次给启动信号时,动作会再次执行。请注意,若不写该指令程序,则所有动作一直是出于停止状态,无论人为怎么给信号 ,动作都不会执行,所以急停程序有控制停止就必须恢复运行。