第二章 报 警 ? 17? 本程序为“!CloseSubWnd(窗口1 )”。
图 2-2-18 添加报警策略 图2-2-19 位报警策略属性设置
4.查看效果:组态完成后,连接PLC,当“M寄存器”的地址12.3发生报警时,在窗口0就会弹出窗口显示报警信息。
注:如果工程启动时有报警产生,报警窗口不会弹出。 报警实例的功能完成,然后为“窗口0”添加一个“标签” 作为标题,文本内容为“报警”,背景
色为“白色”。为各报警添加注释“位报警”,“字报警”和“弹出窗口显示报警信息”。组态设置完成,运行效果实现。
? 18? mcgsTpc 中级培训教程 第三章 配方功能
本章主要介绍MCGS嵌入版组态软件提供的配方解决方案,并通过具体实例,使用户尽快掌握配方的组态实现方法。
3.1 配方功能介绍
配方是同一类数据的集合,如机器参数设置或生产数据,我们的配方功能提供HMI界面让使用者可以查看编辑数据。根据数据存储方式的不同,配方大致分为两种模式:
? 配方数据存储于PLC
配方数据存储于PLC中,可将需要的配方数据上传到HMI并显示。用户选取特定配方并修改,再下载到PLC中作为当前配方。该方式主要常见于早期的系统中。因为早期的HMI本身不能存储配方,只能利用PLC的存储空间来实现。
? 配方数据存储于HMI
配方数据存储于HMI之中,由HMI显示所有配方数据。用户选取特定配方下载到PLC中,作为当前配方。
本教程中我们以面包配方为例,介绍如何运用MCGS嵌入版组态软件,实现这两种配方应用。 假设面包配方中仅有三个参数:面粉、水、糖,不同的比例混合可制成无糖、低糖和甜面包三种不同口味的面包。那么配方就有面粉、水、糖三个成员,按三个成员含量的不同分成三条配方记录。
多媒体光盘中提供配方的样例,两种模式的配方,运行效果如图 3-1-1 和 3-1-2所示。
图3-1-1 配方存储于PLC运行效果 图3-1-2 配方存储于HMI运行效果
3.2 配方数据存储于PLC中的用法
3.2.1 准备工作
此类应用将全部的配方数据存放在PLC中,因此HMI仅能进行如下几个操作: 1. 可以使用HMI浏览PLC中配方数据
第三章 配方功能 ? 19? 2. 可以选择修改一条配方项
3. 可以下载某一条配方项到特定区域使PLC正常运行 分析:
1. 面包配方的三条配方项均存储于西门子S7-200的V寄存器中,数据格式选择16位无符号二进制,所以每个配方成员占2个字节存储空间,每个配方项为6字节,3条共18字节,设定存于V寄存器0~17的18字节连续地址空间中,初始的数据可以通过PLC编程软件写入 。
2. 我们使用西门子S7-200 PLC模拟面包生产机,接收面包配方的三个参数,接收地址为V寄存器100~105字节。
组态思路:
根据以上需求,综合MCGS软件的特点给出一个如下的组态思路。 1. 首先在MCGS数据库中添加变量用于稍后操作配方数据 2. 在设备窗口添加PLC设备并进行设定
3. 然后在用户窗口添加若干标签、输入框和按钮构件,并编辑必要的脚本,用于显示与操作配方。 组态环境中设定完毕后,我们即可下载工程到HMI,在运行环境中操作配方。
PLC地址 VWUB100 VWUB102 VWUB104 数据 1 1 5 PLC地址 数据 1 1 5 2 0 0 3 0 0 第一条配方起始地址
第二条配方起始地址
第三条配方起始地址
VWUB000 VWUB002 VWUB004 VWUB006 VWUB008 VWUB010 VWUB012 VWUB014 VWUB016 3.2.2 配方组态
新建一个工程我们开始组态吧。 1. 建立变量
? 打开工作台“实时数据库”,新建3个数值型变量“面粉”、“水”、“糖”,其它属性保持默认值。
此类变量用于实现配方数据的显示和修改。
? 新建一个字符型变量“设备字符串”,其它属性保持默认值。此变量用于与设备进行信息传送。 ? 新建一个数值型变量“offset”,其它属性保持默认值。此变量用于存储PLC中配方数据偏移地址。 ? 新建两个数值型变量“a”、“b”,其它属性保持默认值。此类变量用于解析“设备字符串”变量。
变量创建好后可选择添加必要的备注,完成后实时数据库如图 3-2-1所示。
? 20? mcgsTpc 中级培训教程 图 3-2-1 实时数据库创建变量
2. 添加设备
? 切换到工作台,打开设备窗口,使用设备工具箱添加“通用串口父设备”与“西门子_S7200PPI”
两个设备,将“西门子_S7200PPI”驱动作为“通用串口父设备”的子设备。
? 双击西门子_S7200PPI驱动进入设备编辑窗口,在窗口的左上方查看驱动模版信息,确保此驱动
是“新驱动模版”。如图3-2-2所示。
图 3-2-2 设备窗口组态
? 为了方便实时查看PLC中的配方数据,我们在设备中添加这些数据的通道并连接变量,如图 3-2-3
所示,以便实时查看这些数据。
图 3-2-3 通道连接变量
注:建议在工程界面添加一个标签或者输入框构件,关联“设备0_通讯状态”变量,用于显示PLC和HMI当前的通讯状态,以保证工程正常运行。通讯状态为0表示PLC和HMI通讯正常。
3. 创建动画构件、编写脚本程序
? 切换回工作台“用户窗口”界面,新建一个用户窗口,添加标签、输入框、按钮、自由表格等构
第三章 配方功能 ? 21? 件,创建如图3-2-4所示窗口界面。
图 3-2-4 组态窗口界面
? 在上面三个输入框的属性设置窗口的操作属性页,分别关联数据中心变量“面粉”、“水”、“糖”,
用于配方数值的显示与修改。
? 用鼠标双击“PLC”标签下面的自由表格构件,可激活表格构件,进入表格编辑模式。选择“表
格”菜单的“连接”命令,会发现表格的行号和列号后面加星号(“*”)显示,右键单击表格,在打开的变量选择对话框中采用从数据中心选择的方式,关联如图3-2-3所示的通道连接变量,用于显示通道数据。
? “下移一条”按钮的按下脚本编辑如下:
if offset = 12 then exit
if (offset < 12) then offset = offset + 6
!SetDevice(设备0,6,\,offset,[WUB][WUB][WUB],1,设备字符串)\ a = 1 b = 1
b = !InStr(a, 设备字符串, \
面粉 = !Val(!Mid(设备字符串, a, (b -a)))
a = b + 1
b = !InStr(a, 设备字符串, \
水 = !Val(!Mid(设备字符串, a, (b - a)))
糖 = !Val(!Mid(设备字符串, (b + 1), (!Len(设备字符串)-b)))
此脚本的意义为:
1)在规定的范围内,将PLC地址以一组配方数据的长度为单位向后移动。 2)读取PLC存储器中偏移量位置的配方数据。