西门子WCC文本列表运用解析

2020-05-14 08:19卢振羽
机电工程技术 2020年3期
关键词:神龙子程序西门子

卢振羽

(航空工业贵阳万江航空机电有限公司,贵阳 550003)

0 引言

随着人工智能的进一步发展,利用西门子WCC组态开发控制系统已经越来越广泛,在开发控制系统的过程中,如何通过文本列表的运用进行程序的选择、指令的执行、数据的读取和显示尤其重要[1-2]。本文通过两个工程实践的例子,通过西门子WCC设计文本列表,利用西门子PLC及VBS编制程序,实现了在西门子WCC的操作界面上进行程序选择、数据导入,其他一些功能可参照设计。

1 工程设计案例

1.1 利用文本列表对PLC的不同子程序进行选择

在某控制系统设计过程中,需要对文本列表中的不同车型选择不同的试验标准进行试验[3],不同的试验标准已在PLC中设计了不同的子程序,需要在上位机WCC中选择文本列表框中的主机厂试验标准如“神龙”,将执行下位机PLC中对应的“神龙”子程序,如图1所示。

图1 利用文本列表选择不同的程序

设计过程介绍如下。

(1)先在WCC的操作界面创建文本列表,并设置外部变量VW1014,该文本列表与外部变量VW1014链接,对于VW1014的使用,后面的PLC编程将会用到,根据西门子PLC 200对“VW”的定义,“VW”是变量存储器,代表“字”,共16位,包括低8位和高8位,故VW1014代表如下。

低8位:V1015.0 V1015.1 V1015.2 V1015.3 V1015.4 V1015.5 V1015.6 V1015.7。

高8位:V1014.0 V1014.1 V1014.2 V1014.3 V1014.4 V1014.5 V1014.6 V1014.7。

(2)对WCC中的文本列表创建完后,必须对数值(0、1、2、3、4…)进行分配,这时,可以通过“附加”的方式增加试验项目(“0”代表“按下双击选择车型”、“1”代表“凯越”、“2”代表“神龙”、“3”代表“NCS”),如图2所示。

图2 WCC文本列表的数值分配

(3)编制PLC程序,本工程设计的目的是点击WCC中的文本列表VW1014“1凯越”、“2神龙”、“3 NCS”后,执行下位机PLC中的子程序,这时,需要对VW1014对应的低8位、高8位按顺序组合编程,共可以编出65 536个子程序出来,实际工程中用不了那么多。根据这一思路,编制PLC程序,如图3所示,这时WCC文本列表中的“2神龙”与下位机PLC中的子程序“神龙”实现了对应关系,也就是说,在点击上位机WCC操作界面的“神龙”时,就可以执行下位机PLC中的子程序“神龙”了。

(4)给下位机PLC下载程序,运行上位机WCC,在WCC的操作界面文本列表中点击想要运行的程序如“神龙”,点击后就可以执行对应的PLC子程序,就可以开展需要的试验了。

1.2 利用文本列表实现WCC操作界面的数据读取

在某系统开发中,需要将文本列表中产品型号如GZD-70H产品(文本列表中已设置多个产品型号)的“产品电流”的“上限值”和“下限值”显示在WCC的操作界面上,以及“产品转速”的“上限值”和“下限值”显示在WCC的操作界面上,方便检测人员目视观察[4-5],同时将在检测过程中检测到的“产品电流”及“产品转速”的值和“上限值”和“下限值”进行比较,当检测值超过“上限值”及检测值低于“下限值”时进行报警,防止不合格产品流出,如图4所示。

图3 PLC程序图

图4 对应产品数据的读取

设计过程介绍如下。

(1)先将要显示的数据存放于某一文件中,在电脑D盘下建立excel文件,并命名“设置产品合格限.xlsx”,该文件中每个产品型号对应“电流”的“上限值”和“下限值”及“转速”的“上限值”和“下限值”,如产品名称是“GZD-70H”的产品的电流“上限值”是3.4 A,“下限值”是0.4 A,转速“上限值”是40,下限值是21。这个表格上的数值将是在WCC操作界面上要显示的数值,如图5所示。

图5 利用Excel建立需要显示的数值

(2)在WCC的操作界面创建文本列表,按1.1节的方式设计,设置外部变量“CPXZ”与该文本列表进行链接,并对文本列表的数值进行分配,其中值“0”对应文本列表中的“GZD-70H”,值“1”对应文本列表中的“GZD-70AH”,依次进行设计。

(3)此时,可以在WCC中利用VBS编制程序[6],编程思路“打开d:设置产品合格限.xlsx文件,读取该excel中的电流“上限值”在WCC操作界面“产品电流”的“上限值”既“dlsx”处写入,其他的参数,电流“下限值”及转速的“上限值”及“下限值”也按该方式读取,既读取预先在excel表格中设置的参数“转速”和“电流”值的“上限值”和“下限值”,并将这些参数值显示在WCC的操作界面上(图4)。部分程序如下:

Dim cpxz,app,a

cpxz=HMIRuntime.tags("CPXZ").read

Set app=CreateObject("excel.application")

app.workbooks.open"d:设置产品合格限.xlsx"

a=cpxz+2

HMIRuntime.tags("dlsx").write app.worksheets("sheet1").cells(a,2).value

HMIRuntime.tags("dlxx").write app.worksheets("sheet1").cells(a,3).value

HMIRuntime.tags("zssx").write app.worksheets("sheet1").cells(a,4).value

HMIRuntime.tags("zsxx").write app.worksheets("sheet1").cells(a,5).value

app.quit

End Function

(4)在VBS程序设计完后,需要设置触发器,触发器分周期性触发和变量有变化时触发,根据本工程的目的,当点击WCC操作界面文本列表“CPXZ”时,需要显示所选择的产品的参数,故设置触发器为“变量变化时”,当选择任一产品如“GZD-70H”时,即可显示所选择的产品的参数[7-8]。

(5)程序设计完后,运行WCC程序(图4),在文本列表框中点击GZD-70H,实现了在WCC的操作界面上显示了转速值及电流值的上下限值,方便检测人员观察,同时将在检测过程中检测到的“产品电流”及“产品转速”的值和“上限值”和“下限值”进行比较,当检测值超过“上限值”及检测值低于“下限值”时进行报警,防止不合格产品流出。

2 结束语

通过两个工程例子的探索研究,在掌握了西门子WCC文本列表运用的同时,还需要掌握西门子PLC编程、VBS语言编程、变量的定义、数据库的使用、触发器的使用。本文通过西门子WCC、西门子PLC、VBS及相关知识的综合使用,实现了程序选择、数据导入显示的功能。毋庸置疑,WCC文本列表在工程设计中还可以实现非常多的功能,这需要在工程设计时灵活运用各软件及相关知识,才能达到工程设计的目的。

猜你喜欢
神龙子程序西门子
基于西门子VCS的大型五轴机床空间误差补偿
西门子重型燃机出海
巧技对神龙
Lanting Xu:Millennium Legend
浅谈子程序在数控车编程中的应用
子程序在数控车加工槽中的应用探索
西门子840D系统JOG模式下PLC调用并执行NC程序
西门子 分布式I/O Simatic ET 200AL
西门子引领制造业的未来
简化编程与子程序嵌套的应用