quote:以下是引用RITAL在2010-03-11 16:21:06的发言:
这样说吧:两种液体注入容器,当液体1注入燃气,容器颜色就是红色,液体1在关闭的状态下,注入液体2,容器颜色是黄色,两种液体互锁,另两种液体同时注入,容器是蓝色,这样用动态对话框的表达式实现容器颜色动态行吗?就是不能获取变量的取反值就不能实现。不知这样表述清楚了没有?谢谢侠客Lyn的回复。
你注入液体1,2时都应该有一个变量置位,一个复位的。同时注入时两个同时置位,假设变量是tag1,tag2.
我的做法是建立一个内部变量,无符号8位数(假设时Status)就可以,然后定义成注入液体1时,Status=0,注入液体2时Status=1,同时注入时Status=2,其它情况Status=3
然后在全局脚本中写代码(当然在PLC里面建立一个BYTE来做,更好),
if(GetTagBit("tag1") && !GetTagBit("tag2"))
{
SetTagByte("Status",0);
}
else if(GetTagBit("tag2") && !GetTagBit("tag1"))
{
SetTagByte("Stauts",1);
}
else if(GetTagBit("tag1") && GetTagBit("tag2"))
{
SetTagByte("Status",2);
}
else
{
SetTagByte("Status",3);
}
脚本触发条件选个周期触发吧,如果要很实时的话就在PLC里面做吧。得到Status这个变量后,在动态动话框里选模拟量就很简单了吧。
这只是我自己用的方法,不一定是最好方法,高手有其它更好的方法,我也想学习。