西门子PLC网络通讯详解.ppt
《西门子PLC网络通讯详解.ppt》由会员分享,可在线阅读,更多相关《西门子PLC网络通讯详解.ppt(120页珍藏版)》请在三一办公上搜索。
1、第7章 西门子PLC通信技术,本章结合具体实例,详细介绍MPI网络的组建方法、如何用全局数据包通信方式实现PLC之间的MPI网络通信、如何实现无组态连接的PLC之间的MPI通信、如何实现有组态连接的PLC之间的MPI通信、如何实现PLC之间的PROFIBUS-DP主从通信、如何组态远程I/O站,最后介绍了CP342-5分别作为主站和从站的PROFIBUS-DP组态应用。7.1 西门子PLC网络 7.2 MPI网络通信 7.3 PROFIBUS现场总线通信技术 7.4 思考与练习,返回首页,西门子PLC网络,返回本章,7.2 MPI网络通信,MPI是多点通信接口(MultiPoint Inter
2、face)的简称。MPI物理接口符合Profibus RS485(EN 50170)接口标准。MPI网络的通信速率为19.2kbit/s12Mbit/s,S7-200只能选择19.2kbit/s的通信速率,S7-300通常默认设置为187.5kbit/s,只有能够设置为Profibus接口的MPI网络才支持12Mbit/s的通信速率。7.2.1 MPI网络组建7.2.2 全局数据包通信方式7.2.3 无组态连接的MPI通讯方式7.2.4 有组态连接的MPI通讯方式,返回本章,7.2.1 MPI网络组建,用STEP 7软件包中的Configuration功能为每个网络节点分配一个MPI地址和最高
3、地址,最好标在节点外壳上;然后对PG、OP、CPU、CP、FM等包括的所有节点进行地址排序,连接时需在MPI网的第一个及最后一个节点接入通信终端匹配电阻。往MPI网添加一个新节点时,应该切断MPI网的电源。,MPI网络示意图,返回上级,MPI网络连接器,为了保证网络通信质量,总线连接器或中继器上都设计了终端匹配电阻。组建通信网络时,在网络拓扑分支的末端节点需要接入浪涌匹配电阻。,返回上级,采用中继器延长网络连接距离,返回上级,7.2.2 全局数据包通信方式,全局数据(GD)通信方式以MPI分支网为基础而设计的。在S7中,利用全局数据可以建立分布式PLC间的通讯联系,不需要在用户程序中编写任何语
4、句。S7程序中的FB、FC、OB都能用绝对地址或符号地址来访问全局数据。最多可以在一个项目中的15个CPU之间建立全局数据通讯。GD通信原理 GD通信的数据结构 全局数据环 GD通信应用 利用SFC60和SFC61传递全局数据,返回本节,1.GD通信原理,在MPI分支网上实现全局数据共享的两个或多个CPU中,至少有一个是数据的发送方,有一个或多个是数据的接收方。发送或接收的数据称为全局数据,或称为全局数。具有相同Sender/Receiver(发送者/接受者)的全局数据,可以集合成一个全局数据包(GD Packet)一起发送。每个数据包用数据包号码(GD Packet Number)来标识,其
5、中的变量用变量号码(Variable Number)来标识。参与全局数据包交换的CPU构成了全局数据环(GD Circle)。每个全局数据环用数据环号码来标识(GD Circle Number)。例如,表示2号全局数据环,1号全局数据包中的3号数据。,返回上级,在PLC操作系统的作用下,发送CPU在它的一个扫描循环结束时发送全局数据,接收CPU在它的一个扫描循环开始时接收GD。这样,发送全局数据包中的数据,对于接收方来说是“透明的”。也就是说,发送全局数据包中的信号状态会自动影响接收数据包;接收方对接收数据包的访问,相当于对发送数据包的访问。,返回上级,2.GD通信的数据结构,全局数据可以由位
6、、字节、字、双字或相关数组组成,它们被称为全局数据的元素。一个全局数据包由一个或几个GD元素组成,最多不能超过24B。,返回上级,3.全局数据环,全局数据环中的每个CPU可以发送数据到另一个CPU或从另一个CPU接收。全局数据环有以下2种:环内包含2个以上的CPU,其中一个发送数据包,其它的CPU接收数据;环内只有2个CPU,每个CPU可既发送数据又接受数据。S7-300的每个CPU可以参与最多4个不同的数据环,在一个MPI网上最多可以有15个CPU通过全局通讯来交换数据。其实,MPI网络进行GD通信的内在方式有两种:一种是一对一方式,当GD环中仅有两个CPU时,可以采用类全双工点对点方式,不
7、能有其它CPU参与,只有两者独享;另一种为一对多(最多4个)广播方式,一个点播,其它接收。,返回上级,4.GD通信应用(1/2),应用GD通信,就要在CPU中定义全局数据块,这一过程也称为全局数据通信组态。在对全局数据进行组态前,需要先执行下列任务:定义项目和CPU程序名;用PG单独配置项目中的每个CPU,确定其分支网络号、MPI地址、最大MPI地址等参数。,返回上级,4.GD通信应用(2/2),在用STEP 7开发软件包进行GD通信组态时,由系统菜单【Options】中的【Define Global Data】程序进行GD表组态。具体组态步骤如下:在GD空表中输入参与GD通信的CPU代号;为
8、每个CPU定义并输入全局数据,指定发送GD;第一次存储并编译全局数据表,检查输入信息语法是否为正确数据类型,是否一致;设定扫描速率,定义GD通信状态双字;第二次存储并编译全局数据表。,返回上级,【例7-2-1】S7-300之间全局数据通信。要求通过MPI网络配置,实现2个CPU 315-2DP之间的全局数据通信。生成MPI硬件工作站 打开STEP 7,首先执行菜单命令【File】【New.】创建一个S7项目,并命名为“全局数据”。选中“全局数据”项目名,然后执行菜单命令【Insert】【Station】【SIMATIC 300 Station】,在此项目下插入两个S7-300的PLC站,分别重
9、命名为MPI_Station_1和MPI_Station_2。,返回上级,设置MPI网络地址,返回上级,设置MPI地址 按上图完成2个PLC站的硬件组态,配置MPI地址和通信速率,在本例中MPI地址分别设置为2号和4号,通信速率为187.5kbit/s。完成后点击按钮,保存并编译硬件组态。最后将硬件组态数据下载到CPU。连接网络 用Profibus电缆连接MPI节点。接着就可以与所有CPU建立在线连接。可以用SIMATIC管理器中“Accessible Nodes”功能来测试它。,返回上级,生成全局数据表,用NetPro组态MPI网络,返回上级,全局数据环组态,返回上级,GD ID的意义,返回
10、上级,定义扫描速率和状态信息,返回上级,5.利用SFC60和SFC61传递全局数据,利用SFC60 GD_SND和SFC61 GD_RCV可以以事件驱动方式来实现全局通讯。为了实现纯程序控制的数据交换,在全局数据表中必须将扫描速率定义为0。可单独使用循环驱动或程序控制方式,也可组合起来使用。SFC60用来按设定的方式采集并发送全局数据包。SFC61用来接收发送来的全局数据包并存入设定区域中。为了保证数据交换的连贯性,在调用SFC60或SFC61之前所有中断都应被禁止。可以使用SFC39禁止中断,SFC40开放中断;使用SFC41延时处理中断,SFC42开放延时。,返回上级,【例7-2-2】用S
11、FC60发送全局数据GD2.1,用SFC61接收全局数据GD2.2。使用系统功能(SFC)或系统功能块(SFB)时,需切换到在线视窗,查看当前CPU是否具备所需要的系统功能或系统功能块,然后将它们拷贝到项目的“Blocks”文件夹内。接下来可切换到离线视窗调用系统功能或系统功能块。使用SFC60和SFC61实现全局数据的发送与接收,必须进行全局数据包的组态,参照【例7-2-1】。现假设已经在全局数据表中完成了GD组态,以MPI_Station_1为例,设预发送数据包为GD 2.1,预接收数据包为GD 2.2。要求当M1.0为“1”时发送全局数据GD 2.1;当M1.2为“1”时接收全局数据GD
12、 2.2。,返回上级,用SFC60发送全局数据GD2.1,用SFC61接收全局数据GD2.2,返回上级,7.2.3 无组态连接的MPI通讯方式调用系统功能SFC,用系统功能SFC6569,可以在无组态情况下实现PLC之间的MPI的通讯,这种通讯方式适合于S7-300、S7-400和S7-200之间的通讯。无组态通讯又可分为两种方式:双向通讯方式和单向通讯方式。无组态通讯方式不能和全局数据通讯方式混合使用。双向通讯方式 单向通讯,返回本节,1.双向通讯方式,双向通讯方式要求通讯双方都需要调用通讯块,一方调用发送块发送数据,另一方就要调用接收块来接收数据。适用S7-300/400之间通讯,发送块是
13、SFC65(X_SEND),接收块是SFC66(X_RCV)。下面举例说明如何实现无组态双向通讯。【例7-2-3】无组态双向通讯。设2个MPI站分别为MPI_Station_1(MPI地址为设为2)和MPI_Station_2(MPI地址设为4),要求MPI_Station_1站发送一个数据包到MPI_Station_2站。,返回上级,生成MPI硬件工作站,打开STEP 7,创建一个S7项目,并命名为“双向通讯”。在此项目下插入两个S7-300的PLC站,分别重命名为MPI_Station_1和MPI_Station_2。MPI_Station_1包含一个CPU315-2DP;MPI_Stat
14、ion_2包含一个CPU313C-2DP。,设置MPI地址,完成2个PLC站的硬件组态,配置MPI地址和通信速率,在本例中CPU315-2DP和CPU313C-2DP的MPI地址分别设置为2号和4号,通信速率为187.5kbit/s。完成后点击按钮,保存并编译硬件组态。最后将硬件组态数据下载到CPU。,返回上级,编写发送站的通讯程序,在MPI_Station_1站的循环中断组织块OB35中调用SFC65,将I0.0I1.7发送到MPI_Station_2站。MPI_Station_1站OB35中的通讯程序如图所示。,返回上级,编写接收站的通讯程序,在MPI_Station_2站的主循环组织块O
15、B1中调用SFC66,接收MPI_Station_1站发送的数据,并保存在MB10和MB11中。MPI_Station_2站OB1中的通讯程序如图所示。,返回上级,2.单向通讯,单向通讯只在一方编写通讯程序,也就是客户机与服务器的访问模式。编写程序一方的CPU作为客户机,无需编写程序一方的CPU作为服务器,客户机调用SFC通讯块对服务器进行访问。SFC67(X_GET)用来读取服务器指定数据区中的数据并存放到本地的数据区中,SFC68(X_PUT)用来将本地数据区中的数据写到服务器中指定的数据区。【例7-2-4】无组态单向通讯。建立两个S7-300站:MPI_Station_1(CPU315-
16、2DP,MPI地址设置为2)和MPI_Station_2(CPU313C-2DP,MPI地址设置为3)。CPU315-2DP作为客户机,CPU313C-2DP作为服务器。,返回上级,生成MPI硬件工作站,打开STEP 7编程软件,创建一个S7项目,并命名为“单向通讯”。在此项目下插入两个S7-300的PLC站,分别重命名为MPI_Station_1和MPI_Station_2。,设置MPI地址,在本例中将CPU315-2DP和CPU313C-2DP的MPI地址分别设置为2号和3号,通信速率为187.5kbit/s。完成后点击按钮,保存并编译硬件组态。最后将硬件组态数据下载到CPU。,返回上级,
17、生成MPI硬件工作站,打开STEP 7编程软件,创建一个S7项目,并命名为“单向通讯”。在此项目下插入两个S7-300的PLC站,分别重命名为MPI_Station_1和MPI_Station_2。,设置MPI地址,在本例中将CPU315-2DP和CPU313C-2DP的MPI地址分别设置为2号和3号,通信速率为187.5kbit/s。完成后点击按钮,保存并编译硬件组态。最后将硬件组态数据下载到CPU。,返回上级,编写客户机的通讯程序,返回上级,7.2.4 有组态连接的MPI通讯方式调用系统功能块SFB,对于MPI网络,调用系统功能块SFB进行PLC站之间的通讯只适合于S7-300/400,S
18、7-400/400之间的通讯,S7-300/400通讯时,由于S7-300CPU中不能调用SFB12(BSEND),SFB13(BRCV),SFB14(GET),SFB15(PUT),不能主动发送和接收数据,只能进行单向通讯,所以S7-300PLC只能作为一个数据的服务器,S7-400PLC可以作为客户机对S7-300PLC 的数据进行读写操作。【例7-2-5】有组态连接的MPI单向通讯。建立S7-300与S7-400之间的有组态MPI单向通讯连接,CPU416-2DP作为客户机,CPU315-2DP作为服务器。,返回本节,建立S7硬件工作站,打开STEP 7,创建一个S7项目,并命名为“有组
19、态单向通讯”。插入一个名称为MPI_STATION_1的S7-400的PLC站,CPU为CPU 416-2DP,MPI地址为2;插入一个名称为MPI_STATION_2的S7-300的PLC站,CPU为CPU 315-2DP,MPI地址为3。,返回上级,组态MPI通讯连接(1/3),首先在SIMATIC Manager窗口内选择任一个S7工作站,并进入硬件组态窗口。然后在STEP 7硬件组态窗口内执行菜单命令【Options】【Configure Network】,进入网络组态NetPro窗口。,返回上级,组态MPI通讯连接(2/3),用鼠标右键点击MPI_STATION_1的CPU416-2
20、DP,从快捷菜单中选择【Insert New Connection】命令,出现新建连接对话框,如图所示。,返回上级,组态MPI通讯连接(3/3),在“Connection”区域,选择连接类型为“S7 Connection”,在“Connection Partner”区域选择MPI_Station_2工作站的CPU315-2DP,最后点击按钮完成连接表的建立,弹出连接表的详细属性对话框,如图所示。,返回上级,编写客户机MPI通信程序,返回上级,7.3 PROFIBUS现场总线通信技术,7.3.1 PROFIBUS介绍 7.3.2 PROFIBUS DP设备分类 7.3.3 CPU31x-2DP之
21、间的DP主从通信 7.3.4 CPU31x-2DP通过DP接口连接远程I/O站 7.3.5 CP342-5作主站的PROFIBUS-DP组态应用 7.3.6 CP342-5作从站的PROFIBUS-DP组态应用 7.3.7 PROFIBUS-DP从站之间的DX方式通讯,返回本章,7.3.1 PROFIBUS介绍,PROFIBUS是目前国际上通用的现场总线标准之一,PROFIBUS总线87年由Siemens公司等13家企业和5家研究机构联合开发,99年PROFIBUS成为国际标准IEC 61158的组成部分,2001年批准成为中国的行业标准JB/T 10308.3-2001。PROFIBUS的组
22、成 PROFIBUS协议结构 传输技术 PROFIBUS总线连接器 PROFIBUS介质存取协议,返回本节,1.PROFIBUS的组成,PROFIBUS协议包括3个主要部分:PROFIBUS-DP(分布式外部设备)PROFIBUS-PA(过程自动化)PROFIBUS-FMS(现场总线报文规范),返回上级,PROFIBUS-DP(分布式外部设备),PROFIBUS-DP是一种高速低成本数据传输,用于自动化系统中单元级控制设备与分布式I/O(例如ET 200)的通信。主站之间的通信为令牌方式,主站与从站之间为主从轮询方式,以及这两种方式的混合。一个网络中有若干个被动节点(从站),而它的逻辑令牌只含
23、有一个主动令牌(主站),这样的网络为纯主-从系统。,返回上级,PROFIBUS-PA(过程自动化),PROFIBUS-PA用于过程自动化的现场传感器和执行器的低速数据传输,使用扩展的PROFIBUS-DP协议。,返回上级,PROFIBUS-FMS(现场总线报文规范),PROFIBUS-FMS可用于车间级监控网络,FMS提供大量的通信服务,用以完成中等级传输速度进行的循环和非循环的通信服务。,返回上级,2.PROFIBUS协议结构,返回上级,3.传输技术,PROFIBUS总线使用两端有终端的总线拓扑结构。,PROFIBUS使用三种传输技术:PROFIBUS DP和PROFIBUS FMS采用相同
24、的传输技术,可使用RS-485屏蔽双绞线电缆传输,或光纤传输;PROFIBUS PA采用IEC 1158-2传输技术。,返回上级,4.PROFIBUS总线连接器,返回上级,5.PROFIBUS介质存取协议,PROFIBUS通信规程采用了统一的介质存取协议,此协议由OSI参考模型的第2层来实现。使用上述的介质存取方式,PROFIBUS可以实现以下三种系统配置:纯主-从系统(单主站)纯主-主系统(多主站)两种配置的组合系统(多主-多从),返回上级,纯主-从系统(单主站),单主系统可实现最短的总线循环时间。以PROFIBUS-DP系统为例,一个单主系统由一个DP-1类主站和1到最多125个DP-从站
25、组成,典型系统如图所示。,返回上级,纯主-主系统(多主站),若干个主站可以用读功能访问一个从站。以PROFIBUS-DP系统为例,多主系统由多个主设备(1类或2类)和1到最多124个DP-从设备组成。典型系统如图所示。,返回上级,两种配置的组合系统(多主-多从),返回上级,7.3.2 PROFIBUS DP设备分类,PROFIBUS-DP在整个PROFIBUS应用中,应用最多、最广泛,可以连接不同厂商符合PROFIBUS-DP协议的设备。PROFIBUS-DP定义三种设备类型:DP-1类主设备(DPM1)DP-2类主设备(DPM2)DP-从设备,返回本节,1.DP-1类主设备(DPM1),DP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 PLC 网络通讯 详解
链接地址:https://www.31ppt.com/p-5837726.html