I/O域值: A
A<10 背景色不变
10<A<20 背景色黄色
A>20 背景色红色
尝试用VB和C去实现,每一个行得通,不知道问题在哪里。。
C
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#define TAG_0 "C3_Temper_M10"
if (TAG_0 > 23 ) return RGB(206, 202, 222);
//else if (real > 23) return RGB(230, 0, 0);
else return RGB(109, 109, 109);
}
VB
Function BackColor_Trigger(Byval Item)
Dim aValue
'Dim objDialog
Set Tag_A = HMIRuntime.Tags("C3_Temper_M11")
Tag_A.Read
aValue = Tag_A.Value
'Set objDialog = ScreenItems("Rounded Rectangle49")
If HMIRuntime.Tags("C3_Temper_M11").Read > 19.0 Then
'aValue > 19.0 Then
BackColor_Trigger = RGB(206, 202, 0)
Elseif aValue > 20.0 Then
BackColor_Trigger = RGB(230, 0, 0)
Else
BackColor_Trigger = RGB(230, 0, 0)
'BackColor_Trigger = RGB(109, 109, 109)
End If
End Function
另外如果这个A就是通过C脚本做计算得出来(如A=(PLC.a=PLC.b)/4)又改怎么做?是在原C脚本的基础上加上一段还是说可以用个内部变量去中转一下呢?
不太懂WinCC,尤其是脚本语言这一款。还望各位老师不吝赐教。