在UDT中如何建立String【】数据类型

如图片中STRING[4],其中4是字符串的长度,但是图片中UDT中定义的字符串看不太明白!还请高手指点!谢谢!
我要用SFC20块进行传递!所传递的字符串是:211808F070

图片说明:

在UDT中如何建立String【】数据类型    在UDT中如何建立String【】数据类型   

最佳答案

1.从数据类型的意义上说 UDT 并不被 CPU 所识别,而是在离线程序中自定义(组合)的数据类型。 S7 程序的自定义数据类型并不能装载到 S7 CPU 中。UDT 是由递增的编辑器创建并编辑或由源文件的编译而生成。 当在块调用中进行变量传递时是不能将 UDT 作为内存地址区域来传递的。因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用 UDT 的符号名来定义 IN, OUT 和 IN_OUT 参数,因为系统将自动生成相对应的地址。 
详细实例和说明见:http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objId=22525291&ehbid=24520368&load=treecontent&lang=zh&siteid=cseus&aktprim=0&objaction=csview&extranet=standard&viewreg=CN
2.其SRCBLK与DSTBLK的类型是ANY的,是用指针表示的.其中一种表示方法:P#[数据块.]位地址 类型号 重复系数.如:P#M50.0 BYTE 10就是从MB50开始10个字节的长度的数据“211808F070".
 CALL SFC20
 SRCBLK :=P#M 50.0 BYTE 10
 RET_VAL:=MW80
 DSTBLK :=P#M100.0 BYTE 10

提问者对于答案的评价:
也就是说Sting[4],其中的“4”应该为“25”吗?还麻烦您给解释下!谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc250270.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午5:26
下一篇 2018年12月2日

相关推荐