MPI通讯.ppt_第1页
MPI通讯.ppt_第2页
MPI通讯.ppt_第3页
MPI通讯.ppt_第4页
MPI通讯.ppt_第5页
免费预览已结束,剩余94页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章MPI通讯技术 通讯是PLC应用过程中非常重要的部分 本章重点介绍了MPI通讯的基本概念 组建MPI网络的基本方法 分别介绍了无阻态的单边通讯和双边通讯的方法 通过一个项目详细介绍了全局数据通讯的实现过程 7 1MPI通讯简介 本节首先绍MPI通讯网络的基本概念和如何设置MPI参数 还介绍了PC侧的MPI通信卡的类型 7 1 1MPI概述 MPI MultiPointInterface 是多点接口的简称 是当通信速率要求不高 通信数据量不大时可以采用的一种简单经济的通信方式 通过它可组成小型PLC通讯网络 实现PLC之间的少量数据交换 它不需要额外的硬件和软件就可网络化 每个S7 300CPU都集成了MPI通信协议 MPI的物理层是RS 485 通过MPI PLC可以同时与多个设备建立通信连接 这些设备包括编程器PG或运行STEP7的计算机PC 人机界面 HMI 及其它SIMATICS7 M7和C7 同时连接的通信对象的个数与CPU的型号有关 7 1 2MPI网络的组建 仅用MPI接口构成的网络称为MPI分支网络或 MPI网络 两个或多个MPI分支网络由路由器或网间连接器连接起来 就能构成较复杂的网络结构 实现更大范围的设备互连 如图7 1所示 这里介绍MPI网络的组态问题 图7 1MPI网络结构示意图 1 MPI网络连接规则及硬件介绍 MPI网络如图7 1所示 构建MPI网络时应遵从下述连接 规则 1 MPI网络可连接的节点 凡能接入MPI网络的设备均称为MPI网络的节点 可接入的设备有 编程装置 PG 个人计算机PC 操作员界面 OP S7 M7PLC 2 为了保证网络通信质量 组建网络时在一根电缆的末端必须接入浪涌匹配电阻 也就是 个网络的第一个和最后一个节点处应接通终端电阻 一般西门子专用连接器中都自带终端匹配电阻 3 两个终端电阻之间的总线电缆称为段 Segments 每个段最多可有32个节点 默认值16 每段最长为50m 从第一个节点到最后一个节点的最长距离 4 如果覆盖节点距离大于50m 可采用RS485中继器来扩展节点间的连接距离 如果在两个RS485中继器之间没有其他节点 那就能在两个中继器之间设一条长达1000m的电缆 这是两个中继器之间的最长电缆长度 连接电缆为PROFIBUS电缆 屏蔽双绞线 网络插头 PROFIBUS接头 带有终端电阻 如图7 2所示 如果用其它电缆和接头不能保证标称的通讯距离和通讯速率 图7 2PROFIBUS转接器 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分支网络上各节点地址号必须是不同的 但各节最高地址号均是相同的 3 节点MPI地址号不能大于给出的最高MPI地址号 最高地址号可以是126 为提高MPI网络节点通信速度 最高MPI地址应设置得较小 4 如果机架上安装有功能模块 FM 和通信模板 则它们的MPI地址是由CPU的MPI地址顺序加1构成 如图7 3所示 图7 3为可编程模板自动分配MPI地址 5 表7 1给出了出厂时一些装置的MPI地址缺省值 表7 1缺省的MPI地址 按上述规则组建的 个MPI网络及地址分配示于图7 4中 可用STEP7软件包中Configuration的功能为每个网络节点分配一个MPI地址和最高地址 地址 般标在该节点外壳上 用户看起来很方便 分配地址时可对PG OP CP FM等进行地址排序 网络中可以为一台维护用的PG预留MPI地址0 为一台维护用的OP预留MPI地址1 PG和OP地址应该是不同的 图7 4中分支虚线表示只在起动或维护时才接到MPI网的PG或OP 需要它们时可以很方便地接入网内 图7 4MPI网络连接示例 3 MPI网络连接部件 连接MPI网络常用到两种部件 网络插头和网络中继器 这两种部件也可用在PROFIBUS现场总线中 1 网络插头 LAN插头 网络插头是节点的MPI口与网电缆之间的连接器 网络插头有两种类型 一种带PG插座 一种不带PG插座 编程装置PG对MPI网络节点有两种工作方式 一种是PG固定地连接在MPI网上 则使用网络插头将其直接归并到MPI网络里 另一种是在对网络进行启动和维护时接入PG 使用时才用一根分支线接到一个节点上 PG固定连接时 可以用带有出入双电缆的双口网络插头 不带 接口 上位计算机主板上则应插上MPI 通讯卡 如 如果PG是使用时才连接 可以用带PG插座的网络接头 上位计算机则需使用 MPI适配器 对于临时接入的PG节点其MPI地址可设为0 或设为最高MPI地址如126 然后用S7组态软件确定此MPI网所预设的最高地址 如果预设的小 则把网络里的最高MPI地址改为与这台PG 样的最高MPI地址 网络插头如果是安装在段的起点和终点 必须将插头上的终端电阻接通 ON 2 网络中继器 RS485 网络中继器可以放大信号并带有光电隔离 所以可用于扩展节点间的连接距离 最多增大20倍 也可用作抗干扰隔离 如用于连接下接地的节点和接地的MPI编程装置的隔离器 对于MPI网络系统 在接地的设备和不接地的以备之间连接时 应该注意RS485中继器的连接与使用 7 1 3设置MPI参数 设置MPI参数可分为两部分 PLC侧和PC侧MPI的参数设置 1 PLC侧参数设置 在通过HWConfig进行硬件组态时双击 CPU313C 后出现如图7 5所示 图7 5 HWConfig 对话框中配置硬件 再点击上图中的 Properties 按钮来设置CPU的MPI属性 包括地址及通信速率 具体操作如图7 6所示 图7 6设置CPU的MPI属性 注意 在通常应用中不要改变MPI通信速率 请注意在整个MPI网络中通信速率必须保持一致 且MPI站地址不能冲突 2 PC侧参数设置 在PC侧同样也要设置MPI参数 在STEP7软件SIMATICManager界面下点击菜单 Options 选项的 SetPG PCInterface 图7 7所示 或 控制面板 中选中 SetPG PCInterface 例如用CP5611作为通讯卡 如图7 8所示 选择 CP5611 MPI 后点击OK即可 设置完成后 将STEP7中的组态信息下载到CPU中 图7 7点击 Options 选项的 SetPG PCInterface 界面 图7 8选择 CP5611 MPI 界面 7 1 4PC侧的MPI通信卡的类型 1 PCAdapter PC适配器 一端连接PC的RS232口或通用串行总线 USB 口 另一端连接CPU的MPI 它没有网络诊断功能 通信速率最高为1 5Mbit s 价格较低 2 CP5511PCMCIATYPE 卡 用于笔记本电脑编程和通信 它具有网络诊断功能 通信速率最高为12Mbit s 价格相对较高 3 CP5512PCMCIATYPE CardBus 32位 卡 用于笔记本电脑编程和通信 具有网络诊断功能 通信速率最高为12Mbit s 价格相对较高 4 CP5611PCI卡 用于台式电脑编程和通信 此卡具有网络诊断功能 通信速率最高为12Mbit s 价格适中 5 CP5613PCI卡 替代原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 全局数据块通讯方式的概述在MPI网络中的各个中央处理单元 CPU 之间能相互交换少量数据 只需关心数据的发送区和接收区 这一过程称做全局数据块通讯 全局数据块的通讯方式是在配置PLC硬件的过程中 组态所要通讯的PLC站之间的发送区和接收区 不需要任何程序处理 这种通讯方式只适合S7 300 400PLC之间相互通讯 下面以例子说明全局数据块通讯的具体方法和步骤 2 网络配置图7 9 图7 9网络配置图 3 硬件和软件需求硬件 CPU313CCPU313CMPI电缆软件 STEP7V5 2SP24 网络组态及参数设置步骤 1 建立MPI网络在STEP7中建立一个新项目 如MPIEXE1 GD 在此项目下插入两个PLC站 分别为STATION1 CPU313C 和STATION2 CPU313C 并分别插入CPU完成硬件组态 建立MPI网络并配置MPI的站地址和通信速率 本例中MPI的站地址分别设置为2号站和4号站 通信速率为187 5kbit s 图7 10右击 MPI 1 选择 DefineGlobalData 2 组态数据的发送区和接收区如图7 10所示 右击 MPI 1 或选择 Options 项下的 DefineGlobalData 进入组态画面 如图7 11所示 图7 11选择 DefineGlobalData 进入组态画面 3 插入所有需要通信的CPU双击 GDID 右边的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通讯首先要了解GDID参数 编译以后 每行通信区都会有GDID号 如图7 13所示 图7 13GDID参数 参数A 全局数据块的循环数 每个循环数表示和一个CPU通信 例如S7 300CPU通信 两个发送与接收是一个循环 图中CPU313C 1 和CPU313C 2 组成1号GD环 两个CPU向对方发送GD包 同时接收对方的GD包 相当于全双工点对点通信方式 支持的循环数与CPU有关 S7 300CPU最多为4个 即最多能和4个CPU通信 参数B 全局数据块的个数 表示一个循环有几个全局数据块 例如两个S7站相互通信 一个循环有两个数据块 如图7 14所示 图7 14参数B示例 参数C 一个数据包里的数据区数 参考图图7 15 CPU313CSIMATIC300 1 的CPU发送3组数据到SIMATIC300 2 的CPU 3个数据区是一个数据包 图7 15参数C示例 对于参数A B C的介绍只是为了优化数据的接收区和发送区 减少CPU的通信负载 简单应用可以不用考虑这些参数 GDID编译后会自动生成 5 通信的诊断在多个CPU通信时 有时通信会中断 可通过下述方法进行检测 在编译完成后 在菜单 View 中分别点击 ScanRates 和 GDStatus 可以查看扫描系数和状态字 如图7 16所示 图7 16查看扫描系数和状态字 SR 扫描频率系数 图中 SR1 1为225 表示发送更新时间为225xCPU循环时间 SR范围为1 225 通信中断的问题往往是因扫描时间设置得过快引起的 可根据需要适当增大 GDS 每包数据的状态字 双字 参见表7 2 表7 2状态字对应的错误状态 GST 所有GDS进行逻辑或运算的结果 用CP5511 5611等通信卡可以首先诊断接线是否可靠 如上例中S7 300 1 MPI地址是2 S7 300 2 MPI地址是4 用CP通信卡连接到MPI网上 必须是带有有编程口的PROFIBUS总线连接器 可以读出2 4号站地址 具体方法是依次点击 控制面板 SetPG PCInterface 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 CPU313C MPI电缆软件 STEP7V5 2SP2 4 网络组态及参数设置步骤 新建项目 在SIMATICManager界面下 建立一个项目 加入两个300Station 然后在HWConfig中分别对这两个300Station进行硬件组态 设置MPI地址 在这里SIMATIC300 1 的CPU的MPI地址为2 SIMATIC300 2 的CPU的MPI地址为4 最后把组态信息下载到两台PLC中 编程 首先在SIMATIC300 1 的CPU下插入OB35 把发送方的程序写入OB35中 见图7 19 图7 19插入OB35对话框 双击OB35进入程序编辑界面 点击 Libraries StandardLibrary SystemFunctionBlocks 选择SFC65 X SEND 后见图7 20 图7 21中当REQ的值等于 TURE 后就把M20 0开始的5个字节发送出去 图7 20双击OB35进入发送站的程序编辑界面 发送站的程序编好后 接下来在SIMATIC300 2 的CPU的OB1里编写接收方程序 同样双击OB1进入程序编辑界面 点击 Libraries StandardLibrary SystemFunctionBlocks 选择SFC66 X RCV 见图7 21 通过下面这个程序SIMATIC300 2 的CPU就可以接收SIMATIC300 1 的CPU发送过来的数据 并存放在MB50 MB54中 图7 21双击OB1进入接收站的程序编辑界面注意 在程序编写时SFC65 X SENG 和SFC66 X RCV 必须成对使用 程序中参数说明见表7 3和表7 4 表7 3SFC65 X SEND 参数说明 2 单边编程通信方式 与双边编程通信方式不同 单边编程通信只在一方PLC内编写通信程序 即客户机与服务器的访问模式 编写程序一方的PLC作为客户机 无需编写程序一方的PLC作为服务器 客户机调用SFC通信块访问服务器 这种通信方式适合S7 300 400 200之间的通信 S7 300 400的CPU可以同时作为客户机和服务器 S7 200只能作为服务器 SFC67 X GET 用来将服务器指定数据区中的数据读回并存放到本地的数据区中 SFC68 X PUT 用来将本地数据区中的数据写到服务器中指定的数据区 下面举例说明怎样调用系统功能来实现两个300Station的通信 1 网络配置图7 22 2 硬件和软件需求 硬件 CPU313C CPU313C MPI电缆软件 STEP7V5 2SP2 3 新建项目 同样在SIMATICManager界面下 建立一个项目 加入两个300Station 硬件组态与做双边编程通讯方式相同 把组态信息下载到CPU中 在SIMATIC300 1 的CPU下插入OB35 双击OB35进入程序编辑界面 点击 Libraries StandardLibrary SystemFunctionBlocks 选择SFC68 X PUT 见图7 23 图7 23选择SFC68 X PUT 双击SIMATIC300 1 的CPU下的OB1 进入程序编辑界面 点击 Libraries StandardLibrary SystemFunctionBlocks 选择SFC67 X GET 见图7 24 图7 24选择SFC67 X GET 注意 无论运用双边编程通信方式还是单边编程通信方式 最好在SIMATICManager界面下插入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通过HWConfig进行硬件组态 在STEP7的SIMATICManager界面下建立一个新项目 如项目名为 MPIEXE1 GD 在此项目下插入三个300StationPLC站 分别为SIMATIC300 1 SIMATIC300 2 和SIMATIC300 3 分别双击三个站的 Hardware 并分别插入机架Rail和正确序列号的CPU 如图7 30 图7 31所示 图7 30创建多S7 300CPU通信项目 图7 31 HWConfig 对话框中配置硬件 下面再分别双击各站的 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 ClockMemory 选项卡 在 ClockMemory 左面打上勾 MemoryByte 右边填上100 如图7 35所示 图7 35配置CPU Cycle ClockMemory 选项卡 Addresses 选项卡上把 Input 和 Output 的起始地址改成0 如图7 36所示 图7 36配

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论