登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:求助关于S7-300时间比较

点击:2717 回复:8

定义了DB1为DATA_AND_TIME变量,通过SFC1来读取系统时间存到到DB1中,按照顺序在DB1.DBB3中储存的是小时,为了实现整点报时可以通过BCD_I转换成整数存储到MW10中,然后再用INT的比较来实现吗?为什么在编写的过程中,DB1.DBB3始终处于红字状态,今天上机调试的时候老郁闷了
14-06-12 22:52

引用 1264673408 在 2014/6/12 22:52:44 发言【内容省略】

BCD_I的输入参数类型为Word,你输入Byte型数据自然报错。
Regards
14-06-13 08:49
例如:读取系统时间并对秒进行判断:
附件 snap1.jpg
Regards
14-06-13 09:14
谢谢前辈啊,等会就上机房去试试
14-06-13 10:43
如前辈给的例题中,实际是与48秒做比较对吗?如果与分钟作比较,是不是用W#16#FF00提取,然后在比较过程中,INT数值得乘以256(即16*16)?急求前辈解答,感激不尽
14-06-15 17:21

引用 1264673408 在 2014/6/15 17:21:18 发言【内容省略】

他的程序里是30秒比较,因为他懒得将BCD转换2进制,所以直接将30H转换为48了。
与分钟比较,那么你需要在WAND指令(16#FF00)后,添加移位指令,右移8位。
Good Luck~
14-06-15 20:24
哦,懂了,谢谢前辈,能再请教下移位是哪个模块在S7-300吗?
14-06-15 22:32

引用 1264673408 在 2014/6/15 22:32:52 发言【内容省略】

移位指令在哪里你怎么好意思问?表情
Regards
14-06-16 08:28
BCD转成整数后,直接用字节(8位)比较也可吧?
14-07-31 12:37

工控新闻

更多新闻资讯