用增量型旋转编码器控制的电机正反转的PLC编程设计与解析
有一求助帖:增量型旋转编码器能控制的电机正反转?可以的话如何用PLC来实现它的正反转?求实例
解答:可以用增量型旋转编码器控制电机的的正反转。增量型旋转编码器有双通道脉冲输出A与B,其A、B二路脉冲相位差=90度,见下图
编码器正转时A脉冲引前B脉冲90度,即A脉冲由0上跳为1时,B脉冲仍=0,经过1/4周期(延迟90度),B脉冲才由0上跳为1,见上左图。
编码器反转时A脉冲滞后B脉冲90度,即A脉冲由0上跳为1时,B脉冲已提前90度由0变1,经过1/4周期(延迟90度),B脉冲由1下跳为0,见上右图。我们可以利用AB脉冲的这一特性来识别编码器的正反转,进而可用它控制电机的正转、反转及停车。
一、编程构思:设I0.0为A脉冲输入口,I0.1为B脉冲输入口,Q1.0 为电机正转接触器的输出口,Q1.1 为电机反转接触器的输出口,
由上面的A B脉冲波形图可知:B脉冲正跳沿出现时,如A脉冲处于高电平,则编码器处于正向转动状态,如A脉冲处于低电平,则编码器处于反向转动状态,这样我们就利用2个SR触发器来实现辨别编码器的转动方向是正、还是负、还是停。见下梯形图:
二、PLC编程:
程序说明:
网络1 为电机正转、停车程序,用I0.1=1的前沿(B脉冲)触发S R触发器,如此时刻I0.0=1(即A脉冲输出为正),就触发SR1的S端使其置1,即Q1.0=1,电机正转。如此时刻I0.0=0(即A脉冲输出为负),就触发SR1的R端使其置0,即Q1.0=0,电机正转停。
网络2 为电机反转、停车程序,用I0.1=1的前沿(B脉冲)触发S R2触发器,如此时刻I0.0=0(即A脉冲输出为负),就触发SR2的S端使其置1,即Q1.1=1,电机反转运行。如此时刻I0.0=1(即A脉冲输出为正),就触发SR的R端使其置0,即Q1.1=0,电机反转停。
网络1触发S R1与网络2触发S R2的的控制条件正好相反,即当I0.0=1时,I0.1=1的前沿触发SR1的S端,同时又触发SR2的R端,使Q1.0=1、Q1.1=0,即正转接触器得电吸合,而反转接触器失电断开。当I0.0=0时,I0.1=1的前沿触发SR1的R端,同时又触发SR2的S端,使Q1.0=0、Q1.1=1,即反转接触器得电吸合,而正转接触器失电断开。从而避免Q1.0与Q1.1同时得电吸合的错误状态。
网络3 为使电机停车的触发条件:用I0.1的前沿连接断电延时定时器T101,只要编码器转动,T101恒=1,只有编码器停止转动,延时10秒后T101失电断开,T101=0,其由1变0的负跳沿,同时触发SR1、SR2的R端,使Q1.0与Q1.1皆=0,即电机停。
本文到此结束,希望能对PLC初学者有所帮助与启示,如有不妥之处,请给予指正,本人深表感谢!