当前位置: 主页 > PLC控制

s7-200plc如何编写日期时间程序?????

如何用PLCS7-200编写一个日期时间程序,cpu是222cn,模拟量模块是em231,由于最近面临毕业,做毕业论文,老师给布置的题目是用plc控制的洒水系统,实现分时分段供水,就是隔三个小时运行十分钟这样的一个程序,最近一直在研究这个程序,可是现在还没进展,而且马上就要交论文了,现在还没做出来,真是愁死人了,55555….希望哪位高手出手相助,帮忙写个程序参考一下,将不胜赶紧。

问题补充:
哪位高手给编写个程序看一看吧,我实在是不知道该怎么写,我的邮箱是song12345love@163.com,不胜感激。

最佳答案

参考这个,对你帮助很大:

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

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点开机
LDSM0.5
EU
TODRVB0

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

3PLC运行一段时间停止
LDSM0.4
EU
INCDMD0//每分钟累加一次,

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

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


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

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

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

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

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

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


要使用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

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

专家置评

已阅,最佳答案正确。

  • 关注微信

猜你喜欢

微信公众号