定时功能

我需要程序运行2个月就不能运行需要怎么用定时器和计数器

最佳答案

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

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

专家置评

已阅,最佳答案正确。

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

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

相关推荐

  • 请教:中断程序指令的使用

    图示中断程序指令使能端为1,但是为什么中断程序并没有执行 问题补充:请教:我还是不太理解为什么中断指令使能端(EN)不用一直得电,只要初始化就行,能给我解释一下吗 图片说明: &n…

    2021年7月5日
  • S7-200中如何实现数据处理?

    H=Ln(A/B)/μρ;公式中μ和ρ是2个参数;A是初始计数值是个定值;B是被测得的计数值,根据μ和ρ参数设定变化而变化。A和B都是整数,数值比较大(>10^5),H是带2…

    2020年10月31日
  • 使用MAP SERV库编译时出现:指令操作数使用了未定义的全局符号或局部变量的报错,库存储区打不开

    由于已经用过了问题补充,为了回答各位老师的答复,只好再发一个相似标题的问题,希望能看到,有两位老师都说的要进行库存储区分配,但问题是库存储区也呈现灰色,打不开,如图 问题补充:试过…

    2017年6月12日
  • 紧急求助,关于em253

    程序中用go_to指令相对运动一段距离,如果接受到一个位置信号,无论是否完成运动,都用rseek指令寻找零点,步进电机根据位置信号不断正转反转。现在出现以下故障:如果位置信号出现的…

    SIMATIC S7-200 2021年7月4日
  • 采集问题

    现在有的数字毫伏表是每8个字节一输出的16进制ASCII,以00结尾。之前都是用VB采集,然后想办法与PLC实现通讯,发现自己被绕进去了。现在想跳出来想问题,就是说大家有没有方法,…

    SIMATIC S7-200 2021年7月5日
  • CPU224XP集成模拟量输入问题

    CPU224XP的集成模拟量输入为两路:A+和B+  但模拟量输入要求:A+与M间的电压是+10VDC;B+与M间的电压是-10VDC。对吗?我认为A+&nbs…

    2017年12月7日
  • s7-200软元件编号的分配及功能概要

    各位高工,谁有s7-200  PLC226的软元件编号的分配及功能概要 如:辅助继电器用什么符号表示,有多少点   &n…

    SIMATIC S7-200 2021年7月5日
  • CPU224通讯口有时会烧坏

    CPU224与施耐德触摸屏采用PPI通讯时通讯口有时会烧坏,机率为1%,敬请高手指点。 最佳答案 不共地的话,烧坏几率100%。 将2台设备的0v用短粗线连接起来。 提问…

    SIMATIC S7-200 2021年7月4日
  • s7200编程帮助

    s7200编程软件为啥在xp系统中有帮助,win7中不能显示帮助吗? 问题补充:各位老师们的链接怎么打开都是英文,不会下载。有具体的下载地址吗?或下载步骤? 最佳答案 给你一个连接…

    SIMATIC S7-200 2021年7月5日
  • 触摸屏显示温度与实际温度误差较大

    触摸屏上显示的温度值与实际的温度值误差较大是什么原因?譬如:屏上显示的温度是250度,而实际温度240度或260度,有将近10度的误差。用的是224xp cpu&nbsp…

    SIMATIC S7-200 2020年11月1日