编写日期程序

用s7200控制一个灯 周一到周五7:00到17:00关闭 其余时间打开。周六日全天打开。

最佳答案

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

S7-200的时钟精度典型值是2分钟/月(25°C),最大误差7分钟/月(0 - 55°C)。

 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是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 指令库用于将 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
引用:计数器C0控制停机,VB0至VB7存实时时钟值,VB3为小时数,每天1点正,C0加1,当C0=365时停机。M0.0位为复位位
 LD     SM0.0
 TODR   VB0
 A      C0
 STOP

 LDB=   VB3, 1
 EU
 LD     M0.0
 CTU    C0, 365
 注意关机断电保持问题(例子仅供参考,可根据自已实际情况修改使用)

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

专家置评

大家的答案都不错!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午2:28
下一篇 2020年10月31日 下午2:28

相关推荐

  • 200ppi电缆

    200ppi电缆德国原装进口,com口,订货号6es7 901-3cb30-0xa0 波特率怎么设置成187.5。 最佳答案 恢复出厂状态1 将RS-…

    SIMATIC S7-200 2020年10月31日
  • 基座电位组

    et200sp只带输入输出,输入和输出之间是否一定要使用一个新的电位组,比如接口模块后的第一个输入模块已经使用了一个bu-d,是否一定要在第一个输出模块用bu-d?为什么?如果一定…

    SIMATIC S7-200 2021年7月5日
  • s7-200内部存储继电器

    请问S7-200PLC内部有没有这样一种存储继电器,能一直寄存数据,除非PLC断电或给该继电器复位后才能消除。 最佳答案 有啊!什么样的都可以,一般在西门子s7-200中用v(数据…

    SIMATIC S7-200 2021年7月4日
  • P I D bu gou yong

    向导不够用,要13个。 图片说明:    钻石用户推荐最佳答案 1个CPU最多支持8路PID,如果需要13路的话,那可以用2个CPU或者用300PLC或者120…

    2021年7月5日
  • 214-2AS23 现货

    214-2AS23 现货哪里有啊,急! 最佳答案 就近联系经销商或者西门子销售热线400-810-4288 提问者对于答案的评价:谢谢

    SIMATIC S7-200 2020年11月5日
  • 这样的自由口程序如何做

    (485波特率9600,起始位2,数据位7,校验位1,结束位无) 格式:$ADD,ORDER, XXX,XXXX,*hh  1 数…

    SIMATIC S7-200 2021年7月4日
  • Modbus主、从站协议指令

    我需要使用主站读取数值,遇到一些问题。    请问能否把modbus主、从站协议指令都编入梯形图中?   &n…

    SIMATIC S7-200 2021年7月5日
  • 关于s7-200的modbus通讯从机接收主机信息的问题。

    比如我holdstart写的是VB100,那么40001对应的就是VW100,最终存在VW100的数据帧里面是只有数据位吗?包不包含起始位、停止位和校验位? 图片说明: &nbsp…

    2021年7月5日
  • s7-200系列226 modbus 通讯死机问题

    226与pc通讯:功能有读取72个开关量状态信息;读取8路模拟量;写6路开关量。循环读取开关量,模拟量状态。根据条件发送写开关量命令。问题是有时候会在写命令后,读取信息造成modb…

    SIMATIC S7-200 2021年7月5日
  • S7-200中断更新高速计数器预置值到该值生效要等到整个程序扫描完成吗,时间是多少

    在程序中通过中断更新高速计数器的预置值,该值是在中断程序执行完后生效还是在整个程序扫描完成后生效?如果立即生效的话需要多少时间? 最佳答案 在程序中通过中断更新高速计数器的预置值,…

    SIMATIC S7-200 2020年11月1日