资源预览内容
第1页 / 共99页
第2页 / 共99页
第3页 / 共99页
第4页 / 共99页
第5页 / 共99页
第6页 / 共99页
第7页 / 共99页
第8页 / 共99页
第9页 / 共99页
第10页 / 共99页
亲,该文档总共99页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第七章 MPI通讯技术n n 通讯是PLC应用过程中非常重要的部分,本章重点介绍了MPI通讯的基本概念,组建MPI网络的基本方法,分别介绍了无阻态的单边通讯和双边通讯的方法,通过一个项目详细介绍了全局数据通讯的实现过程。7.1 MPI通讯简介通讯简介n n 本节首先绍MPI通讯网络的基本概念和如何设置MPI参数,还介绍了PC侧的MPI通信卡的类型。7.1.1 MPI概述概述n n 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网络的组建网络的组建n n 仅用MPI接口构成的网络称为MPI分支网络或(MPI网络)。两个或多个MPI分支网络由路由器或网间连接器连接起来,就能构成较复杂的网络结构,实现更大范围的设备互连,如图7.1所示。这里介绍MPI网络的组态问题。 图7.1MPI网络结构示意图 1MPI网络连接规则及硬件介网络连接规则及硬件介绍绍n n MPIMPI网络如图网络如图7.17.1所示,构建所示,构建MPIMPI网络时应遵从下网络时应遵从下述连接述连接“ “规则规则” ”: 1 1)MPIMPI网络可连接的节点。凡能接入网络可连接的节点。凡能接入MPIMPI网络的设网络的设备均称为备均称为MPIMPI网络的节点。可接入的设备有:编程网络的节点。可接入的设备有:编程装置(装置(PG/PG/个人计算机个人计算机PCPC),操作员界面(),操作员界面(OPOP),),S7/M7 PLCS7/M7 PLC。 2 2)为了保证网络通信质量,组建网络时在一根电缆)为了保证网络通信质量,组建网络时在一根电缆的末端必须接入浪涌匹配电阻,也就是的末端必须接入浪涌匹配电阻,也就是个网络的个网络的第一个和最后一个节点处应接通终端电阻(一般西第一个和最后一个节点处应接通终端电阻(一般西门子专用连接器中都自带终端匹配电阻)。门子专用连接器中都自带终端匹配电阻)。 3) 两个终端电阻之间的总线电缆称为段(Segments)。每个段最多可有32个节点(默认值16),每段最长为50m(从第一个节点到最后一个节点的最长距离)。 4) 如果覆盖节点距离大于50m,可采用RS485中继器来扩展节点间的连接距离。如果在两个RS485中继器之间没有其他节点,那就能在两个中继器之间设一条长达1000m的电缆,这是两个中继器之间的最长电缆长度。连接电缆为PROFIBUS电缆(屏蔽双绞线),网络插头(PROFIBUS接头)带有终端电阻,如图7.2所示,如果用其它电缆和接头不能保证标称的通讯距离和通讯速率。图7.2 PROFIBUS转接器 5) 如果总线电缆不直接连接到总线连接器(网络插头)而必须采用分支线电缆时,分支线的长度是与分支线的数量有关的,一根分支线时最大长度可以是10m,分支线最多为6根,其长度限定在5m。 6) 只有在启动或维护时需要用的那些编程装置才用分支线把它们接到MPI网络上。 7) 在将一个新的节点接入MPI网络之前,必须关掉电源。2MPI网络参数及编址网络参数及编址n n MPI网络苻合RS-485标准,具有多点通信的性质,MPI的波特率固定地设为1875kbps(连接S7-200时为19.2kbps)。n n 每个MPI网有个分支网络号,以区别不同的MPI分互网;在MPI分互网或称MPI网上的每一个节点都有一个网络地址,称为MPI地址。MPI地址的编址规则:n n 1) MPI分互网号缺省设置为0,在一个分支网络中,各节点要设置相同的分支网络号;n n2) 必须为MPI网络上每一节点分配一个MPI地址和最高MPI地址同一MPI分支网络上各节点地址号必须是不同的,但各节最高地址号均是相同的。n n 3) 节点MPI地址号不能大于给出的最高MPI地址号;最高地址号可以是126。为提高MPI网络节点通信速度最高MPI地址应设置得较小。n n 4) 如果机架上安装有功能模块(FM)和通信模板,则它们的MPI地址是由CPU的MPI地址顺序加1构成, 如图7.3所示。图7.3 为可编程模板自动分配MPI地址5)表)表71 给出了出厂时一些装置给出了出厂时一些装置的的MPI地址缺省值。地址缺省值。n n表表7.1 7.1 缺省的缺省的MPIMPI地址地址节点(装置)节点(装置) 缺省的缺省的MPIMPI地地址址缺省的最高缺省的最高MPIMPI地址地址PGPG0 01515OPOP1 11515CPUCPU2 21515n n 按上述规则组建的个MPI网络及地址分配示于图74中。可用STEP 7软件包中Configuration的功能为每个网络节点分配一个MPI地址和最高地址,地址般标在该节点外壳上,用户看起来很方便。分配地址时可对PG,OP,CP,FM等进行地址排序。网络中可以为一台维护用的PG预留MPI地址0,为一台维护用的OP预留MPI地址1,PG和OP地址应该是不同的;图74中分支虚线表示只在起动或维护时才接到MPI网的PG或OP,需要它们时可以很方便地接入网内。图7.4MPI网络连接示例3MPI网络连接部件网络连接部件n n 连接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参数参数n n 设置MPI参数可分为两部分:PLC侧和PC侧MPI的参数设置。 1. PLC侧参数设置: 在通过HW Config进行硬件组态时双击“CPU313C”后出现如图7.5所示图7.5 “HW Config”对话框中配置硬件 再点击上图中的再点击上图中的再点击上图中的再点击上图中的“ “Properties”Properties”按钮来设置按钮来设置按钮来设置按钮来设置CPUCPU的的的的MPIMPI属性,包括地址及通信速率,具体操作如图属性,包括地址及通信速率,具体操作如图属性,包括地址及通信速率,具体操作如图属性,包括地址及通信速率,具体操作如图7.67.6所示。所示。所示。所示。图7.6 设置CPU的MPI属性n注意: 在通常应用中不要改变在通常应用中不要改变MPI通信速率。请注意在整个通信速率。请注意在整个MPI网络中通信速率必须保持一网络中通信速率必须保持一致,且致,且MPI站地址不能冲突。站地址不能冲突。2.PC侧参数设置侧参数设置n n 在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 1. PC Adapter(PCAdapter(PC适配器适配器) )一端连接一端连接PCPC的的RS232RS232口或口或通用串行总线(通用串行总线(USBUSB)口,另一端连接)口,另一端连接CPUCPU的的MPIMPI,它没有网络诊断功能,通信速率最高为,它没有网络诊断功能,通信速率最高为1.5Mbit/s,1.5Mbit/s,价格较低。价格较低。 2. CP5511 PCMCIA TYPE 2. CP5511 PCMCIA TYPE 卡,用于笔记本电脑编卡,用于笔记本电脑编程和通信,它具有网络诊断功能,通信速率最高为程和通信,它具有网络诊断功能,通信速率最高为12Mbit/s,12Mbit/s,价格相对较高。价格相对较高。 3. CP5512 PCMCIA TYPE 3. CP5512 PCMCIA TYPE CardBusCardBus(3232位)卡,位)卡,用于笔记本电脑编程和通信,具有网络诊断功能,用于笔记本电脑编程和通信,具有网络诊断功能,通信速率最高为通信速率最高为12Mbit/s,12Mbit/s,价格相对较高。价格相对较高。 4. CP5611 PCI卡,用于台式电脑编程和通信,此卡具有网络诊断功能,通信速率最高为12Mbit/s,价格适中。 5. CP5613 PCI卡(替代原CP5412卡),用于台式电脑编程和通信,它具有网络诊断功能,通信速率最高为12Mbit/s,并带有处理器,可保持大数据量通信的稳定性,一般用于PROFIBUS网络,同时也具有MPI功能,价格相对最高。 了解上述功能后,可以很容易地选择适合自己应用的通信卡,在CP 通信卡的代码中,5代表PCMCIA接口,6代表PCI总线,3代表有处理器。7.2 掌握掌握S7300PLC的的MPI通讯方法通讯方法n n 本节主要通过两个实例,简要、直观的介绍用S7-300PLC的全局数据块进行MPI通讯和无组态的MPI通讯的方法,使读者可以快速、准确的掌握S7-300PLC的MPI的使用方法。7.2.1 掌握全局数据块进行掌握全局数据块进行MPI通讯的通讯的方法方法n n1. 1. 全局数据块通讯方式的概述全局数据块通讯方式的概述 在在MPIMPI网络中的各个中央处理单元网络中的各个中央处理单元(CPU)(CPU)之间之间能相互交换少量数据,只需关心数据的发送区能相互交换少量数据,只需关心数据的发送区和接收区和接收区, ,这一过程称做全局数据块通讯。全局这一过程称做全局数据块通讯。全局数据块的通讯方式是在配置数据块的通讯方式是在配置PLCPLC硬件的过程中硬件的过程中, ,组态所要通讯的组态所要通讯的PLCPLC站之间的发送区和接收区站之间的发送区和接收区, ,不需要任何程序处理不需要任何程序处理, ,这种通讯方式只适合这种通讯方式只适合S7-S7-300/400 PLC300/400 PLC之间相互通讯。下面以例子说明全之间相互通讯。下面以例子说明全局数据块通讯的具体方法和步骤。局数据块通讯的具体方法和步骤。2. 2. 网络配置图网络配置图网络配置图网络配置图7.97.9图7.9 网络配置图n n3. 3. 硬件和软件需求硬件和软件需求 硬件:硬件: CPU313CCPU313C CPU313C CPU313C MPI MPI电缆电缆 软件:软件:STEP 7 V5.2 SP2STEP 7 V5.2 SP2n n4. 4. 网络组态及参数设置步骤。网络组态及参数设置步骤。 (1) (1) 建立建立MPIMPI网络网络 在在STEP 7STEP 7中建立一个新项目,中建立一个新项目,如如MPIEXE1_GD,MPIEXE1_GD,在此项目下插入两个在此项目下插入两个PLCPLC站,分别站,分别为为STATION1(CPU313C)STATION1(CPU313C)和和STATION2(CPU313C)STATION2(CPU313C),并分别插入并分别插入CPUCPU完成硬件组态,建立完成硬件组态,建立MPIMPI网络并配网络并配置置MPIMPI的站地址和通信速率,本例中的站地址和通信速率,本例中MPIMPI的站地址的站地址分别设置为分别设置为2 2号站和号站和4 4号站,通信速率为号站,通信速率为187.5kbit/s187.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) (3) 插入所有需要通信的插入所有需要通信的CPU CPU 双击双击“ “GD ID”GD ID”右边右边的的CPUCPU栏选择需要通信的栏选择需要通信的CPUCPU。CPUCPU栏总共有栏总共有1515列,列,这就意味着最多有这就意味着最多有1515个个CPUCPU能够参与通信。在每能够参与通信。在每个个CPUCPU栏底下填上数据的发送区和接收区,例如栏底下填上数据的发送区和接收区,例如第一列的第一列的CPU313CCPU313C(1 1)的发送区填为)的发送区填为“ “DB1.DBB0:12”(DB1.DBB0:12DB1.DBB0:12”(DB1.DBB0:12表示从表示从DB1.DBB0DB1.DBB0开始的开始的2222个字节个字节), ),然后在菜单然后在菜单“ “Edit”Edit”下选择下选择“ “Sender”Sender”设置为发送区,该方格变为深色,同设置为发送区,该方格变为深色,同时在单元中的左端出现符号时在单元中的左端出现符号“ “” ”,表示在该行,表示在该行中中CPU313CCPU313C(1 1)为发送站,在该单元中输入要发)为发送站,在该单元中输入要发送的全局数据的地址。只能输入绝对地址,不能送的全局数据的地址。只能输入绝对地址,不能输入符号地址。包含定时器和计数器地址的单元输入符号地址。包含定时器和计数器地址的单元只能作为发送方。在每一行中应定义一个且只能只能作为发送方。在每一行中应定义一个且只能有一个有一个CPUCPU作为数据的发送方,而接收方可以有作为数据的发送方,而接收方可以有多个。同一行中各个单元的字节数应相同。多个。同一行中各个单元的字节数应相同。 点击第二列的点击第二列的CPU313CCPU313C(2 2)下面的单元,输入)下面的单元,输入MB20:12(MB20:12(表示从表示从MB20MB20开始的开始的12B)12B),该格的背景为,该格的背景为白色,表示在该行中白色,表示在该行中CPU313CCPU313C(2 2)是接收站。编)是接收站。编译保存后,把组态数据分别下载到相应译保存后,把组态数据分别下载到相应CPUCPU中,中,这样就可以进行数据通信了,如图这样就可以进行数据通信了,如图7.127.12所示。地所示。地址区可以为址区可以为DBDB、MM、I I、Q Q区,区,S7-300S7-300地址区长度地址区长度最大为最大为2222字节,发送区和接收区的长度必须一致。字节,发送区和接收区的长度必须一致。如果数据包由若干个连续的数据区组成,一个连如果数据包由若干个连续的数据区组成,一个连续的数据区占用的空间为数据区内的字节数加上续的数据区占用的空间为数据区内的字节数加上两个头部说明字节。一个单独的双字占两个头部说明字节。一个单独的双字占6B6B,一个,一个单独的字占单独的字占4B4B,一个单独的字节占,一个单独的字节占3B3B,一个单独,一个单独的位也占的位也占3B3B。例如。例如DB2.DBB0:10DB2.DBB0:10和和QW0QW0:5 5一共一共占用占用22B22B(第一个连续数据区的两个头部说明字节(第一个连续数据区的两个头部说明字节不包括在不包括在22B22B之内)之内)图7.12 各个CPU栏底下设置数据的发送区和接收区 程序详见 实训十三(4) 多CPU通讯 多CPU通讯首先要了解GD ID参数,编译以后,每行通信区都会有GD ID号,如图7.13所示。图7.13 GD ID参数n n() 参数A: 全局数据块的循环数。每个循环数表示和一个CPU通信。例如S7-300 CPU通信,两个发送与接收是一个循环,图中CPU313C(1)和CPU313C(2)组成1号GD环,两个CPU向对方发送GD包,同时接收对方的GD包,相当于全双工点对点通信方式。支持的循环数与CPU有关,S7-300 CPU最多为4个,即最多能和4个CPU通信。 ()()参数参数参数参数B B: 全局数据块的个数。表示一个循环有几个全局全局数据块的个数。表示一个循环有几个全局全局数据块的个数。表示一个循环有几个全局全局数据块的个数。表示一个循环有几个全局数据块,例如两个数据块,例如两个数据块,例如两个数据块,例如两个S7S7站相互通信,一个循环有两个数据块,站相互通信,一个循环有两个数据块,站相互通信,一个循环有两个数据块,站相互通信,一个循环有两个数据块,如图如图如图如图7.147.14所示。所示。所示。所示。图7.14 参数B示例()参数)参数)参数)参数C C: 一个数据包里的数据区数。参考图图一个数据包里的数据区数。参考图图一个数据包里的数据区数。参考图图一个数据包里的数据区数。参考图图7.157.15,CPU313C SIMATIC 300CPU313C SIMATIC 300(1 1)的)的)的)的CPUCPU发送发送发送发送3 3组数据到组数据到组数据到组数据到SIMATIC 300SIMATIC 300(2 2)的)的)的)的CPUCPU,3 3个数据区是一个数据包。个数据区是一个数据包。个数据区是一个数据包。个数据区是一个数据包。图7.15 参数C示例 对于参数A、B、C的介绍只是为了优化数据的接收区和发送区,减少CPU的通信负载。简单应用可以不用考虑这些参数,GD ID编译后会自动生成。n n(5)通信的诊断 在多个CPU通信时,有时通信会中断,可通过下述方法进行检测: 在编译完成后,在菜单“View”中分别点击“Scan Rates”和“GD Status”,可以查看扫描系数和状态字,如图7.16所示。图7.16查看扫描系数和状态字n n()SR: 扫描频率系数。图中,SR1.1为225,表示发送更新时间为225xCPU循环时间,SR范围为1225。通信中断的问题往往是因扫描时间设置得过快引起的,可根据需要适当增大。n n()GDS: 每包数据的状态字(双字),参见表7.2。表表表表 7.2 7.2 状态字对应的错误状态状态字对应的错误状态状态字对应的错误状态状态字对应的错误状态状态字状态字位位 对应的错误状态对应的错误状态 状态字状态字位位 对应的错误状态对应的错误状态 第第1 1位位发送区长度错误发送区长度错误第第7 7位位发送区与接收区数发送区与接收区数据对象长度不一致据对象长度不一致第第2 2位位发送区数据块不存在发送区数据块不存在第第8 8位位 接收区长度错误接收区长度错误第第4 4位位全局数据块丢失全局数据块丢失第第9 9位位接收区数据块不存接收区数据块不存在在第第5 5位位全局数据块语法错误全局数据块语法错误第第1212位位发送方重新启动发送方重新启动第第6 6位位全局数据块数据对象全局数据块数据对象丢失丢失 第第3232位位接收区接收到新数接收区接收到新数据据n n() 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”后读出所以在网上的站地址 n n(6)事件触发的数据传送 如果我们需要控制数据的发送与接收,比如在某一事件或某一时刻,接收和发送所需要的数据,这时将用到事件触发的数据传送方式。这种通信方式是通过调用CPU的系统功能SFC60(GD_SND)和SFC61(GD_RCV)来完成的,而且只支持S7-400的CPU,并且相应设置CPU的SR(扫描频率)为0。7.2.2 掌握无组态的掌握无组态的MPI通讯方法通讯方法n n 无组态的MPI通讯需要调用系统功能块SFC65SFC69来实现,这种通信方式适合于S7-300、S7-400和S7-200之间的通信,是一种应用广泛、经济的通信方式。 n n 通过调用SFC来实现的MPI通信又可分为两种方式:双边编程通信方式和单边编程通信方式。调用系统功能通信方式不能和全局数据通信方式混合使用。 1. 1.双边编程通信方式双边编程通信方式 n n(1)概述 在通信的双方都需要调用通信块,一方调用发送块发送数据,另一方就要调用接收块来接收数据。这种通信方式适用S7-300/400之间的通信,发送块是SFC65 “X_SEND”,接收块是SFC66 “X_RCV”。下面举例说明怎样调用系统功能来实现通信。n n(2)网络配置图7.18图7.18 网络配置图 n n(3) 硬件和软件需求 硬件: CPU313C、 CPU313C、 MPI电缆 软件:STEP 7 V5.2 SP2n n(4)网络组态及参数设置步骤 ()新建项目: 在SIMATIC Manager界面下,建立一个项目,加入两个300 Station。然后在HW Config中分别对这两个300 Station进行硬件组态,设置MPI地址,在这里SIMATIC 300(1)的CPU的MPI地址为2,SIMATIC 300(2)的CPU的MPI地址为4。最后把组态信息下载到两台PLC中。()()编程:编程:编程:编程: 首先在首先在首先在首先在SIMATIC 300SIMATIC 300(1 1)的)的)的)的CPUCPU下插下插下插下插入入入入OB35OB35,把发送方的程序写入,把发送方的程序写入,把发送方的程序写入,把发送方的程序写入OB35OB35中(见图中(见图中(见图中(见图7.197.19)。)。)。)。图7.19插入OB35对话框n n 双击双击OB35进入程序编辑界面,点击进入程序编辑界面,点击“Libraries”“Standard Library”“System Function Blocks”,选择选择SFC65 “X_SEND”后见后见图图7.20。图。图7.21中当中当REQ的值等于的值等于“TURE”后就把后就把M20.0开始的开始的5个字节个字节发送出去。发送出去。 图7.20 双击OB35进入发送站的程序编辑界面n n 发送站的程序编好后,接下来在发送站的程序编好后,接下来在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发送过来的数据,发送过来的数据,并存放在并存放在MB50MB54中。中。 图7.21 双击OB1进入接收站的程序编辑界面注意:在程序编写时SFC65 “X_SENG”和SFC66 “X_RCV”必须成对使用。 程序中参数说明见表程序中参数说明见表程序中参数说明见表程序中参数说明见表7.37.3和表和表和表和表7.47.4。表表7.3 SFC65 “X_SEND”7.3 SFC65 “X_SEND”参数说明参数说明 2. 单边编程通信方式单边编程通信方式n n 与双边编程通信方式不同,单边编程通信只在一方与双边编程通信方式不同,单边编程通信只在一方与双边编程通信方式不同,单边编程通信只在一方与双边编程通信方式不同,单边编程通信只在一方PLCPLC内编写通信程序,即客户机与服务器的访问模式。内编写通信程序,即客户机与服务器的访问模式。内编写通信程序,即客户机与服务器的访问模式。内编写通信程序,即客户机与服务器的访问模式。编写程序一方的编写程序一方的编写程序一方的编写程序一方的PLCPLC作为客户机,无需编写程序一方的作为客户机,无需编写程序一方的作为客户机,无需编写程序一方的作为客户机,无需编写程序一方的PLCPLC作为服务器,客户机调用作为服务器,客户机调用作为服务器,客户机调用作为服务器,客户机调用SFCSFC通信块访问服务器。通信块访问服务器。通信块访问服务器。通信块访问服务器。这种通信方式适合这种通信方式适合这种通信方式适合这种通信方式适合S7300/400/200S7300/400/200之间的通信,之间的通信,之间的通信,之间的通信,S7S7300/400300/400的的的的CPUCPU可以同时作为客户机和服务器,可以同时作为客户机和服务器,可以同时作为客户机和服务器,可以同时作为客户机和服务器,S7200S7200只只只只能作为服务器。能作为服务器。能作为服务器。能作为服务器。SFC67“X_GET”SFC67“X_GET”用来将服务器指定数用来将服务器指定数用来将服务器指定数用来将服务器指定数据区中的数据读回并存放到本地的数据区中,据区中的数据读回并存放到本地的数据区中,据区中的数据读回并存放到本地的数据区中,据区中的数据读回并存放到本地的数据区中, SFC68 SFC68 “X_PUT” “X_PUT” 用来将本地数据区中的数据写到服务器中指用来将本地数据区中的数据写到服务器中指用来将本地数据区中的数据写到服务器中指用来将本地数据区中的数据写到服务器中指定的数据区。下面举例说明怎样调用系统功能来实现两定的数据区。下面举例说明怎样调用系统功能来实现两定的数据区。下面举例说明怎样调用系统功能来实现两定的数据区。下面举例说明怎样调用系统功能来实现两个个个个300 Station300 Station的通信。的通信。的通信。的通信。 (1)(1)网络配置图网络配置图网络配置图网络配置图7.227.22(2) 硬件和软件需求硬件和软件需求n n硬件: CPU313C、 CPU313C、 MPI电缆n n软件: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 300SIMATIC 300(1 1)的)的)的)的CPUCPU下的下的下的下的OB1OB1,进入程序编辑界面,进入程序编辑界面,进入程序编辑界面,进入程序编辑界面,点击点击点击点击“ “Libraries”“StandardLibraries”“Standard Library”“SystemLibrary”“System Function Function Blocks”,Blocks”,选择选择选择选择SFC67 “X_GET”SFC67 “X_GET”(见图(见图(见图(见图7.247.24)。)。)。)。 图7.24 选择SFC67 “X_GET”n n注意:无论运用双边编程通信方式还是单边编程通信方式,注意:无论运用双边编程通信方式还是单边编程通信方式,注意:无论运用双边编程通信方式还是单边编程通信方式,注意:无论运用双边编程通信方式还是单边编程通信方式,最好在最好在最好在最好在SIMATIC ManagerSIMATIC Manager界面下插入界面下插入界面下插入界面下插入OB82OB82、OB86OB86、OB122OB122,并下载到,并下载到,并下载到,并下载到CPUCPU中,可以防止通信时系统出错。中,可以防止通信时系统出错。中,可以防止通信时系统出错。中,可以防止通信时系统出错。n n(4) (4) 项目说明:项目说明: 、利用无组态的、利用无组态的MPIMPI通信方式不能和全局数据通信方式混合通信方式不能和全局数据通信方式混合使用。使用。 、对于单边编程通信方式,只有主动站才能调用系统功能、对于单边编程通信方式,只有主动站才能调用系统功能块块SFC67SFC67、SFC68SFC68。 、在双边编程通信方式和单边编程通信方式中,每次块、在双边编程通信方式和单边编程通信方式中,每次块(SFC65SFC65、SFC66SFC66、SFC67SFC67、SFC68SFC68)调用最多)调用最多7676个字节的用个字节的用户数据。对于户数据。对于S7-300CPUS7-300CPU,数据传送的数据一致性是,数据传送的数据一致性是8 8个字个字节,对于节,对于S7-400CPUS7-400CPU则是全长。如果连接到则是全长。如果连接到S7-200S7-200,必须考,必须考虑到虑到S7-200S7-200只能用作一个被动站。只能用作一个被动站。7.3 实训十三实训十三 三个三个S7300之间的之间的MPI通讯通讯n n 多个S7-300之间的MPI通信方法在实际工业控制中非常普遍,本实训以一个313C为主站,另两个313C为从站,介绍了三个S7-300PLC(CPU313C)构成的MPI通讯的方法。7.3.1 通讯要求通讯要求/硬件连接硬件连接n n通讯要求:三个S7-300PLC(CPU313C)构成MPI通讯,要求:按下第一站的按钮I2.0,第二站的指示灯Q1.0和第三站的Q0.1会被点亮; 松开按钮则会熄灭。按下第二站的按钮I2.1控制第一站的指示灯Q0.0以2.5Hz的频率闪烁。n n硬件连接: 三个CPU313的PLC站通过MPI电缆连接成MPI网。7.3.2通过通过HW Config进行硬件组态进行硬件组态n n 在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”对话框中配置硬件 n n 下面再分别双击各站的“CPU313C”, 如图7.32所示,点中“Properties”建立MPI网络并配置MPI的站地址和通信速率,本例中MPI的站地址分别设置为2号站、4号站和6号站,通信速率为187.5kbit/s。图7.32 分别双击各站的“CPU313C”点中“Properties” 图7.33 建立MPI网络并配置MPI的站地址图7.34 配置MPI的通信速率n n注意:在整个注意:在整个MPI网络中通讯速率必须保持网络中通讯速率必须保持一致,且各一致,且各MPI站地址不能冲突。站地址不能冲突。n n针对第一站的指示灯Q0.0要以2.5Hz的频率闪烁,我们配置第一站的CPU“Cycle/Clock Memory”选项卡,在“Clock Memory”左面打上勾,Memory Byte:右边填上100, 如图7.35所示:图7.35 配置CPU“Cycle/Clock Memory”选项卡 “ “Addresses”Addresses”选项卡上把选项卡上把选项卡上把选项卡上把“ “Input”Input”和和和和“ “Output”Output”的的的的起始地址改成起始地址改成起始地址改成起始地址改成0 0,如图,如图,如图,如图7.367.36所示。所示。所示。所示。图7.36 配置CPU的“Addresses”选项卡 n n设置完成后,将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”进入组态画面n n2. 插入所有需要通信的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进行编进行编程程n n 分别在CPU313C(1)和CPU313C(2)中的OB1中编程,如图7.40和图7.41所示。再分别把程序“保存”和“下载”。图7.40 在CPU313C(1)的OB1中编程图7.41 在CPU313C(2)的OB1中编程 7.3.5 下载调试下载调试n n在SIMATIC Manager界面里点击工具栏的“Configure Network ” 工具按钮,如图7.42所示:图7.42 点击工具栏的“Configure Network ” 工具按钮我们注意到三个站的我们注意到三个站的我们注意到三个站的我们注意到三个站的CPUCPU已经挂到了已经挂到了已经挂到了已经挂到了MPIMPI网络中,全网络中,全网络中,全网络中,全部选中三个站,部选中三个站,部选中三个站,部选中三个站,“ “编译编译编译编译” ”和和和和“ “下载下载下载下载” ”, 如图如图如图如图7.437.43和图和图和图和图7.447.44所示。所示。所示。所示。图7.43 全部选中三个站,“编译”和“下载”图7.44 正在“编译”和“下载”检查整个检查整个检查整个检查整个MPIMPI网的联接情况可以通过点击工具栏的网的联接情况可以通过点击工具栏的网的联接情况可以通过点击工具栏的网的联接情况可以通过点击工具栏的“ “Accessible Nodes ”Accessible Nodes ”工具按钮,出现图工具按钮,出现图工具按钮,出现图工具按钮,出现图7.457.45。图7.45 整个MPI网的联接情况n n注意:注意:PLC三个站的三个站的CPU模块上的按钮模块上的按钮在运行前都需打一下在运行前都需打一下“STOP”再再“RUN”,以免被以前,以免被以前PLC里的程序结果影响。里的程序结果影响。7.3.6 运行运行n n 最后按下第一站的按钮I2.0,第二站的指示灯Q1.0和第三站的Q0.1会被点亮; 松开按钮则会熄灭。按下第二站的按钮I2.1控制第一站的指示灯Q0.0以2.5Hz的频率闪烁。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号