回复:应用探讨——PLC 数据类型探讨

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    309

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2013-10-24 09:06:34

41楼

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
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54756条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。