西门子S7-200PLC时间循环程序

   2024-09-14 建材之家250
核心提示:问:我想编一个时间循环控制的程序,例如一个小时运行一个小时停止,时间是可以设置的。请大家指点一下编程思路?答:关键是如何读系统时钟:S7-200的硬件实时时钟可以提供年、月、时、分、秒的日期/时间数据。CPU221、CPU222没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。CPU224、CPU226和CPU226 XM都有内置的实时时钟。S7-200的时钟精度典型值是2分钟/

问:我想编一个时间循环控制的程序,例如一个小时运行一个小时停止,时间是可以设置的。请大家指点一下编程思路?

答:关键是如何读系统时钟:
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 指令库。 

 
【温馨提示】本文内容和观点为作者所有,本站只提供信息存储空间服务,如有涉嫌抄袭/侵权/违规内容请联系QQ:727533600 删除!
 
举报收藏 0打赏 0评论 0

上一篇:浮点数的表示方法

有个学员问我,他在用S7-300读取变频器的参数P1082时(1082=16#43A),PLC 发送的4个字为16#143A 0000 0000 0000,变频器返回的为16#243A 0000 4248 0000。变量的浮点数值为16#42480000,对应的浮点数到底是多少? 在监视用的变量表中,将十六进制双字16#42480000的显示格式改为FLOATING_POINT(

下一篇:西门子PLC的CPU"stop"等常亮是什么问题?

应该是由于CPU 的SF灯常亮,表示系统遇到了硬件错误,导致PLC处于停止状态,即STOP灯亮,可以按照以下方法进行排查: 1. 首先格式化MMC卡,注意:CPU 的STOP 灯出现慢闪,这是CPU在请求被动格式化,只有此时可以用MRES按钮格式化MMC卡,把卡中的错误信息清除。 具体操作方法如下:将模式开关打到MRES并保持直到STOP 灯...
 
更多>同类电工资讯
推荐图文
推荐电工资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  版权声明  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报