S7-200如何比较日期

想在程序中加入时间比较,当当前日期与程序中的预设日期一致,程序输出一个信号,去控制现场的阀门开关,如何编程,请高手指点。最好能提供程序实例,谢谢!

最佳答案

1、详见《S7-200如何读取时钟》:
CPU221、CPU222没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。CPU224、CPU226和CPU226 XM都有内置的实时时钟。
、 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。
、用编程软件(Micro/WIN)的菜单命令PLC > Time of Day Clock...,通过与CPU的在线连接设置,完成后时钟开始走动 
、编用户程序使用Set_RTC(设置时钟)指令设置 
 、Micro/WIN可以通过任何编程连接实现实时时钟的设置。
使用 S7-200 的 READ_RTC(读取实时时钟)和 SET_RTC(设置实时时钟)指令时, 读取和设置的数据格式都是 BCD 码的。如果觉得不便计算、处理,可使用 Clock Integer 指令库。 
Clock_Integer 指令库用于将 BCD 码格式的 S7-200 日期、时间转换为十进制整数格式,以及将十进制整数格式的日期、时间值设定为 S7-200 时钟。
、要使用 Clock_Integer 指令库,须遵循下列步骤:
取得 Clock_Integer 指令库文件,并添加到编程软件 STEP 7-Micro/WIN 中; 
按照要求编写用户程序调用 Clock_Integer 指令库。 
、请见《《西门子 S7-200·LOGO!·SITOP 参考》V0.92版(更新版)(2008.02.15)   》,其中有关如何读系统时钟及如何添加库指令的说明,下载:  
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136
2、特别注意!在做时间比较时两者的数据类型必须是为十进制整数格式。要计算时间需要将BCD格式的时钟数据与十进制的数据之间的转换,使用Clock_Integer 指令就可以实现。
3、时钟读写指令缓冲区格式见上传的图片1,数据格式为BCD码。
4、使用Clock_Integer 指令后的缓冲区见上传的图片2.,数据格式为十进制整数格式。
5、读取时钟例题:
如何读取 S7-200 CPU 时钟并以整型格式输出?如何用整型值设置 S7-200 时钟?
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=23430013&nodeid0=10805345&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=CN
6、使用Clock_Integer 指令:
《西门子 S7-200?LOGO!?SITOP 参考》     下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136

图片说明:

S7-200如何比较日期  S7-200如何比较日期  

提问者对于答案的评价:
非常感谢,解答很详细。

专家置评

已阅,最佳答案正确。

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

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

相关推荐