西门子6ES7221-1BF22-0XA8诚信经营
西门子6ES7221-1BF22-0XA8诚信经营
引言
当前在国际上有影响的现场总线标准很多,其中,Profibus-dp主要用于中央处理器与分散外围设备之间的高速数据通信,解决自动控制系统(如PLC、pc等)通过高速串行总线与分散的现场设备(i/o、驱动器、阀门等)之间的通信问题。本文采用profibus-dp实现了西门子公司s7系列的plc系统和和利时公司的cpu24x和cpu21x系列plc的通讯互连。
图1 主-从通信系统配置
图2 在从站模式下cpu和cp数据交换原理示意图
系统设计
和利时的cpu24x和cpu21x一般作为主站设备,而西门子s7-300 PLC的cpu 315-2dp、cp342-5等既可做主站也可做从站。当它们做从站时,可设计为被动从站或主动从站。被动从站执行简单的dp协议功能,相当于简单从站;主动从站在总线中可以取得令牌,然后在确定的时间窗口中可以与从站通信,它除了支持简单的dp协议功能外,还支持一些其它的服务,如支持fdl服务、s7、pg等。另外,cp342-5和带cp5611卡的pc站还可实现二类dp主站、用于编程、诊断等功能。
因和利时公司的cpu24x和cpu21x的 PLC为主站设备,在系统中只能做主站,因此本设计把西门子的设备s7-300和s7-200 plc作为从站,利用Profibus-dp的主-从通信原理实现他们的通信。系统配置如图1所示。
在图1中,和利时 PLC使用Profibus-dp通信模块fm208连接到profibus-dp网络,fm208通信模块为dp主站模块,在dp网络中做dp主站。所有的西门子dp从站设备都可以作为fm208的从站连接到dp网络中,并通过使用dp通信协议实现相互间的直接数据通信。在此,西门子的s7-300、s7-200 plc和变频器分别通过profibus-dp通信模块cp 342-5、em 277和cbp2做为和利时plc的fm208的从站,并实现相互通信。
通信编程
用于dp主站的用户程序
用于dp主站的用户程序都已集成在Profibus-dp通信模块fm208中,用户只需完成以下几个方面的组态及设置即可完成主站的用户编程。
(1) dp网络组态,用winncs软件完成。
① 启动winncs软件,网络类型选取Profibus。然后在profibus网络中插入主站,系统默认cpu24x为主站,指定其dp主站地址为2,总线网络的传输速率为1.5mbps。
② 在fm208主站中插入dp从站cp342-5、em277和cbp2,对应的dp网络地址为3、4、
5。cp342-5的i/o数据选择16个字进16个字出,em277的i/o数据模块选择8个字进8个字出,cbp2的数据类型选择ppo3。各从站的i/o数据在主站fm208中按顺序自动指定相应的地址。
③ 编译并保存文件,然后下载到通信处理器fm208中。
(2)fm208配置的从站i/o数据地址在cpu241中的地址分配。
根据用winncs配置的从站数及设定的i/o数据起始地址和长度,可以在PLC程序的数据块db1中为其指定数据寻址地址。例如上述从站i/o起始地址都是从0开始,数据总长度各为28个字,在db1中加入地址配置指令:
kc=uat: 0 28 0 28 ;end
在PLC用户程序中,直接根据上述设定的地址就可寻址从站的过程数据,不需要额外的通信编程。
用于dp从站s7-300的用户程序
s7-300 PLC通过cp342-5作为主站和利时plc的从站,为确保数据通信的实现,需完成以下工作。
① 组态cp342-5做从站。
② 编写从站用户程序,并下载到s7 PLC。
③ 启动和调试dp从站和dp主站。
④ 通信异常诊断。
(1)cp功能
cp342-5用作dp从站可以被dp主站组态为智能从站或模块化主站,做从站时可以组态为被动从站或主动从站,但不允许在组态为从站的同时组态为主站。用作主动从站时除了提供从站服务功能外,还可以提供如fdl连接服务等其它的通信服务。cp342-5的主要功能有:
① 从主站接收用于配置和组态的参数,包括过程输出数据和传递到cpu的数据。
② 从cpu的dp数据域接收输入数据,为dp主站准备数据。
③ 给dp主站准备拾取和评估的诊断数据。
④ 给2类主站准备读取的i/o数据。
(2)数据交换原理
dp主站与dp从站的数据交换采用轮循方式,使用dp数据域中的接收缓冲区与发送缓冲区来完成。dp主站启动数据交换,将数据输出到输出缓冲区,并从输入缓冲区将数据取回,其原理如图2所示。
cpu和cp间的数据交换是通过在cpu循环中调用s7的dp_rece和dp_send功能来实现的。其中,dp_rece功能是接收由dp主站发送到从站cp的接收缓冲区的数据,然后把数据输出至cpu指定的dp数据域。而dp_send则是把cpu中指定的dp数据域中需传输的数据传送至cp的发送缓冲区,然后传输到dp主站。
(3)用户程序
在s7 PLC中,cpu中的用户数据域可以为过程映像、位寄存器以及数据块,在本用户程序中使用了数据块。在s7用户程序的blocks目录下,定义两个数据块db1和db2,分别用于存放接收和发送的数据,然后在循环执行的组织块ob1中调用dp_rece和dp_send功能。
当dp主站改变运行模式或崩溃时,操作系统通过调用从站上的某个ob作出反应。如果从站上的这些ob丢失,则cpu会立即自动地切换到stop。因此为了防止这种情况,需在从站建立相关的ob。
当主站的cpu从run转换到stop时,在从站的组织块ob82(诊断中断)将被调用。为防止cpu由于不存在ob82而停止,需在s7-300站的blocks文件夹中插入组织块ob82。
同理,当dp主站崩溃时,在从站上将调用组织块ob86(机架故障)。为了防止s7-300从站的cpu在这样的情况下进入stop,需在s7-300站的blocks文件夹中插入组织块ob86。
用于dp从站s7-200的用户程序
主站和利时PLC和从站s7-200 cpu226之间的Profibus-dp通信是通过使用fm208模块将s7-200 cpu226作为dp从站连入网络的。fm208为模块化的dp从站,i/o数据大为32字。fm208通过串行总线和s7-200 cpu226连接,通过dp通信端口连接到profibus上。其主要功能为:可运行在9.6kbps-12mbps之间的任何速率;接收从主站来的i/o配置和参数信息;向主站发送和接收不同数量的数据;传送i/o数据,以及支持变量块的传送等。
对主站的组态包括从站地址,从站的变量存储区(v存储区)偏置以及选取i/o模块。
运行时,dp主站首先建立网络,然后初始化启动dp从站,并且主站将参数赋值信息和i/o配置写入到从站。然后主站从从站获取诊断信息,在确认从站已接收到信息后,主站就拥有了此从站的指挥权。此时网络上的其它主站可以读取该从站的数据但是不能向该从站写入数据。整个主站的组态是通过设备数据库(gsd)文件siem089d.gsd来完成的。
从站地址通过fm208模块上的硬件开关设定,此开关必须与主站软件设定的地址一致。从站i/o缓冲区驻留在s7-200的v存储区,因此要求参数赋值中必须包含v存储区的缓冲区的起始位置及i/o的数据量,以确定缓冲区的大小。fm208提供字节、字、缓冲区三种类型的数据交换。
s7-200 cpu226 PLC的通信用户程序如下:
network 1
//计算输出数据指针到v寄存器
ldb= smb224,2
movd &vb0,vd1000
itd smw226,ac0
+d ac0,vd1000
network 2
// 计算输入数据指针到v寄存器
ldb =smb224,2
movd vd1000,vd1004
bti smb228,ac0
itd ac0,aco
+d ac0, vd1004
network 3
//设置传输的数据量
ldb =smb224,2
movb smb228,vb1008
movb smb229,vb1009
network 4 //传输数据
ldb =smb224,2
bmb *vd1000,qb0,vb1008
bmb ib0,*vd1004,vb1009
结语
采用Profibus现场总线,不需做复杂的通信编程,就能方便地实现不同厂商的现场总线设备在一个系统中的集成,而且数据传输可靠、组态灵活、可以真正的实现即插即用功能。而且集成方法简单,通信可靠、快速,很适合实时系统控制的要求。在目前厂家为其提供的通信产品和通信服务功能由于不够丰富而存在的一些通信问题,通过灵活配置完全可以解决。
问题:如何实现S7200与S7300之间的MPI通讯?
回答:S7200与S7300之间采用MPI通讯方式时, S7200 PLC中不需要编写任何与通讯有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可,而S7300中需要在OB1(或是定时中断组织块OB35)当中调用系统功能X_GET(SFC67)和X_PUT(SFC68),实现S7300 与S7200之间的通讯,调用SFC67和SFC68时VAR_ADDR参数填写S7200的数据地址区,这里需填写P#DB1.××× BYTE n 对应的就是S7200 V存储区当中VB××到VB(××+n)的数据区。
首先根据S7300的硬件配置,在STEP7当中组态S7300站并且下载,注意S7200和S7300出厂默认的MPI地址都是2,所以必须先修改其中一个PLC的站地址,例子程序当中将S7300 MPI地址设定为2,S7200地址设定3,另外要分别将S7300和S7200的通讯速率设定一致,可设为9.6K,19.2K,187.5K三种波特率,例子程序当中选用了19.2K的速率。
例子程序在OB1当中调用数据读写功能块:SFC67和SFC68,如下图:
分别在STEP7 MicroWin32 和STEP7当中监视S7200和S7300 PLC当中的数据,数据监视界面如下:
通过CP5611,STEP7 MicroWin32, Set PG/PC Interface可以读取S7200和S7300的站地址,如下图:
站地址0代表的时进行编程的PG,即当前连接PLC的PC。
1 引言
现场总线控制系统(FCS)用数字信号取代模拟信号,以提高系统的可靠性、jingque度和抗干扰能力,并延长信息传输的距离。它既是一个开放的通信网络,有时一种全分布的控制系统,是一种新型的网络集成自动化系统,它以现场总线为纽带,把挂接在总线上相关的网络节点组成自动化系统,实现基本控制、补偿计算、参数修改、报警、显示、综合自动化等多项功能。
FCS用“工作站-现场总线智能仪表”的二层机构完成了集散控制系统(DCS)“操作站-控制站-现场仪表”的三层结构模式,降低了成本,提高了可靠性,且在统一的下可实现真正的开放式互连系统结构,是一种正在发展的很有前途的计算机控制系统。
目前具代表性的现场总线是Profibus(Process Fieldbus)。PROFIBUS是由SIEMENS公司推出的一种开放式现场总线标准,1989年成为德国标准DIN19245,1996年成为欧洲标准EN50170,1999年12月被接受为IEC61158的一部分。用于工厂自动化系统三级网络中的底层,即车间级监控和现场设备层数据通信与控制;使用于分散的、具有通讯接口的现场受控设备对底层设备有较高的数据集成和远程诊断、故障报警及数字化要求的系统。
Profibus遵循ISO/OSI模型,其通信模型由三层构成:物理层、数据链路层和应用层。PROFIBUS由三部分组成,PROFIBUS-FMS (Fieldbus Message Specification,现场总线报文规范)、PROFIBUS-DP(Decentralized Periphery,分散型外围设备)、PROFIBUS-PA(Process Automation,过程自动化)。其中PROFIBUS-DP已广泛适用于水电站自动化领域。
2 Profibus-DP的特性及系统组成
2.1 Profibus-DP的特性
Profibus-DP使用物理层,数据链接层和用户接口,用于现场层的高速数据传送。主站周期地读取从站地输入信息并周期地向从站发送输出信息。总线循环时间必须要比主站程序循环时间短。此外,PROFIBUS-DP还提供智能化现场设备所需的非周期性通信以进行组态、诊断和报警处理及复杂设备在运行中参数的确定。
Profibus-DP基本功能和特性如下:
(1) 远程离高速通信
支持9.6Kbps到12Mbps的传输速率; 12Mbps时大传输距离为100m,1.5Mbps时为200m,另外还可以用中继器延长;
(2) 分布式结构
各主站间令牌传递,主站与从站为主-从传送;每段可有32个站,用连接线可扩展到126个站;
(3) 易于安装,开放式的通讯网络;
(4) 可靠性高,具备自诊断功能。
Profibus-DP主站分为一类主站和二类主站。一类主站完成总线通信控制与管理,完成周期性数据访问,包括PLC、PC或可做一类主站的控制器。二类主站完成非周期性数据访问,如数据读写、系统配置、故障诊断等,包括操作员工作站(如PC机加图形监控软件)、编程器、HMI等。PROFIBUS- DP从站主要进行输入、输出信号采集和发送,包括PLC或其他控制器、分散式I/O、智能现场设备等。
2.2 系统组成
为便于叙述和理解,现组成一个双主站单从站的Profibus-DP网络,如图1所示。具体配置如下:
图1 Profibus-DP网络
(1) 硬件:带Siemens CP5611卡的PC机两台,一台配置为一类主站,另一台配置为二类主站;从站为Siemens S7-200 系列PLC的CPU224一块,带Siemens EM277DP通讯模块;三个网络连接器;连接线为双绞线。
(2) 软件:用于软件编程的STEP7-MICROWIN3.2和用于实现Profibus-DP协议网络配置的SIMATIC NET6.0。
3 Profibus-DP主站和从站的组态
3.1 一类主站的组态
在PC1(一类主站)使用SIMATIC net 6.0软件来组态整个Profibus-DP网络。具体步骤如下:
(1) 使用SIMATIC程序组中的Configuration Console设定Profibus的模式为Configured Mode,插槽号随意,如图2所示:
图2 Configuration Console
(2) 用PC Station Wizard进行一系列简单的设置后新建一个工程
设置CP5611的参数:网络类型设为 Profibus,站地址为1(也可为其他值,但不能重复,其他站点地址的设定与此类同);加上PROFIBUS-DP总线(DP master system(1)),并把CP5611设为DP-Master(即一类主站)。导入EM277的GSD文件,在视窗右侧的从站设备栏里面就可以找到 EM277模块了。将EM277图标拖到DP总线上,站地址为设置2,V存储器偏移量本例设置为4000,然后根据需要设定EM277的发送和接收缓冲区大小。后将配置结果下载到模块。结果如图3所示:
图3 一类主站的组态
至此,本Profibus-DP网络结构一类主站与从站的主从关系已经确立了。下面接着配置二类主站。
3.2 二类主站的组态
(1) 同样还是在PC1上,在图3的界面中点击图标 (Configure Network),弹出如图4的界面。添加一个SIMATIC PC Station(此时这个PC Station还没有挂到DP网上),并双击它,弹出如图5的窗口(此窗口与图3类同)。手动添加OPC Server和CP5611,槽位随意。将CP5611站点地址设为3,从属于之前添加的DP网,并设定为DP Master Class 2(即二类主站),将配置结果下载到模块。再次点击 ,可看到PC Station挂到DP网上了。
图4 Configure Network
图5 二类主站的组态
(2) 现在操作对象转到PC2上。同样运行Configuration Console,设置也与PC1相同。打开PC Station Wizard新建一个工程。将CP5611设为DP Master Class 2,站地址设为3,同样要从属于DP master system(1)。将配置结果下载到模块。
3.3 从站的组态
为了将EM277作为一个DP从站使用,必须设定与主站组态中的地址相匹配的DP端口地址(之前设定的地址为2)。从站地址是使用EM277模块上的旋转开关设定的。在变动旋转开关之后,用户必须重新启动CPU电源。
EM277输出和输入数据缓冲区驻留在S7-200CPU变量存储器(V存储器)内,输入缓冲区紧紧跟随输出缓冲器。缓冲区的大小是由DP主站组态设定的 (之前设定为8 Bytes Out/8 Bytes In)。组态后,EM277可接收从主站来的输出数据,并将输入数据返回给主站。主从站缓冲区的关系如图6:
图6 主从站的缓冲区
若EM277 Profibus-DP从站模块为I/O链中的个智能模块,则它的状态信息从CPU224中的SMB200到SMB249获得;若EM277为第二个智能模块,其状态从SMB250到SMB299获得。只有DP主站才可以组态运行了DP 方式下的EM277 DP模块,用户不能通过改写有关SMB存储单元来组态EM277 DP模块的缓冲区大小或位置。
由表1中专用存储器字节的说明,不难写出CPU224的DP通信程序,见表2。
4 通过OPC读写PLC数据
OPC(OLE for Process Control)是过程控制业中的新兴标准,它的出现为基于bbbbbbs的应用程序和现场过程控制应用建立了桥梁。可以通过Siemens提供的OPC Server程序读写PLC中的数据。
(1) 一类主站PC1读写PLC
在PC1 上打开SIMATIC程序组中的OPC Scout,新建一个组名。打开新建组的“OPC-Navigator”,在DP目录下的Slave002就是从站CPU224,M00_I和M00_Q 即对应从站的输入和输出缓冲区。将M00_I和M00_Q目录下的变量按需求添加(如图7),确认后OPC就开始运行了。如果变量的“Quality”显示“good”,表示OPC Server程序已经通过Profibus-DP总线协议和PLC建立了连接运行关系。此时不仅可以读取PLC中的数据,还可以向PLC写数据。
(2) 二类主站PC2的数据访问
在PC2上同样打开OPC Scout,新建组名。在该组名的“OPC-Navigator”下添加二类主站相应的输入和输出缓冲区,确认。PC2就可以访问网络中的数据了,各数据的变化同PC1中的是同步的。
要注意的是:当PC1的OPC Scout关闭的时候,PC2的OPC Scout对DP网络的数据访问也中断了。这证明了CPU224仅仅从属于一类主站PC1,而二类主站PC2不能控制它(仅能进行数据访问)。
图7 OPC-Navigator
5 Profibus-DP在水电站中的应用
目前,PROFIBIS-DP总线技术在水电站小型自动化系统中应用较多,如水电站弧门监控系统和机组辅助设备控制系统就大量用到了Profibus- DP网络。这是因为PROFIBUS-DP实时性受到系统规模影响,系统规模越大实时性越差,所以PROFIBUS-DP总线技术适合于小型自动化系统。
不过,Profibus-DP在信号的传输精度、可靠性和抗干扰性有不俗的表现,其系统成本低、安装简单、维护调试方便且易于扩展。而且,各类传感器和智能设备等都有支持DP网络的标准通信口,硬件资源丰富;DP网络本身灵活多变的主从结构,适应多种控制系统;各类组态软件也都可以和OPC Server建立数据交换,减少了监控系统的开发周期;通过专用的通信协议转换器或工控机,基于PROFIBUS-DP总线的控制系统可以挂靠到工业以太网专题">工业以太网上,成为综合控制系统的一部分。因此,虽然现在工业以太网的技术有大普及之势,但DP网较高的性价比还是被越来越多的用户所认可。