基于PROFIBUS-DP总线的PLC通信
tion还没有挂到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)是过程控制业中的新兴标准,它的出现为基于Windows的应用程序和现场过程控制应用建立了桥梁。可以通过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总线PLC通 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)