恭喜,你发布的帖子
发布于 2026-05-24 14:48:04
35楼
下面是触摸屏上的模拟,有点像那么回事了
图中的M0.0之类的可以换成变量名称,看的更直观些
图中的触点都是向量图,但是是几个向量图的群组,因为触点左右的线条也需要控制颜色,线条的颜色反应了能流的状态,触点后面线条的颜色不仅和触点前面线条颜色有关,还和触点状态有关,所以在触摸屏里定义了很多中间变量来控制线条的颜色(图中需要12个临时变量),当然水平线条的颜色也是需要控制的,触点或线圈内中间的方块是触点的状态,方块的颜色当然也需要控制,而且和触点左右2边的颜色无关
上面的常闭点M0.4左边的线颜色控制变量搞错了,第二个和第三个颜色错了,不过很容易修改过来
为方便修改,直接在同一个宏里出来这些临时变量,下面是代码
macro_command main()
bool T=true
bool F=false
bool M0_0=false
bool M0_1=false
bool M0_2=false
bool M0_3=false
bool M0_4=false
bool M0_5=false
bool M0_6=false
bool M0_7=false
bool M1_0=false
bool M1_1=false
GetData(M0_0, "Siemens S7-200 SMART (Ethernet)", M, 0.0, 1)
GetData(M0_1, "Siemens S7-200 SMART (Ethernet)", M, 0.1, 1)
GetData(M0_2, "Siemens S7-200 SMART (Ethernet)", M, 0.2, 1)
GetData(M0_3, "Siemens S7-200 SMART (Ethernet)", M, 0.3, 1)
GetData(M0_4, "Siemens S7-200 SMART (Ethernet)", M, 0.4, 1)
GetData(M0_5, "Siemens S7-200 SMART (Ethernet)", M, 0.5, 1)
GetData(M0_6, "Siemens S7-200 SMART (Ethernet)", M, 0.6, 1)
GetData(M0_7, "Siemens S7-200 SMART (Ethernet)", M, 0.7, 1)
GetData(M1_0, "Siemens S7-200 SMART (Ethernet)", M, 1.0, 1)
GetData(M1_1, "Siemens S7-200 SMART (Ethernet)", M, 1.1, 1)
bool L01=false
bool L02=false
bool L03=false
bool L04=false
bool L05=false
bool L06=false
bool L07=false
bool L08=false
bool L09=false
bool L10=false
bool L11=false
bool L12=false
L01=T
L02=L01&M0_0
L03=L02&M0_1
L04=L01&M0_2
L05=L04&M0_3
L06=L01&(not M0_4)
L07=L03|L05|L06
L08=L07&M0_5
L09=L08&M0_6
L10=L07&(not M0_7)
L11=L09|L10
L12=L11&M1_0
SetData(L01, "Local HMI", "L01", 1)
SetData(L02, "Local HMI", "L02", 1)
SetData(L03, "Local HMI", "L03", 1)
SetData(L04, "Local HMI", "L04", 1)
SetData(L05, "Local HMI", "L05", 1)
SetData(L06, "Local HMI", "L06", 1)
SetData(L07, "Local HMI", "L07", 1)
SetData(L08, "Local HMI", "L08", 1)
SetData(L09, "Local HMI", "L09", 1)
SetData(L10, "Local HMI", "L10", 1)
SetData(L11, "Local HMI", "L11", 1)
SetData(L12, "Local HMI", "L12", 1)
end macro_command
请填写推广理由:
分享
只看
楼主