前言
一、思路
困惑点
首先,I0.0这些是不存在于DB块中的,而我们C#中的Read()和Write()方法都是处理DB块中的数据。
后来受到启发,我们可以将I0.0这些输入端的数值传递给一个变量,而这个变量是DB块中创建的。
但是实际中发现,MOVE是不接受Bool的I0.0的数值传入。。。
最后,我的解决方案变成了:在DB块中创建个Int型数组arrInput,用arrInput[0]中的数据去表示I0.0的变化。
- arrInput[0]=0,代表I0.0=0
- arrInput[0]=1,代表I0.0=1
而arrInput中值的变化,只要结合I0.0的开关状态即可表示,如下: - 程序段2中 -| \ |-常闭状态下,arrInput[0]=0;
- 程序段1中 -| |-在闭合后,arrInput[0]=1
解决方法看下面步骤
Move && CMP==
PLC中的MOVE就能实现赋值操作。【但是Bool类型的值不能参与】
CMP==用于判断值是否相等。
更新时间
- 2024-07-18:创建
- 2024-07-22:解释了具体的思路和实际的线路。