公司主营:数控系统,S7-200PLC S7-300PLC S7-400PLC S7-1200PLC 6ES5 ET200 人机界面,
上海西皇电气设备有限公司
联系人:李工
咨询热线:15901795805
邮箱:158311669@qq.com
传真:021-57358110
咨询QQ:158311669
公司大量现货!!!
上海西皇电气设备西门子代理商库存大量西门子PLC,产品种类、型号齐全,涵盖了西门子200系列PLC、西门子300系列PLC及其EM221模块、EM222模块、EM223模块、EM231模块、EM232模块、EM235模块、PPI电缆、MPI电缆、5611卡、SM321、SM322、SM323、SM331、EM332模块等,S7-200系列主机包括CPU224CN、CPU226CN、CPU224XP,S7-300系列主机包括CPU312、CPU313、CPU314、CPU315-2DP等,价格低,交货速度快。
如图片中STRING[4],其中4是字符串的长度,但是图片中UDT中定义的字符串看不太明白!还请高手指点!谢谢!
我要用SFC20块进行传递!所传递的字符串是:211808F070
答:1.从数据类型的意义上说 UDT 并不被 CPU 所识别,而是在离线程序中自定义(组合)的数据类型。 S7 程序的自定义数据类型并不能装载到 S7 CPU 中。UDT 是由递增的编辑器创建并编辑或由源文件的编译而生成。 当在块调用中进行变量传递时是不能将 UDT 作为内存地址区域来传递的。因此**将传递的变量指定为字节数据类型并与其数据长度相一致,或者使用 UDT 的符号名来定义 IN, OUT 和 IN_OUT 参数,因为系统将自动生成相对应的地址。
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