汉语大全>西门子自动化>在UDT中如何建立String数据类型

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

详细内容

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

答:1.从数据类型的意义上说UDT并不被CPU所识别,而是在离线程序中自定义(组合)的数据类型。S7程序的自定义数据类型并不能装载到S7CPU中。UDT是由递增的编辑器创建并编辑或由源文件的编译而生成。当在块调用中进行变量传递时是不能将UDT作为内存地址区域来传递的。因此推荐将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用UDT的符号名来定义IN,OUT和IN_OUT参数,因为系统将自动生成相对应的地址。
2.其SRCBLK与DSTBLK的类型是ANY的,是用指针表示的.其中一种表示方法:P#[数据块.]位地址类型号重复系数.如:P#M50.0BYTE10就是从MB50开始10个字节的长度的数据"211808F070".
CALLSFC20
SRCBLK:=P#M50.0BYTE10
RET_VAL:=MW80
DSTBLK:=P#M100.0BYTE10