200PLC读取系统时间,按时间完成任务

我现在想用200PLC,用read_rtc读取系统时间,然后与设定的时间比较,例如每天的5点开始工作,这样可行吗?没有用过,需要注意什么,望高人指点!

最佳答案

1 例如当时间达到09年6月3日20点31分20秒的时候,CPU转到停止,前提是CPU有硬件时钟,并且正确设置了时间。
LD     SM0.5
EU
TODR   VB0      //读取时间

LDB>=  VB0, 16#09        //读取的时间是BCD码,这样用省去格式转换
AB>=   VB1, 16#06
AB>=   VB2, 16#03
AB>=   VB3, 16#20
AB>=   VB4, 16#31
AB>=   VB5, 16#20
STOP

2 如果定时开启关闭外部设备,那PLC可以轻松完成。
例如每天早上6点到晚上8点开机
LD     SM0.5
EU
TODR   VB0

LDB>=  VB3, 16#06
AB<=   VB3, 16#20
=      Q0.0 

3 PLC运行一段时间停止
LD     SM0.4
EU
INCD   MD0   //每分钟累加一次,

LDD=   MD0, 4320  //3天后CPU停止,4320=3天*24小时*60分钟
STOP                 //在系统块里将MD0设置为断电保持,那么计时不受停电影响,停电自动保存计时时间。

关键是如何读系统时钟:
S7-200的硬件实时时钟可以提供年、月、时、分、秒的日期/时间数据。
CPU221、CPU222没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。CPU224、CPU226和CPU226 XM都有内置的实时时钟。


 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。

 使用程序读取的实时时钟数据为BCD格式,可在状态图中使用十六进制格式查看。

CPU靠内置超级电容(+外插电池卡)在失去供电后为实时时钟提供电源缓冲;缓冲电源放电完毕后,再次上电后时钟将停止在缺省值,并不开始走动。

要设置日期、时间值,使之开始走动,可以:

用编程软件(Micro/WIN)的菜单命令PLC > Time of Day Clock...,通过与CPU的在线连接设置,完成后时钟开始走动 
编用户程序使用Set_RTC(设置时钟)指令设置 
 Micro/WIN可以通过任何编程连接实现实时时钟的设置。

使用 S7-200 的 READ_RTC(读取实时时钟)和 SET_RTC(设置实时时钟)指令时, 读取和设置的数据格式都是 BCD 码的。如果觉得不便计算、处理,可使用 Clock Integer 指令库。 


要使用 Clock_Integer 指令库,须遵循下列步骤:


请见《《西门子 S7-200·LOGO!·SITOP 参考》V0.92版(更新版)(2008.02.15)   》,其中有关如何读系统时钟及如何添加库指令的说明,下载:  
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136
参考资料:http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=97758&cid=1028

提问者对于答案的评价:
xiexie

专家置评

已阅,最佳答案正确。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250641.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月3日
下一篇 2018年12月3日

相关推荐

  • s7200与ABB变频510通

    需要通讯有:共10台变频器,每台变频启停控制、运行信号、故障信号,变频转速给定、转速反馈、电流反馈;变频器的modbus寄存器是4####与PLC的对应关系?寄存器的位变量怎样在P…

    SIMATIC S7-200 2017年11月26日
  • 程序中使用双线圈

    如果控制两个子程序不可能同一时间导通,那么是否 可以在两个子程序中使用同一线圈输出? 最佳答案 PLC编程经验之二--双线圈输出http://bbs.gongkong.c…

    SIMATIC S7-200 2021年7月5日
  • CPU 226 与触摸屏的通讯问题

    台达触摸屏和  CPU 226通过9针插头连接,屏上显示数据都有,可是不停地弹出对话框,有读取数据错误,要求检查线路!但是显示数据正确!求大神帮忙 问…

    2021年7月5日
  • s7-200 plc 联机通信

    s7-200系列plc通信时通信子程序中为什么会隐含访问把s0.0….等给清零了啊 问题补充:多台plc之间联机通讯时 图片说明:    最佳答案 这是通信…

    2017年10月30日
  • s7-200什么时候可以直接接负载,什么时候需要接继电器驱动

    200什么时候可以直接接负载,什么时候要接继电器PLC有晶闸管型的,有晶体管型的,有继电器型的,分别在什么情况下使用 最佳答案 首先声明一下,西门子S7-200 PLC输…

    SIMATIC S7-200 2020年11月1日
  • S7 200 累加器的使用

    AC0-AC3我可以无限使用同一个累加器在不同程序不同位置吗?比如在网络1里面用AC1代替V区域进行中间运算,同时在网络2网络3.。。。也用AC1做代替进行中间运算,但最终结果不用…

    SIMATIC S7-200 2017年8月1日
  • 请问各位大神,s7-200自由口通讯的问题

    采用自由口通讯,我每发出一次信息,必定需要收一次信息,每次发出10个字节,收到10个字节,波特率9600,请问该怎么设定啊 最佳答案 假如用PORT0:1:初始化端口,配置SMB3…

    SIMATIC S7-200 2017年12月2日
  • SIMATIC S7注册数据库设置不正确

    打开编程软件显示注册数据库设置不正确,是怎么回事??重新安装了,也还是这样 图片说明:    钻石用户推荐最佳答案 1、转帖:step7管理器就打不开,提示32…

    2021年7月5日
  • TD400组态问题

    按照向导组态以后,为什么总是显示无参数模块啊,给一个列程给我看一下。我的邮箱是jt911@163.com ,还有VW0有的时候的数值好大啊,是不是偏移量太大了啊! 最佳答…

    SIMATIC S7-200 2021年7月5日
  • 怎么拓展s7-200系列plc定时器的范围

    定时器需要大概10个小时的时间,如何来拓宽定时器范围,最好有程序,谢谢。我在网上查通过定时器与定时器公用,但是,我的输入是一直有的,不是开关量,计数器无法读取。希望哪位知道的朋友帮…

    SIMATIC S7-200 2021年7月5日