第七章 MPI通讯技术 通讯是PLC应用过程中非常重要的部分,本章重点介绍了MPI通讯的基本概念,组建MPI网络的基本方法,分别介绍了无阻态的单边通讯和双边通讯的方法,通过一个项目详细介绍了全局数据通讯的实现过程。

Slides:



Advertisements
Similar presentations
第一篇 基 础 篇 PLC(programmable logical controller )中文名称可编程控制器,今天PLC其应用已经十分的广泛,在工业领域已经是家喻户晓,PLC的厂家、型号和规格同样也层出不穷。对于有志于PLC应用的人员来说如何面对眼花缭乱的产品,是一个大的挑战。如何面对挑战呢,首先选择一个典型的应用广泛的PLC作为学习、研究的对象,本书选择西门子S7-300系列PLC作为对象。其次,了解和学习PLC的基础知识,最后,掌握综合应用PLC解决实际问题的技术和能力。如果遇到其它plc就可以
Advertisements

第17章 实现路由器.
项目四 组建跨地区网络 授课教师:肖颖.
在PHP和MYSQL中实现完美的中文显示
S7-300PLC的硬件 自动化教研室.
通过MPI的通讯 目录 页码 SIMATIC的网络 … S7 的通讯 …… 作为系统功能的通讯…… S7 通讯的方法 ……
H T G 恒宇科技设备部 西门子培训课件 制作人:胡善旭 时间:
S7-400PLC的硬件 自动化教研室.
软件调试 目录 页 软件调试的检查表 下装用户程序到 CPU 排除停机错误 系统功能测试的步骤 记录程序的修改 项目文件的归档
组织块 操作系统 OB1 FC FB FB FC SFC SFB OBs 其它 目录 页码
第二讲 搭建Java Web开发环境 主讲人:孙娜
您可以选择 CP243-1将S7-200连接在以太网上 ! 当然了! 我们现在已经有CP243-1 以太网模块了!
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
大学计算机基础 典型案例之一 构建FPT服务器.
元素替换法 ——行列式按行(列)展开(推论)
网络常用常用命令 课件制作人:谢希仁.
华为—E8372h- 155 外观设计 产品类型:数据卡 建议零售价格:299元 上市时间:2017年6月7日 目标人群:大众
实用组网技术 第一章 网络基础知识.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
乐驾-车载无线终端-CARRO 产品类型:车载无线路由器 建议零售价格:¥599 江苏鸿信
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
Windows网络操作系统管理 ——Windows Server 2008 R2.
Windows网络操作系统管理 ——Windows Server 2008 R2.
AC500 调试总结 以太网通讯配置 lizhenfei.
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
S 数控机床故障诊断与维修.
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
CPU结构和功能.
3 S7-200可编程控制器 使用入门 2019/2/17.
❶云端下载 请根据自己的手机系统(支持IOS系统与Android系统)选择下述下载方式: 手机系统 应用搜索下载 二维码扫描下载 IOS系统
供应商登录CJLR SRM系统入口 CJLR供应商仅可以在互联网上访问SRM系统,无法在CJLR内网登录SRM系统.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
Genius Communication Training Course Presented by GE Fanuc Shanghai
C语言程序设计 主讲教师:陆幼利.
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
微机系统的组成.
通过MPI的通讯 目录 页码 SIMATIC的网络 … S7 的通讯 …… 作为系统功能的通讯…… S7 通讯的方法 ……
第四章 团队音乐会序幕: 团队协作平台的快速创建
DQMClientDim.cxx及双光子练习
线 性 代 数 厦门大学线性代数教学组 2019年4月24日6时8分 / 45.
VisComposer 2019/4/17.
主要内容: 无线局域网的定义 无线传输介质 无线传输的技术 WLAN的架构 无线网络搭建与配置 无线网络加密配置
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
iSIGHT 基本培训 使用 Excel的栅栏问题
第八章 总线技术 8.1 概述 8.2 局部总线 8.3 系统总线 8.4 通信总线.
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
郑 昀 应用开发事业部 神州泰岳 SIP多方会话消息 之实例讲解 郑 昀 应用开发事业部 神州泰岳
HSC高速输出例程 HORNER APG.
苏教版小学信息技术3年级第2课 认识计算机.
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
3.8 局域网应用实例 某省劳动和社会保障网络中心组网实例 会议中心的无线组网实例.
单路无线视频服务器 快速安装手册 1、接口说明 2、安装连接 3、软件下载 软件安装
上节复习(11.14) 1、方式2、方式0的特点? 2、定时/计数器的编程要点? 3、实验5方案优化问题.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
Genius Communication Training Course Presented by GE Fanuc Shanghai
工业机器人入门使用教程 ESTUN机器人 主讲人:李老师
培训课件 AB 变频器的接线、操作及参数的备份 设备动力科.
DSP技术与应用 电子与信息技术系.
四路视频编码器 快速安装手册 1、接口说明 2、安装连接 3、软件下载 4、注意事项 编码器软件下载地址
3.3.2 两点间的距离 山东省临沂第一中学.
Presentation transcript:

第七章 MPI通讯技术 通讯是PLC应用过程中非常重要的部分,本章重点介绍了MPI通讯的基本概念,组建MPI网络的基本方法,分别介绍了无阻态的单边通讯和双边通讯的方法,通过一个项目详细介绍了全局数据通讯的实现过程。

7.1 MPI通讯简介 本节首先绍MPI通讯网络的基本概念和如何设置MPI参数,还介绍了PC侧的MPI通信卡的类型。

7.1.1 MPI概述    MPI(Multi Point Interface)是多点接口的简称,是当通信速率要求不高,通信数据量不大时可以采用的一种简单经济的通信方式。通过它可组成小型PLC通讯网络,实现PLC之间的少量数据交换,它不需要额外的硬件和软件就可网络化。每个S7-300 CPU都集成了MPI通信协议,MPI的物理层是RS-485。通过MPI,PLC可以同时与多个设备建立通信连接,这些设备包括编程器PG或运行STEP7的计算机PC、人机界面(HMI)及其它SIMATIC S7,M7和C7。同时连接的通信对象的个数与CPU的型号有关。

7.1.2 MPI网络的组建 仅用MPI接口构成的网络称为MPI分支网络或(MPI网络)。两个或多个MPI分支网络由路由器或网间连接器连接起来,就能构成较复杂的网络结构,实现更大范围的设备互连,如图7.1所示。这里介绍MPI网络的组态问题。

图7.1 MPI网络结构示意图

1.MPI网络连接规则及硬件介绍 MPI网络如图7.1所示,构建MPI网络时应遵从下述连接“规则”: 1)MPI网络可连接的节点。凡能接入MPI网络的设备均称为MPI网络的节点。可接入的设备有:编程装置(PG/个人计算机PC),操作员界面(OP),S7/M7 PLC。 2)为了保证网络通信质量,组建网络时在一根电缆的末端必须接入浪涌匹配电阻,也就是—个网络的第一个和最后一个节点处应接通终端电阻(一般西门子专用连接器中都自带终端匹配电阻)。

3) 两个终端电阻之间的总线电缆称为段(Segments)。每个段最多可有32个节点(默认值16),每段最长为50m(从第一个节点到最后一个节点的最长距离)。 4) 如果覆盖节点距离大于50m,可采用RS485中继器来扩展节点间的连接距离。如果在两个RS485中继器之间没有其他节点,那就能在两个中继器之间设一条长达1000m的电缆,这是两个中继器之间的最长电缆长度。连接电缆为PROFIBUS电缆(屏蔽双绞线),网络插头(PROFIBUS接头)带有终端电阻,如图7.2所示,如果用其它电缆和接头不能保证标称的通讯距离和通讯速率。

图7.2 PROFIBUS转接器

6) 只有在启动或维护时需要用的那些编程装置才用分支线把它们接到MPI网络上。 7) 在将一个新的节点接入MPI网络之前,必须关掉电源。 5) 如果总线电缆不直接连接到总线连接器(网络插头)而必须采用分支线电缆时,分支线的长度是与分支线的数量有关的,一根分支线时最大长度可以是10m,分支线最多为6根,其长度限定在5m。 6) 只有在启动或维护时需要用的那些编程装置才用分支线把它们接到MPI网络上。 7) 在将一个新的节点接入MPI网络之前,必须关掉电源。

2.MPI网络参数及编址 MPI网络苻合RS-485标准,具有多点通信的性质,MPI的波特率固定地设为187.5kbps(连接S7-200时为19.2kbps)。 每个MPI网有—个分支网络号,以区别不同的MPI分互网;在MPI分互网或称MPI网上的每一个节点都有一个网络地址,称为MPI地址。MPI地址的编址规则:

1) MPI分互网号缺省设置为0,在一个分支网络中,各节点要设置相同的分支网络号; 2) 必须为MPI网络上每一节点分配一个MPI地址和最高MPI地址.同一MPI分支网络上各节点地址号必须是不同的,但各节最高地址号均是相同的。

4) 如果机架上安装有功能模块(FM)和通信模板,则它们的MPI地址是由CPU的MPI地址顺序加1构成, 如图7.3所示。 3) 节点MPI地址号不能大于给出的最高MPI地址号;最高地址号可以是126。为提高MPI网络节点通信速度.最高MPI地址应设置得较小。 4) 如果机架上安装有功能模块(FM)和通信模板,则它们的MPI地址是由CPU的MPI地址顺序加1构成, 如图7.3所示。

图7.3 为可编程模板自动分配MPI地址

5)表7.1 给出了出厂时一些装置的MPI地址缺省值。 节点(装置) 缺省的MPI地址 缺省的最高MPI地址 PG 15 OP 1 CPU 2

按上述规则组建的—个MPI网络及地址分配示于图7.4中。可用STEP 7软件包中Configuration的功能为每个网络节点分配一个MPI地址和最高地址,地址—般标在该节点外壳上,用户看起来很方便。分配地址时可对PG,OP,CP,FM等进行地址排序。网络中可以为一台维护用的PG预留MPI地址0,为一台维护用的OP预留MPI地址1,PG和OP地址应该是不同的;图7.4中分支虚线表示只在起动或维护时才接到MPI网的PG或OP,需要它们时可以很方便地接入网内。

图7.4 MPI网络连接示例

3.MPI网络连接部件 连接MPI网络常用到两种部件:网络插头和网络中继器;这两种部件也可用在PROFIBUS现场总线中。 1) 网络插头(LAN插头) 网络插头是节点的MPI口与网电缆之间的连接器。网络插头有两种类型,一种带PG插座,一种不带PG插座。

如果PG是使用时才连接,可以用带PG插座的网络接头,上位计算机则需使用PC/MPI适配器。 编程装置PG对MPI网络节点有两种工作方式:一种是PG固定地连接在MPI网上,则使用网络插头将其直接归并到MPI网络里;另一种是在对网络进行启动和维护时接入PG,使用时才用一根分支线接到一个节点上。PG固定连接时,可以用带有出入双电缆的双口网络插头(不带PG接口),上位计算机主板上则应插上MPI/PROFIBUS通讯卡(如CP5512/CP5611/CP5613)。 如果PG是使用时才连接,可以用带PG插座的网络接头,上位计算机则需使用PC/MPI适配器。

网络插头如果是安装在段的起点和终点,必须将插头上的终端电阻接通(ON)。 对于临时接入的PG节点其MPI地址可设为0;或设为最高MPI地址如126,然后用S7组态软件确定此MPI网所预设的最高地址,如果预设的小,则把网络里的最高MPI地址改为与这台PG—样的最高MPI地址。 网络插头如果是安装在段的起点和终点,必须将插头上的终端电阻接通(ON)。

2)网络中继器(RS485) 网络中继器可以放大信号并带有光电隔离,所以可用于扩展节点间的连接距离(最多增大20倍);也可用作抗干扰隔离,如用于连接下接地的节点和接地的MPI编程装置的隔离器。对于MPI网络系统,在接地的设备和不接地的以备之间连接时,应该注意RS485中继器的连接与使用。

7.1.3 设置MPI参数 1. PLC侧参数设置: 在通过HW Config进行硬件组态时双击“CPU313C”后出现如图7.5所示 设置MPI参数可分为两部分:PLC侧和PC侧MPI的参数设置。 1. PLC侧参数设置: 在通过HW Config进行硬件组态时双击“CPU313C”后出现如图7.5所示

图7.5 “HW Config”对话框中配置硬件

再点击上图中的“Properties”按钮来设置CPU的MPI属性,包括地址及通信速率,具体操作如图7.6所示。

注意: 在通常应用中不要改变MPI通信速率。请注意在整个MPI网络中通信速率必须保持一致,且MPI站地址不能冲突。

2.PC侧参数设置 在PC侧同样也要设置MPI参数,在STEP7软件 SIMATIC Manager界面下点击菜单“Options”选项的“Set PG/PC Interface”(图7.7所示)(或“控制面板”中选中“Set PG/PC Interface”)例如用CP5611作为通讯卡,如图7.8所示,选择“CP5611(MPI)”后点击OK即可。设置完成后,将STEP7中的组态信息下载到CPU中。

图7.7 点击“Options”选项的“Set PG/PC Interface”界面

图7.8 选择“CP5611(MPI)”界面

7.1.4 PC侧的MPI通信卡的类型 1. PC Adapter(PC适配器)一端连接PC的RS232口或通用串行总线(USB)口,另一端连接CPU的MPI,它没有网络诊断功能,通信速率最高为1.5Mbit/s,价格较低。 2. CP5511 PCMCIA TYPE Ⅱ卡,用于笔记本电脑编程和通信,它具有网络诊断功能,通信速率最高为12Mbit/s,价格相对较高。 3. CP5512 PCMCIA TYPE ⅡCardBus(32位)卡,用于笔记本电脑编程和通信,具有网络诊断功能,通信速率最高为12Mbit/s,价格相对较高。

4. CP5611 PCI卡,用于台式电脑编程和通信,此卡具有网络诊断功能,通信速率最高为12Mbit/s,价格适中。 5. CP5613 PCI卡(替代原CP5412卡),用于台式电脑编程和通信,它具有网络诊断功能,通信速率最高为12Mbit/s,并带有处理器,可保持大数据量通信的稳定性,一般用于PROFIBUS网络,同时也具有MPI功能,价格相对最高。 了解上述功能后,可以很容易地选择适合自己应用的通信卡,在CP 通信卡的代码中,5代表PCMCIA接口,6代表PCI总线,3代表有处理器。

7.2 掌握S7-300PLC的MPI通讯方法 本节主要通过两个实例,简要、直观的介绍用S7-300PLC的全局数据块进行MPI通讯和无组态的MPI通讯的方法,使读者可以快速、准确的掌握S7-300PLC的MPI的使用方法。

7.2.1 掌握全局数据块进行MPI通讯的方法 1. 全局数据块通讯方式的概述 1. 全局数据块通讯方式的概述 在MPI网络中的各个中央处理单元(CPU)之间能相互交换少量数据,只需关心数据的发送区和接收区,这一过程称做全局数据块通讯。全局数据块的通讯方式是在配置PLC硬件的过程中,组态所要通讯的PLC站之间的发送区和接收区,不需要任何程序处理,这种通讯方式只适合S7-300/400 PLC之间相互通讯。下面以例子说明全局数据块通讯的具体方法和步骤。

2. 网络配置图7.9 图7.9 网络配置图

3. 硬件和软件需求 硬件: CPU313C MPI电缆 软件:STEP 7 V5.2 SP2 4. 网络组态及参数设置步骤。 (1) 建立MPI网络 在STEP 7中建立一个新项目,如MPIEXE1_GD,在此项目下插入两个PLC站,分别为STATION1(CPU313C)和STATION2(CPU313C),并分别插入CPU完成硬件组态,建立MPI网络并配置MPI的站地址和通信速率,本例中MPI的站地址分别设置为2号站和4号站,通信速率为187.5kbit/s。

图7.10 右击“MPI(1)”选择 “Define Global Data”

(2) 组态数据的发送区和接收区 如图7.10所示,右击“MPI(1)”或选择“Options”项下的“Define Global Data”进入组态画面,如图7.11所示。

图7.11选择 “Define Global Data”进入组态画面

(3) 插入所有需要通信的CPU 双击“GD ID”右边的CPU栏选择需要通信的CPU。CPU栏总共有15列,这就意味着最多有15个CPU能够参与通信。在每个CPU栏底下填上数据的发送区和接收区,例如第一列的CPU313C(1)的发送区填为“DB1.DBB0:12”(DB1.DBB0:12表示从DB1.DBB0开始的22个字节),然后在菜单“Edit”下选择“Sender”设置为发送区,该方格变为深色,同时在单元中的左端出现符号“>”,表示在该行中CPU313C(1)为发送站,在该单元中输入要发送的全局数据的地址。只能输入绝对地址,不能输入符号地址。包含定时器和计数器地址的单元只能作为发送方。在每一行中应定义一个且只能有一个CPU作为数据的发送方,而接收方可以有多个。同一行中各个单元的字节数应相同。

点击第二列的CPU313C(2)下面的单元,输入MB20:12(表示从MB20开始的12B),该格的背景为白色,表示在该行中CPU313C(2)是接收站。编译保存后,把组态数据分别下载到相应CPU中,这样就可以进行数据通信了,如图7.12所示。地址区可以为DB、M、I、Q区,S7-300地址区长度最大为22字节,发送区和接收区的长度必须一致。如果数据包由若干个连续的数据区组成,一个连续的数据区占用的空间为数据区内的字节数加上两个头部说明字节。一个单独的双字占6B,一个单独的字占4B,一个单独的字节占3B,一个单独的位也占3B。例如DB2.DBB0:10和QW0:5一共占用22B(第一个连续数据区的两个头部说明字节不包括在22B之内)

图7.12 各个CPU栏底下设置数据的发送区和接收区

程序详见 实训十三 (4) 多CPU通讯 多CPU通讯首先要了解GD ID参数,编译以后,每行通信区都会有GD ID号,如图7.13所示。

(Ⅰ) 参数A: 全局数据块的循环数。每个循环数表示和一个CPU通信。例如S7-300 CPU通信,两个发送与接收是一个循环,图中CPU313C(1)和CPU313C(2)组成1号GD环,两个CPU向对方发送GD包,同时接收对方的GD包,相当于全双工点对点通信方式。支持的循环数与CPU有关,S7-300 CPU最多为4个,即最多能和4个CPU通信。

(Ⅱ)参数B: 全局数据块的个数。表示一个循环有几个全局数据块,例如两个S7站相互通信,一个循环有两个数据块,如图7.14所示。

(Ⅲ)参数C: 一个数据包里的数据区数。参考图图7 (Ⅲ)参数C: 一个数据包里的数据区数。参考图图7.15,CPU313C SIMATIC 300(1)的CPU发送3组数据到SIMATIC 300(2)的CPU,3个数据区是一个数据包。 图7.15 参数C示例

对于参数A、B、C的介绍只是为了优化数据的接收区和发送区,减少CPU的通信负载。简单应用可以不用考虑这些参数,GD ID编译后会自动生成。 在编译完成后,在菜单“View”中分别点击“Scan Rates”和“GD Status”,可以查看扫描系数和状态字,如图7.16所示。

图7.16查看扫描系数和状态字

(Ⅰ)SR: 扫描频率系数。图中,SR1.1为225,表示发送更新时间为225xCPU循环时间,SR范围为1~225。通信中断的问题往往是因扫描时间设置得过快引起的,可根据需要适当增大。 (Ⅱ)GDS: 每包数据的状态字(双字),参见表7.2。

表 7.2 状态字对应的错误状态 第7位 发送区与接收区数据对象长度不一致 第8位 接收区长度错误 第9位 接收区数据块不存在 第12位 表 7.2 状态字对应的错误状态 状态字位 对应的错误状态 第1位 发送区长度错误 第7位 发送区与接收区数据对象长度不一致 第2位 发送区数据块不存在 第8位 接收区长度错误 第4位 全局数据块丢失 第9位 接收区数据块不存在 第5位 全局数据块语法错误 第12位 发送方重新启动 第6位 全局数据块数据对象丢失 第32位 接收区接收到新数据

(Ⅲ) GST: 所有GDS进行逻辑或运算的结果。用CP5511/5611等通信卡可以首先诊断接线是否可靠,如上例中S7-300(1)MPI地址是2,S7-300(2)MPI地址是4,用CP通信卡连接到MPI网上(必须是带有有编程口的PROFIBUS总线连接器)可以读出2、4号站地址,具体方法是依次点击“控制面板”→“Set PG/PC Interface”→“Diagnostics(诊断)”→“Read”读出所以在网上的站地址,如图7.17所示。0号站为CP5611的站地址,如果没有读出2、4号站地址,说明硬件连接或软件设置有问题,需要进一步具体分析。

图7.17 点击 “Read”后读出所以在网上的站地址

(6)事件触发的数据传送 如果我们需要控制数据的发送与接收,比如在某一事件或某一时刻,接收和发送所需要的数据,这时将用到事件触发的数据传送方式。这种通信方式是通过调用CPU的系统功能SFC60(GD_SND)和SFC61(GD_RCV)来完成的,而且只支持S7-400的CPU,并且相应设置CPU的SR(扫描频率)为0。

7.2.2 掌握无组态的MPI通讯方法 无组态的MPI通讯需要调用系统功能块SFC65~SFC69来实现,这种通信方式适合于S7-300、S7-400和S7-200之间的通信,是一种应用广泛、经济的通信方式。 通过调用SFC来实现的MPI通信又可分为两种方式:双边编程通信方式和单边编程通信方式。调用系统功能通信方式不能和全局数据通信方式混合使用。

1.双边编程通信方式 (1)概述 在通信的双方都需要调用通信块,一方调用发送块发送数据,另一方就要调用接收块来接收数据。这种通信方式适用S7-300/400之间的通信,发送块是SFC65 “X_SEND”,接收块是SFC66 “X_RCV”。下面举例说明怎样调用系统功能来实现通信。 (2)网络配置图7.18

图7.18 网络配置图

(3) 硬件和软件需求 硬件: CPU313C、 MPI电缆 软件:STEP 7 V5.2 SP2

(4)网络组态及参数设置步骤 (Ⅰ)新建项目: 在SIMATIC Manager界面下,建立一个项目,加入两个300 Station。然后在HW Config中分别对这两个300 Station进行硬件组态,设置MPI地址,在这里SIMATIC 300(1)的CPU的MPI地址为2,SIMATIC 300(2)的CPU的MPI地址为4。最后把组态信息下载到两台PLC中。

(Ⅱ)编程: 首先在SIMATIC 300(1)的CPU下插入OB35,把发送方的程序写入OB35中(见图7.19)。

双击OB35进入程序编辑界面,点击“Libraries”→“Standard Library”→“System Function Blocks”,选择SFC65 “X_SEND”后见图7.20。图7.21中当REQ的值等于“TURE”后就把M20.0开始的5个字节发送出去。

图7.20 双击OB35进入发送站的程序编辑界面

发送站的程序编好后,接下来在SIMATIC 300(2)的CPU的OB1里编写接收方程序。同样双击OB1进入程序编辑界面,点击“Libraries”→“Standard Library”→“System Function Blocks”,选择SFC66 “X_RCV”(见图7.21)。通过下面这个程序SIMATIC 300(2)的CPU就可以接收SIMATIC 300(1)的CPU发送过来的数据,并存放在MB50~MB54中。

图7.21 双击OB1进入接收站的程序编辑界面 注意:在程序编写时SFC65 “X_SENG”和SFC66 “X_RCV”必须成对使用。

程序中参数说明见表7.3和表7.4。 表7.3 SFC65 “X_SEND”参数说明

2. 单边编程通信方式 与双边编程通信方式不同,单边编程通信只在一方PLC内编写通信程序,即客户机与服务器的访问模式。编写程序一方的PLC作为客户机,无需编写程序一方的PLC作为服务器,客户机调用SFC通信块访问服务器。这种通信方式适合S7-300/400/200之间的通信,S7-300/400的CPU可以同时作为客户机和服务器,S7-200只能作为服务器。SFC67“X­_GET”用来将服务器指定数据区中的数据读回并存放到本地的数据区中, SFC68 “X_PUT” 用来将本地数据区中的数据写到服务器中指定的数据区。下面举例说明怎样调用系统功能来实现两个300 Station的通信。

(1)网络配置图7.22

(2) 硬件和软件需求 硬件: CPU313C、 CPU313C、 MPI电缆 软件:STEP 7 V5.2 SP2

(3) 新建项目: 同样在SIMATIC Manager界面下,建立一个项目,加入两个300 Station。硬件组态与做双边编程通讯方式相同。把组态信息下载到CPU中。 在SIMATIC 300(1)的CPU下插入OB35,双击OB35进入程序编辑界面,点击“Libraries”→“Standard Library”→“System Function Blocks”,选择SFC68 “X_PUT”(见图7.23)。

图7.23 选择SFC68 “X_PUT”

双击SIMATIC 300(1)的CPU下的OB1,进入程序编辑界面,点击“Libraries”→“Standard Library”→“System Function Blocks”,选择SFC67 “X_GET”(见图7.24)。 图7.24 选择SFC67 “X_GET”

注意:无论运用双边编程通信方式还是单边编程通信方式,最好在SIMATIC Manager界面下插入OB82、OB86、OB122,并下载到CPU中,可以防止通信时系统出错。 (4) 项目说明: Ⅰ、利用无组态的MPI通信方式不能和全局数据通信方式混合使用。 Ⅱ、对于单边编程通信方式,只有主动站才能调用系统功能块SFC67、SFC68。 Ⅲ、在双边编程通信方式和单边编程通信方式中,每次块(SFC65、SFC66、SFC67、SFC68)调用最多76个字节的用户数据。对于S7-300CPU,数据传送的数据一致性是8个字节,对于S7-400CPU则是全长。如果连接到S7-200,必须考虑到S7-200只能用作一个被动站。

7.3 实训十三 三个S7-300之间的MPI通讯 多个S7-300之间的MPI通信方法在实际工业控制中非常普遍,本实训以一个313C为主站,另两个313C为从站,介绍了三个S7-300PLC(CPU313C)构成的MPI通讯的方法。

7.3.1 通讯要求/硬件连接 通讯要求:三个S7-300PLC(CPU313C)构成MPI通讯,要求:按下第一站的按钮I2.0,第二站的指示灯Q1.0和第三站的Q0.1会被点亮; 松开按钮则会熄灭。按下第二站的按钮I2.1控制第一站的指示灯Q0.0以2.5Hz的频率闪烁。 硬件连接: 三个CPU313的PLC站通过MPI电缆连接成MPI网。

7.3.2通过HW Config进行硬件组态 在STEP 7的SIMATIC Manager界面下建立一个新项目,如项目名为“MPIEXE1_GD”,在此项目下插入三个300 Station PLC站,分别为SIMATIC 300(1) 、SIMATIC 300(2)和SIMATIC 300(3),分别双击三个站的“Hardware”并分别插入机架Rail和正确序列号的CPU。如图7.30、图7.31所示:

图7-30 创建多S7-300 CPU通信项目

图7-31 “HW Config”对话框中配置硬件

下面再分别双击各站的“CPU313C”, 如图7.32所示,点中“Properties”建立MPI网络并配置MPI的站地址和通信速率,本例中MPI的站地址分别设置为2号站、4号站和6号站,通信速率为187.5kbit/s。

图7.32 分别双击各站的“CPU313C”点中“Properties”

图7.33 建立MPI网络并配置MPI的站地址

图7.34 配置MPI的通信速率

注意:在整个MPI网络中通讯速率必须保持一致,且各MPI站地址不能冲突。 针对第一站的指示灯Q0.0要以2.5Hz的频率闪烁,我们配置第一站的CPU“Cycle/Clock Memory”选项卡,在“Clock Memory”左面打上勾,Memory Byte:右边填上100, 如图7.35所示:

图7.35 配置CPU“Cycle/Clock Memory”选项卡

“Addresses”选项卡上把“Input”和“Output”的起始地址改成0,如图7.36所示。 图7.36 配置CPU的“Addresses”选项卡

设置完成后,将STEP7中的组态信息“保存编译”,将STEP7中的组态信息“保存编译”最后“下载”到PLC, 完成硬件的组态。

7.3.3 定义全局数据(Define global data) 1. 组态数据的发送区和接收区 右击“MPI(1)”或选择“Options”项下的“Define Global Data(图7.37)”进入组态画面(如图7.38)。

图7.37 右击“MPI(1)”选择 “Define Global Data”

图7.38 选择 “Define Global Data”进入组态画面

2. 插入所有需要通信的CPU 双击“GD ID”右边的CPU栏选择需要通信的CPU。第一列的CPU313C(1)的发送区填为“M1 2. 插入所有需要通信的CPU 双击“GD ID”右边的CPU栏选择需要通信的CPU。第一列的CPU313C(1)的发送区填为“M1.0”,然后在菜单“Edit”下选择“Sender”设置为发送区,该方格变为深色,同时在单元中的左端出现符号“>”,表示在该行中CPU313C(1)为发送站,在该单元中输入要发送的全局数据的地址。第二、三列的CPU313C填写内容如图7.39所示。

图7.39 各个CPU栏底下设置数据的发送区和接收区

7.3.4 通过LAD/STL/FBD进行编程 分别在CPU313C(1)和CPU313C(2)中的OB1中编程,如图7.40和图7.41所示。再分别把程序“保存”和“下载”。

图7.40 在CPU313C(1)的OB1中编程

图7.41 在CPU313C(2)的OB1中编程

7.3.5 下载调试 在SIMATIC Manager界面里点击工具栏的“Configure Network ” 工具按钮,如图7.42所示:

图7.42 点击工具栏的“Configure Network ” 工具按钮

我们注意到三个站的CPU已经挂到了MPI网络中,全部选中三个站,“编译”和“下载”, 如图7.43和图7.44所示。 图7.43 全部选中三个站,“编译”和“下载”

图7.44 正在“编译”和“下载”

检查整个MPI网的联接情况可以通过点击工具栏的“Accessible Nodes ”工具按钮,出现图7.45。

注意:PLC三个站的CPU模块上的按钮在运行前都需打一下“STOP”再“RUN”,以免被以前PLC里的程序结果影响。

7.3.6 运行 最后按下第一站的按钮I2.0,第二站的指示灯Q1.0和第三站的Q0.1会被点亮; 松开按钮则会熄灭。按下第二站的按钮I2.1控制第一站的指示灯Q0.0以2.5Hz的频率闪烁。