请教高手:S7224CN里的时钟(包含年,月,日,时,分,秒)用那个指令读出到VW变量中?最好有梯形图程序。谢谢! 我的邮箱:liu337655700@163.com
问题补充:
胡雨学长:你的回答是很详细,但我对AENO,LRD,LPS,LPP这几个指令还是不太明白?你能发个梯形图吗?谢谢!liu337655700@163.com
最佳答案
TITLE=程序注释
//
// 本程序简要地举例说明实时时钟的读/写指令用法。
//
// 要注意的要点:
//
// 1. 设置时钟指令使用沿触发
//
// 2. 读时钟指令使用SM0.5调用
//
// 编程设置时钟一般只在必要时才可进行,如通过HMI(人机操作界面)设定时间、日期时。注意TD200根本不需要编程,只要做好组态设置就可以直接利用TD200修改S7-200的实时时钟。
//
// 关于十进制整数的时间数据与BCD格式之间的转换,在西门子的ProDIS网站上,有一个FAQ19294366谈到使用一个已经编出的子程序进行转换。这个子程序可以添加到Micro/WIN的用户指令库中,并且可以免费下载。
Network 1 // 将当前时间设定到S7-200当中 ----> VB100:年 VB101:月 VB102:日 VB103:时 VB104:分 VB105:秒 VB106必须是0 VB107:星期
// 将需设置的时间移动到VB100--VB107
// 注意设定的时间是BCD格式(16进制数)
LD M0.0
MOVB 16#03, VB100
MOVB 16#09, VB101
MOVB 16#11, VB102
MOVB 16#09, VB103
MOVB 16#30, VB104
MOVB 16#0, VB105
MOVB 16#0, VB106
MOVB 16#04, VB107
Network 2 // 通过M0.0的一个上升沿将上一步设定的时间写入到S7-200的时钟当中。
// 当M0.0出现一次上升沿,将上面所设定的时间写入到PLC当中
LD M0.0
EU
TODW VB100
Network 3 // 设定时间后,可以通过这句话实时读取PLC当中的时间
// 从PLC中读出当前的时间
LD SM0.5
TODR VB110
Network 4 // 将读到的结果从BCD码格式转换到整数格式。 ----> VW200:年 VW202:月 VW204:日 VW206:时 VW208:分 VW210:秒 VB214:星期
// 将读出的时间转换到VW200--VW214
LD SM0.0
LPS
BTI VB110, VW200
AENO
BCDI VW200
LRD
BTI VB111, VW202
AENO
BCDI VW202
LRD
BTI VB112, VW204
AENO
BCDI VW204
LRD
BTI VB113, VW206
AENO
BCDI VW206
LRD
BTI VB114, VW208
AENO
BCDI VW208
LRD
BTI VB115, VW210
AENO
BCDI VW210
LRD
BTI VB116, VW212
AENO
BCDI VW212
LPP
BTI VB117, VW214
AENO
BCDI VW214
提问者对于答案的评价:
好
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc353376.html