1 / 99

第七章 MPI 通讯技术

第七章 MPI 通讯技术. 通讯是 PLC 应用过程中非常重要的部分,本章重点介绍了 MPI 通讯的基本概念,组建 MPI 网络的基本方法,分别介绍了无阻态的单边通讯和双边通讯的方法,通过一个项目详细介绍了全局数据通讯的实现过程。. 7.1 MPI 通讯简介. 本节首先绍 MPI 通讯网络的基本概念和如何设置 MPI 参数,还介绍了 PC 侧的 MPI 通信卡的类型。. 7.1.1 MPI 概述.

Download Presentation

第七章 MPI 通讯技术

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 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的型号有关。

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

  5. 图7.1 MPI网络结构示意图

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

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

  8. 图7.2 PROFIBUS转接器

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

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

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

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

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

  14. 5)表7.1 给出了出厂时一些装置的MPI地址缺省值。 • 表7.1 缺省的MPI地址

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

  16. 图7.4 MPI网络连接示例

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

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

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

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

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

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

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

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

  25. 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中。

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

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

  28. 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,价格相对较高。

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

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

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

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

  33. 3. 硬件和软件需求 硬件: CPU313C 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。

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

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

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

  37. (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作为数据的发送方,而接收方可以有多个。同一行中各个单元的字节数应相同。

  38. 点击第二列的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之内)点击第二列的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之内)

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

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

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

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

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

  44. 对于参数A、B、C的介绍只是为了优化数据的接收区和发送区,减少CPU的通信负载。简单应用可以不用考虑这些参数,GD ID编译后会自动生成。 • (5)通信的诊断 在多个CPU通信时,有时通信会中断,可通过下述方法进行检测: 在编译完成后,在菜单“View”中分别点击“Scan Rates”和“GD Status”,可以查看扫描系数和状态字,如图7.16所示。

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

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

  47. 表 7.2 状态字对应的错误状态

  48. (Ⅲ) 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号站地址,说明硬件连接或软件设置有问题,需要进一步具体分析。

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

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

More Related