西门子DP协议网络组建说明_第1页
西门子DP协议网络组建说明_第2页
西门子DP协议网络组建说明_第3页
西门子DP协议网络组建说明_第4页
西门子DP协议网络组建说明_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

1、简单Profibus/DP实验系统的组建 HYPERLINK http:/ t _blank Writed by 远方 HYPERLINK http:/ t _blank DND-DeviceNet引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及系统运行机制有一个整体的认识,笔者根据自身的运用经历编写这篇文章,以期望能带领各位读者快速进入到Profibus的世界。 本文所采用的系统是Siemens S7 300的CPU,加上ET200M并带AI和DI模块,另加一Siemens MMX420变频器带Profibus接口板组成。系统的目的是实现远程控制变频器启动

2、,停止,及频率给定的操作,并实现变频器参数的访问。一、软件需求 本文所采用的软件系统为STEP 7 V5.1 incl.Service Pack 4 + NCM S7,并附有授权钥匙盘,如果你是通过其它途径获得此软件而无授权盘,但你只用作学习与研究之用,则你可以使用国内一些朋友所开发的自动授权软件,而得以正常使用此软件。 安装S7 Manager对于熟悉Windows OS的用户来说,是一件极其简单的事,但光盘中提供了多个语系的版本安装,默认情况下选择了所有的版本,我们建议你只安装En文版本。在安装结束的时候,会提示你使用授权盘,如果你有授权盘,则可以立即输入授权,否则可跳过以后再进行授权。二

3、、硬件平台 本文所采用的系统所需要的硬件列表如下: 1)POWER PS307 2A。 2块,一块供给CPU,一块供给ET200M模块。 2)SIMATIC S7-300 CPU 315-2DP 主CPU 3)SIMATIC ET200M IM153-1 从模块接口 4)SM321 DI 16XDC24V 16路数字量输入模块,通过ET200M与网络交换数据 5)SM331 AI 2X12BIT 2路模拟量输入模块,通过ET200M与网络交换数据 6)SIMATIC S7 PC Adapter V5.1 + cable 7)MICROMASTER PROFIBUS Optional Board

4、 MMX420变频器Profibus通讯模块 8)MICROMASTER 420 AC DRIVES MMX420 变频器三、Profibus/DP网络的硬件连接1、DP的网络拓朴 在DP系统上,存在三类设备:一类主站(Class 1)、二类主站(Class 2)及从站(Slave)。 一类主站主要是中央控制器,它与分散的IO设备(从站)交换数据,如通常情况下的PLC,PC及VME等。二类主站一般用作组态,监视用,它被用来设定网络或参数,监视DP从站设备。而DP从站则是直接连接IO信号的外围设备,典型的有输入,输出,驱动器,阀门,操作面板等设备。 DP总线采用高速的RS485,异步NRZ编码方

5、法,波特率支持9.6KBit/S到12MBit/S,中间有多级频率可供选择。总线传输使用屏蔽双绞线电缆。每段可以挂32个站,总线最多允许有127个站,其长度可达1000M,如果使用中继器则可延长到10公里。2、DP的连接器(Connector) DP总线提供标准的总线连接器,如左图所示。总线连接器接口是标准的9针D型插头,其插座部分被安装到设备上。 Profibus并不规定用户一定使用这样的D型插头,如果其他连接器能提供必要的命令信号的话,也允许使用。9针D型插头的引脚定义如下: 标准的连接器内部有红色与绿色两个接口,分别标示“A”和“B”,接线时将电缆的相同的颜色的线与接口相接即可。 总线连

6、接器上存在终端电阻,提供你可以选择使用终端电阻有效还是无效,一般在总线的两个终端,终端电阻选为“ON”,否则都为“OFF”。3、总线终端 总线的两端需要加上终端电阻。如图所示,是Profibus总线的前后两个终端,终端电阻只需存在于总线的第一个站和最后一个站的连接器上(直接将连接器上的Switch拨到“ON”位置即可以使终端电阻有效)。为使连接器上的终端电阻有效,处于总线第一和最后位置上的两个设备,在提供网络数据线连接的同时,还必须额外提供5V的电源。4、网络的最终架构实现 利用上面提到的设备,我们使用标准的总线连接器(Connector)和标准的屏蔽双绞线电缆,将所有的设备相连接。S7-30

7、0的PLC作为整个系统的中央控制器(Master),PC Adapter连接PC与PLC,实现网络配置和对PLC编程的下载以及对设备的监控功能。 PS307 2A的电源模块,供给S7-300所需要的24VDC电源,另一个PS307 2A电源模块供给ET200M及所连接的DI和AI设备所需的24VDC电源。SM321数字输入(DI)模块及SM331模拟量输入(AI)模块的数据都通过ET200M模块与总线交换数据。另外,就是MMX420 Drives,MMX系列变频器有Profibus通讯接口选件,可以通过此接口模块实现变频器设备与Profibus的数据交换。 当这些设备都正常连接起来后,检查总线

8、前后两端的终端电阻是否设置正确,确保无误后,可以加电。一般在这时候加电,PLC及ET200M上的SF及BUSF之LED都会亮RED,表示有错误。接下去应该对网络进行正确的配置,以让网络可以进行工作。简单Profibus/DP实验系统的组建 HYPERLINK http:/ t _blank Writed by 远方 HYPERLINK http:/ t _blank DND-DeviceNet引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及系统运行机制有一个整体的认识,笔者根据自身的运用经历编写这篇文章,以期望能带领各位读者快速进入到Profibus的世界。

9、 本文所采用的系统是Siemens S7 300的CPU,加上ET200M并带AI和DI模块,另加一Siemens MMX420变频器带Profibus接口板组成。系统的目的是实现远程控制变频器启动,停止,及频率给定的操作,并实现变频器参数的访问。四、网络组态 在前面的准备工作做好后,即可以转到配置计算机(PC)上,来完成对网络的组态动作。在此之前,确保你的PC Adapter已与PC和PLC相连。 启动S7 Manager。如果你是正常安装,则在你的桌面上会出现S7 Manager的图标,双击可以启动它。正常启动后如右图所示。 新建一个Project。点菜单File-New或按Ctrl+N可

10、以开始新建一个Project。系统会弹出一个对话框,在Name栏位输入Project的名称,我们在Name框里输入“PN-01”,在下方选择好存放的路径,点击OK以确定。 系统会生成一个新的Project,但它什么也做不了,我们需要加入一些东西在里面。 点击主菜单Insert - Station - SIMATIC 300 Station以加入一个S7 300系列的主站系统。其默认的名称为“SIMATIC 300(1)”,一般情况下没有必要修改这个名称,除非你真的有必要,双击这个图标,可以看到右边的列表里出现“Hardware”,利用它我们可以对网络上的设备进行Configure。 双击“Ha

11、rdware”以打开硬件配置窗口。如图所示。右边的列表列出了已经正确载入GSD的设备,如果你无法在此列表中找到你想加入的设备,则你可能需要导入该设备的GSD文件,以让系统可以正确的识别你想加入的新设备。在这里,我们需要为MMX420的通讯模块导入其GSD文件,可以在所附的光盘里找到其图标文件(asi80b5n.bmp)及GSD文件(siem80b5.gsd)。 点击主菜单Option - Install New GSD.,选择GSD文件所在的路径,打开即可载入此GSD文件。 当GSD文件正确载入后,可以到右边列表中Additional Field Devices 下面找到,而更细的路径是在GS

12、D文件里进行指定的,如此例中,GSD文件里指定的路径为: Slave_Family = 1TdFSIMOVERT则可以将所载入的GSD文件对应的设备放到右图所示的路径下面。接下来可以进行设备的配置了。首先我们为系统加入一个RACK,在右边的列表中,选择SIMATIC 300 - RACK-300 - Rail(一般只要设备上标有SIMATIC 300字样,都可以在此目录下找到设备),双击,即可以在左边上方加入一个可使用的RACK。选中RACK上的第一个slot,接着用同样的方法,为CPU先加入电源模块,此例中为PS 307 2A的电源模块,双击加入。选中RACK上的第2个slot,在右边列表里

13、选择SIMATIC 300 - CPU-300 - CPU 315-2 DP,点击打开后,要选择相应的订货号及版本,此信息可以在CPU设备的面板上找到。 双击以加入CPU到RACK上面。当你试图加入CPU的时候,由于S7 300自身带有Profibus 主站功能,故会提示你如何来处理此网络接口,默认的情况下并没有网络被建立,我们需要新建立一个网络。在上图中点击NEW,即可看到新建subnet profibus的对话框,选中General选单可以看到关于网络的基本信息,选中Network Setting选单可以看到有关网络的一些设置,如baud rate 及profile,我们不使用默认的1.5

14、M,而改其为9.6K,以方便我们以后的实验用。当点击OK后,一个新的Profibus subnet就被建立起来,这时可以看到,RACK上面多了一个CPU 315-2DP的设备,及一个DP接口,外面还有一条空的网络线,这就是Profibus连接从站设备的接口。接下来的设备我们会将其挂接到此总线上。点击DP伸出来的总线以选中,总线变成完全的黑线。 在硬件列表里选中ET200M - IM 153-1(选择相同的订货号),然后双击。系统弹出信息框,需要对ET200M进行必要的设定,目前只存在一个subnet,但需要指定其在此subnet里的address,我们指定为3。 请注意,此地址应与设备本身上使

15、用switch设定的地址相同,否则会出错(BUSF)。点击OK以加入ET200M。ET200M只是一个通讯模块,真正的设备是所带的DI与AI,故我们要在ET200M的slot中加入这两个设备。 在硬件列表的目录下,选中ET200M - IM153-1(相应的订货号)- DI300 - SM321 DI 16XDC24V。找寻与设备本身相同的订货号,双击以加入到ET200M的SLOT中。用同样的方法加入ET200M - IM153-1 - AI300 - SM331 AI 2X12BIT。注意,在加入设备之前,先选中相应的slot以映射正确的地址。此时选中IM 153-1 (ET200M)的图标

16、,则在下方可以看到ET200M上的DI与AI所映射的地址,如DI映射地址0.1(I Address,无Q Address),表示byte 0-1(16bits)为16路DI的映射地址,在PLC编程里面依靠此地址访问设备。同样,AI的映射地址为256.259(32bits,I Address,无Q Address),一路模拟量为16bits,两路模拟量输入信号映射两个words的地址空间以供CPU访问之用。ET200M设备的配置到此完成。接下来我们进行MMX420 Drives的配置。 在硬件列表里选中Additional Field Devices - Drives - SIMOVERT -

17、MICROMASTER 4,可以找到先前为MMX Drives设备导入的GSD文件所描述的信息,双击此项。同样我们设定MMX Drives通讯模块的一些网络参数。设定其地址为16(此地址与实际设备所设定的地址要相同,否则会出现错误BUSF)。 点击OK以加入。在进行此操作前请选点选总线使其选中(变成完全的黑色),否则无法加入。MMX通讯模块支持四种通讯格式,PPO1和PPO3是符合PROFIDRIVE的格式,后两种是厂商自定义格式。为了实验方便,我们使用第一种:PPO1。PPO1包括4 words的PKW数据和2 words的PZD数据,用以实现变频器的控制,调速,监控及参数访问,如果你确定不

18、需要访问变频器的参数,则你可以选择PPO3。 PKW用来实现对从站设备的参数访问,而PZD部分用来实现对从站设备的控制,即周期的数据交换。PROFIDRIVE 是Profibus在速度驱动器行业里的规定(行规)。各个知名的驱动技术制造商都参加了PROFIDRIVE的制订,此行规指出驱动器如何参数化以及设定点和实际值如何被传输,这就使不同制造商的驱动器能互换。PROFIDRIVE包括必要的速度和位置控制规范。 PROFIDRIVE预设了五种(PPO1-PPO5)数据通讯格式: PPO1:4 PKW + 2 PZD PPO2:4 PKW + 6 PZD PPO3:0 PKW + 2 PZD PPO

19、4:0 PKW + 6 PZD PPO5:4 PKW + 10 PZD 此例中所使用的MMX 420通讯模块支持PROFIDRIVE所支持的PPO1和PPO3,除此之外,它还支持由制造商自己定义的另外两种通讯格式,即4 PKW + 4 PZD 和 0 PKW + 4 PZD。以满足不同的用户在不同条件下的需求。 正确加入的MMX420,其在网络上映射的地址为I Address 260.267(PKW),268.271(PZD),Q Address 256.263(PKW),264.267(PZD),PLC通过访问这些地址来实现对变频器的控制及参数访问。至此,硬件的配置已经完成,接下去我们要将此

20、配置信息下载到PLC的主站模块中,让主站模块管理网络上的各从站。 在此之前,我们要先配置好PC Adapter。在SIMATIC Manager的主窗口中,选择菜单Option - Set PG/PC Interface.,系统弹出此对话框窗口,我们使用的PC Adapter可以接MPI接口,也可以接DP接口,但此例中我们使用MPI接口与PC机相连接,选中列表里面的PC Adapter(MPI),双击或点击右边的属性按钮。这时可以看到MPI属性对话框,选中“MPI”选单可以看到有关MPI的一些传送设置,我们使用默认值。 选中Local Connection选单,可以设置MPI与PC连接的属性,

21、我们设定COM Port为1,查看你的PC Adapter上的Baud Rate Switch,有两种可选择:19.2K和38.4K。确定后在列表里选择相应的传送速率设定,然后点击OK以确定。回到硬件配置窗口。 配置好了MPI,我们开始下载配置信息到PLC的主站模块。选择菜单PLC - Download.或Ctrl+L,或点击工具栏上的快捷图标。系统让我们选择一个目标模块,在这里是要Download到CPU 315-2 DP主站模块。选择MPI的站地址,在S7 Manager里面我们已经使用Set PG/PC Interface设定好了。 如果这个窗口无法正常出现,并提示你无法建立MPI连接,

22、则需要回到S7 Manager里,对MPI的各参数进行调整,尤其是传送的速率选择一定要与PC Adapter上面Switch的设定相同。点击OK开始下载程序. 如果提示你不能下载程序,则可能是你的PLC的KEY还处于RUN的状态,请将KEY拨回STOP状态,再次尝试下载程序。 程序下载完毕后,可以查看PLC模块上面的LED指示,以确定我们所进行的配置是否与实际的硬件相同,如果有错误,则PLC上面的LED会指示出错误发生的地方及各种可能性。一般情况下有这样的错误:BUSF为RED 表示总线上有错误,可能的原因为: 1、所配置的某个站不存在或通讯有问题,或设定的地址与实际不相符; 2、总线两端的终

23、端电阻设置错误,或处于中间位置的某个站也设定了终端电阻; 3、连接器(Connector)的A与B接线错误。SF为RED 表示PLC程序有错误 一般为梯形图程序访问某个地址出现错误,如果组态配置有错误,一般都会出现SF错误。简单Profibus/DP实验系统的组建 HYPERLINK http:/ t _blank Writed by 远方 HYPERLINK http:/ t _blank DND-DeviceNet引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及系统运行机制有一个整体的认识,笔者根据自身的运用经历编写这篇文章,以期望能带领各位读者快速进入

24、到Profibus的世界。 本文所采用的系统是Siemens S7 300的CPU,加上ET200M并带AI和DI模块,另加一Siemens MMX420变频器带Profibus接口板组成。系统的目的是实现远程控制变频器启动,停止,及频率给定的操作,并实现变频器参数的访问。五、PLC编程 当网络组态工作正确完成之后,接下来继续进行PLC端梯形图的编程,S7 Manager提供了强大的PLC编程系统。我们的任务是编写一个简单的梯形图程序,以能过ET200M上的DI和AI模块来对MMX Drives进行操作及参数访问。DI模块用来对变频器进行启动,停止,正向,反向等控制操作,AI模块用来设定变频器

25、的频率。回到S7 Manager的主窗口,因为在Configure的过程中,我们已经加入了S7-300的CPU系统,故在右边的列表里已经多了一个CPU 315-2 DP。按右图所示的路径点开列表,在最后的Blocks里面,有一个OB1,这是PLC主程序的入口模块,一般的程序都在此模块中进行设计,PLC程序也从此模块开始调用执行。OB1模块打开,如图所示。这时便可以在此窗口进行PLC程序的设计。有关S7-300PLC的指令列表请参阅详细的手册,在此不再详述。 梯形图是一种最直观的PLC程序设计语言,使用即方便也便于维护。 我们先产生一个永远为True的变量M0.0。梯形图程序必须存在一个Inpu

26、t和一个Output,故我们在很多地方会使用M0.0来作为永远为True的Input。现在我们要实现变频器的启动操作,根据ET200M模块上挂接的DI模块,确定其输入端子上的接线方法,然后接上数字输入信号。SM321 DI模块使用24VDC信号输入。 确认信号输入接好后,当终端有输入信号时,相应的终端对应的LED会亮起GREEN,这时表示信号正确,否则检查接线。回到硬件配置窗口。选中IM 153-1,其下方的窗口里出现所挂接的两个模块DI和AI,选中DI 16XDC24V并点击右键,在右键菜单中选中Monitor/Modify。在此Monitor/Modify窗口中,可以检视模块的每一个输入量

27、的状态,选中下方的Monitor,即开始Monitor此模块的所有输入量,此例中我们使用最后一路输入作为实验,当有信号输入时,1.7的信号变为GREEN,表示有信号输入。 其它的设备与此相同。按Alt + F9新增一个Network。 再来关注PLC如何对DI模块进行操作。DI的地址映射为0.1两个字节,故我们可以直接对其进行寻址,使用1.6作为启动信号,使用1.7作为停止运行信号。程序如右图所示,当I1.6为True的时候,MOVE指令会送0 x677E到地址264,这是MMX映射的Q Address(PZD)264.267。264.265为Contol word(查阅MMX420手册)。同

28、理,使用1.7的输入作为停止信号,当1.7有输入信号时,MOVE指令会送0 x677F到地址PQW264,同样是MMX420的Control Word,使变频器停止运行。接着我们再来给定MMX Drives的频率。频率的给定值来源于ET200M的AI模块,AI共有两路输入信号,使用前也需要按说明书连接其外围电路。此例中我们使用一电位器来给出一个连续变化的模拟量信号。 同样的方法,当我们Monitor AI模块时,可以看到已经有模拟信号进入到了第二路输入信道中。旋动外部的电位器可以看到其值在不断变化。这时表示AI模块的输入信号已经成功接入。AI模块映射的地址为I Address 256.259(

29、PZD),在MMX映射的地址264.267中,后一个Word用作频率给定266.267。 程序如图所示,M0.0永远为True,故频率是在时时刷新的,当电位器给定的频率发生变化时,就会立即通过总线送到MMX420。至此,我们完成了通过ET200M挂接的DI和AI模块对变频器的控制,并实现其频率给定。接下去的部分,我们要使用PKW数据实现对变频器参数的访问。PKW采用通用串行接口协议(USS)的规范。USS按照串行总线的主/从通讯原理来确定访问的方法。总线上可以连接一个主站和最多31个从站,主站根据通讯报文中的地址字符来选择要传输数据的从站。在主站没有要求它进行通讯时,从站本身不能首先发送数据,

30、各人从站之间也不能直接进行信息的传输。 PKW区说明参数识别 ID-数值接口的处理方式。PKW接口并非物理意义上的接口,而是一种机理,这一机理确定了参数在两个通讯伙伴之间(例如控制装置与变频器)的传输方式,例如参数数值的读和写。有关USS及PKW格式的详细信息请参阅文档( HYPERLINK http:/ USS.pdf 312KB)此例中,我们试图去读取变频器参数0 x2bc(700)的值,根据USS规范里面的描述,主站需要发送的数据为:12bc 0000 0000 0000。我们先将此4 Words的数据写到内存区M40.M47,然后再利用SFC15模块将数据送到总线上。按Alt+F9新增

31、Network 7。选择菜单View - STL,将程序转为指令格式,输入如图所示的指令。如果需要查看SFC15(DPWR_DAT)模块的参数介绍,则只须点击一下DPWR_DAT,再按下F1。 LADDR表示要访问的设备的DP起始地址,必须用十六进制表示。在这里,MMX设备映射的Q Address(PKW)为256.263,则此值为256(0X100)RECORD表示需要传送的数据存放的位置,我们是按字节从M40位置开始存放。RET_VAL表示此项操作的返回代码。我们将其存放于M10里面。如果操作成功,此值为0,否则为其操作的错误代码。点击菜单View - LAD,让程序返回梯形图模式。使用同

32、样的方式加SFC14模块,以读取PKW值(从变频器返回的值)。 同样使用F1也可以查询SFC14(DPRD_DAT)的参数信息,SFC14用于读到DP设备的数据。LADDR表示读取的DP设备所映射的I Address的起始地址,必须用十六进制表示。此例中为260(0X104)。RET_VAL表示此操作的返回值,我们将其存放在内存M12中。如果此读操作成功,则返回值为0,否则为其错误代码。RECORD表示读回来的数存放的位置,暂且存放在M30.M37中,长度为8 bytes。选择菜单View - LAD,让程序返回到梯形图模式。 至此,PLC梯形图编程已完成。选择菜单PLC - Download

33、.,如果程序编写无误,则会出现如图所示的提示框,告诉你PLC里面的OB1已经存在,是否覆盖,选择YES即可以把程序下载到PLC中。 如果硬件配置与梯形图程序相符合,则PLC的运行一切正常,如果有错误发生,则按提示进行Troubleshooting。简单Profibus/DP实验系统的组建 HYPERLINK http:/ t _blank Writed by 远方 HYPERLINK http:/ t _blank DND-DeviceNet引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及系统运行机制有一个整体的认识,笔者根据自身的运用经历编写这篇文章,以期

34、望能带领各位读者快速进入到Profibus的世界。 本文所采用的系统是Siemens S7 300的CPU,加上ET200M并带AI和DI模块,另加一Siemens MMX420变频器带Profibus接口板组成。系统的目的是实现远程控制变频器启动,停止,及频率给定的操作,并实现变频器参数的访问。六、数据监控 上面的几章,已经完成了整个Profibus/DP系统的实现,为进一步的了解DP的工作机制,此章的重点将是数据的监控与分析,通过PLC的一些监视功能及加入我们自己的一些辅助手段,可以很清楚的观测到整个DP总线运行的过程。此章是理解DP运行机制及进行DP从站开发的重点。当确定梯形图程序已经正

35、确在PLC中运行,将PLC的KEY拨到RUN。在梯形图编辑窗口,选择菜单PLC - Monitor/Modify Variables,可以启动变量监视窗口。如图,在窗口的Address栏位输入需要监视的变量的地址。我们输入MW40到MW46,此4 Words为我们试先写入准备用来访问变频器的数据。最后再输入MW10,此地址存放的是我们写数据到变频器的操作的返回值,如果操作正确此值为0。 点击菜单Variable - Monitor或按Ctrl+F7或点击眼镜图标,开始监视所输入的地址的变量值。从监视的结果中,我们看到MW40的值为12BCHEX,接下去的3 words的值都为0,这与我们试先写

36、入的值相符,另外,MW10的返回值为0,则表示送数据到变频器的操作成功。接着,我们输入MW30到MW36的位址,此位址存放从变频器读回来的数据。后面接着再输入MW12,这个位址存放从变频器读数据回来的操作是否成功,为0则表示成功。 从数据中,我们可以看到,MW30为12BCHEX,与发送的相同,MW32,MW34为0,MW36值为0006HEX,这个位址表示从变频器读回来的参数值,即我们需要读取的参数量0700的值为6。MW12为0表示此读数据操作成功。同理,可以使用此方法去监视不同的其它变量。也许我们更关心DP总线上面的数据,上面看到的数据都是由PLC内存区里面提取的,那么,作为DP从站,P

37、LC是如何把数据送达到变频器,而变频器又是如何将数据送回给PLC的呢? 这些部分都是由Profibus/DP总线的协议来完成的。Profibus/DP协议是一个复杂的通讯协议,在此我们只作简单的概述,以方便描述其数据通讯的过程。首先我们来看看Profibus的重要电文结构(1)令牌信息。 Profibus支持多主站系统,每个主站按时间分配其总线控制权,使用令牌在主站之间传递信息,如果主站获得上一个主站传递来的令牌,则立即有对总线的控制权,当其令牌时间到达,则使用此电文将令牌传递给下一个主站。SD4 = 0XDC,DA = 目标地址,SA = 源地址(2)FDL状态请求电文。 在进行Cyclic

38、 数据交换之前,主站间通讯,主站与从站间通讯都交由FDL状态请求电文来实现。SD1 = 0X10,FC = 功能码 (Function Code)FCS = 帧检查顺序 (Frame Check Sequence)(3)数据电文。 Profibus所有的数据交换都使用此电文来实现,包括诊断等。DA = 目的地址 (Destination Address)DU = 数据单元 (Data Unit)DSAP = 目的服务存取点(Destination Service Access Point)ED = 结束分界符 (End Delimiter)0X16FC = 功能码 (Function Code

39、)FCS = 帧检查顺序 (Frame Check Sequence)LE = 长度 (Length)LEr = 重复长度 (Repeated Length)SA = 源地址 (Source Address)SD2 = 开始分界符2 (Start Delimiter 2)0X68SD4 = 开始分界符4 (Start Delimiter 4)0XDCSSAP = 源服务存取点 (Source Service Access Point)我们继续了解DP从站的状态机制。一个DP的从站有四种状态:No Power、WAIT_PRM、WAIT_CFG、DATA_EXCH。 当从站Power On,如果

40、从站支持Set_Slave_Add报文,则处理此报文,如果不支持,则跳过。此时,从站等待主站的请求诊断电文(Slave_Diag),然后把自己的状态告知主站,此时从站进入WAIT_PRM状态,主站知道从站正在等待参数化(Parameterization)报文,于是就会发出参数化报文。从站收到后取出报文中的参数对自身进行配置,并立即进入WAIT_CFG状态,主站继续送Configuration的报文到从站,Configuration报文里所带的数据主要是从站IO长度的数据,它表明从站可与主站进行的PKW和PZD的IO数据长度各是多少。从站会将此数据与自身比对,如果符合自身所支持的某一个格式,则配

41、置通讯格式。最后主站会使用(Slave_Diag)报文来再次获取从站的状态,如果从站配置成功,则进入DATA_EXCH状态,此时主站知道从站已经在等待进行IO数据交换,立即会发送IO数据报文与从站进行数据交换。这样的数据交换被称为Cyclic数据交换,会一直持续下去。接下来,我们找寻一些方法,来抓取DP总线上实际在运行的数据,分析整个数据交换的过程。 由于Profibus采用高速的RS485通讯,但支持的频率范围从9.6Kbit/s到12Mbit/s,故我们在低速(9.6Kbit/S)的情况下,可以使用PC的COM口来采集总线上面的数据。具体的实现方法很简单,我们用一个RS485到RS232的

42、转换模块,如研华的Data Acquisition Modules ADAM-4520 RS232 to RS485 isolated converter,将PC与总线相连接,DP总线的A和B分别接到converter的输入(注意数据的方向),转换模块需要9V的DC供电。另一端与PC相连,为使用简单,我们使用CVFD软件的数据接收功能来接收总线上面的数据。Profibus的数据为11bit,数据格式为,这里我们要设定baud rate 为9.6K,因前面配置Profibus网络的时候,我们设定了速率为9.6Kbit/s,选择RTU模式。点击START,开始接收数据,这时总线上面的所有数据就被采

43、集到PC上了。为了我们可以看到一个从站连接的全过程,我们将MMX的总线接头拨下,然后再插上插头,这样我们可以看到MMX与主站进行连接的过程。当拨下插头时,主站会报错误SF和BUSF,再行插上插头的时候,BUSF消失,但SF还是亮RED,这时我们要将程序复位,将PLC的KEY拨回STOP,再拨到RUN即可消除。接下来我们对所采集的数据进行整理及分析。点击介面上的Save to file按钮,将数据保存到PC硬盘上,此例中的文件可以从这里下载( HYPERLINK http:/ t _blank data.txt 55.2KB)。首先我们来看看Profibus数据电文的DSAP和SSAP(服务存取

44、点)的功能分配: SSAP为源服务存取点,都为62(0X3E)。而DSAP为目标服务存取点,不同的DSAP表示主站想要进行的不同的动作。我们常用的DSAP为如下几种:58(0X3A)Global_Control60(0X3C)Slave_Diag61(0X3D)Set_Prm62(0X3E)Chk_CfgDefault:Data_ExchangeGlobal_Control用于广播信息及全局控制,一般发送的目标地址(DA)为0XFF。Slave_Diag用于请求从站的诊断信息,以获取从站目前的状态。Set_Prm传送必要的参数及用户自定义扩展参数给从站,用户自定义扩展参数可以在GSD文件中试先

45、写好,主站会将这些参数送给从站,从站接收后自行进行处理及相应的配置。Chk_Cfg是Congfiure报文,里面包含了从站所要进行的IO数据交换的信息,如PKW及PZD的长度。Data_Exchange用于Cyclic IO数据交换,此为默认的SAP,故在Cyclic 数据报文中,无DSAP 也无SSAP。有关各种报文的数据所表达的详细意义,请查阅文件( HYPERLINK http:/ t _blank ProfibusDP.pdf 1.45M)。接下来我们对所采集的数据进行分析整理,然后抓取出对我们有用的数据进行分析。 首先我们按照上述的数据报文结构对数据进行换行处理,存在四种报文:令牌(

46、0XDC开头),FDL状态请求(0X10开头),数据交换(0X68开头),短应答(0XE5),FDL与数据报文都以ED0X16结尾。然后根据电文中DA及SA的信息,我们去除节点3(ET200M)与主站之间产生的报文,只保留节点0X10(MMX)与主站之间产生的报文。01主站扫描其它是否有新的节点加入。主站从站地址1开始往上扫描,到126止,当前扫描地址0X6A(106)。02令牌传送报文。主站之间传递令牌信息,如果总线上面只有一个主站,也会进行令牌传送,只不过从自己传到自己。03主站请求诊断信息报文,主站要获取从站16(MMX)的信息,DSAP = 0X3C(Slave_Diag),但此时从站

47、未接上,故无应答。主站会一直发送此信息,直到从站有应答。0809从站16接上总线,进行应答。请参阅上面的附件对报文的数据进行解读。1415主站发送参数化报文DSAP = 0X3D(Set_Prm),从站接收参数化数据并立即回应短应答信息(只有一个0XE5),告知数据已经正确接收到,但数据是否有效还不知道。20主站继续发送Configure报文DSAP = 0X3E(Chk_Cfg),此例中IO配置数据为0XF3,0XF1表示PKW的Input/Output都为4words,PZD的Input/Output都为2words。从站收到此报文后立即发送0XE5短应答报文告知主站已经收到报文,但会继续

48、与自身所设定的值进行比较,如果有相符的设定,则进入Data_Exchange状态。2627主站再次获取从站16的诊断信息,这时,主站知道从站正在等待进行IO数据交换。3233此为状态请求报文,目前从站本应该进行IO数据交换,但主站由于其错误状态还没有被清除,故不能正确送数据到总线,便利用状态请求报文与从站进行交换。这时我们需要清除PLC程序执行的错误,将KEY拨回到STOP,然后再拨回RUN状态即可以消除由于从站16掉线时发生的程序执行错误。01x10 x6Ax02x49xB5x1602xDCx02x0203x68x05x05x68x90 x82x6Dx3Cx3ExF9x1604x10 x03

49、x02x7Dx82x1605x68x09x09x68x02x03x08x01x00 x00 x08x02xF0 x08x1606x10 x6Bx02x49xB6x1607xDCx02x0208x68x05x05x68x90 x82x6Dx3Cx3ExF9x1609x68x0Bx0Bx68x82x90 x08x3Ex3Cx02x05x00 xFFx80 xB5xCFx1610 x10 x03x02x5Dx62x1611x68x09x09x68x02x03x08x01x00 x00 x08x02xF0 x08x1612x10 x6Cx02x49xB7x1613xDCx02x0214x68x0Cx0

50、Cx68x90 x82x5Dx3Dx3ExB8x15x17x0Bx80 xB5x00 x0Ex1615xE516x10 x03x02x7Dx82x1617x68x09x09x68x02x03x08x01x00 x00 x08x02xF0 x08x1618x10 x6Dx02x49xB8x1619xDCx02x0220 x68x07x07x68x90 x82x7Dx3Ex3ExF3xF1xEFx1621xE522x10 x03x02x5Dx62x1623x68x09x09x68x02x03x08x01x00 x00 x08x02xF0 x08x1624x10 x6Ex02x49xB9x1625x

51、DCx02x0226x68x05x05x68x90 x82x5Dx3Cx3ExE9x1627x68x0Bx0Bx68x82x90 x08x3Ex3Cx00 x0Cx00 x02x80 xB5xD7x1628x10 x03x02x7Dx82x1629x68x09x09x68x02x03x08x01x00 x00 x08x02xF0 x08x1630 x10 x6Fx02x49xBAx1631xDCx02x0232x10 x10 x02x7Dx8Fx1633x68x0Fx0Fx68x02x10 x08x12xBCx00 x00 x00 x00 x00 x06xFBxB4x00 x00 x9Dx1634x10 x03x02x5Dx62x1635x68x09x09x68x02x03x08x01x00 x00 x08x02xF0 x08x1636x10 x70 x02x49xBBx1637xDCx02x0238x10 x10 x02x5Dx6Fx1639x68x0Fx0Fx68x02x10 x08x12xBCx00 x00 x00 x00 x00 x06xFBxB4x00 x00 x9Dx1640 x10 x03x02x7Dx82x16当我们清除掉PLC程序执行的错误后,数据交换回复到正常状态。 0203仍然处于状态请求。0409当PLC的KEY在切换的时候,就会发送全局控制报文DSA

温馨提示

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

评论

0/150

提交评论