quote:以下是引用氢气在2013-10-21 16:21:28的发言:quote:以下是引用Jonewalk在2013-10-15 12:51:03的发言:
1. INT数据类型与WORD 数据类型有何区别?DINT与TIME呢?
int数据类型是有符号整数,占用2个字节即一个字的地址,数据范围:-32768至32767;
在字中,高字节的最高位表示数据的正负(0正1负),其他15位用来表示数据。
WORD取值范围是:2#0---2#1111_1111_1111_1111是双字节数
WORD与INT都是16位的数据类型。DINT与TIME都是32位的,并且它们是所谓“兼容”的。试想一下,如果有时间数据做加减运算的话,是S5TIME数据类型方便还是TIME数据类型方便?怎样实现呢?
再试想一下,触摸屏不支持S5TIME数据类型,要想在屏上设置时间值,怎样做方便?
用上位或触摸屏设置PLC中S5TIME类型的参数的方法 1.上位机将以毫秒为单位的时间值的双整数(数据类型为Time的时间值)写入 PLC的存储区,然后调用IEC库中的FC 40(TIM_S5TI),将数据类型TIME转换为S5TIME。
2.上位机将包含以某时间基准(例如1s)为单位的BCD码时间值(例如16#10)的一个字写入PLC的存储区(例如MW10),用下面的程序与1s的时间基准16#2000相“或”,得到S5TIME格式的时间值。
L MW10
L 16#2000
OW
T MW12
MW10中必须是BCD码,如果输入十进制数10,执行OW指令后,得到16#200A,最低位16#A是非BCD码,执行定时器指令将会出错。BCD码以16#格式输入,例如10s的BCD码为16#10。
I0.0为ON时,可以看到下面的T0以预置值10s开始定时。
A I 0.0
L MW 12
SD T 0