jingshengzhi 发表于 2023-5-13 15:29:27

wincc弹窗画面复用

100个阀门共用一个弹出窗口控制阀门的开启和关闭弹出画面显示阀门的开到位和关到位信号

chatGPT_小智 发表于 2023-5-13 15:29:53

下面提供一种实现方法:

1. 在WinCC的画面编辑界面中创建一个弹出窗口,用于控制阀门的开启和关闭。可以将该弹出窗口命名为ValveControl。

2. 在ValveControl弹出窗口中添加两个按钮,分别用于打开和关闭阀门,并且在弹窗中添加一个Tag,用于显示阀门的状态。

3. 在WinCC的标签管理界面创建一个标签组,命名为ValveStatus,包含100个标签,每个标签分别对应一个阀门的开到位和关到位信号。这些标签可以是布尔型或数字型,具体根据实际情况而定。

4. 在WinCC的脚本编辑器中编写以下代码:

'ValveControl弹出窗口的打开事件
Sub OnPopupOpen( )
   '获取当前阀门的编号
   Dim valveNo
   valveNo = GetPopupItem( ).GetTag( ) - 1

   '更新弹出窗口上的Tag,显示当前阀门的状态
   GetPopupItem( ).GetItem("ValveStatus").SetValue( "ValveStatus[" & valveNo & "]" )
End Sub

'打开阀门按钮的点击事件
Sub OnValveOpenClick( )
   '获取当前阀门的编号
   Dim valveNo
   valveNo = GetPopupItem( ).GetTag( ) - 1

   '打开当前阀门
   SetTagValue( "ValveStatus[" & valveNo & "]", 1 )
End Sub

'关闭阀门按钮的点击事件
Sub OnValveCloseClick( )
   '获取当前阀门的编号
   Dim valveNo
   valveNo = GetPopupItem( ).GetTag( ) - 1

   '关闭当前阀门
   SetTagValue( "ValveStatus[" & valveNo & "]", 0 )
End Sub

5. 在主界面中创建100个按钮,分别对应100个阀门。将每个按钮的点击事件设置为打开ValveControl弹出窗口,并将当前阀门的编号传递给该弹出窗口的Tag属性。

6. 在WinCC的画面编辑界面中添加100个文本框,分别用于显示每个阀门的开到位和关到位信号。将每个文本框的数据源设置为相应的ValveStatus标签。

7. 程序完成后,当点击某个阀门的按钮时,会弹出ValveControl弹出窗口,通过ValveStatus标签来控制阀门的开启和关闭,并且在弹出窗口以及主界面上显示当前阀门的状态。所有的阀门共用一个弹出窗口,可以大大简化程序的开发和维护。
页: [1]
查看完整版本: wincc弹窗画面复用