【新手速成】IFIX 一个不得不介绍的强大功能

在上位组态软件开发中,经常会遇到多个阀门,电机的控制,不同电机,阀门都要弹出相应的控制界面,用于它们的控制,而基本每个阀门,电机的控制的控制界面相同,我们总不能每个阀门,电机都绘制一个画面进行控制,不同的组态软件有不同的解决办法,那么 IFIX 如何解决这个问题呢???

一般我们都是使用一个界面完成所有相同的电机,阀门的控制功能,在点击不同的阀门,电机的时候会将其对应的参数传递到弹出界面的形式参数,那么 IFIX 又是如何实现的呢?

我们使用 IFIX 的标签组来实现这个功能,具体步骤如下:

第一,打开标签组编辑器,如果有2个油泵需要控制,建立2个标签组文件,有多少台同样的设备就建立多少个标签组,“符号” 的名称必须都是相同的,“替换” 部分的内容使用不同的名称;

泵1

泵2

第二,新建一个弹出画面,在其上绘制泵的相关内容,如泵的启动按钮,停止按钮,启动,停止,故障指示灯,泵的位号名称,并在主画面上绘制2个按钮,用于2台泵的弹出画面操作,在新建画面弹出“pump_control”时使用像素点,不用百分比;

第三,在数据库管理中添加2个pump的变量,此处变量的标签名可以和标签组的替换部分的内容一致。

第四,画面“pump_control”中变量进行连接,注意title标题部分,需要直接将title的文本caption属性改为@title@,这样在画面打开时会在Pump1 Control 和Pump2 Control之间进行切换。此处title值的改变还可以通过代码实现,在pump_control画面的画面激活脚本中添加如下代码

Private Sub CFixPicture_Activated()

Text5.Caption = user.pumptitle.CurrentValue

End Sub

然后在pump1, pump2按钮中添加单击脚本:

Dim var1 As String

var1 = "pump1 control"

user.pumptitle.CurrentValue = var1

其他变量的连接如下图使用@标签组符号@就可以实现不同变量的切换

第五,为启动和停止按钮的打开数字量标签专家和关闭数字量标签专家来实现启动停止变量的赋值,此处也使用@标签组符号@来实现。

如果通过脚本,代码如下:

'关于按钮控制DO变量,除了使用打开/关闭数字量专家之外还可以使用WriteValue 对变量进行写值操作,此处可以使用标签组 @run@,@stop@来完成,也可以使用Fix32.RC1.@run@.F_CV,Fix32.RC1.@stop@.F_CV来完成

Private Sub CommandButton1_Click()

'writevalue "1", "@run@"

'writevalue "0", "@stop@"

writevalue "1", "Fix32.RC1.@run@.F_CV"

writevalue "0", "Fix32.RC1.@stop@.F_CV"

CommandButton1.Enabled = False '使用按钮的Enable属性可以对按钮切换时的状态进行控制,禁止同一个按钮多次按下

CommandButton2.Enabled = True

End Sub

第六,对pump1, pump2按钮进行组态。使用打开画面专家,画面名为需要通过按钮打开的弹出画面,并启用标签组替换。

代码如下:

Private Sub pump1_control_Click()

OpenTGDPicture "pump_control.grf", "", "", "", "PUMP1CONTROL.TGD"

End Sub

标签组语法

OpenTGDPicture [Picture], [PictureAlias], [TopPosition], [LeftPosition], [TagGroupName], [intErrorMode], [bNewInstance]

属性

OpenTGDPicture子程序语法有这些部分:

第七,组态后,运行如下:

至此 IFIX 标签组的应用介绍完毕,希望对新手有用。

欢迎给作者打赏

作者简介

剑控老罗

具有10年工业自动化领域SCADA,DCS,PLC等项目实施经验,熟悉石化行业,油田数字化行业,熟悉多个品牌PLC,HMI,SCADA,数据库等。