在用PLC控制步进电机时,需要PLC输出脉冲控制步进电机驱动器,在很多其他场合也可能用到脉冲输出。西门子S7-200SMART系列PLC的脉冲输出指令为PLS,这条指令具体要如何用呢,如何让PLC输出一连串特定频率的脉冲呢?
想要输出我们期望的那脉冲串,就要能设定脉冲频率与脉冲数量,如何设定,就需要我们在特殊标志存储器(SM存储区)的对应存储单元中写入正确的数据并使用PLS指令。
以PLC控制步进电机为例,假定步进电机转一圈需要200个脉冲,现要求步进电机以每秒5转的速度运行30秒,应该如何编程呢。我们先计算下脉冲频率与数量,每秒5转,那么一秒内要发200乘以5=1000个脉冲,频率就是1000,运行30秒,就一共要30000个脉冲。(后面有梯形图)
首先我们看下PLS指令的基本格式,这条指令只有一个参数N,用于指定输出通道。N=0使用输出点Q0.0作为脉冲输出通道,N=1或2时,通道分别为Q0.1或Q0.3。
我们要正确使用每个通道输出脉冲,先查手册上与PLS指令相关的内容:PLS 指令读取存储于指定 SM 存储单元的数据,并相应地编程 PTO/PWM生成器。SMB67 控制 PTO0 或 PWM0,SMB77 控制 PTO1 或 PWM1,PWM1,SMB567 控制PTO2 或 PWM2。通过修改 SM 包括控制字节)中的单元,然后执行 PLS 指令,来改变 PTO 或者PWM 波形的特性。下面的图给出了与PTO0相关的SM存储单元。
以Q0.0做为脉冲输出通道为例,我们必须使用PTO模式,Q0.0对应PTO0,先将脉冲的有频率与个数写入到对应SM存储单元:SMW68(PTO0的频率),SMD72(PTO0通过Q0.0输出脉冲的数量),控制字写入SMB67,然后执行一条PLS指令就可以了,梯形图如下:
十六进制16#C5二进制数为1100 0101,所以查控制字SMB67可知16#C5是意义为:使能Q0.0的脉冲输出,使用PTO模式,更新频率与脉冲计数值。
这样,一个完整而简单的脉冲输出程序就编写完了。
审核编辑 :李倩
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)