电工学习网

 找回密码
 立即注册
查看: 2473|回复: 0

西门子PLC高速计数器的简单应用

[复制链接]
发表于 2021-1-6 12:27:46 | 显示全部楼层 |阅读模式
  对于高速计数器应用的练习,闲的没事练练手,熟悉熟悉技能。
1、用比较指令来实现正反转控制,按下启动按钮10.3,Q0.0输出,电机正转,高速计数器计到50个脉冲后电机停止,过5秒后Q0.1输出,电机反转,计数器计到50个脉冲后电机停止,过5s后又开始电机的正转,如此循环。
6374552160061815459737769.jpg

6374552161049059379287568.jpg

6374552162047502874038427.jpg

子程序
6374552166964721085614543.jpg

6374552167728810934280975.jpg


  以上的程序中,首先做一个高速计数器初始化的子程序,首先是定义控制字节,送16#F8到SMB37, 定义为加计数更新当前值,这里写入初始值为0和预设值为50,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器。
  因为控制要求是按下启动按钮10.3,Q0.0输出,电机正转。首先就做个起保停程序,10.3启动串联10.4停止,来驱动输出Q0.0并做Q0.0的自锁,同时做一个用10.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、用中断来实现正反转控制,按下启动按钮10.3,Q0.0输出,电机正转,高速计数器计到50个脉冲后电机停止,过5秒后Q0.1输出,电机反转,计数器计到50个脉冲后电机停止,过5s后又开始电机的正转,如此循环。

6374552213076293751444175.jpg

6374552214396272706676984.jpg

6374552215402529303468586.jpg

子程序
6374552216707228244216254.jpg

6374552218274433128261970.jpg

中断程序
6374552220307256087018052.jpg


  以上的程序中,首先做一个高速计数器初始化的子程序,首先是定义控制字节,送16#F8到SMB37 ,
定义为加计数更新当前值,这里写入初始值为0和预设值为50,定义的是高速计数器HSC0和HSC模式1,然后激活高速计数器,还做了高速计数器中断,建立中断程序0和中断事件12的中断连接,并全局允许中断。
  在主程序中,用SM0.1的 上升沿调用高速计数器初始化子程序,因为控制要求是按下启动按钮10.3,
Q0.0输出,电机正转,就用10.3常开触点来置位Q0.0,并用10.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常开触点并联在电机正转的控制程序上,这样可以实现循环。
  以上就是用了两种方法来实现正反转的控制,利用中断的方法可能会难理解一下,但是其实分析清楚执行过程也是不难的。
来源:西门子工业技术论坛

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-19 10:17

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表