『7x24小时有问必答』

用过FactoryTalk View SE软件的人可能知道,SE软件授权是按画面数量(不是变量点数)来划分,这样我们在使用它的过程中如果遇到多个相同功能的设备,就会考虑使用全局对象来调用设备公用画面的方法,一来减少了画面数量,二来大大减少了我们的开发工作量,提高了开发效率。那么如何实现这种功能呢?

01
软件平台

操作系统:Win7 64位
Studio5000 V32.02
Studio5000 Logix Emulate V32.00

02

前期准备

以画面中做两个进水泵的操作画面为例,首先我们建立仿真程序,在程序中做建好电机的标签及对应程序功能块,打开仿真器,将程序下载到仿真器并运行(这里不再详述)。
打开SE_Template工程,建立与仿真器的通讯链接:

03

通过调用全局对象+参数传递+HMI Tags实现

在HIM Tags里建好我们所用到的标签:
这里我们注意一下Mot101和Mot102这两个标签:

新建一个全局对象画面,从库里面拖入一个电机图标,

右键电机图标,在全局对象参数(一个全局对象最多可以定义1000个参数)定义中第一行名称中输入#1,这个#1即为电机的标签名称(也就是所有进水泵101标签的前缀):
然后在水泵电机的动画中按如下设置,用来在画面中显示电机的状态颜色:
下面我们来建一个名为common-faceplatepump1的进水泵电机公用的操作画面:
在操作画面,我们做了操作设备的名称显示、状态显示等,以及启停按钮、复位按钮,其中启停、复位等按钮操作时需要二次确认功能,这样我们再做一个二次确认的弹出窗口画面:

下面我就操作画面中的一些功能做些简单介绍:

用于显示操作设备的名称描述;

以上是对于启动按钮的设置(停止、复位按钮设置类似,只需要把标签后缀改掉就行)。
在二次确认确认窗口画面中,对“确定”和“取消”按钮做如下设置:
这里我们注意一下,二次确认画面中的#1就是表示操作画面中的#1_Start/#1_Stop/#1_Reset。
以上是状态显示的相应设置;设置完成后关闭保存对应画面窗口。
现在我们回到全局对象画面中来,右键进水泵电机图标,在弹窗中选择到动画-Touch
在按下动作中选择弹出我们上面做的共用操作画面并将#1标签传递给共用画面:
以上对于全局对象画面和公用操作画面的配置已经完成,下面我们将全局对象画面中的水泵电机图标复制到Mian画面中去,复制两个,分别为进水泵101和进水泵102:
右键电机图标,在属性框中选择Global Object Parameter Values,在弹出的窗口中分别将#1对应的值Mot101和Mot102填进去:
到这里我们观察到,操作画面中的#1就是表示主画面中全局对象中定义的参数Mot101/Mot102,也就是全局对象通过参数传递将Mot101/Mot102传给公用操作画面中的#1。
下面我们将画面运行起来,测试一下实际效果,点击对应的电机图标,会弹出对应的操作画面:

点击操作画面上的启动按钮,会弹出二次确认窗口;点击二次确认窗口中的确认按钮,这时进水泵电机就运行起来了,其对应的状态颜色也跟着变化了。
以上是通过调用全局对象并将其参数传递给弹出画面来实现多个设备调用公共操作画面的方法。
这种方法的缺点是什么呢?相信大家已经看出来了,那就是需要建HIM Tags,如果工程有大量设备或者程序中设备标签用了结构体标签,这种方法就不太适用了,有没有其他更简单的方法呢?请明天同一时间继续收看。。。。
哦,走错片场了,请接着往下看。

04

通过调用全局对象+参数文件+参数传递实现

首先将原设备操作画面复制一份,名为common-faceplatepump11,在全局对象画面中拖入电机图标:
定义此全局对象的参数:其中#100为SE与PLC通讯链接的名称,#200为电机设备的名称(或者说是电机设备的标签名前缀)

在电机图标动画里设置颜色和鼠标按下动作:
设置完后,将全局对象电机图标拷贝到主画面中为进水泵101和进水泵102,然后分别定义它们的全局对象参数值:
在进水泵101中,#100的值输入#10、#200的值输入#11;在进水泵102中,#100的值输入#10、#200的值输入#12;
这时我们开始定义参数文件,在参数中新建一个名为Mot的参数文件,在其中为#10、#11、#12赋值,然后保存并关闭:
打开common-faceplatepump11操作画面,按下图对状态显示及按钮进行设置:

二次确认画面仍为common-confirm1,画面里设置不做改动:
在跳转主画面的按钮属性里,我们做如下设置:
到这里我们观察到,主画面跳转按钮通过参数文件将Shortcut名称、Mot101/Mot102传递给全局对象的#100、#200值,全局对象通过参数传递将#100、#200值传给公用操作画面中的#1、#2。
下面我们将画面运行起来,测试一下实际效果:
点击对应的电机图标,会弹出对应的操作画面,

综上,当我们在使用参数传递时,被传递参数的对象参数号永远从#1开始排序,知道这一点我们就很好理解它的使用原理了。

以上我们只是演示了用全局对象一个基本功能,有兴趣的朋友可以自行研究其它更多功能!
如果有需要以上SE工程文件的,可以后台联系我索取。

END


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码