收藏 分享(赏)

通讯专题PPT课件.ppt

上传人:微传9988 文档编号:3353209 上传时间:2018-10-17 格式:PPT 页数:158 大小:5.67MB
下载 相关 举报
通讯专题PPT课件.ppt_第1页
第1页 / 共158页
通讯专题PPT课件.ppt_第2页
第2页 / 共158页
通讯专题PPT课件.ppt_第3页
第3页 / 共158页
通讯专题PPT课件.ppt_第4页
第4页 / 共158页
通讯专题PPT课件.ppt_第5页
第5页 / 共158页
点击查看更多>>
资源描述

1、通讯专题,通讯专题,MPI 通讯,MPI通讯,MPI(Multi Point Interface)是指多点接口通信协议,通过它可组成一个小型PLC通讯网络,实现PLC之间的少量数据交换,它不需要额外的硬件和软件就可网络化。每个S7-300 CPU都集成了MPI通信协议。,专题一,MPI网络可以采用全局数据块通讯和无组态的MPI通讯。如果在各个中央处理单元(CPU)之间相互交换少量数据,只关心数据的发送区和接收区,则可以采用全局数据块通讯。这种通讯方式只适合S7-300/400 PLC之间相互通讯,应用范围不是很广。而无组态的MPI通讯适合于S7-300、S7-400和S7-200之间的通信,是

2、一种应用广泛、经济的通信方式。,S7-300与S7-300 PLC之间的无组态MPI通讯,网络组建,第一步:新建一个项目并插入站点,如此插入两个站,第二步:组态SIMATIC 300 (1)站,选择“SIMATIC 300 (1)”,双击“硬件”,进入硬件组态对话框图 ,进行如下组态。,双击2号插槽内的X1“MPI/DP”接口来配置MPI接口参数。需要说明的是,本例中所使用的CPU 315-2PN/DP本身集成了一个“PROFINET”接口和一个“MPI/DP”的复用接口,根据需要用户可以选择将“MPI/DP”接口配置成MPI还是PROFIBUS接口。这里将“MPI/DP”配置成MPI接口。,

3、点击属性按钮,设置参数和1号站的地址:2。,之后编译保存,第三步:组态SIMATIC 300 (2)站,设置2号站的地址:3,并选择相同的网络。,之后编译保存,MPI网络站点之间的数据传输可以采用双边编程和单边编程的方式实现。所谓双边编程,就是在通信双方均调用发送/接收系统块,进行数据的发送和接收;单边编程指的是仅在通信一方调用发送/接收系统块从而发起通信请求,而另一个节点则不发起通信请求,只是提供一些数据或什么工作也不做。两种方式可以通过调用STEP7内系统功能块来实现。,软件编程,第一步:系统功能SFC65和SFC66,SFC65即“X_SEND”的功能是向本地S7站以外的通讯伙伴发送数据

4、;而SFC 66“X_RCV“则是接收本地S7外的通讯伙伴的数据。SFC65和SFC66的框图如图所示。,1、通信双方编写程序(双边编程通讯),X_SEND引脚功能说明,X_RCV 引脚功能说明,第二步:编写“SIMATIC 300 (1)”站程序,建立数据块DB100,并在DB100内建立一个20个字节大小的数组。编译保存。 在OB1内编写程序。 程序的功能是通过两次调用“X_SEND”模块,向通信对方发送2个不同编号(由REQ_ID标记)的数据包。其中: 通过M100.0=1来触发SFC65“X_SEND”向3号站发送P#DB100.DBX0.0开始的5个字节内的数据,该数据块的REQ_I

5、D编号为1。 通过M101.0=1来再次触发SFC65“X_SEND”向3号站发送P#DB100.DBX10.0开始的5个字节内的数据,该数据块的REQ_ID编号为2。,因为“X_SEND”是在REQ1的情况下触发数据发送,且两个数据包经由同一通道发送,故两者不能同时触发,为了避免这种情况的发生,所以M100.0和M101.0要互锁一下。,第三步:编写“SIMATIC 300 (2)”站程序,建立数据块DB102,并在DB102内建立一个20个字节大小的数组。编译保存。 在OB1内编写程序。 功能是通过调用“X_RCV”读取缓冲区队列中的数据块,并存储到RD指定的存储区内。,当M101.0(E

6、N_DT)=0时,SFC66“X_RCV”模块检查通信缓冲区队列是否有新数据块,如果有则M101.1(NDA)=1,且队列中最早存在的数据块的REQ_ID号存储在MD34中。若没有则NDA(M101.1)为0; 由M101.0=1来触发SFC66“X_RCV”读取2号站发来的数据并存储到RD指定的存储区内,本例中指定的是从P#DB102.DBX10.0 开始的5个字节; 特别注意的是,RD指定的存储区的大小一定要大于等于SFC65“X_SEND”中SD所指定的发送区,否则容易出错。,如果RD指定的存储区中的数据没有被及时处理,若M101.0又一次触发SFC“X_RCV”读取数据,则RD中的数据

7、会被后来的数据覆盖。为了避免这种情况发生,可以作如下处理:根据数据块REQ_ID号的不同利用SFC20(BLKMOV)将数据分别存入不同的处理区,程序如图所示。,第四步:项目下载,将两个站点“SIMATIC 300 (1)”和“SIMATIC 300 (2)”的硬件组态和程序块统统下载到各自的PLC内。,第五步:通信结果监控,在“SIMATIC 300 (1)”和“SIMATIC 300 (2)”中分别插入变量表VAT_1和VAT_2,并观察监控的效果。 运行程序。首先在VAT_1中修改REQ_ID1=1的数据块的值,并修改VAT_1的M4.0值为1,如图(2)所示。可以看到图VAT_2的MB

8、10MB14接收到该数据;在VAT_1中修改REQ_ID1=2的数据块的值,并修改VAT_1的M4.1值为1,如图(3)所示。可以看到图中VAT_2的MB20MB24接收到相应的数据;,REQ_ID=1 发送的数据,图(2),REQ_ID=1 接收的数据,REQ_ID=2 发送的数据,图(3),REQ_ID=2 接收的数据,2、通信一方编写程序(单边编程),单边编程只需在通信的一方来组织数据的发送和读取,而另一方可以什么都不做,也可以对收到的数据做处理或准备一些数据以便对方来读取。,第一步:系统功能SFC67和SFC68,“SFC67“X_GET”的引脚说明,SFC68“X_PUT”的引脚说明

9、,第二步:编写“SIMATIC 300 (1)”站程序,首先插入一个数据块DB10,为DB10建立一个20个字节大小的数组。保存DB10。 再插入一个DB20的数据块,并建立一个20个字节大小的数组。 在OB1内编写发送和接收程序 。,在调用 “X_PUT”和“X_GET”时需要由用户指定通信伙伴的MPI站地址(DEST_ID)和存储区(VAR_ADDR)。 本站的发送区和接收区由“SD”和“RD”来指定。 程序功能:若M4.0为1,则本站(MPI地址为2)DB10.DBD10内数据将被发送到3号站的MD50内;若M5.0为1,则读取3号站MW40内的数据并存放在本站DB20.DBW10内。,

10、3号站程序,简单得取反,并不利用系统函数, 所以属于单边编程,第三步:项目下载,第四步:通信结果监控,PROFIBUS 通讯,PROFIBUS 通讯,现场总线定义是安装在生产过程区域的现场设备/仪表与控制室内的自动控制装置/系统之间的一种串行、数字式、多点通信的数据总线。,专题二,在现代化工厂环境及大规模的工业生产过程控制中,工业设备与数据结构被简单地划分为三个层次,,工业三层网络:,国际电工委员会(IEC)在1999年底通过了一个IEC61158的现场总线标准,此标准容纳了8种互不兼容的总线协议。在2003年4月,IEC61158 Ed.3现场总线标准第3版正式成为国际标准,规定10种类型的

11、现场总线,其中包括FF现场总线、LONWORKS总线、PROFIBUS现场总线、CANBUS现场总线、PROFInet现场总线等。IEC61158国际标准中的PROFIBUS现场总线也是德国标准(DIN19245)和欧洲标准(EN50170)。在2001年PROFIBUS被定为中国的国家标准JB/T103010.3-2001。,所有集成了现场总线接口的设备都可以被挂接到现场总线上,控制器与现场设备之间仅通过一根总线电缆相连,结构非常简单,节省安装费用和维护开销。控制器与现场设备可以实现双向的数字通信,克服了模拟信号精度不高、抗干扰能力差的缺点,提高了系统的可靠性。,现场总线的优点:,现场总线的

12、连接方式:,PROFIBUS-DP和PROFIBUS-FMS使用的是RS485传输技术,传输介质可以采用屏蔽双绞线和光纤等。使用屏蔽双绞线的传输速率有9.6kbit/s、19.2kbit/s、93.75kbit/s、187.5kbit/s、500kbit/s、1500kbit/s、12 000kbit/s。随着通信速率的增加,传输距离也相应地降低为1200m、1200m、1200m、1000m、400m、200m、100m。,PROFIBUS传输介质和通讯速率:,网络的拓扑结构可以采用树形、星形、环形以及冗余等结构。每一个网段最多可以组态32个站点,多于32个可以使用中继器,整个网络最多可以组

13、态127个站点。中继器也要占用站点。PROFIBUS支持主-从系统、纯主站系统、多主多从混合系统等几种模式。主站与主站之间采用的是令牌的传输方式,主站在获得令牌后通过轮询的方式与从站通信。,网络的拓扑结构和通讯方式:,S7-300/400和S7-300/400 PROFIBUS-DP不打包通信,不打包通信可直接利用传送指令实现数据的读写,但是每次最大只能读写4个字节(双字),下面重点描述两个315-2PN/DP PLC之间的PROFIBUS-DP不打包通信。,网络组建,第一步:新建项目,并插入主从站点:,第二步:SIMATIC 300(S)从站,双击SIMATIC 300(S)的Hardwar

14、e,进行硬件组态。,双击2号插槽里的MPI/DP接口,配置属性MPI/DP”配置对话框。,设置从站方式,设置通讯地址为3。,配置从站与主站的通信区,单击上图中的“组态”选项卡组态从站与主站的通信区。在随后出现的对话框内点击“新建”按钮,组态接收区。同样组态发送区。,从站接收区,从站的通信伙伴的配置是虚线,表示主站还没有组态。其中的“MS”表示组建的网络为主从模式,如果组建的网络是数据直接交换,则显示DX。,确定后,点击“编译保存”按钮,进行编译保存。,第三步:配置主站,设置主站方式,设置主站地址为2。 将配置好的从站挂接到主站的PROFIBUS-DP的电缆上。在右侧的硬件模块目录树内依次选择P

15、ROFIBUS-DP、Configured Station,将框内的CPU 31x拖至左侧的PROFIBUS电缆处。,在拖曳的过程中出现对话框,单击“连接”按钮。,双击PROFIBUS电缆处的从站,出现“DP从站属性”对话框,单击“组态”选项卡,选中通信区中的从站为输入的一行,单击“编辑”按钮出现对话框。,注意一一对应的关系:发送和接收对应,对主站的配置编译保存。,主从站关系图:,软件编程,第一步:主站侧编程,第二步:从站侧编程,第三步:运行结果监控,S7-300/400和S7-300/400 PROFIBUS-DP打包通信,不打包通信每次传输的数据最大为4个字节,若想一次传送更多的数据,则应

16、该采用打包方式的通信。打包通信需要调用系统功能(SFC)。STEP7提供了两个系统功能SFC15和SFC14来完成数据的打包和解包功能。,SFC15引脚的功能(打包程序),SFC14引脚的功能(解包程序),网络组建,第一步:新建一个项目并插入站点,第二步:SIMATIC 300(S1)站配置,第二步:SIMATIC 300(S1)站配置,第二步:SIMATIC 300(S1)站配置,SIMATIC 300(S1)站建立的是PROFIBUS(1)网络,通信速率为1.5Mbps,行规为DP,站地址设为3。同前所述,配置输入和输出区。注意:一致性选择“全部”。,第三步:SIMATIC 300(S2)

17、站配置,SIMATIC 300(S2)站建立的也是PROFIBUS(1)网络,通信速率为1.5Mbps,行规为DP,站地址设为5。,第四步:主站SIMATIC 300(M)的配置,主站的PROFIBUS站地址设为2,需要说明的是,在将从站拖到主站PROFIBUS-DP电缆后,可以找到两个刚才已经配置好的站点(站地址分别为3和5)。,连接图,双击两个站的图标,进一步配置主站与两个从站的通信区,从站1,从站2,主站与SIMATIC 300(S1)站的通信区,主站与SIMATIC 300(S2)站的通信区,编译保存主站和从站的硬件组态。设置好下载路径后,将主站和从站的硬件组态分别下载到各自的PLC内

18、。,软件编程,PROFIBUS主从(MS)模式网络都是由主站采用轮询的方式与从站实现通信。主站轮询到哪个从站,哪个从站才有发言权;从站之间不能直接进行通信,必须经由主站的参与。 主站和从站可以分别调用SFC15、SFC14,实现双向通信,也可以在一边单独调用SFC15,另一边单独调用SFC14,实现单向通信。如果要使用DB块存储数据,还必须在项目管理器内建立所使用的DB块,并分配相应大小的存储区。 本例中采用的方案是在SIMATIC 300(S1)站内发送8个字节的数据包给主站,主站接收到该数据包后解压缩,并再次打包发送给SIMATIC 300(S2)站,SIMATIC 300(S2)站接收后

19、解压缩并存储在内存区。,第一步:SIMATIC 300(S1)从站侧的编程,在从站块内新建DB1、DB2数据块(在“块”界面内右击,选择“插入新对象”、数据块),并分配8个字节的内存区。,为从站插入3个组织块,分别为OB82、OB86和OB122。它们的作用主要是保证通信正常进行。插入OB35块,并打开编写通信程序。,程序如图:W#16#A是发送缓冲区起始地址(十进制为10); DB1.DB_VAR 是待发送数据的存储区; 功能:将DB1.DB_VAR内的数据打包发送给主站,程序按照OB35的中断时间周期地被执行。,第二步:SIMATIC 300(S2)从站侧的编程,在“块”内新建DB1数据块

20、并同样分配8个字节的内存区。在“块”内插入OB35块并编写程序。,W#16#14是该站接收缓冲区起始地址(十进制为20);DB1.DB_VAR 是接收数据的存储区;MW0用来存储SFC14执行后的一些返回信息,通过该返回信息可以判断通信情况; 功能:将主站发来的数据解包,并存储在DB1.DB_VAR内。,第三步:主站侧的编程,主站内不建立DB块,使用中间存储区M来实现数据读写。 功能:将MB50开始的8个字节内的数据进行打包并发送给SIMATIC 300(S2)站;而将SIMATIC 300(S1)站发来的数据读取进来并解包存储在MB50开始的8个字节内。,第四步:项目的下载,第五步:通信结果

21、的观察,【说明:】在使用DB或中间内存区来发送和接收数据的时候,应特别注意3个参与通信的区域大小的设置。通信缓冲区的大小、DB块的大小、实际用来发送数据的大小(见图8-33的RECORD)。这里建议3个区域的大小相同,否则通信容易出错。,S7-200与S7-300/400的PROFIBUS-DP通信,S7-300 PLC在PROFIBUS-DP网络中可以组态成主站 ,也可以组态为从站,组态为从站时,S7-300 PLC作为智能从站与主站通信。S7-200只能作为S7-300 PLC的从站来配置,由于S7-200本身没有DP接口,只能通过EM277接口模块连接到PROFIBUS-DP网络上。,E

22、M277的使用,EM277模块的左上方有两个拨码开关,每个拨码开关使用起子旋动从而可以设定09这10个数字,其中一个拨码开关的数字10,另一数字1,因此组合起来构成了099,这也是EM277在PROFIBUS-DP网络中的物理站地址。EM277在通电情况下修改拨码开关的数字后,必须断电,然后再上电才能使设定的地址生效。进行硬件网络组态时设定的EM277站地址必须与拨码开关设定的地址一致。,通信区的设定,第一步:新建工程并插入站点,如图进行组态,第二步:SIMATIC 300(1)主站配置,双击图8-37中2号插槽内的MPI/DP槽,出现对话框。,单击2号框后,出现对话框。建立PROFIBUS网

23、络。,设定通信速率和行规,主从站模式设定为主站,编译保存,第三步插入EM277从站,由于S7-200没有集成DP接口,必须通过EM277才能连接到PROFIBUS网络上。在图右侧的目录树内依次选择PROFIBUS DP、Additional Field Devices、PLC、SIMATIC、EM277 PROFIBUS-DP,将其拖至左侧PROFIBUS-DP电缆处 【说明:】如图硬件目录树内找不到EM277的订货号,则需要用户到Siemens 相关网站上下载相应的GSD文件,然后安装该“GSD”文件。重新启动Step7,这时就能够找到EM277的订货号了。,拖曳时,出现对话框。设定地址为8

24、8,此为200地址。注意选择网络PROFIBUS(1)。,第四步 配置CPU315-2PN/DP与S7-200的通信区,要配置的通信区是指S7-300与S7-200两侧的互为映射的通信缓冲区;EM277仅仅是S7-200用于和S7-300进行通信的一个接口模块,200侧的通信区地址设置必须能够被S7-200所接受,与EM277无关。,单击上图的EM277(1号框),出现2号框内的内容,配置S7-300侧的通信区。,单击图内的EM 277 PROFIBUS-DP,可以看到模块提供了多种不同大小的通信区,用户可以根据实际数据传输量来选择,这里选择2 Bytes Out/2 Bytes In,如图所

25、示 。,图(1),修改300通信区地址。,再配置S7-200侧的通信区,双击图(1)中的EM277,在出现的对话框内选择“参数赋值”选项卡。S7-200侧的通信区默认使用的是全局变量V存储区。在图中的框内可以设定通信区在V区的起始地址。默认通信区从V0开始,占用4个字节(前面通过组态设定的),也可以自行修改,这里修改为从V10开始,即VW10和VW12,其中VW10用来接收S7-300侧发来的数据,VW12用来向S7-300发送数据。,之后保存编译。,软件编程,S7-300侧的编程可以用两条语句来实现。 功能是将接收缓冲区IW10内的数据读出,并送给MW2;另外将MW0的数据通过输出缓冲区QW

26、10发送给S7-200侧。,S7-200侧的编程可以用一条语句来实现。 功能是通过接收缓冲区VW10读取300侧发来的数据,并将接收到的数据取反并通过VW12发送出去。,通信结果的观察,S7-300/400通过 PROFIBUS总线控制变频器,本例采用西门子PLC通过PROFIBUS总线控制两个MM440变频器,从而控制两台异步电动机,其中电动机1的速度实际值作为电动机2的速度设定值。 具体操作为: 1、上位机PC通过工业以太网向PLC发送变频器1/电动机1的指令数据(比如速度、方向等); 2、PLC通过PROFIBUS向变频器1发送电动机1的指令数据,使电动机1按照指令运转; 3、变频器1通

27、过PROFIBUS返回电动机1运行过程数据给PLC; 4、PLC根据返回的电动机1过程数据,作为电动机2的指令数据,通过PROFIBUS发送给变频器2,控制电动机2跟随电动机1运转; 5、电动机2运行的过程数据从变频器2通过PROFIBUS再返回给PLC; 6、所有返回给PLC的数据再通过Ethernet返回给上位机PC进行监测。,控制系统的连接示意图。,数据传送示意图。,S7 300建立工程,组态硬件,网络组建,主站的硬件组态如图所示。,从站的组态为: 在硬件组态选中PROFIBUS(1):DP主站系统(1),在右侧“配置(标准)”PROFIBUS DPSIMOVERT双击MICROMAST

28、ER 4(或者将其挂接到总线上);,弹出“属性-PROFIBUS 接口 MICROMASTER 4”:输入从站地址5/6;,选中从站,选择PPO类型1,双击4PKW/2PZD(PPO1)。,主从站地址自动分配为:,PZD(过程数据)和PKW(参数识别数值区)的含义,主站(PLC)发送给从站(MM440)的数据为任务报文(或指令),主站收到的从站数据为应答报文。MM440变频器支持PPO1和PPO3两种通信类型,本例采用PPO1型。通讯报文有效的数据块分为PKW区和PZD区,他们分别具有任务报文和应答报文。其字节分配如图所示。,通讯报文的PZD区是为控制和监测变频器而设计的。在主站(本例PLC)

29、和从站(本例MM440)中收到的PZD总是以最高的优先级加以处理。处理PZD的优先级高于处理PKW的优先级,而且,总是传送当前最新的有效数据。,任务报文(主站MM440),STW:PZD任务报文的第1个字是变频器的控制字(STW)含义:,说明:对于变频器收到的控制字,其位10必须设置为1。如果位10是0,控制字将被弃置不顾,变频器按原先的控制方式继续工作。,HSW:PZD任务报文的第2个字是主设定值(HSW)。这就是主频率设定值,是由主设定值信号源提供的。数值是以十六进制数的形式发送,即4000(hex)规格化为由P2000设定的频率(比如本例为50Hz),那么2000H即规格化为25Hz,负

30、数则反向。,应答报文(主站MM440),ZSW:PZD应答报文的第1个字是变频器的状态字(ZSW)。变频器的状态字通常由参数r0052定义。,HIW:PZD应答报文的第2个字是主要的运行参数实际值(HIW)。通常,把它定义为变频器的实际输出频率。PKW区前两个字(PKE和IND)的信息是关于主站请求的任务(任务识别标记ID)或应答报文的类型(应答识别标记ID),包括识别标记、基本参数号(PNU)等,PNU的编号与MM440的参数号相对应,例如1082=P1082=Fmax(变频器的最大频率)。PKW区的第3、第4个字规定报文中要访问的变频器的参数值(PWE)。PKW字符定义如图所示。,软件编程

31、,1、符号表如图:,2、OB100中进行初始化,梯形图如图:,开启变频器1控制的电机M1就是将变频器的控制字STW由047Eh变为047Fh,设定值从数据块DB1中传送,DB1.DBW20设为047EH再变为047FH后,变频器按DB1.DBW22中的频率值运行。,3、建立数据块DB1和DB2,,将数据块中的数据地址与从站5(MM440-1)、从站6(MM440-2)中的PKW/PZD数据区相对应。,4、主程序梯形图:,读状态字和频率值。,写控制字和设定主频率值。,对控制字第0位进行控制,从上位机设定频率,对控制字第0位进行控制,对控制字第7位进行控制,对控制字第7位进行解除,程序段15、16

32、即为采用PKW参数读写得M1转子真实速度(r/min)的例子。读r0022参数值(经过滤波转子真实速度),0022=16h,PLC赋值1016,0000h给DB1.DBW12,DB1.DBW14(对应PKE,IND),如果通讯正常,则返回PWE两字(浮点型)数据到DB1.DBW4,DB1.DBW6,程序在赋值给MD34(实型数据),此为M1真实速度值(r/min)。,5、上位机监控结果,要 点 小 结,(1)过程数据PZD的意义须理解清楚,可以根据需要编程实现“正反转”、“起停”、“点动”等功能;对参数标识数值PKW的理解,可以根据需要编程修改或读取变频器参数。 (2)要熟练使用本例DB块中数据与MM440的传送通过调用特殊功能块“SFC14”和“SFC15”来实现。SFC14(“DPRD_DAT”)用于批量读PROFIBUS从站(MM440)的数据,可以将变频器返回数据写入DB块相应的变量;SFC15(“DPWR_DAT”)用于将数据写入PROFIBUS从站(MM440),可以编程将命令数据先写入DB块相应变量,再通过SFC15发送给变频器,从而达到控制变频器的目的。 (3)可以参照本例实现更复杂的PLC通过PROFIBUS多台电动机的协调控制系统,一个总线系统最多可以把125个站点链接成为一个网络,其数据结构非常灵活,可以使系统优化,完全可以满足每个被控设备的需求。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医学治疗 > 医学现状与发展

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报