WINCC画面多变量连接问题

我在现场给人做个项目,根据甲方的要求要在画面给人做色彩显示,打个比方,有8台电机,要求1,3,,5,7号电机运行时,方块1指示灯为绿色,方块2指示灯红色,当2,4,6,8号电机运行时,方块2指示灯为绿色,方块1是红色,当然必须用这两个指示,不能在加别的颜色指示了,求前辈们指点一二,谢谢了.

最佳答案

在下位机做如果1357运行=m0.0,如果2468运行=m0.1,上位机建立变量tag1连接m0.0,tag2连接m0.1.如果你的电机运行和停止的不是你设定的怎么办?显示第三种颜色。
方框的背景颜色c脚本:
define TAG_1 "tag1"
define TAG_2 "tag2"
if((unsigned long)GetTagDouble(TAG_1))
return 65280;//绿色
else if((unsigned long)GetTagDouble(TAG_2))
return 255;//红色
else return 0;//其他颜色


脚本的触发变量连接tag1和tag2

vbs脚本:
function backcolor_trigger(byval item)
dim tag_1,tag_2
tag_1=hmiruntime.tags("tag1").read
tag_2=hmiruntime.tags("tag2").read
if tag_1 then
backcolor_trigger=65280
end if
if tag_2 then
backcolor_trigger=255
end if
if  not tag_1 and not tag_2 then
backcolor_trigger=0
end if
end function
脚本触发变量添加tag1和tag2
如果你把8个信号全部取上来的话用vbs做简单:
dim tag_1,tag_2,tag_3,tag_4,tag_5,tag_6,tag_7,tag_8
tag_1=hmiruntime.tags("tag1").read
tag_2=hmiruntime.tags("tag2").read
tag_3=hmiruntime.tags("tag3").read
tag_4=hmiruntime.tags("tag4").read
tag_5=hmiruntime.tags("tag5").read
tag_6=hmiruntime.tags("tag6").read
tag_7=hmiruntime.tags("tag7").read
tag_8=hmiruntime.tags("tag8").read

if tag_1 and tag_3 and tag_5 and tag_7 then
backcolor_trigger=65280
end if
if tag_2 and tag_4 and tag_6 and tag_8 then
backcolor_trigger=255
end if
if not(tag_1 and tag_3 and tag_5 and tag_7) and not(tag_2 and tag_4 and tag_6 and tag_8) then
backcolor_trigger=0
end if
触发变量为tag1~tag8

提问者对于答案的评价:
可能是我说的不明白,我的意思是,不管电机1,3,5什么的,只要有一个运行,画面只是灯就亮。不过我在程序里做了,你的答案我以后会采纳!因为这个东西以后用的不少。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc253283.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月7日 上午11:21
下一篇 2018年12月7日 上午11:21

相关推荐

  • Wincc vbs报表问题

    客户要求利用WINCC实现点按一个按钮,当第二次按这个按钮的时候自动实现报表从数据库读出数据并且导出到EXCEL,报表内容不重复。我现在只能在一个界面内利用MSFlexGrid控件…

    SIMATIC WinCC 2021年7月5日
  • 求大神指点一个wincc中倒计时的脚本?

    根据一个变量 由1 变为 0 时 显示一个倒计时为 100 分钟,而变量由0变化到1时,触发一个倒计时为80分…

    SIMATIC WinCC 2021年7月5日
  • 趋势曲线的不显示问题

    通过一个按钮,见图右下角,控制一条曲线的显示,但是却没反应。这是哪儿出了问题?属性里带的那个曲线勾选却是正常的。WINCC版本是7.0 ASIA版。趋势画面的名称是TRE…

    2017年6月19日
  • VBS 判断EXCEL是否打开

    各位大侠 ,请问用VBS如何判断EXCEL文件是否打开,在网上只找到VBA的判断方法,但在VBS里不能用。 最佳答案 需要使用GetObject来获取Excel进程句柄,…

    SIMATIC WinCC 2019年6月11日
  • 开关与按钮

    在SMART触屏中开关和按钮的区别 最佳答案 按钮就是你按下对应的标志位置一,你手离开触摸屏就是没有接触到你做的那个按钮的时候,就自动复位了,相应的标志位就置零。开关是你按下对应的…

    SIMATIC WinCC 2021年7月5日
  • 将WinCC中采集到的16位无符号数转换为32位浮点数输出

    通过MOdbus采集到的数据为无符号16位数值,在PLC中的值为1061820,WinCC读取到的值为13254(数据类型为无符号16位),想得到的数值输出为106.18注:无法修…

    SIMATIC WinCC 2021年7月5日
  • WINCC6.0与PLC S7-300连接问题

    我的计算机的“SIMATIC Manager”可以与PLC通信,但不知为什么“WINCC”不可以与PLC通信? 最佳答案 首先你要在内部变量里面添加SIMATIC&nbs…

    SIMATIC WinCC 2019年6月11日
  • 一个二进制结构变量长度为2是什么意思,占几个位

    PLC的M1.0到M1.7八个地址关联八个结构变量行不行,可以的话为什么添加过程老是添几个报一次错,再打开又好一会,再添再报错。“0x73d3315f”指令引用的“0x01652c…

    SIMATIC WinCC 2019年6月11日
  • S7-200+CP243-1,如何用组态两台WINCC上位机?

    S7-200+CP243-1,如何用组态两台WINCC上位机?当前一台服务器已经在运行,想在系统中再增加一台服务器,如何组态另外一台WINCC服务器呢? 最佳答案 可以做2台组态完…

    SIMATIC WinCC 2019年6月10日
  • vb编写的可执行文件运行错误

    我将wincc中的数据存放到access中,access中的数据再放到excel中以报表形式打印出来.使用vb编写的可执行文件(exe),作用就是按输入的时间调出execel表格,…

    SIMATIC WinCC 2019年6月11日