恭喜,你发布的帖子
发布于 2017-09-02 21:21:00
6楼
如果是我 我会这样干
把输入值也做成接口参数,同时新建个PLC 数据类型。
里面类容 包括输入值(PIW ),输入值的高低限(标定用),工程量的高低限(标定用),工程量的相关的高低报警值,转换后的工程值。
然后,系统有多少个这种类型的处理我就新建一个FB,在FB 的STAT 里声明一个 包含一个N+Y 个 PLC 数据类型的数组名称比如叫AnalogProcessing ,Y 为备用个数,同时声明一个我当前系统中需要处理的模拟量个数ParNumberofAIPoints, (或者直接用数组DB,我想试下这个特殊的DB 块,因为有特地的指令可以使用 )
在调用FB 之前此之前,把每个IWxxx: P 值 依次传到 数据块里的输入值。
然后 ,在程序块里 我不会用间接寻址,
我不直接用IW: P ,原因是,如果某个通道要是坏了 我用IW 256代替IW 254,我的程序只需要 把以前的
DBx.AnalogProcessing[x ].PIW: =IW254:P ;
改成
DB. AnalogProcessing[x]:=IW 256:P ;
这样 ,以后方便客户维护人员,因为我做的程序很标准了,不需要他来查里面程序,如果 那天那个模拟量通道坏了,他只要做简单的改变程序工作,当然 之前 我会告诉他AnalogProcessing
[X ]所对应的是那个检测点模拟量处理数据。
在对S 7-1500编程 不到万不得已,我不会用简接寻址功能!全使用块的优化访问,
非优化数据块和优化块之间不互相拷贝数据,因为编码不同 会额外消耗CPU 资源。
然后看你SCL 编辑器代码界面应该是tia portal v14及其以上版本 把REGION. 功能用上。适合代码快速定位和代码层次结构划分。
以上是个人看法,手机打的好累?
请填写推广理由:
分享
只看
楼主