西门子S7-1200PLC高速计数编程模式和应用实例
高速计数器寻址
高速计数器工作模式
应用举例
看完秒懂丨西门子S7-200 PLC 高速计数器简单案例看完秒懂
最近有很多人咨询有关西门子S7-200 PLC高速计数器的问题,所以今天来看一个程序案例应用吧,对这个案例,我们以两种方法来实现它。通过对高速计数器应用的练习,来更好的掌握高速计数器的内容。
1、用比较指令来实现正反转控制 ,按下启动按钮I0.3,Q0.0输出,电机正转,高速计数器计到50个脉冲后电机停止,过5秒后Q0.1输出,电机反转,计数器计到50个脉冲后电机停止,过5s后又开始电机的正转,如此循环。
主程序:
子程序 :
以上的程序中,首先做一个高速计数器初始化的子程序, 首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,这里写入初始值为0和预设值为50,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器。
因为控制要求是按下启动按钮I0.3,Q0.0输出,电机正转。 首先就做个起保停程序,I0.3启动串联I0.4停止,来驱动输出Q0.0并做Q0.0的自锁,同时做一个用I0.3的上升沿来调用高速计数器初始化子程序,注意这里的起保停是有做正反转的互锁的。然后再用Q0.0常开触点串联一个HC0大于等于SMD42的比较指令来输出M0.0,并把M0.0的常闭触点串联在起保停程序中,作为高速计数器计到50个脉冲后电机停止。
电机停止过5秒后Q0.1输出,电机反转,那么我们就用M0.0来置位M0.1,再用M0.1常开触点来驱动来驱动定时器T37延时5秒,并用T37常开触点来驱动复位M0.1,这里是为了让定时器定时时间到时复位定时器。然后再用T37常开触点来驱动输出Q0.1并做Q0.1的自锁,同时也用T37的上升沿来调用高速计数器初始子程序。然后再用Q0.1常开触点串联一个HC0大于等于SMD42的比较指令来输出M0.2,并把M0.2的常闭触点串联在起保停程序中,作为高速计数器计到50个脉冲后电机停止。
电机停止过5s后又开始电机的正转,那么我们就用M0.2来置位M0.3,再用M0.3常开触点来驱动来驱动定时器T38延时5秒,并用T38常开触点来驱动复位M0.3,这里也是为了让定时器定时时间到时复位定时器。同时我们用T38常开触点并联在电机正转的控制程序上,这样可以实现循环。
2、用中断来实现正反转控制, 按下启动按钮I0.3,Q0.0输出,电机正转,高速计数器计到50个脉冲后电机停止,过5秒后Q0.1输出,电机反转,计数器计到50个脉冲后电机停止,过5s后又开始电机的正转,如此循环。
主程序:
子程序:
中断程序:
以上的程序中,首先做一个高速计数器初始化的子程序 ,首先是定义控制字节,送16#F8到SMB37,定义为加计数更新当前值,这里写入初始值为0和预设值为50,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器,还做了高速计数器中断,建立中断程序0和中断事件12的中断连接,并全局允许中断。
在主程序中,用SM0.1的上升沿调用高速计数器初始化子程序,因为控制要求是按下启动按钮I0.3,Q0.0输出,电机正转,就用I0.3常开触点来置位Q0.0,并用I0.3的上升沿激活高速计数器。控制还要求当高速计数器计到50个脉冲后电机停止,那么当计数当前值等于预设值50时就进入中断程序去执行,我们就可以在中断程序中编写用Q0.0常开触点串联Q0.1常闭触点来复位Q0.0并置位M0.0,那么当当前值等于预设值时复位Q0.0电机停止,并置位M0.0,然后又回到主程序进行执行。
电机停止过5秒后Q0.1输出,电机反转 ,在主程序中用M0.0常开触点驱动定时器T37延时5秒,并用T37常开触点来复位M0.0复位定时器和置位Q0.1,并用T37的上升沿激活高速计数器。当高速计数器计到50个脉冲后电机停止,那么当计数当前值等于预设值50时就进入中断程序去执行,我们就可以在中断程序中编写用Q0.1常开触点串联Q0.0常闭触点来复位Q0.1并置位M0.2,那么当当前值等于预设值时复位Q0.1电机停止,并置位M0.2,然后又回到主程序进行执行。
电机停止过5s后又开始电机的正转, 那么我们就用M0.2来驱动来驱动定时器T38延时5秒,并用T38常开触点来驱动复位M0.2,这里也是为了让定时器定时时间到时复位定时器。同时我们用T38常开触点并联在电机正转的控制程序上,这样可以实现循环。
那么以上就是用了两种方法来实现正反转的控制,利用中断的方法可能会难理解一下,但是其实分析清楚执行过程也是不难的,对吗。
相关问答
欧姆龙plc高速计数器编程实例?
欧姆龙plc高速计数器的编程实例通过PRV指令,可以读取输入脉冲的频率,进行高速计数器的频率测定,将被测定频率以Hz为单位、十六进制8位输出,并且仅可在高速计...
plc编程怎么编高速运转与低速运转?
您好,PLC编程可以通过设置不同的速度参数来实现高速运转和低速运转。1.高速运转编程:(1)确定高速运转的条件,如传感器信号、计数器数值等。(2)设置高...
谁能给我一个西门子200PLC高速脉冲输出程序实例,用位置导向的那种?
一般是QO.1,Q0.0是脉冲发出信号,用PTO向导简单的就能发出告诉脉冲,我不知道你用的什么伺服驱动器,我这用的西门子V80和V60,给你一个V80调试说明书,希望对你...
求西门子plc编程实例?
[回答]S7-200的编程例子可以参考其系统手册附录S7-300/400的例子在其Step7软件安装完毕后已经提供了10个例程。S5基本上已经停产,所以再学习也没有啥意...
西门子plc编程软件中网络1、网络2是什么意思?有什么用?-ZOL问答
SIEMENS的指令里面没有这个指令的,是编程者自己定义的一个中间继电器的变量。...这两个网络就像工厂里的信息高速公路,让PLC与控制器、伺服驱动器等设备快速交换...
三菱plc高速计数指令详解?
三菱PLC的高速计数指令是针对高速计数器的指令。具体分为两种:1.计数通道类型的高速计数指令:包括CNT和CNTR指令,主要用于计数通道的计数处理。2.外...
plc西门子编程怎么实现步进电动机闭环控制?
可以实现步进电动机闭环控制。因为PLC西门子编程具备高速性、精确性、可靠性等特点,在控制步进电动机闭环的过程中可以高效准确地调整电机的位置和步长,实现闭...
旋转编码器在PLC中应用,怎样编程?变频器控制速度!求程序?
控制电机正反转似乎不需要旋转编码器,编码器是用来测速的,1,开关量控制:将PLC的输出触点与变频器的正转,反转,高速,中速,低速触点连接,再在变频器上设置高中...
plc高速输入有几种方法?
模拟量输入点(AI),处理模拟量输入信号(0-20mADC,0-5VDC)。电阻信号(含热电阻)输入点,处理热电阻或一般电阻信号。高速脉冲输入点,处理高速脉冲信号。...电...
台达plc高速计数指令怎么写?
台达的高速计数器一般是c235到c254,你用的是哪个高速计数器,现在值就存在哪个高速计数器中,比如,你用c235,现在值就在c235中,和普通的计数器c0,c1什么的是...