版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1 通讯专题通讯专题 通讯专题通讯专题.2mpi 通讯通讯mpi通讯通讯 mpi mpi(multi point interfacemulti point interface)是指多点)是指多点接口通信协议,通过它可组成一个小型接口通信协议,通过它可组成一个小型plcplc通通讯网络,实现讯网络,实现plcplc之间的少量数据交换,它不之间的少量数据交换,它不需要额外的硬件和软件就可网络化。每个需要额外的硬件和软件就可网络化。每个s7-s7-300 cpu300 cpu都集成了都集成了mpimpi通信协议。通信协议。专题一专题一.3 mpimpi网络可以采用全局数据块通讯和无组网络可以采用全
2、局数据块通讯和无组态的态的mpimpi通讯。如果在各个中央处理单元通讯。如果在各个中央处理单元(cpu)(cpu)之间相互交换少量数据,只关心数据的发送区之间相互交换少量数据,只关心数据的发送区和接收区,则可以采用全局数据块通讯。这种和接收区,则可以采用全局数据块通讯。这种通讯方式只适合通讯方式只适合s7-300/400 plcs7-300/400 plc之间相互通讯,之间相互通讯,应用范围不是很广。而无组态的应用范围不是很广。而无组态的mpimpi通讯适合通讯适合于于s7-300s7-300、s7-400s7-400和和s7-200s7-200之间的通信,是一之间的通信,是一种应用广泛、经济
3、的通信方式。种应用广泛、经济的通信方式。 .4vs7-300与与s7-300 plc之间的无组态之间的无组态mpi通讯通讯 .5网络组建网络组建第一步:新建一个项目并插入站点第一步:新建一个项目并插入站点.6.7如此插入两个站如此插入两个站.8第二步:组态第二步:组态simatic 300 (1)simatic 300 (1)站站选择选择“simatic 300 (1)”simatic 300 (1)”,双击,双击“硬硬件件”,进入硬件组态对话框图,进入硬件组态对话框图 ,进行如下,进行如下组态。组态。.9双击双击2 2号插槽内的号插槽内的x1x1“mpi/dpmpi/dp”接口来配置接口来配
4、置mpimpi接口接口参数。需要说明的是,本例中所使用的参数。需要说明的是,本例中所使用的cpu 315-cpu 315-2pn/dp2pn/dp本身集成了一个本身集成了一个“profinetprofinet”接口和一个接口和一个“mpi/dpmpi/dp”的复用接口,根据需要用户可以选择将的复用接口,根据需要用户可以选择将“mpi/dpmpi/dp”接口配置成接口配置成mpimpi还是还是profibusprofibus接口。这里接口。这里将将“mpi/dpmpi/dp”配置成配置成mpimpi接口。接口。.10点击属性按钮,设置参数和点击属性按钮,设置参数和1号站的地址:号站的地址:2。之
5、后编译保存之后编译保存.11第三步:组态第三步:组态simatic 300 (2)simatic 300 (2)站站 设置设置2号站的地址:号站的地址:3,并选择相同的网络。,并选择相同的网络。之后编译保存之后编译保存.12 mpimpi网络站点之间的数据传输可以采用双网络站点之间的数据传输可以采用双边编程和单边编程的方式实现。所谓双边编边编程和单边编程的方式实现。所谓双边编程,就是在通信双方均调用发送程,就是在通信双方均调用发送/ /接收系统块,接收系统块,进行数据的发送和接收;单边编程指的是仅进行数据的发送和接收;单边编程指的是仅在通信一方调用发送在通信一方调用发送/ /接收系统块从而发起
6、通接收系统块从而发起通信请求,而另一个节点则不发起通信请求,信请求,而另一个节点则不发起通信请求,只是提供一些数据或什么工作也不做。两种只是提供一些数据或什么工作也不做。两种方式可以通过调用方式可以通过调用step7step7内系统功能块来实现。内系统功能块来实现。软件编程软件编程 .13第一步:系统功能第一步:系统功能sfc65sfc65和和sfc66sfc66 sfc65 sfc65即即“x_sendx_send”的功能是向本地的功能是向本地s7s7站以外的站以外的通讯伙伴发送数据;而通讯伙伴发送数据;而sfc 66x_rcvsfc 66x_rcv则是接收本地则是接收本地s7s7外的通讯伙
7、伴的数据。外的通讯伙伴的数据。sfc65sfc65和和sfc66sfc66的框图如图的框图如图所示。所示。1 1、通信双方编写程序(双边编程通讯、通信双方编写程序(双边编程通讯) ).14x_send引脚功能说明引脚功能说明.15x_rcv 引脚功能说明引脚功能说明.16第二步:编写第二步:编写“simatic 300 (1)”simatic 300 (1)”站程序站程序建立数据块建立数据块db100,并在,并在db100内建立一个内建立一个20个字节大小个字节大小的数组。编译保存。的数组。编译保存。在在ob1内编写程序。内编写程序。程序的功能是通过两次调用程序的功能是通过两次调用“x_sen
8、d”模块,向通信对模块,向通信对方发送方发送2个不同编号(由个不同编号(由req_id标记)的数据包。其中:标记)的数据包。其中:通过通过m100.0=1来触发来触发sfc65“x_send”向向3号站发送号站发送p#db100.dbx0.0开始的开始的5个字节内的数据,该数据块的个字节内的数据,该数据块的req_id编号为编号为1。通过通过m101.0=1来再次触发来再次触发sfc65“x_send”向向3号站发送号站发送p#db100.dbx10.0开始的开始的5个字节内的数据,该数据块的个字节内的数据,该数据块的req_id编号为编号为2。.17.18 因为因为“x_send”是在是在r
9、eq1的情况下触发的情况下触发数据发送,且两个数据包经由同一通道发送,数据发送,且两个数据包经由同一通道发送,故两者不能同时触发,为了避免这种情况的故两者不能同时触发,为了避免这种情况的发生,所以发生,所以m100.0和和m101.0要互锁一下。要互锁一下。.19第三步:编写第三步:编写“simatic 300 (2)”simatic 300 (2)”站程序站程序建立数据块建立数据块db102,并在,并在db102内建立一个内建立一个20个个字节大小的数组。编译保存。字节大小的数组。编译保存。在在ob1内编写程序。内编写程序。功能是通过调用功能是通过调用“x_rcv”读取缓冲区队列中的读取缓冲
10、区队列中的数据块,并存储到数据块,并存储到rd指定的存储区内。指定的存储区内。.20当当m101.0(en_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#db
11、102.dbx10.0 开始的开始的5个字节;个字节;特别注意的是,特别注意的是,rd指定的存储区的大小一定要大指定的存储区的大小一定要大于等于于等于sfc65“x_send”中中sd所指定的发送区,否所指定的发送区,否则容易出错。则容易出错。.21.22 如果如果rd指定的存储区中的数据没有被及时处理,指定的存储区中的数据没有被及时处理,若若m101.0又一次触发又一次触发sfc“x_rcv”读取数据,则读取数据,则rd中的数据会被后来的数据覆盖。为了避免这种情中的数据会被后来的数据覆盖。为了避免这种情况发生,可以作如下处理:根据数据块况发生,可以作如下处理:根据数据块req_id号号的不同
12、利用的不同利用sfc20(blkmov)将数据分别存入不)将数据分别存入不同的处理区,程序如图所示。同的处理区,程序如图所示。.23.24第四步:项目下载第四步:项目下载将两个站点将两个站点“simatic 300 (1)”simatic 300 (1)”和和“simatic 300 simatic 300 (2)”(2)”的硬件组态和程序块统统下载到各自的的硬件组态和程序块统统下载到各自的plcplc内。内。.25第五步:通信结果监控第五步:通信结果监控在在“simatic 300 (1)”simatic 300 (1)”和和“simatic 300 (2)”simatic 300 (2)”
13、中中分别插入变量表分别插入变量表vat_1vat_1和和vat_2vat_2,并观察监控的效果。,并观察监控的效果。运行程序。首先在运行程序。首先在vat_1vat_1中修改中修改req_id1=1req_id1=1的数据块的数据块的值,并修改的值,并修改vat_1vat_1的的m4.0m4.0值为值为1 1,如图,如图(2)(2)所示。可所示。可以看到图以看到图vat_2vat_2的的mb10mb10mb14mb14接收到该数据;在接收到该数据;在vat_1vat_1中修改中修改req_id1=2req_id1=2的数据块的值,并修改的数据块的值,并修改vat_1vat_1的的m4.1m4.
14、1值为值为1 1,如图,如图(3)(3)所示。可以看到图中所示。可以看到图中vat_2vat_2的的mb20mb20mb24mb24接收到相应的数据;接收到相应的数据; .26req_id=1发送的数据发送的数据图图(2)(2).27req_id=1接收的数据接收的数据.28req_id=2发送的数据发送的数据图图(3)(3).29req_id=2接收的数据接收的数据.302 2、通信一方编写程序(单边编程)、通信一方编写程序(单边编程) 单边编程只需在通信的一方来组织数据的发送和单边编程只需在通信的一方来组织数据的发送和读取,而另一方可以什么都不做,也可以对收到的数读取,而另一方可以什么都不
15、做,也可以对收到的数据做处理或准备一些数据以便对方来读取。据做处理或准备一些数据以便对方来读取。.31第一步:系统功能第一步:系统功能sfc67sfc67和和sfc68sfc68.32“sfc67“x_get”的引脚说明的引脚说明.33sfc68“x_put”的引脚说明的引脚说明.34第二步:编写第二步:编写“simatic 300 (1)”simatic 300 (1)”站程序站程序首先插入一个数据块首先插入一个数据块db10db10,为,为db10db10建立一个建立一个2020个字个字节大小的数组。保存节大小的数组。保存db10db10。再插入一个再插入一个db20db20的数据块,并建
16、立一个的数据块,并建立一个2020个字节大个字节大小的数组。小的数组。在在ob1内编写发送和接收程序内编写发送和接收程序 。.35.36在调用在调用 “x_put”和和“x_get”时需要由用户指定通信时需要由用户指定通信伙伴的伙伴的mpi站地址(站地址(dest_id)和存储区)和存储区(var_addr)。本站的发送区和接收区由本站的发送区和接收区由“sd”和和“rd”来指定。来指定。程序功能:若程序功能:若m4.0为为1,则本站(,则本站(mpi地址为地址为2)db10.dbd10内数据将被发送到内数据将被发送到3号站的号站的md50内;若内;若m5.0为为1,则读取,则读取3号站号站m
17、w40内的数据并存放在本站内的数据并存放在本站db20.dbw10内。内。.373号站程序号站程序,简单得取反简单得取反,并不利用系统函数并不利用系统函数,所以属于单边编程所以属于单边编程.38第三步:项目下载第三步:项目下载第四步:通信结果监控第四步:通信结果监控 .39profibus 通讯通讯profibus 通讯通讯 现场总线定义是安装在生产过程区域的现现场总线定义是安装在生产过程区域的现场设备场设备/ /仪表与控制室内的自动控制装置仪表与控制室内的自动控制装置/ /系系统之间的一种串行、数字式、多点通信的数统之间的一种串行、数字式、多点通信的数据总线。据总线。专题二专题二.40在现代
18、化工厂环境及大规模的工业生产过程控制中,工业设备与数据结构被简单地划分为三个层次, 工业三层网络:工业三层网络: .41 国际电工委员会(国际电工委员会(ieciec)在)在19991999年底通过了年底通过了一个一个iec61158iec61158的现场总线标准,此标准容纳了的现场总线标准,此标准容纳了8 8种互不兼容的总线协议。在种互不兼容的总线协议。在20032003年年4 4月,月,iec61158 ed.3iec61158 ed.3现场总线标准第现场总线标准第3 3版正式成为国版正式成为国际标准,规定际标准,规定1010种类型的现场总线,其中包括种类型的现场总线,其中包括ffff现场
19、总线、现场总线、lonworkslonworks总线、总线、profibusprofibus现场总现场总线、线、canbuscanbus现场总线、现场总线、profinetprofinet现场总线等。现场总线等。 iec61158iec61158国际标准中的国际标准中的profibusprofibus现场总线现场总线也是德国标准(也是德国标准(din19245din19245)和欧洲标准)和欧洲标准(en50170en50170)。在)。在20012001年年profibusprofibus被定为中国被定为中国的国家标准的国家标准jb/t103010.3-2001jb/t103010.3-20
20、01。.42 所有集成了现场总线接口的设备都可以被挂所有集成了现场总线接口的设备都可以被挂接到现场总线上,控制器与现场设备之间仅通过接到现场总线上,控制器与现场设备之间仅通过一根总线电缆相连,结构非常简单,节省安装费一根总线电缆相连,结构非常简单,节省安装费用和维护开销。控制器与现场设备可以实现双向用和维护开销。控制器与现场设备可以实现双向的数字通信,克服了模拟信号精度不高、抗干扰的数字通信,克服了模拟信号精度不高、抗干扰能力差的缺点,提高了系统的可靠性。能力差的缺点,提高了系统的可靠性。现场总线的优点:现场总线的优点:.43现场总线的连接方式:现场总线的连接方式:.44 profibus-d
21、p profibus-dp和和profibus-fmsprofibus-fms使用的是使用的是rs485rs485传输技术,传输介质可以采用屏蔽双传输技术,传输介质可以采用屏蔽双绞线和光纤等。使用屏蔽双绞线的传输速率绞线和光纤等。使用屏蔽双绞线的传输速率有有9.6kbit/s9.6kbit/s、19.2kbit/s19.2kbit/s、93.75kbit/s93.75kbit/s、187.5kbit/s187.5kbit/s、500kbit/s500kbit/s、1500kbit/s1500kbit/s、12 12 000kbit/s000kbit/s。随着通信速率的增加,传输距。随着通信速率
22、的增加,传输距离也相应地降低为离也相应地降低为1200m1200m、1200m1200m、1200m1200m、1000m1000m、400m400m、200m200m、100m100m。profibusprofibus传输介质和通讯速率:传输介质和通讯速率:.45 网络的拓扑结构可以采用树形、星形、网络的拓扑结构可以采用树形、星形、环形以及冗余等结构。每一个网段最多可以环形以及冗余等结构。每一个网段最多可以组态组态3232个站点,多于个站点,多于3232个可以使用中继器,个可以使用中继器,整个网络最多可以组态整个网络最多可以组态127127个站点。中继器也个站点。中继器也要占用站点。要占用站
23、点。 profibusprofibus支持主支持主- -从系统、纯主站系统、从系统、纯主站系统、多主多从混合系统等几种模式。主站与主站多主多从混合系统等几种模式。主站与主站之间采用的是令牌的传输方式,主站在获得之间采用的是令牌的传输方式,主站在获得令牌后通过轮询的方式与从站通信。令牌后通过轮询的方式与从站通信。 网络的拓扑结构和通讯方式:网络的拓扑结构和通讯方式:.46v s7-300/400和和s7-300/400profibus-dp不打包通信不打包通信.47 不打包通信可直接利用传送指令实现数不打包通信可直接利用传送指令实现数据的读写,但是每次最大只能读写据的读写,但是每次最大只能读写4
24、 4个字节个字节(双字),下面重点描述两个(双字),下面重点描述两个315-2pn/dp 315-2pn/dp plcplc之间的之间的profibus-dpprofibus-dp不打包通信。不打包通信。.48网络组建网络组建第一步:新建项目,并插入主从站点:第一步:新建项目,并插入主从站点:.49.50第二步:第二步:simatic 300(s)simatic 300(s)从站从站双击双击simatic 300(s)的)的hardware,进行硬件组态。,进行硬件组态。.51双击双击2号插槽里的号插槽里的mpi/dp接口,配置属性接口,配置属性mpi/dp”配置对话框。配置对话框。.52设置
25、从站方式,设置通讯地址为设置从站方式,设置通讯地址为3。.53配置从站与主站的通信区,单击上图中的配置从站与主站的通信区,单击上图中的“组态组态”选项卡组态从站与主站的通信区。在随后出现的对话选项卡组态从站与主站的通信区。在随后出现的对话框内点击框内点击“新建新建”按钮,组态接收区。同样组态发送按钮,组态接收区。同样组态发送区。区。从站接收区从站接收区.54从站的通信伙伴的配置是虚线,表示主站还没有组态。从站的通信伙伴的配置是虚线,表示主站还没有组态。其中的其中的“ms”表示组建的网络为主从模式,如果组建表示组建的网络为主从模式,如果组建的网络是数据直接交换,则显示的网络是数据直接交换,则显示
26、dx。确定后,点击确定后,点击“编译保存编译保存”按钮,进行编译保存。按钮,进行编译保存。 .55第三步:配置主站第三步:配置主站.56设置主站方式,设置主站地址为设置主站方式,设置主站地址为2 2。将配置好的从站挂接到主站的将配置好的从站挂接到主站的profibus-dp的电缆上。的电缆上。在右侧的硬件模块目录树内依次选择在右侧的硬件模块目录树内依次选择profibus-dp、configured station,将框内的,将框内的cpu 31x拖至左侧的拖至左侧的profibus电缆处。电缆处。.57在拖曳的过程中出现对话框,单击在拖曳的过程中出现对话框,单击“连接连接”按钮。按钮。.58
27、.59双击双击profibusprofibus电缆处的从站,出现电缆处的从站,出现“dpdp从站属性从站属性”对话框,单击对话框,单击“组态组态”选项卡,选中通信区中的从选项卡,选中通信区中的从站为输入的一行,单击站为输入的一行,单击“编辑编辑”按钮出现对话框。按钮出现对话框。.60注意一一对应的关系:发送和接收对应注意一一对应的关系:发送和接收对应对主站的配置编译保存。对主站的配置编译保存。 .61主从站关系图:主从站关系图:.62软件编程软件编程 第一步:主站侧编程第一步:主站侧编程.63第二步:从站侧编程第二步:从站侧编程.64第三步:运行结果监控第三步:运行结果监控 .65v s7-3
28、00/400和和s7-300/400profibus-dp打包通信打包通信.66 不打包通信每次传输的数据最大为不打包通信每次传输的数据最大为4 4个个字节,若想一次传送更多的数据,则应该字节,若想一次传送更多的数据,则应该采用打包方式的通信。打包通信需要调用采用打包方式的通信。打包通信需要调用系统功能(系统功能(sfcsfc)。)。step7step7提供了两个系统提供了两个系统功能功能sfc15sfc15和和sfc14sfc14来完成数据的打包和解来完成数据的打包和解包功能。包功能。.67sfc15sfc15引脚的功能(打包程序)引脚的功能(打包程序).68sfc14sfc14引脚的功能(
29、解包程序)引脚的功能(解包程序).69网络组建网络组建第一步:新建一个项目并插入站点第一步:新建一个项目并插入站点.70第二步:第二步:simatic 300(s1)站配置站配置 第二步:第二步:simatic 300(s1)站配置站配置 第二步:第二步:simatic 300(s1)simatic 300(s1)站配置站配置 simatic 300(s1) simatic 300(s1)站建立的是站建立的是profibusprofibus(1 1)网络,)网络,通信速率为通信速率为1.5mbps1.5mbps,行规为,行规为dpdp,站地址设为,站地址设为3 3。同前同前所述,配置输入和输出
30、区所述,配置输入和输出区。注意:一致性选择。注意:一致性选择“全全部部”。.71第三步:第三步:simatic 300(s2)simatic 300(s2)站配站配置置simatic 300(s2)站建立的也是站建立的也是profibus(1)网)网络,通信速率为络,通信速率为1.5mbps,行规为,行规为dp,站地址设为,站地址设为5。.72第四步:主站第四步:主站simatic 300(m)simatic 300(m)的配置的配置主站的主站的profibusprofibus站地址设为站地址设为2 2,需要说明的是,在需要说明的是,在将从站拖到主站将从站拖到主站profibus-dpprof
31、ibus-dp电缆后,可以找到两电缆后,可以找到两个刚才已经配置好的站点(站地址分别为个刚才已经配置好的站点(站地址分别为3 3和和5 5)。)。.73连接图连接图.74双击两个站的图标,进一步配置主站与两个从站的通信区双击两个站的图标,进一步配置主站与两个从站的通信区 从站从站1 1.75从站从站2 2.76主站与主站与simatic 300(s1)simatic 300(s1)站的通信区站的通信区 .77主站与主站与simatic 300(s2)simatic 300(s2)站的通信区站的通信区编译保存主站和从站的硬件组态。设置好下载路径后,编译保存主站和从站的硬件组态。设置好下载路径后,
32、将主站和从站的硬件组态分别下载到各自的将主站和从站的硬件组态分别下载到各自的plcplc内。内。.78软件编程软件编程profibusprofibus主从(主从(msms)模式网络都是由主站采用轮询的方式)模式网络都是由主站采用轮询的方式与从站实现通信。主站轮询到哪个从站,哪个从站才有发与从站实现通信。主站轮询到哪个从站,哪个从站才有发言权;从站之间不能直接进行通信,必须经由主站的参与。言权;从站之间不能直接进行通信,必须经由主站的参与。主站和从站可以分别调用主站和从站可以分别调用sfc15sfc15、sfc14sfc14,实现双向通信,实现双向通信,也可以在一边单独调用也可以在一边单独调用s
33、fc15sfc15,另一边单独调用,另一边单独调用sfc14sfc14,实,实现单向通信。如果要使用现单向通信。如果要使用dbdb块存储数据,还必须在项目管块存储数据,还必须在项目管理器内建立所使用的理器内建立所使用的dbdb块,并分配相应大小的存储区。块,并分配相应大小的存储区。本例中采用的方案是在本例中采用的方案是在simatic 300(s1)simatic 300(s1)站内发送站内发送8 8个字节个字节的数据包给主站,主站接收到该数据包后解压缩,并再次的数据包给主站,主站接收到该数据包后解压缩,并再次打包发送给打包发送给simatic 300(s2)simatic 300(s2)站,
34、站,simatic 300(s2)simatic 300(s2)站接收站接收后解压缩并存储在内存区。后解压缩并存储在内存区。.79第一步:第一步:simatic 300(s1)simatic 300(s1)从站侧的编程从站侧的编程在从站块内新建在从站块内新建db1db1、db2db2数据块(在数据块(在“块块”界面内界面内右击,选择右击,选择“插入新对象插入新对象”、数据块),并分配、数据块),并分配8 8个个字节的内存区。字节的内存区。.80为从站插入为从站插入3 3个组织块,分别为个组织块,分别为ob82ob82、ob86ob86和和ob122ob122。它们的作用主要是保证通信正常进行。
35、插。它们的作用主要是保证通信正常进行。插入入ob35ob35块,并打开编写通信程序。块,并打开编写通信程序。.81程序如图:程序如图:w#16#aw#16#a是发送缓冲区起始地址(十进制为是发送缓冲区起始地址(十进制为1010););db1.db_var db1.db_var 是待发送数据的存储区;是待发送数据的存储区;功能:将功能:将db1.db_vardb1.db_var内的数据打包发送给主站,程序按照内的数据打包发送给主站,程序按照ob35ob35的中断时间周期地被执行。的中断时间周期地被执行。.82第二步:第二步:simatic 300(s2)simatic 300(s2)从站侧的编程
36、从站侧的编程在在“块块”内新建内新建db1db1数据块并同样分配数据块并同样分配8 8个字节的个字节的内存区。在内存区。在“块块”内插入内插入ob35ob35块并编写程序。块并编写程序。.83w#16#14w#16#14是该站接收缓冲区起始地址(十进制为是该站接收缓冲区起始地址(十进制为2020););db1.db_var db1.db_var 是接收数据的存储区;是接收数据的存储区;mw0mw0用来存储用来存储sfc14sfc14执行后的一些返回信息,通过该返回信息可以判断通信执行后的一些返回信息,通过该返回信息可以判断通信情况;情况;功能:将主站发来的数据解包,并存储在功能:将主站发来的数
37、据解包,并存储在db1.db_vardb1.db_var内。内。.84第三步:主站侧的编程第三步:主站侧的编程主站内不建立主站内不建立dbdb块,使用中间存储区块,使用中间存储区m m来实现数据读写。来实现数据读写。功能:将功能:将mb50mb50开始的开始的8 8个字节内的数据进行打包并发送给个字节内的数据进行打包并发送给simatic 300(s2)simatic 300(s2)站;而将站;而将simatic 300(s1)simatic 300(s1)站发来的数站发来的数据读取进来并解包存储在据读取进来并解包存储在mb50mb50开始的开始的8 8个字节内。个字节内。.85.86第四步:
38、项目的下载第四步:项目的下载第五步:通信结果的观察第五步:通信结果的观察.87.88【说明:】【说明:】 在使用在使用dbdb或中间内存区来发送和接收数据或中间内存区来发送和接收数据的时候,应特别注意的时候,应特别注意3 3个参与通信的区域大小个参与通信的区域大小的设置。通信缓冲区的大小、的设置。通信缓冲区的大小、dbdb块的大小、块的大小、实际用来发送数据的大小(见图实际用来发送数据的大小(见图8-338-33的的recordrecord)。这里建议)。这里建议3 3个区域的大小相同,否个区域的大小相同,否则通信容易出错。则通信容易出错。.89vs7-200与与s7-300/400的的pro
39、fibus-dp通信通信 .90 s7-300 plc s7-300 plc在在profibus-dpprofibus-dp网络中可以组态成主网络中可以组态成主站站 ,也可以组态为从站,组态为从站时,也可以组态为从站,组态为从站时,s7-300 s7-300 plcplc作为智能从站与主站通信。作为智能从站与主站通信。 s7-200s7-200只能作为只能作为s7-300 plcs7-300 plc的从站来配置,由的从站来配置,由于于s7-200s7-200本身没有本身没有dpdp接口,只能通过接口,只能通过em277em277接口模接口模块连接到块连接到profibus-dpprofibus
40、-dp网络上。网络上。.91em277em277的使用的使用 em277 em277模块的左上方有两个拨码开关,每个拨码开模块的左上方有两个拨码开关,每个拨码开关使用起子旋动从而可以设定关使用起子旋动从而可以设定0 09 9这这1010个数字,其中个数字,其中一个拨码开关的数字一个拨码开关的数字1010,另一数字,另一数字1 1,因此组合起,因此组合起来构成了来构成了0 09999,这也是,这也是em277em277在在profibus-dpprofibus-dp网络中的网络中的物理站地址。物理站地址。em277em277在通电情况下修改拨码开关的数字在通电情况下修改拨码开关的数字后,必须断电
41、,然后再上电才能使设定的地址生效。后,必须断电,然后再上电才能使设定的地址生效。 进行硬件网络组态时设定的进行硬件网络组态时设定的em277em277站地址必须与拨站地址必须与拨码开关设定的地址一致。码开关设定的地址一致。.92通信区的设定通信区的设定 .93第一步:新建工程并插入站点第一步:新建工程并插入站点.94如图进行组态如图进行组态.95第二步:第二步:simatic 300(1)simatic 300(1)主站配置主站配置双击图双击图8-378-37中中2 2号插槽内的号插槽内的mpi/dpmpi/dp槽,出现对话框。槽,出现对话框。.96单击单击2 2号框后,出现对话框。建立号框后
42、,出现对话框。建立profibus网络。网络。.97设定通信速率和行规设定通信速率和行规.98主从站模式设定为主站主从站模式设定为主站编译保存编译保存.99第三步插入第三步插入em277em277从站从站 由于由于s7-200没有集成没有集成dp接口,必须通过接口,必须通过em277才能连接到才能连接到profibus网络上。网络上。 在图右侧的目录树内依次选择在图右侧的目录树内依次选择profibus dp、additional field devices、plc、simatic、em277 profibus-dp,将其拖至左侧,将其拖至左侧profibus-dp电缆处电缆处【说明:】【说明
43、:】 如图硬件目录树内找不到如图硬件目录树内找不到em277的订货号,则需的订货号,则需要用户到要用户到siemens 相关网站上下载相应的相关网站上下载相应的gsd文件,文件,然后安装该然后安装该“gsd”文件。重新启动文件。重新启动step7,这时,这时就能够找到就能够找到em277的订货号了。的订货号了。.100.101拖曳时,出现对话框。设定地址为拖曳时,出现对话框。设定地址为88,此,此为为200地址。注意选择网络地址。注意选择网络profibus(1)。.102.103第四步第四步 配置配置cpu315-2pn/dpcpu315-2pn/dp与与s7-200s7-200的通信区的通
44、信区 要配置的通信区是指要配置的通信区是指s7-300与与s7-200两侧的互为两侧的互为映射的通信缓冲区;映射的通信缓冲区;em277仅仅是仅仅是s7-200用于和用于和s7-300进行通信的一个接口模块,进行通信的一个接口模块,200侧的通信区地址设侧的通信区地址设置必须能够被置必须能够被s7-200所接受,与所接受,与em277无关。无关。单击上图的单击上图的em277em277(1 1号框),出现号框),出现2 2号框内的内容,号框内的内容,配置配置s7-300s7-300侧的通信区。侧的通信区。.104.105单击图内的单击图内的em 277 profibus-dp,可以看到模块,可
45、以看到模块提供了多种不同大小的通信区,用户可以根据实际提供了多种不同大小的通信区,用户可以根据实际数据传输量来选择,这里选择数据传输量来选择,这里选择2 bytes out/2 bytes in,如图所示如图所示 。图图(1).106修改修改300300通信区地址。通信区地址。.107再配置再配置s7-200s7-200侧的通信区,双击图(侧的通信区,双击图(1)1)中的中的em277em277,在出现的对话框内选择在出现的对话框内选择“参数赋值参数赋值”选项卡。选项卡。s7-200s7-200侧的通信区默认使用的是全局变量侧的通信区默认使用的是全局变量v v存储区。在图中的存储区。在图中的框
46、内可以设定通信区在框内可以设定通信区在v v区的起始地址。默认通信区从区的起始地址。默认通信区从v0v0开始,占用开始,占用4 4个字节(前面通过组态设定的),也可个字节(前面通过组态设定的),也可以自行修改,这里修改为从以自行修改,这里修改为从v10v10开始,即开始,即vw10vw10和和vw12vw12,其中其中vw10vw10用来接收用来接收s7-300s7-300侧发来的数据,侧发来的数据,vw12vw12用来向用来向s7-300s7-300发送数据。发送数据。.108之后保存编译。之后保存编译。.109软件编程软件编程s7-300s7-300侧的编程可以用两条语句来实现。侧的编程可
47、以用两条语句来实现。功能是将接收缓冲区功能是将接收缓冲区iw10iw10内的数据读出,并送给内的数据读出,并送给mw2mw2;另外将另外将mw0mw0的数据通过输出缓冲区的数据通过输出缓冲区qw10qw10发送给发送给s7-200s7-200侧。侧。 .110s7-200s7-200侧的编程可以用一条语句来实现。侧的编程可以用一条语句来实现。功能是通过接收缓冲区功能是通过接收缓冲区vw10读取读取300侧发来的数据,侧发来的数据,并将接收到的数据取反并通过并将接收到的数据取反并通过vw12发送出去。发送出去。.111通信结果的观察通信结果的观察.112vs7-300/400通过通过profib
48、us总线控制变频器总线控制变频器.113本例采用西门子本例采用西门子plc通过通过profibus总线总线控制两个控制两个mm440变频器,从而控制两台异步电动机,其中电动机变频器,从而控制两台异步电动机,其中电动机1的速度实际值作为电动机的速度实际值作为电动机2的速度设定值。的速度设定值。具体操作为:具体操作为:1 1、上位机、上位机pcpc通过工业以太网向通过工业以太网向plcplc发送变频器发送变频器1/1/电动机电动机1 1的指令数据(比如速度、方向等);的指令数据(比如速度、方向等);2 2、plcplc通过通过profibusprofibus向变频器向变频器1 1发送电动机发送电动
49、机1 1的指令数据,的指令数据,使电动机使电动机1 1按照指令运转;按照指令运转;3 3、变频器、变频器1 1通过通过profibusprofibus返回电动机返回电动机1 1运行过程数据给运行过程数据给plcplc;4 4、plcplc根据返回的电动机根据返回的电动机1 1过程数据,作为电动机过程数据,作为电动机2 2的指的指令数据,通过令数据,通过profibusprofibus发送给变频器发送给变频器2 2,控制电动机,控制电动机2 2跟跟随电动机随电动机1 1运转;运转;5 5、电动机、电动机2 2运行的过程数据从变频器运行的过程数据从变频器2 2通过通过profibusprofibu
50、s再返再返回给回给plcplc;6 6、所有返回给、所有返回给plcplc的数据再通过的数据再通过ethernetethernet返回给上位机返回给上位机pcpc进行监测。进行监测。.114控制系统的连接示意图。控制系统的连接示意图。.115数据传送示意图。数据传送示意图。.116s7 300s7 300建立工程,组态硬件建立工程,组态硬件网络组建网络组建.117主站的硬件组态如图所示。主站的硬件组态如图所示。.118从站的组态为:从站的组态为:在硬件组态选中在硬件组态选中profibusprofibus(1 1):):dpdp主站系统(主站系统(1 1),),在右侧在右侧“配置(标准)配置(
51、标准)”profibus profibus dpsimovertdpsimovert双击双击micromaster 4micromaster 4(或者将其挂接(或者将其挂接到总线上);到总线上);.119弹出弹出“属性属性-profibus -profibus 接口接口 micromaster micromaster 4”4”:输入从站地址:输入从站地址5/65/6;.120选中从站,选择选中从站,选择ppoppo类型类型1 1,双击,双击4pkw/2pzd4pkw/2pzd(ppo1ppo1)。)。.121主从站地址自动分配为:主从站地址自动分配为:.122pzdpzd(过程数据)和(过程数
52、据)和pkwpkw(参数识别数值区)的含义(参数识别数值区)的含义 主站(主站(plcplc)发送给从站()发送给从站(mm440mm440)的数据为任务)的数据为任务报文(或指令),主站收到的从站数据为应答报文。报文(或指令),主站收到的从站数据为应答报文。mm440mm440变频器支持变频器支持ppo1ppo1和和ppo3ppo3两种通信类型,本例采用两种通信类型,本例采用ppo1ppo1型。通讯报文有效的数据块分为型。通讯报文有效的数据块分为pkwpkw区和区和pzdpzd区,区,他们分别具有任务报文和应答报文。其字节分配如图他们分别具有任务报文和应答报文。其字节分配如图所示。所示。.1
53、23.124 通讯报文的通讯报文的pzdpzd区是为控制和监测变频器而设计的。区是为控制和监测变频器而设计的。在主站(本例在主站(本例plcplc)和从站(本例)和从站(本例mm440mm440)中收到的)中收到的pzdpzd总是以最高的优先级加以处理。处理总是以最高的优先级加以处理。处理pzdpzd的优先级高于的优先级高于处理处理pkwpkw的优先级,而且,总是传送当前最新的有效数的优先级,而且,总是传送当前最新的有效数据。据。.125任务报文(主站任务报文(主站mm440mm440)stwstw:pzdpzd任务报文的第任务报文的第1 1个字是变频器的控制字(个字是变频器的控制字(stws
54、tw)含义:)含义:.126说明:对于变频器收到的控制字,其位说明:对于变频器收到的控制字,其位1010必必须设置为须设置为1 1。如果位。如果位1010是是0 0,控制字将被弃置,控制字将被弃置不顾,变频器按原先的控制方式继续工作。不顾,变频器按原先的控制方式继续工作。hswhsw:pzdpzd任务报文的第任务报文的第2 2个字是主设定值(个字是主设定值(hswhsw)。)。这就是主频率设定值,是由主设定值信号源提供这就是主频率设定值,是由主设定值信号源提供的。数值是以十六进制数的形式发送,即的。数值是以十六进制数的形式发送,即40004000(hexhex)规格化为由)规格化为由p2000
55、p2000设定的频率(比如本例设定的频率(比如本例为为50hz50hz),那么),那么2000h2000h即规格化为即规格化为25hz25hz,负数则,负数则反向。反向。.127应答报文(主站应答报文(主站mm440mm440)zswzsw:pzdpzd应答报文的第应答报文的第1 1个字是变频器的状态字个字是变频器的状态字(zswzsw)。变频器的状态字通常由参数)。变频器的状态字通常由参数r0052r0052定义。定义。.128hiwhiw:pzdpzd应答报文的第应答报文的第2 2个字是主要的运行参个字是主要的运行参数实际值(数实际值(hiwhiw)。通常,把它定义为变频器)。通常,把它定
56、义为变频器的实际输出频率。的实际输出频率。 pkwpkw区前两个字(区前两个字(pkepke和和indind)的信息是关)的信息是关于主站请求的任务(任务识别标记于主站请求的任务(任务识别标记idid)或应答)或应答报文的类型(应答识别标记报文的类型(应答识别标记idid),包括识别标),包括识别标记、基本参数号(记、基本参数号(pnupnu)等,)等,pnupnu的编号与的编号与mm440mm440的参数号相对应,例如的参数号相对应,例如1082=p1082=fmax1082=p1082=fmax(变频器的最大频率)。(变频器的最大频率)。pkwpkw区的第区的第3 3、第、第4 4个个字规定报文中要访问的变频器的参数值字规定报文中要访问的变频器的参数值(pwepwe)。)。pkwpkw字符定义如图所示。字符定义如图所示。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业管理-餐饮业消防安全管理制度
- 四川省内江市2025-2026学年初三下学期模拟试题(二)数学试题含解析
- 山东省德州市宁津县2026届初三教学质量监测(一)数学试题含解析
- 2026年山东省济宁地区(SWZ)重点中学初三下学期3月模拟考试物理试题理试题含解析
- 肾脏损伤的紧急救治与护理
- 智研咨询发布:2026年中国水凝胶支架行业竞争格局及发展前景研究报告
- 经络学护理的理论与实践结合
- 小袋公司稽核审计制度
- 5s员工绩效考核制度
- 外部财务规章制度
- 2023年8月广西桂林市七星区专职化社区工作者招聘聘前(第七批)笔试历年典型考题及考点剖析附答案带详解
- 中西医结合思路与方法学课件
- JTS-201-2011水运工程施工通则
- 黑素体与皮肤色素沉着关系研究
- GB/T 19665-2024红外成像人体表面测温筛查仪通用规范
- 丽水职业技术学院单招《职业技能测试》参考试题库(含答案)
- 检验科实验室生物安全培训课件
- 义务教育语文课程标准2001版
- 物理学(高职)全套教学课件
- 八中龙兴分校工程设计建设项目设计说明
- 2023年(电力行业)电力设备交接和预防性试验规程
评论
0/150
提交评论