Download presentation
Presentation is loading. Please wait.
Published byBattistina Pieri Modified 5年之前
1
通过MPI的通讯 目录 页码 SIMATIC的网络 … S7 的通讯 …… 作为系统功能的通讯…… S7 通讯的方法 …… 通过MPI组成的网络.…… MPI连接器的选择.....…… 终端电阻 …… 全局数据综述 全局数据组 …… 全局数据:配置步骤 … 11 全局数据: 配置硬件 ………… 编辑全局数据表 编译全局数据表 下装全局通讯的配置数据 全局数据通讯的状态信息 练习12.1: 通讯的准备 练习12.2: 配置全局数据通讯 练习12.3: 在几个站中监视变量 利用SFC 60, 61传递全局数据 利用NETPRO来配置全局通讯
2
ASI (Actuator Sensor Interface)
SIMATIC的网络 OPs PCs, OS PGs MPI network Industrial Ethernet PROFIBUS Point-to-Point 单元层 -SINUMERIK, RCM -TI 505 -Other PLC SIMATIC S5 S7-400 M7-400 S7-300 PROFIBUS-DP 现场层 DP/AS-I link ET 200C 概述 为了满足在单元层(时间要求不严格)和现场层(时间要求严格)的不同要求,SIEMENS 提供了下列网络: MPI MPI网络可用于单元层,它是 SIMATIC S7, M7 和 C7的多点接口。 MPI从根本上是一个 PG 接口,它被设计用来连接 PG(为了启动和测试)和OP (人-机接口)。MPI网络只能用于连接少量的CPU。 工业以太网 工业以太网(Industrial Ethernet)是一个用于工厂管理和单元层的通讯系统。 工业以太网被设计为对时间要求不严格用于传输大量数据的通讯系统,可以通过网关设备来连接远程网络。 PROFIBUS 工业现场总线(PROFIBUS)是用于单元层和现场层的通讯系统。有两个版本: • 对时间要求不严格的PROFIBUS,用于连接单元层上对等的智能结点。 • 对时间要求严格的PROFIBUS DP,用于智能主机和现场设备间的循环的数据 交换。 点到点连接 点到点连接(Point-to-point connections)最初用于对时间要求不严格的数据交换,可以连接两个站或连接下列设备到PLC,如OP,打印机,条码扫描器,磁卡阅读机等。 AS接口 执行器-传感器-接口(Actuator-Sensor-Interface)是位于自动控制系统最底层的网络,可以将二进制传感器和执行器连接到网络上。 ET 200B/L ASI (Actuator Sensor Interface) AS-I层 AS-I submodules AS-I power supply Field device with AS-I ASIC Sensors and Actuators
3
S7 的通讯 S7 通讯 同源通讯 非同源通讯 非西门子的协议 如 FDL, FMS 和 MAP S7 协议 (MPI)
-系统通讯 -GD(网络中的全局数据) -SFB(系统功能块) 非同源通讯 非同源通讯(开放式)是在S7元件与S5元件之间的通讯,以及S7元件和非 西门子元件之间的使用任意协议(例如TF或FMS)的通讯。 非西门子的协议 如 FDL, FMS 和 MAP S7 协议 (MPI)
4
作为系统功能的通讯 PG 功能 (如装载, 监视/修改变量) WinCC 功能 PG 连接总是可行的 通讯所占用的循环时间可以限制
(CPU 参数) 作为系统功能 系统通讯是CPU的一个系统特征。 的通讯 这意味着用户不必为此而进行任何配置或编程。 PG功能 这包括所有的检测功能和启动功能,例如监视器和传输块。在任何时候, 不需要额外的配置就可以连接一个PG(编程器)。 WinCC功能 连接的WinCC设备可以访问PLC系统中的所有操作数。这种功能通过下 列两种方式实现: (1)通过WinCC设备的读功能获取数据; (2)由CPU主动发出诊断信息给WinCC设备。 循环负担 可以使用硬件组态工具来确定通讯任务占循环时间的最大百分比。
5
S7 通讯的方法 全局数据 CPU的 操作系统 CPU的 操作系统 基本通讯 ( 非配置的连接 ) 扩展通讯 (配置的通讯 ) SFC
通过MPI的循环或事件驱动 基本通讯 ( 非配置的连接 ) 扩展通讯 (配置的通讯 ) 全局数据 这种通讯方法通过MPI接口在CPU间循环地交换数据,而不需要编程。当过程映像被刷新时,在循环扫描检测点上进行数据交换。对于S7-400,数据交换可以用 SFC来启动。 全局数据可以是输入、输出、标志位、定时器、计数器和数据区。 数据通讯不需要编程,而是利用全局数据表来配置。 基本通讯 这种通讯方法可用于所有S7-300/400 CPU,它通过MPI子网或站中的K总线来传送数据。 系统功能 (SFC),例如 X_SEND(在发送端)和 X_RCV (在接收端)被用户程序调用。 最大用户数据量为 76 字节。 当系统功能被调用时,通讯连接被动态地建立和连接。在CPU上需要有一个自由的连接。 扩展通讯 这种通讯方法可用于所有的S7-400 CPU。通过任何子网(MPI, Profibus, Industrial Ethernet)可以传送最多64K字节的数据。它是通过系统功能块 (SFB)来实现的,支持有应答的通讯。数据也可以读出或写入到S7-300 (PUT/GET 块)。 不仅可以传送数据,而且可以执行控制功能,例如控制通讯对象的启动和停机。这种通讯方法需要配置连接(连接表)。该连接在一个站的全启动时建立并且一直保持。在CPU上需要有自由的连接。 通过MPI或K总线 的事件驱动 通过MPI, Profibus 或 Industrial Ethernet 的事件驱动 SFC SFC SFB SFB
6
通过MPI组成的网络 S7-300 或 S7- 400 S7-300 或 S7- 400 2 通过MPI连接PG 通过MPI的PLC连接
CPU 1 CPU 2 通过MPI连接PG 通过MPI连接OP 2 通过MPI的PLC连接 1 引言 每个编程器都有一个MPI接口。 通过CPU的MPI接口可以访问PLC上的所有智能模块,例如:功能模块。 每个MPI的连接节点都有自己的MPI地址 ( 0到126, 缺省设置为PG=0, OP/TD=1, CPU=2)。 在S7-300中,MPI总线在PLC中与K总线连接在一起,这意味着在S7-300机架上K总线的每个节点(FM 和 CP)也是MPI的一个节点,也有自己的MPI地址。 在S7-400中, MPI (187.5 Kbps)的通讯模式被转换为内部K总线(10.5 Mbps)。在 S7-400的机架上,只有CPU具有自己的 MPI 地址。其它智能模块,例如FM和CP没有独立的MPI地址。 可连接的设备 MPI连接的优点是CPU可以同时与多个设备建立通讯联系。 也就是说,编程器、HMI设备和其它的PLC可以在连接在一起并同时运行。 编程器通过MPI接口生成的网络还可以访问所连接硬件站上的所有智能模块。 MPI接口可同时连接的其它通讯对象的数目取决于CPU的型号。例如,CPU 314的最大连接数为4,CPU 416为64。 特点 MPI接口的主要特性为: • RS 485 物理接口 • 传输率为19.2 Kbps 或 Kbps 或 1.5 Mbps • 最大连接距离为50 m (2个相邻节点之间),有中继器时为1100 m ,采用光纤 和星状连接时为23.8 km • 采用Profibus(工业现场总线)元件(电缆、连接器) n 缺省的 MPI 地址
7
MPI连接器的选择 总线连接器 接CPU的 MPI接口 连接PG/HMI 接CPU的 MPI接口 终端电阻开关
在上面所示的两个连接器中左边的是具有PG连接插口的标准连接器, 用于MPI 网络站之间的连接。这一连接器同时可以与一个PG设备连接。 右边没有PG连接插口的连接器,在不必连接PG时使用。 为避免外走的总线,则在最后一个总线节点处必须连接一个终端电阻。 连接要求 将一个编程器或PC连接到PLC的MPI接口时,需要下列条件: • 一个在PG/PC中的MPI卡和一根连接电缆 • 带有一个集成了MPI转换器(如果在PG/PC中没有可用的槽)的适配电缆。 适配电缆有以下特性: 长度为5米 PLC到适配器的传输率为187.5 Kbps PG到适配器的传输率为19.2 或 38.4Kbps(可调) 终端电阻开关
8
终端电阻 带有Profibus-DP 接口的CPU 需要终端电阻 N= Profibus-DP 节点 带有Profibus-DP
终端电阻 在一个网络段的第一个和最后一个节点上接通终端电阻。. 打开总线连接器,将终端电阻开关闭合。 (见下图)
9
全局数据综述 全局数据 CPU 1 MW 10 CPU 2 MW 20 CPU 3 MW 30
全局数据 在SIMATIC S7中,利用全局数据可以建立分布式PLC间的通讯联系而不必在用户程序中编写语句。 通过全局数据的通讯不是通过程序而是利用组态来配置的。需要交换的数据存在一个配置表中。 最多可以在一个项目中的15个CPU之间建立全局数据通讯。它只能用来循环地交换少量数据。 S7-400 CPU还具有对全局数据交换的程序控制功能,因此可支持事件驱动的数据传送方式。 配置 使用“Define Global Data”工具可以对数据交换进行配置。 首先打开全局数据表,在各列分配参与数据交换的各CPU。 然后在各行中定义要传输的变量。几乎所有CPU的地址区域(除了外部输入、输出和临时数据)都可以作为交换的变量,例如:标志位、输入、输出、定时器、计数器和数据块中的数据。 全局数据包 具有相同sender/receiver (发送者/接受者)的全局数据,可以集合成一个全局数据包(GD packet)一起发送。每个数据包用数据包号码(GD packet number)来标识,其中的变量用变量号码(variable number)来标识。 全局数据组 参与全局数据包交换的CPU构成了全局数据组( GD circle )。每个全局数据组用数据组号码来标识( GD circle number )。
10
全局数据组 CPU1 CPU2 CPU3 CPU4 CPU5 全局数据组
S GD 1.1 R GD 1.1 1 R GD 1.2 S GD 1.2 2 R GD 2.1 S GD 2.1 R GD 2.1 R GD 2.1 R GD 2.1 S GD 3.1 R GD 3.1 3 R GD 3.2 S GD 3.2 4 R GD 4.1 S GD 4.1 R GD 4.1 什么是全局数据组? 一个全局数据组是全局数据包的一个确定的分配清单。全局数据组中的每个CPU既可以发送也可以接收数据。 全局数据组有以下种类: • 组内包含2个以上的CPU,其中一个发送数据包,其它的CPU接收数据。 • 组内只有2个CPU,每一个CPU可以既发送数据又接受数据。 全局数据组的数量 S7-300的每个CPU可以参与最多4个不同的数据组。 在一个MPI网上最多可以有15个 CPU 通过全局通讯来交换数据。 示例 上图的例子说明了全局数据组通讯的基本原理。 下图是全局数据组编号的示例。 5 S GD 5.1 R GD 5.1 R GD 5.1 6 R GD 6.1 S GD 6.1 R GD 6.1 S=发送; R=接收; GD x.y=全局数据包y 位于全局数据组 x中
11
全局数据:配置步骤 在项目中生成硬件站 为每个CPU指定MPI地址并下装组态 配置全局数据表 使用“SIMATIC 管理器"
使用“硬件组态” 工具 配置全局数据表 使用“定义全局数据表” 工具 生成硬件站 首先必须利用SIMATIC管理器,在项目中为要连网的设备生成硬件站。之后利用硬件组态工具逐个打开这些站。 设定MPI地址 组态硬件时,必须定义CPU是连接在MPI网络上,并分配各自的MPI地址。 在硬盘上保存CPU的配置参数,然后分别下装到每一个CPU中(点到点) ("PLC -> Download")。 连接网络 然后用Profibus 电缆连接 MPI节点。接着就可以与所有CPU建立在线连接。可以用SIMATIC管理器中 “Accessible Nodes” 功能来测试它。 生成全局数据表 应用“定义全局数据”(Defining Global Data)工具可以生成一个全局数据表,在其中定义要交换的数据。将数据表编译两次然后下装到CPU中 数据的容量 S7-300 : 一个CPU可包含4个全局数据组。 每个全局数据组中一个 CPU最多只能发送和接收一个数据包。 每一个数据包中最多可包含22个数据字节。 S7-400 : 一个CPU可包含16个全局数据组。 每个全局数据组中一个 CPU最多只能发送一个数据包和接收两个数据 包。 每一个数据包中最多可包含54个数据字节。
12
全局数据: 配置硬件 生成站 设定 MPI 地址 CPU所连的网络 "Accessible Nodes"
步骤 为实现全局数据通讯的硬件配置步骤如下: 1. 在SIMATIC管理器中生成一个S7的项目。 2. 自动生成一个MPI网络对象。 3. 在该项目下至少配置两个可全局通讯的模块(例如S7的CPU)。 组态CPU时,必须定义CPU是连接在MPI网络上(见幻灯片),并分配各自 的MPI地址。 4. 分别向每个CPU中下装配置数据。 5. 用网络电缆将CPU模块连接起来。 6. 利用SIMATIC管理器的“Accessible Nodes”功能来检查是组网是否正确。 PG的MPI地址 如果有多台PG连接到MPI网络上,每台PG必须有自己的MPI地址。使用程序 “Simatic -> STEP 7 -> Setting the PG/PC Interface”来设定地址。
13
编辑全局数据表 打开全局数据表 选择CPU 定义全局数据 重复系数
概述 在全局数据表中输入要交换数据的CPU及数据的地址。 还可以定义扫描率(scan rate)和存储状态信息的一个双字。 打开全局数据表 步骤: 1. 打开项目并选择MPI网络对象。 2. 选择菜单功能 Options -> Define Global Data,将产生一个新数据表或打开 一个已经存在的数据表。 填写全局数据表 在每栏中输入每个CPU中用于全局数据交换的地址,步骤如下: 1. 首先为表中每栏指定CPU,方法是用鼠标单击栏首选中它,然后选择菜单功 能Edit -> Assign CPU。 2. 在对话框中选择CPU然后用 “OK”确认。 3. 在下面的行中输入要发送的全局数据。用F2键可以编辑表中的每一个单元。 变量的复制因子用来定义发送数据区的长度。在本例中,定义了从DB (Station_3)的DBB0开始的20个字节。 4. 在每行中定义数据的发送方,方法是选择相应的单元然后在工具条上单击图 标"Select as Sender" 。 . 重复系数
14
编译全局数据表 编译全局数据表 定义扫描率和状态信息 编译全局数据表 现在可以根据全局数据表编译生成配置数据了。配置数据的产生分为两个阶段:
编译全局数据表 现在可以根据全局数据表编译生成配置数据了。配置数据的产生分为两个阶段: • 选择菜单功能GD Table -> Compile启动第一次编译。 此时单独的变量被集 合成数据包,同时生成数据组。 相应的数据组号码、数据包号码和变量号码将显示在第一栏中: GD 第一数据组中第一数据包里的第一个变量 GD 第一数据组中第二数据包里的第一个变量 : GD m.3.n 第n数据组中第3数据包里的第m个变量 • 第一次编译后,生成了全局数据组和数据包。接着可以为每个数据包定义不 同的扫描率( scan rates )以及存储状态信息的地址。 • 然后必须再次编译,使扫描率及状态信息存储地址等包含在配置数据中。 扫描率 可以用菜单功能View -> Scan Rates 来选择不同的数值 (对于发送方和接收方为从1到 255,在S7-400中选择0表示纯事件驱动的发送和接收通讯)。 状态 如果想通报是否数据已被正确地传送,可以给每个数据包定义一个双字来存储状态信息。方法是选择菜单功能View -> GD Status。CPU 的操作系统将把检查信息存在该双字中。
15
下装全局通讯的配置数据 下装全局通讯的配置数据 下装全局数据表 第二次编译完配置数据后,可以将其下装到CPU中:
1. 将所有的有关CPU切换为STOP状态。 2. 选择菜单功能 PLC -> Download 。 3. 成功地传递了配置数据后,将相关CPU切换回RUN状态。 全局数据开始自动地循环交换。 全局数据交换 全局数据交换的过程如下: • 在循环周期的末尾发送方CPU发送数据 • 在循环周期的开始,接收方CPU将得到的数据传送到相应的地址区域中。 通过定义扫描率可以设置两次发送或接受数据所间隔的循环周期数。 循环扫描检测点 接收全局数据 PII OB1 循环程序执行 PIQ 发送全局数据
16
全局数据通讯的状态信息 发送方长度错误 发送方的DB不存在 全局数据包丢失 在全局数据包里语法错误 在全局数据包中对象缺少
MD 120 MB 120 MB 121 MB 122 MB 123 7 6 5 4 5 4 3 2 1 7 6 5 4 3 2 1 7 6 5 4 3 2 1 发送方长度错误 发送方的DB不存在 全局数据包丢失 在全局数据包里语法错误 在全局数据包中对象缺少 接收方和发送方的全局数据长度不一致 接收方长度错误 状态指示 可以为参与全局通讯的每个CPU的每个数据包定义一个状态双字。在全局数据表中状态双字的标识为 "GDS" 。 分析状态双字 如果为状态双字(GDS)分配了CPU地址(例如MD120),就可以在用户程序或PG中分析通讯的状态。 状态双字的结构 全局数据的状态双字是由位形式的信息组成的。上图指示了如果位被置位所表达的的意义。被置位的位将保持其状态直到被用户程序或PG输入所复位。 没有标注的位目前未被使用且无意义。 状态信息要求存储在一个双字里,所以在本例中使用MD 120。 集团信息 STEP 7 为所有的数据组提供了集团状态信息(GST) 。 集团状态信息也存储在一个双字里,结构与状态信息 (GDS)相同,是将所有状态字进行或运算所得的结果。 接收方的DB不存在 接收方已收到新的数据 发送方执行了一次重启动
17
练习12.1: 通讯的准备 培训设备1 培训设备2 站 1 节点号:....... CPU-MPI 地址: .............
站 2 CPU-MPI 地址: 第一步 首先在两组培训设备中分别建立MPI通讯方式。 为此,应在每组中各生成一个新项目“GD Communication”,其中建立两个硬件站(例如 PLC1 和 PLC2)。 第二步 在上述配置图中,输入必要的信息并分配有关地址:对于PG应设置其接口参数,对于PLC应设置CPU参数和MPI地址。两个站的CPU都要分配参数。 利用菜单功能PLC -> Download向两个CPU中下装组态数据。 此时两个CPU模块还未通过电缆连接在一个网络上。 第三步 用Profibus电缆连接两个系统。 第四步 检查与两个PLC连接的两个PG是否都能进入在线状态。 第五步 现在用其中的一个PG来配置全局数据通讯(见下页)。
18
练习12.2: 配置全局数据通讯 PLC1 站 PLC2 站 任务 将设置在“PLC1”拨轮上的数显示在“PLC 2”的数码显示屏上,反之亦然。 步骤 • 生成新项目 “GD Communiation” • 插入两个S7-300站“PLC1” 和 “PLC2” • 给站分配参数以构成MPI网络 • 根据任务生成全局数据表并下装 • 测试通讯功能
19
练习12.3: 在几个站中监视变量 任务 用监视变量功能同时监视两个CPU上的地址。
步骤 • 如幻灯片所示生成两个变量表。 说明:使用32位模板的培训设备的地址将不同。 • 对VAT1,与站“PLC1” 建立在线连接,对于VAT2与站“PLC2”建立在线连接。 • 选择菜单功能Window -> Arrange -> Horizontal。 • 切换到测试状态并监视变量。 • 改变站2上拨轮的设置值,然后检查该值是否传送到站1上。
20
利用SFC 60, 61传递全局数据 引言 可以通过程序来控制接收和发送全局数据包,因此利用SFC60 GD_SND 和 SFC61 GD_RCV可以以事件驱动方式来实现全局通讯。 为了实现纯程序控制的数据交换,在全局数据表中必须将扫描率定义为0。 可以单独使用循环驱动或程序控制方式,也可以组合起来使用。 SFC60 “GD_SND” SFC60 用来按照设定的方式采集并发送全局数据包。SFC60可以在用户程序的任意位置调用。 SFC60 输入的参数有CIRCLE_ID (要发送的数据包所在的组号)和 BLOCK_ID (要发送数据包的号码)。 SFC61 “GD_RCV” SFC61 用来接受发送来的全局数据包并存入设定的区域中。 SFC61可以在用户程序的任意位置调用。 与SFC60相似, SFC61也有 CIRCLE_ID 和 BLOCK_ID 两个输入参数。 为了保证数据交换的连贯性,在调用SFC60/ 61 之前所有中断都应被禁止。 例如: : CALL SFC 39 // “禁止中断” CALL SFC 41 // “延迟中断” CALL SFC 60/61 // “接收/发送 全局数据” CALL SFC 42 // “开放延迟” CALL SFC 40 // “开放中断" :
21
利用NETPRO来配置全局通讯 插入硬件站 定义全局数据
引言 除了前面介绍的配置方法外,还可以采用图形方式的“NETPRO” 工具来配置网络(MPI, Profibus 或 Industrial Ethernet) 。该工具使配置操作更加清晰,提供了文档信息,而且有关的配置工具可以很容易地打开。 打开工具 在SIMATIC管理器中,双击网络图标,例如MPI,就可以打开该工具。 插入硬件站 目录中包含了所需的元件,例如网络和站,可以用拖拉的方法将其插入。 配置硬件 当插入站后,双击可打开“硬件组态工具”。用它来设置MPI地址并建立网络连接。 全局数据 用右键单击网络,例如 MPI,选择菜单功能 “Define Global Data”,可以生成全局数据表。
Similar presentations