quote:以下是引用VOLLMER在2012-12-04 21:08:54的发言:
我举个例子吧
我把甲同学身高180赋值到mb0; 乙同学身高178赋值到mb1
然后封装到一个word里发走。
接收端做了一个FC,输入引脚是一个word,解析输出2个int
------请问这个word是什么数? 是不是和FB41 FB58的那个引脚含义区别很大?
可以参考PLCOPEN组织官方文档(siemens也是会员),第10页的表格10中分别列出了int uint和word
英文好的同学看看吧。我没看出有任何数值的含义。
http://www.plcopen.org/pages/pc2_training/downloads/downloads/common_elements_text.zip
S7-200的数据类型“字”(WORD)的定义为16位 不带符号的整数 0至65,535。
300的数据类型WORD只能用二进制和十六进制数表示,也用来表示BCD码。其范围为2#0到
2#1111_1111_1111_1111,W#16#0到W#16#FFFF,C#0到C#999,B#(0.0)到B#(255.255)
以上都是帮助中的内容。
在SFC和SFB中,数据类型WORD常用于连接的编号、模块地址和站地址等。这些东西显然不能理解为位串,它们都有普通的“数值的含义”。
我们对数值不能简单地理解为用8421码计算16位二进制数得到的十进制数的值,BCD的数值就很特殊。将WORD视为“位串”,它的每位的值用二进制数来表示也是一个数值。
VOLLMER侠举的两个身高的组合的例子,相当于B#(255.255),它的每个字节也有数值呀。
数据类型WORD当然是用于数据的,是数据就有数值,如果连这个都否认,就有点“白马不是马”了。