故事作者:will666

最近创作

看看TA的故事

【内行说】巧用CPU时钟信号

已锁定

will666

  • 帖子

    1997
  • 精华

    12
  • 被关注

    102

论坛等级:奇侠

注册时间:2009-05-19

钻石 钻石 如何晋级?

【内行说】巧用CPU时钟信号

1551

11

2022-06-18 23:08:00

        西门子PLC的定时器是有限的,并且使用起来并不是太方便,尤其是在FB程序模块中使用时必须通过引脚指定定时器编号,当使用较多时非常麻烦。由于我使用定时器的场合对时间精度要求不高,一般以秒为单位就足够,比如计算设备的运行台时,通过时间周期控制设备等,因此我习惯使用秒脉冲计数的方式代替计时器功能,这样封装在FB程序块中只需要通过引脚输入一个秒时钟信号就可以了。

        脉冲计数代替定时器的一个关键就是时钟脉冲要准确,曾经在AB的1769PLC上使用秒脉冲计数的方式计算设备运行时间时,发现设备连续运行一天计算的运行台时竟然比24小时要少,最后发现就是秒脉冲时基不准确。当时是使用了2个500毫秒定时器产生秒时基信号,因为扫描周期的存在,每个秒时基的实际时间是1秒+扫描周期,最后误差累积造成计时不准确,后来为了避免这种情况只好把时基发生程序放在周期任务里。

      西门子PLC相比较而言就方便多了,因为西门子200系列有系统时间标志位可以直接产生时基信号,300和1500等有时钟存储器功能可以设置,如下图。一般设置MB0为时钟存储器字节地址,这样就有8个占空比为50%的时基信号可以使用,时基最短0.1秒,最长2秒,可以满足大多数情况。


   如果要想生成小于0.1秒的时基信号,最好用循环中断的方法实现,如果要生成分钟时基、小时时基甚至日、月时基怎么办呢?也很简单,结合系统时钟读取程序,把CPU的系统时间读取出来,然后根据时间数据就可以很容易产生,如下图。当秒数据=0时就可以驱动分钟脉冲信号;当分数据=0且秒数据=0时就可以驱动小时脉冲信号,以此类推。



【内行说】巧用CPU时钟信号 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

网友专栏

共有3227条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。