设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC200]s7-200plc如何编写日期时间程序?????

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 3848|回复: 2

[求助-西门子PLC200]s7-200plc如何编写日期时间程序?????

[复制链接]

升级  33.5%

该用户从未签到

发表于 2014-3-16 21:02:37 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
如何用plcs7-200编写一个日期时间程序,cpu是222cn,模拟量模块是em231,由于最近面临毕业,做毕业论文,老师给布置的题目是用plc控制的洒水系统,实现分时分段供水,就是隔三个小时运行十分钟这样的一个程序,最近一直在研究这个程序,可是现在还没进展,而且马上就要交论文了,现在还没做出来,真是愁死人了,55555....希望哪位高手出手相助,帮忙写个程序参考一下,将不胜赶紧。</p>
        问题补充:
哪位高手给编写个程序看一看吧,我实在是不知道该怎么写,我的邮箱是song12345love@163.com,不胜感激。
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
3850°C
2
  • luxiabao
  • lymingo
过: 他们

升级  28%

该用户从未签到

发表于 2014-3-16 21:34:25 | 显示全部楼层
参考这个,对你帮助很大:
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                                                                                                                                                                                                                                                                                            
                                                        

升级  44.5%

该用户从未签到

发表于 2014-3-16 21:50:46 | 显示全部楼层
你这样的程序站上很多的。
一般这样的程序有两种处理方式:
1)用系统脉冲如SM0.4(分脉冲)或SM0.5(秒脉冲)+计数器做时基,然后用这个时基与用户自定义的时间常数做一个比较,将比较后的结果再进行输出。
2)用读取系统时间指令和写系统时间指令来实现时间程序的比较,其中读取、设置系统时间指令Read_RTC(读时钟)和Set_RTC(设置时钟)。将此读取到的系统时间与用户自定义数据常数做比较,再将比较后的结果进行输出位操作。
其中,读取、设置系统时间是以字节为单位方式编写的,指令编写如vb100,就是以vb100为首的8个字节作为读取系统时间的地址,它们依次是vb100为年,vb101为月,vb102为日,vb103为时,vb104为分,vb105为秒,vb106为不定义,vb107为星期。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            读系统时间比较,输出第一次,次记住时间,以这一次时间与读出的时间比较,相差3小时输出一次。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            1、可以应用下列指令进行
Read_RTC(读时钟)和Set_RTC(设置时钟)
2、有关应用见下述文档中的S7-200PLC------功能、编程与调试中的实时时钟
《西门子 S7-200?LOGO!?SITOP 参考》     下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0136
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            1.首先222没有内置时钟,需要加时钟电池卡。
2.具体编程就是先读出时钟,在将读出来的时钟(BCD码)转换为整数值
你具体的逻辑要求好像用不到日期,完全可以使用计时器累计时间来实现。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-7 00:49 , Processed in 0.229978 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表