搬家第15天-186.Step7v5.5+WinccV7.3实现点动效果

今天有群友在QQ上咨询怎么在wincc上实现点动效果,就是鼠标按下画面上的按钮,数值增加/减少,鼠标一松开就停止增加/减少;鼠标按下按钮bool变量就置位,鼠标一松开就复位(就像现场点动设备一样)。其实这个还是很好实现的,本例子是在下位机和上位机结合实现效果。

新建一个S7 300的PLC,启用时钟存储器,建立以下符号表,允许操作员监视:

搬家第15天-186.Step7v5.5+WinccV7.3实现点动效果

OB1写入以下程序:

搬家第15天-186.Step7v5.5+WinccV7.3实现点动效果

搬家第15天-186.Step7v5.5+WinccV7.3实现点动效果

插入PC Station,编译将变量传送到wincc,在wincc中将逻辑设备设置为PLC模拟器。新建wincc画面,插入三个按钮,分别用于点动增加TestINT、点动减少TestINT、点动置位Start。

点动增加TestInt按钮的鼠标左键按下vbs脚本为:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)  
Dim btn_up
Set btn_up=hmiruntime.Tags("S7$程序(1)/btn_up")
btn_up.Write 1
End Sub

释放左键vbs脚本为:

Sub OnLButtonUp(ByVal Item, ByVal Flags, ByVal x, ByVal y) 
Dim btn_up
Set btn_up=hmiruntime.Tags("S7$程序(1)/btn_up")
btn_up.Write 0
End Sub

 

点动减少TestINT按钮的鼠标左键按下脚本为:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)   
Dim btn_dn
Set btn_dn=hmiruntime.Tags("S7$程序(1)/btn_dn")
btn_dn.Write 1
End Sub

释放左键vbs脚本为:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)   
Dim btn_dn
Set btn_dn=hmiruntime.Tags("S7$程序(1)/btn_dn")
btn_dn.Write 0
End Sub

 

点动Start按钮的左键按下vbs脚本为:

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y) 
Dim btn_Start
Set btn_Start=hmiruntime.Tags("S7$程序(1)/Start")
btn_Start.Write 1
End Sub

释放左键vbs脚本为

Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y) 
Dim btn_Start
Set btn_Start=hmiruntime.Tags("S7$程序(1)/Start")
btn_Start.Write 0
End Sub

 

画面上放置一个输入输出域,绑定TestInt变量,放置一个圆,背景颜色绑定Start,保存运行,通过点击几个按钮就可以看到效果了。如果希望点动的步伐快/慢一点,可以通过下位机程序调整增加/减少量或者使用其他时钟存储器改变变化频率来实现。

上一篇:[vb.net] 通过注册系统实现进程进程保护(非守护进程方法)


下一篇:wincc中面板实例和画面窗口示例