如果针对一个特定的DB块,这很简单。
打开DB块,复制所有的行,新建一个FB/FC, 输出定义为STRUCT, 将复制来的内容粘贴到STRUCT中。
然后程序中使用MOVE,或者=,逐行赋值即可。
或者定义DB块的数据结构时,直接也定义为STRUCT。那么程序只需要一行赋值指令就可以搞定。
然而,不是我想要的。因为这样子太啰嗦,也完全没有标准化可言。
我想要的是一个标准化的模块,FC足够了。

调用的时候这样:

然后如果另一个不同的DB块, 需要传送到另一个结构或者UDT中,则只需要再调用一次。
然而,我现在还做不到。
有人能做到吗?
如果有人不能理解这样的问题的目的,可以参考下文章:《1228 【万泉河】 SIMATIC CPG Template案例解读:面向数据编程》 ,文章里面我提出了一个比这里难度还更高一点的问题,有能力者可以尝试挑战一下。