求助S7-200时钟指令问题

我这里有两段关于S7-200时钟指令的程序,谁帮我解读一下,越详细越好,感激不尽,我新手自学。
第一个、
LD     Clock_1s:SM0.5
EU
TODR   VB200
SCPY   "2000.00.00 ", VB300
HTA    VB202, VB309, 2
HTA    VB201, VB306, 2
HTA    VB200, VB303, 2
关于这个,我的疑问是手册说日期和时间值必须采用BCD格式编码,那读出来到VB200是什么格式?为什么用HTA十六进制转换ACSII???
第二个、
LD            M0.0
TODR       MB20
NETWORK11
LD            M0.0
MOVB        MB25,VB35
MOVB        16#0,VB34
BCDI          VW34
NETWORK12
LD            M0.0
MOVB        MB24,VB33
MOVB        16#0,VB32
BCDI          VW32
NETWORK13
LD            M0.0
MOVB        MB23,VB31
MOVB        16#0,VB30
BCDI          VW30
这个程序里MOVB  16#0什么意思??

问题补充:
追问一下一楼的touch++   
软件没有BCD转ACSII,那么可以BCD---I,然后I-----ACSII吗?这样做效果一样吗?

最佳答案

1、关键是如何读系统时钟:
、CPU221、CPU222没有内置的实时时钟,需要外插“时钟/电池卡”才能获得此功能。CPU224、CPU226和CPU226 XM都有内置的实时时钟。
、 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。
、用编程软件(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

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

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

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

相关推荐