广西海控工业控制系统有限公司
Guangxi Haikong Industrial Control System Co., Ltd.
随着计算机控制技术的不断发展,可编辑逻辑控制 器的应用也在不断普及,成为自动化技术的重要组成, 其中西门子 S7 系列的 PLC 在我国工业控制中也占有了很 大的比重。触摸屏作为一种直观、方便的人机交互方 式,在工业控制中得到了广泛的应用。笔者在长期的使 用过程中,发现很多人对于不同型号的 PLC 之间,以及 西门子 PLC 与第三方触摸屏的数据通信比较陌生,本文 将以具体实例来说明如何采用以太网的方式实现 MCGS 触摸屏与西门子 S7 系列的 PLC 进行通信,为工业自动化 控制系统搭建基础。
1 硬件构成
本控制系统的硬件由3 个西门子S7 系列的PLC 模块构 成,其中一个选用了典型的 S7-300 系列 CPU314C-2PN/ DP PLC 作为主站,另外两个选择S7-200Smart 系列的SR40 和 ST30 PLC 作 为 从 站 , 触 摸 屏 选 用 了 昆 仑 通 泰 的 TPC7062Ti (具备以太网口),触摸屏只与主站PLC 进行通 信,而主站可以和两个从站进行通信,两个从站PLC 之间 也可以进行通信。3 个PLC 模块使用网线和交换机进行连 接,通过编程软件分别给3 台PLC 设置IP 地址,另外,触 摸屏和编程计算机也需要设置IP 地址,注意本系统中所有 设备IP 地址都必须在同一网段[1]。其系统硬件构成和IP 分 配如图1 所示。
图1 系统硬件构成及IP 分配
2 上位机组网
2.1 S7-300PLC以太网设置 (1)硬件及网络组态
CPU 采用了 314-2PN/DP,使用 STEP7 Manger V5.5 软 件,插入1 个S3-300 站,在硬件组态中插入CPU314-2PN/ DP,其硬件组态的硬件参数必须要和实际的硬件参数相 同,因CPU314-2PN/DP 自带两个以太网PN 接口,在进行 组态的时候会弹出以太网属性设置窗口,在该窗口中根据 图1 设置IP 地址,选择不使用路由器(普通的交换机没有 IP 地址),新建一个Ethernet(1)子网,硬件设置完毕后,点 击保存并编译,创建系统数据。
(2)网络配置
打开“ NetPro” 设置网络参数,选中 CPU 314-2PN/ DP,在连接列表中插入两个新连接,连接伙伴选择 (未 指定),站点 (未指定),连接类型选择S7 连接,在属性 设置中,本地连接端点勾选建立主动连接,块参数选择, 因 S7-300 需要跟 S7-200Smart 系列 PLC 的 ST30 和 SR40 通信,可分别设置为“1”和“2”,伙伴栏键入相关PLC 的 IP 地 址 , 根 据 图 1 分 别 设 置 为 “192.168.0.2” 和
“192.168.0.3”, 地 址 栏 设 定 为 S7-300 的 IP 地 址
“192.168.0.1”,然后点击地址详细信息,伙伴栏机架/插槽
栏,需要将插槽号改为1,确定,创建网络组态,编译无 错后下载。
2.2 Smart200PLC以太网设置
Smart200PLC (包括ST30 和SR40) 都使用STEP 7 Mi⁃ croWIN SMART V2.2,在软件中打开“系统快”,CPU 选择对应的模块,可根据图1 系统硬件构成及IP 分配,设置IP 地址和参数,如图2 所
示。设置完成后,在 “通信”对话框中需要 选择和编程计算机网卡 类型相匹配的网络接口 卡,通 过 “ 查 找 CPU“, 选 择 不 同 的 PLC 相匹配的IP 地址来图2 Smart200PLC IP
地址参数设置 下载程序。
图2 Smart200PLC IP 地址参数设置
Smart200PLC 之间的以太网通信使用GET/PUT 向导来
实现,打开 GET/PUT 向导对话框,在操作中添加名称为 Operation1 为 GET 类型,传送大小可设定为 100,设定远 程 CPU 的远程 IP 为 SR40 的 IP 地址:192.168.0.3,本地地 址 和 远 程 地 址 均 可 设 定 为 200, 实 现 将 SR40 的 VB200~VB299 的数据传递给ST30 的VB200~VB299;Oper⁃ ation2 为PUT 类型,传送大小、远程CPU 的远程IP 设定与 Operation1 相同,本地地址和远程地址设定为300,实现将 ST30 的 VB300~VB399 的 数 据 传 递 给 SR40 的 VB300~VB399。这样在ST30 和SR40 就划分一块区域进行 数据交换。必须注意的是在设定向导时,单击向导中
“存储器分配”,所组态的每个网络从操作都需要20 字节 的 V 存储器,该地址不能与划分为数据交换的存储器地
址重合,可通过“建议”设定一个未使用块的地址作为 起始地址。
2.3 MCGS触摸屏以太网设置
触摸屏在上电后,可连续点击屏幕,进入系统设置, 在系统维护的“设置系统参数”中可修改IP 地址。MCGS
触屏采用以太网组网方式时,在“设备窗口”中添加一个
“通用TCP/IP 父设备”和一个“西门子CP443-1 驱动”子
设 备 , 父 设 备 中 设 置 本 地 IP 为 编 程 计 算 机 IP
“192.168.0.5”, 远 程 IP 地 址 设 置 为 触 摸 屏 IP
“192.168.0.4”; 子 设 备 中 设 置 本 地 IP 为 触 摸 屏 IP
“192.168.0.4”, 远 程 IP 地 址 设 置 为 主 站 S7-300IP
“192.168.0.1”。
3 控制要求
系统要求完成触摸屏与3 台PLC 之间的通讯检测。当 3 台 PLC 上电后处于运行状态时,若系统网络连接正常,则触摸屏中对应的通信指示灯点亮。此外,每一台PLC 需 要分配一个输出点,作为通信测试灯。分两种情况测试:
(1) 3 台PLC 之间通信测试:按下SB1 按钮 (主站), 从站一PLC 输出点的通信测试灯亮;再按下SB1 按钮,从 站一PLC 输出点的通信测试灯保持点亮,从站二PLC 输出 点的通信测试灯亮;再按下SB1 按钮,从站一、二PLC 输 出点的通信测试灯灭,第一种通信测试完成。
(2) 触摸屏与3 台PLC 之间通信测试:在触摸屏设计 一个测试框,在测试框内输入 (10),主站PLC 输出点的 通信测试灯亮;输入 (20),主站、从站一PLC 输出点的 通信测试灯亮;输入(30),主站、从站一、从站二PLC输 出点的通信测试灯亮;输入其他值,所有通信测试灯熄灭。
4 人机界面设计
根据控制要求,人机对话界面需要设置 3 个输出指 示灯,分别为主站、从站一、从站二通信指示灯;一个 测试框,其属性变量如表 1 所示。MCGS 触屏在用户窗 口的工具箱中可使用插入元件构件和输入框构件来实 现,在操作属性中设定其变量。并可以使用工具箱中的直线和标签构件 对 界 面 进 行 说 明 美化,其界面设计如图 3所示。
图3 人机界面设计
5 程序设计
5.1 PLC的输入输出分配
从控制要求上看,该系统只有一个输入按钮,由 S7-300 分配一个输入点;3 台PLC 分别分配一个输出点用 作通信测试灯,如表2 所示。
5.2 S7-300与Smart200通信程序
在 S7-300 中可调用 FB14 和 FB15 两个块来实现对 Smart200PLC 中数据的读和写的操作。先调用 FB14 和 FB15 设定为DB14 和DB15,其中ID 为W#16#1,如图4 所 示。图4 中的程序段1 为读取指令,在M0.0 的上升沿,将 从站一ST30 的MB21 读取到主站S7-300 的MB12 中;程序段2 为写指令,在T1 的上升沿,将主站的MB10 写入到从站一的MB20 中。
图4 读写操作指令
如图5 所示的程序段 表示FB14 和FB15 利用定 时来进行读写,T2 延时 100 ms 到,M0.0 线圈通 电,进行读取操作;T1 开始延时 100 ms,时间 到开始写操作。
图5 定时读写
同理,调用FB14 和FB15 设定为DB16 和DB17,其中 ID 为 W#16#2, 完 成 从 站 二 SR40 的 MB31 读 取 到 主 站 S7-300的MB13中,主站的MB10写入到从站二的MB30中。 5.3 主站S7-300功能实现
图6 计数启动
图7 触屏数据启动 图8 主站通信指示灯点亮
如图6 所示为计数启动,该程序通过计数器记录按下 SB1 的次数,使用比较器分别启动不同状态M1.0、M1.1、M1.2;如图 7 所示为触 屏数据启动,该程序实 现将触屏测试框的数据 传递给给 S7-300,并根 据触屏输入数据,使用 比 较 器 启 动 不 同 状 态 M1.3、 M1.4、 M1.5。 其 中 M1.3、M1.4、M1.5 均 启动主站 PLC 输出点的 通 信 指 示 灯 Q136.0 点 亮,可使用如图 8 所示 的程序来实现;M1.0、M1.1、M1.4、M1.5 启动从站一PLC 输出点的通信指示灯点 亮,M1.1、M1.5 启动从站二 PLC 输出点的通信测试灯点 亮,使用如图9 所示的程序来实现,由于从站一和从站二 的测试灯信号数据需要分别传递给ST30 和SR40,故在图 9 程序中使用数据M10.0 和M10.1,M10.0 对应传递到ST30 中的数据为 M20.0,M10.1 对应传递到 SR40 中的数据为 M30.1。如图10 所示为S7-300 上电则触屏主站通信指示灯 点亮。
图9 从站通信指示灯启动
图10 主站通信测试灯启动
5.4 从站程序设计
Smart200 ST30 和SR40 分别作为两个从站,如果互相 通信还需要在从站中将作为本地CPU 的ST30 主程序块中 调用执行子程序NET_EXE,如图11 所示。如图12 所示为 程序实现上电点亮 M21.0,因该数据可传递给 S7-300 的 M12.0,从而使得触屏从站一通信指示灯点亮;而 M20.0 来自 S7-300 的 M10.0,可点亮 ST30 的输出点 Q0.0,实现 从站一的通信测试灯点亮。同理,可实现从站二的通信指 示灯和通信测试灯点亮。
图11 调用NET_EXE 子程序 图12 ST30 中程序
6 结束语
本 文 通 过 一 个 具 体 实 例 , 详 细 给 出 了 上 位 机 S7-300、S7-200Smart PLC 以及 MCGS 触屏以太网设置, 人机界面设计及构件属性设置,S7-300 与 S7-200Smart PLC 程序功能,实现了MCGS 触摸屏与西门子S7 系列不同 PLC 型号之间以太网通信测试,为不同工业自动化控制系 统搭建基础。