quote:以下是引用杭州小子在2012-09-19 12:52:50的发言:quote:以下是引用还是新手在2012-09-19 08:15:24的发言:
不用AT指令。在FB内部定义UDT就可以了。定义UDT格式:
TYPE XXX //for UDT name
STRUCT
XXXX:XX // XXXX UDT内部变量名称,XX为变量类型
XXXX:XX // XXXX UDT内部变量名称,XX为变量类型
XXXX:XX // XXXX UDT内部变量名称,XX为变量类型
END_STRUCT
END_TYPE
这样本FB接口标签或Sata变量类型就可以定义为XXX(你建的UDT)类型了。
例如:
VAR
abc:XXX; // Static Variables,XXX为在程序内部定义的UDT
END_VAR
感谢楼上的回答,定义UDT倒是可以,不过如何读取外面的数据呢?是否还是需要利用sfc14来读取。比如从IW100.0开始连续读取100个byte.
主要是用在DPcoupling通讯。而且我看说明似乎是sfc14的存取地址要创建一个any类型的struct。
??没明白读外部数据用sfc14干嘛??
直接PIW不就OK了。读100个byte循环50次不就OK了吗???
下边程序供参考:
VAR_INPUT
BeginAdd:INT;
END_VAR
VAR
count:INT;
aaa: ARRAY[0..49] OF INT;
END_VAR
FOR count:= 0 TO 49 BY 1 DO
aaa[count]:=WORD_TO_INT(PIW[BeginAdd+2*count]);
END_FOR;
如果想放到对应UDT里。定义好UDT就行了,一样放。