上位机和1200通信只能向下转送word,dword,int等,我需要在1200程序里将这些类型的数据转化为Time类型的数据,请问怎么做,,谢谢!!我上位机输入10,结果没有出来10秒,还有您程序中*有一行,SD T100是什么意思,如果我想让我上位机输入的直接转化为分钟,或小时该怎么做,,谢谢
西门子PLC维修专家:
用bcd时间格式来做,
就是一个INT型数据,先转换成BCD码,然后
于W#16#0FFF与运算,取掉定时器时基,
然后再通过或运算,写入时基,比如OR W#16#2000,就是写入以秒为时基的BCD格式的时间值。
具体代码以语句的形式来写,就是
L MW0
ITB
AW W#16#0FFF
OW W#16#2000
SD T100
如果MW0是50,那么定时器就启动了,时基是1秒,那么定时时间就是50*1秒
搞错了,你的问题是DINT变成TIME类型?那其实 DINT类型*1000就是time类型了,你可以试下,在PLC程序里,将一个。DINT*1000 然后MOVE到time类型里看看。或者 你在变量表里 将一个DINT型数据(比如1000)改成time类型显示 看看,是不是变成T#1s。
我上面的回答 是将INT类型化成S5时间格式的方案。