我是劳动。集中精力分享电气自动化项目经验。请转达!

这两天别人承担了一半的上位项目,kingview版本7.5,使用了数百种类似的设备。比如工频泵、电机、变频器、电机、各种传感器、阀门。但是仔细总结的话,基本上可以分为三类:电动机、阀门、仪表。

前情介绍

前面别人做的方式是基本的典型应用,比如:电机1的运行是绿色,就弄一个绿色的圆圈,然后用电机1_run信号显示/隐藏,故障是黄色圈,用电机1_fault显示隐藏。

然后弹出窗口一个变量一个变量的进行连接,这样做当然没问题,问题的关键是老董懒啊!让老董做这种重复且繁琐的工作浪费大把时间精力,老董实在是有心无力!所以还是按照老董惯用套路~一种套路打天下


改进方式

1、首先改进工艺图上的状态显示,一个表达式多种颜色显示所有状态。

有多种属性如:run,fault,alarm都是布尔值,但是我们上完小学了,我们不光会加法,还会乘法啊~嘿嘿,run*1+fault*2+alarm*4这样我就可以等于0时灰色,等于1时绿色,等于2时红色,等于4时黄色,一直到100都是红色就OK了啊。

有朋友问老董为啥没有3啊?你吃了啊?

并没有,1+2等于3为了避免这种情况,我们可以设定一个特殊颜色用来表示多信号同时为真的状态。

这个样子复制粘贴、然后更改速度很快了,注意最好是将按下时的弹窗脚本编辑完成后再复制。感叹一下,组态王功能还是偏弱了,很多组态软件做成模板,我可以直接就改一个设备名就可以了。



2、使用脚本做弹窗公用模型,间件传址的方式简化工作流程。

首先将阀门、电机、仪表的属性接口、事件接口整理出来,将电机、阀门、仪表规成三类,用最多属性的设备做成结构变量。

如下图:

1)结构变量全部用内存型

2)建立结构变量VF_MOTOR1,成员类型全部内存型,与外部变量数据类型相同。



3)建立公用窗口

窗口内所有状态连接结构内存变量,如:当前频率显示选择模拟量值输出,表达式内VF_MOTOR1.HZ_PV



4)工艺画面中的表示设备状态的圈圈,按下时使用脚本:

VarRefAddress("\\local\VF_MOTOR1.R_L", "TEST_VFPUMP1_R_L");

VarRefAddress("\\local\VF_MOTOR1.RUN", "TEST_VFPUMP1_RUN");

VarRefAddress("\\local\VF_MOTOR1.FAULT", "TEST_VFPUMP1_Fault");

VarRefAddress("\\local\VF_MOTOR1.M_A", "TEST_VFPUMP1_M_A");

VarRefAddress("\\local\VF_MOTOR1.M_START", "TEST_VFPUMP1_M_Start");

VarRefAddress("\\local\VF_MOTOR1.M_STOP", "TEST_VFPUMP1_M_Stop");

VarRefAddress("\\local\VF_MOTOR1.D_ALARM", "TEST_VFPUMP1_D_ALARM");

VarRefAddress("\\local\VF_MOTOR1.RST_DALARM", "TEST_VFPUMP1_RST_Alarm");

VarRefAddress("\\local\VF_MOTOR1.ACCTIME", "TEST_VFPUMP1_ACC_TIME");

VarRefAddress("\\local\VF_MOTOR1.RST_ACCTIME", "TEST_VFPUMP1_RST_ACCTIME");

VarRefAddress("\\local\VF_MOTOR1.HZ_PV", "TEST_VFPUMP1_HZ_PV");

VarRefAddress("\\local\VF_MOTOR1.M_HZ_SV", "TEST_VFPUMP1_M_HZ_SV");

\\local\BOX_NAME="测试泵1" ;

ShowPicture("变频电机控制");


快速替换

使用脚本的意义当然是为了快速替换了,我们在建立变量时使用统一的后缀,如_run,_m_a,_fault,等等,而前缀可以是位号也可以是设备名如:"TEST_VFPUMP1",所以我们可以直接在脚本窗口将TEST_VFPUMP1,直接替换成类似TEST_VFPUMP2等其他设备名。

变量快速建立

变量可不要一个一个在组态王中建立,建立几个然后导出到EXCEL批量编辑完以后直接导入进组态王,效率N倍。。。



好了现在你可以愉快的玩耍了,看完了记得关注老董昂,我们要仗义!

要不~老董说两句好话?讨好一下~额~~~祝大家2020年收获满满~2021年再战辉煌!嘿嘿!!

对了附上VarRefAddress函数说明:

VarRefAddress

该函数为实现普通变量间的引用,普通变量可以数据类型相同的其它变量。一般用于对于多组定义相同的IO变量,定义一组内存变量,在组态王中使用这一组内存变量定义画面显示的情况。调用格式:

VarRefAddress(RefTagName, RefedTagName);

参数说明:

RefTagName:字符串型 引用的变量名称

RefedTagName:字符串型 被引用的变量名称

别忘了关注、点赞、转发昂~~

1.《组态王怎么关联打印机?终于找到答案了1天时间这样搞定上位机(组态王)几百设备的组态?懒惰使人进步》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《组态王怎么关联打印机?终于找到答案了1天时间这样搞定上位机(组态王)几百设备的组态?懒惰使人进步》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/3313209.html