西门子模块6ES7223-1BH22-0XA8详细资料
1 引言
西门子工控产品在工控领域应用市场中有较高的占有率,S7-200系列PLC是西门子SIMATIC PLC家族中的成员之一,在西门子工控领域应用中占有重要地位。S7-200系列PLC体积小,软硬件功能强大,系统配置方便,由它组成的系统可以与强大的Profibus现场总线相连接。它一推向市场就在各行各业得到了广泛应用。但是在实际工程应用中遇到了监控计算机与S7-200系列PLC通信问题。由于西门子公司S7-200系列PLC比监控组态软件WinCC推出晚,因此WinCC中没有集成S7-200系列PLC的通信驱动程序;S7-200系列PLC的通信协议也不公开,应用第三方软件编制监控程序也有问题。这些问题给S7-200系列PLC的应用带来了一定的限制,为了解决这个实际工程问题,作者做了一些研究,本文就S7-200系列PLC与监控计算机通信问题研究结果展开讨论。
2 S7-200系列PLC监控的主要方法
在大多数控制系统中,仅仅是实现控制是不够的,在许多情况下也需要组态监控界面对系统进行监控。通过监控可以增加人机交互的能力,使操作人员实时地监控系统工作情况并使系统操作变得方便。
对S7-200系列PLC组成的控制系统进行监控一般有三种方法:组态软件监控、第三方软件编制的监控软件监控、触摸屏监控。
用组态软件WinCC实现监控,功能强大,灵活性好,可靠性高。但软件价格高,并需要解决WinCC与S7-200系列PLC的通信问题。在复杂控制系统中可以采用此方法。
用第三方软件编制的监控软件实现监控,灵活性好,系统投资低,能适用于各种系统。但开发系统工作量大、可靠性难保证,对技术人员的经验和技术水平的要求高,还必须购买通信协议软件。在系统资金投资有限,技术人员水平较高的情况下可以采用此方法。
触摸屏进行监控,可靠性高,监控实现容易,触摸屏与PLC之间的通信问题生产厂商已处理好,用户不用考虑通信问题,可以大大缩短工程周期。但灵活性一般,功能有限,不能满足复杂控制系统的监控要求,而且价格高。在系统可靠性要求高、工期短的情况下可以采用此方法。
3 WinCC组态软件与S7-200系列PLC的通信
SIMATIC WinCC采用了新的32位技术的过程监控软件,具有良好的开放性和灵活性。无论是单用户系统,还是冗余多服务器/多用户系统,WinCC均是较好选择。通过ActiveX,OPC,SQL等标准接口,WinCC可以方便地与其它软件进行通信。WinCC与S7-200系列PLC的通信,可以采用PPI和Profibus两种通信协议之一进行。
1、WinCC与S7-200系列PLC通过Profibus协议进行通信的实现
(1)软硬件要求:
* PC机 ,bbbbbbs 98操作系统;
* S7-200系列PLC;
* CP5412板卡或者其他同类板卡,例如:CP5611,CP5613;
* EM277 Profibus DP模块;
* Profibus 电缆及接头;
* 安装CP5412板卡的驱动;
* 安装WinCC 4.0或以上版本;
* 安装COM Profibus软件。
硬件连接如图1。
(2)组态
打开SIMATIC NET\COM Profibus,新加一个组态,主站为SOFTNET-DP,从站是EM277 Profibus-DP。主站的地址选择从1到126。从站的地址选择从3到99,与EM277的地址一致。然后用该软件对从站进行配置:打开从站属性,在Configure选项中,选择8bytes in/8bytes out(可根据实际需要选定)。在bbbbbeterize中可以选择偏移地址,地址对应于S7-200系列PLC的数据区(即V区),默认为0,即从VB0开始。组态完成后,导出(Export)NCM文件,生成*.txt和*.ldb文件。
(3)设置PG/PC interface。
在Access Point of the Application中选择CP_L2_1,在Interface bbbbbeter Assignment 选择CP5412A2(Profibus)。在属性里的激活DP协议,并在DP-Database参数中输入*.ldb文件的完全路径。设置完成后可以诊断硬件配置是否正确、通信是否成功。
(4)WinCC的设置。
在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择PROFIBUS DP.CHN,选择CP5412(A2)Board 1,在System bbbbbeters设定参数。CP5412(A2)board 参数为1,表示板卡的编号;Config参数为组态时生成的*.txt文件的完全路径;Watchdog time 参数为0。新建一个连接,从站地址与EM277的地址一致。
(5)建立变量。
WinCC中的变量类型有In和Out。In和Out是相对于主站来说的, 即In表示WinCC从S7-200系列PLC读入数据,Out表示WinCC向S7-200系列PLC写出数据。In和Out与数据存储区V区对应。在该例中,Out与PLC中数据存储区的VB0~VB7对应,In与PLC中的存储区的VB8~VB15对应。
(6)优缺点。
优点:该方法数据传输速度快,易扩展,实时性好。缺点:传送数据区域有限(大64字节),在PLC中也必须进行相应的处理,且硬件成本高,需要的CP5412、EM277 Profibus-DP、Profibus总线等硬件,还需要Com Profibus软件。应用场合:适用于在要求高速数据通信和实时性要求高的系统。
2、WinCC与S7-200系列PLC通过PPI协议进行通信的实现。
PPI协议是西门子S7-200系列PLC常用通信协议,但WinCC中没有集成该协议,即WinCC不能直接监控S7-200系列PLC组成的控制系统。S7-200 OPC Server是西门子公司推出的专为解决上位机监控S7-200系列PLC控制系统的接口软件。因此,WinCC可以通过该软件与S7-200系列PLC很方便的建立通信。
(1)软硬件要求:
* PC机 ,bbbbbbs 98操作系统;
* S7-200系列PLC。
* PC/PPI电缆。
* 安装S7-200 OPC Server 软件。
* 安装WinCC 4.0软件。
(2)连接:
在控制面板中设定PG/PC接口参数。在Access Point of the Application中选择Computing,Interface参数选择PC/PPI Cable。
在WinCC变量管理器中添加一个新的驱动程序,新的驱动程序选择OPC.CHN,在OPC GROUP中新建一个连接,打开属性,选择 OPC Group Setting,OPC服务器名称为OPCServer.MicroComputing。然后在新添加的连接中新建变量,变量的Item Name与S7-200系列PLC中用于监控的变量名对应。例如:Item Name为M0.0。
(3)优缺点
优点:该方法连接简单、硬件投资少、可以读写S7-200系列PLC中所有存储区域。缺点:通信速度比较慢、需要OPC软件及相应授权、系统扩展不方便。应用场合:用于低速、实时性要求不高、系统投资资金有限的系统。
另外,也可以通过其他公司的OPC软件进行通信,例如用开普的KEPServerEx作为OPC服务器,用WinCC作为OPC客户端来读写S7-200系列PLC内部数据区。实现与上述第二种方法类似,不同的是必须在OPC服务器中建立标签与S7-200系列PLC中存储地址对应。
在复杂系统中,如果系统中同时有S7-200系列PLC和S7-300系列PLC存在,S7-200系列PLC一般作为S7-300系列PLC的从站挂到Profibus总线上,WinCC通过S7-300系列PLC对S7-200系列PLC进行监控。
4 第三方软件与PLC的连接
有些系统具有特殊性,没有现成的通用软件用于进行数据处理和系统监控,这就需要用户用第三方软件开发平台开发满足系统要求的监控软件。这样做既可以满足系统要求,又可以节约系统投资。但对软件开发人员的经验和技术要求较高。
第三方软件开发平台开发的监控软件与S7-200系列PLC通信使用PPI协议的接口软件有:Prodave、MicroComputing、OPC。
第三方软件开发平台开发的监控软件与S7-200系列PLC通过自由口进行通信,协议自定的话,开发的监控软件可以调用MSComm控件实现两者的通信。
1、用Prodave软件包实现通信连接
Prodave是西门子公司推出的专门用于西门子PLC产品(S7-200、300、400系列PLC)与PC/PG进行数据交换处理的软件包。Prodave在*.DLL或*.LIB文件中集成了数据交换的函数。在自行开发的监控软件中可以方便地调用该软件中的各种函数。
主要函数有:
(1)load_tool PC机与PLC系统初始化链接;
(2)unload_tool 断开PC机与PLC系统链接;
(3)以及读写PLC内部存储区的函数。
监控软件通过读写函数可以方便监控PLC控制系统。
2、用MicroComputing软件实现通信连接
安装MicroComputing后,在VB或Delphi中可以直接插入控件。可插入的控件主要有:Data controls、Edit controls、Button controls、Label controls、Slider control。
Data controls的主要功能是把以上剩余的四个控件与S7-200系列PLC相连接、设置事件触发条件以及设定S7-200系列PLC地址等。而Edit controls、Button controls、Label controls、 Slider control可以与S7-200系列PLC存储资源直接对应。第三方软件可以直接调用上列控件对PLC进行监控,也可以通过函数对S7-200系列PLC进行读写操作。
3、用OPC Server软件实现通信连接
安装S7-200 OPC Server软件后,在操作系统中将增加一个OPC服务器,服务器的名字是“OPCServer.Computing”。VB或Delphi中可编写OPC客户端程序与OPC服务器通信。
以下给出在VB开发环境下编写OPC客户端程序的过程:首先在VB开发环境中的Project\References中添加OPC Automation 2.0,然后编写连接OPC Server、添加组、添加条目、读写数据的程序。
使用到的函数如下:
connect函数:与OPC Server建立连接;
OPCGroups.Add函数:添加组;
OPCITems.Additems函数:添加条目;
SyncRead函数:同步读;
SyncWrite函数:同步写。
OPC 服务器名为“OPCServer.Computing”, 条目名称与S7-200系列PLC中用于监控的变量名对应。
4、用自由口实现通信连接
在VB或Delphi下插入MSComm控件,按照自定协议通过串口来收发数据,并对数据进行处理并实现监控。
在PLC中也必须编写通信程序,流程如下。
5、优缺点总结:
用Prodave,实现简单,灵活性较好,可以直接调用Prodave的函数对S7-200系列PLC内部存储区进行读写,并能满足大规模数据的传输,调试简单,很适合在工程中应用。但需要购买软件,编程较复杂。
用MicroComputing,使用方便,编程以控件实现,编写简单。但灵活性差,并需要购买软件和授权。
用OPC实现通信,编程灵活也较简单,调试简单,由于OPC协议是通用协议,得到了许多公司支持,通用性好。但需要购买软件及授权。
用自由口通信实现,通信协议自己制定,灵活性好,扩展了使用范围,不需购买专门软件。但编程复杂, PLC中要编写复杂的程序,使用了大量PLC的资源。VB或Delphi中用MSComm控件对串口进行读写,程序复杂,实时性较差。
5 结束语
以上面给出了6种监控计算机与S7-200系列PLC通信实现方法,它们各有优缺点,适用于不同情况下的监控控制系统。研究证明,以上6种方法对不同要求的系统能较好的实现监控计算机与S7-200系列PLC通信,对工程实践有较高的参考价值
1 前 言
罐区中原油储罐和输油管道所使用的各种控制阀门是石油储运过程中必不可少的现场仪表,其智能化程度的高低、所含信息的多少和对故障的诊断与容错能力直接影响到数据采集与监控系统的可靠性、稳定性和易用性。通常罐区中的控制阀数量众多且分散,普通的控制阀所含信息量少而布线繁多,这在一定程度上使罐区监控系统的设计复杂化。该系统采用英国Rotork 公司的智能电动阀及其主站控制器,大大简化了监控系统的复杂设计,而且借助其丰富的诊断信息和对故障的容错能力,使系统的可靠性得以提高。
2 监控系统的硬件实现
2.1 Rotork 智能阀控制设备
Rotork 智能阀控制设备是一个阀门数据采集、监视与控制系统,它由一台主站控制器和与它相连的现场电动阀组成。主站控制器通过一条两线电流环路可以控制挂于环路上的多达240 个现场控制阀,该电流环路可长达20 km。
现场电动阀的智能化程度较高,其内部含有丰富的数据和诊断信息。但主要的特点是多个智能阀仅通过两线互联成一个环路,终接入主站控制器的只有起始和末端两线,所有阀门信息通过两线通讯进入主站控制器。现场电动阀还具有线路故障屏蔽功能,当环路出现开路、短路或接地故障时,智能阀可以将故障端的线路屏蔽掉,使主站控制器仍能与线路上的所有智能阀通讯而不受影响,同时将故障信息发给主站控制器。其两线屏蔽原理如图2-1所示。
图2—1 故障屏蔽原理
正常操作情况下,通讯电流信号沿环路的一条线从主站控制器的端口A 流出,经该环路从端口B流回。此时,另一条线路是冗余的。当有一处线路发生故障时,该处故障线路被阀门屏蔽,故障线路两边的智能阀可通过各自的环路与主站控制器通讯;当有两处线路发生故障时,这两处故障之间的智能阀都被屏蔽,两处故障之外的智能阀依然可以通过两“臂状”环路与主站控制器通讯。
主站控制器是由主CPU 卡、环路通讯卡、电源、液晶显示器和16 按钮键盘组成的盘装智能仪表。它内部有两个固定的数据库,一个是现场单元数据库,负责接收并记录从两线环路传来的智能阀的地址、转矩、开度等数据,根据从上位机传来的读写命令控制阀门的运动,该数据库从逻辑上划分为4 个区,每个区记录60 个阀门的数据;另一个数据库为主站控制器状态及自诊断数据库,负责记录通讯协议的有关状态并向智能阀发布命令。通过主站控制器的按键和液晶显示器,可以实现读取智能阀的开度、转矩、地址等数据,控制阀门的开闭,接收报警信号及与PLC 通讯等功能。
Pakscan IIE Master Station 是Rotork 主站控制器中的一种,它为双重热备结构,在主控制器出现故障时可以自动切换到热备控制器。图2 —2 为PakscanIIE 主站控制器与现场智能阀通过两线环路相连的情况。
图2—2 两线环路连接图
Pakscan IIE Master Sation 有一个RS - 485 通讯口和一个RS - 232 通讯口,它们可通过Modbus 协议与PLC 通讯。其中RS - 232 通讯口可以不通过PLC直接连接打印机,打印报警信号。
2.2 监控系统结构
图2—3 所示为现场智能电动阀监控系统的结构框图。
图2—3 现场智能电动阀监控系统的结构框图
该系统的控制部分采用美国GE Fanuc 公司的HBR 双重热备型PLC 系统,通过PLC 控制140 个智能阀( IQ actuator) 的开停闭。上位监控站可监视各个智能阀的阀位回信状态、阀位值以及报警信号,并可执行开阀、停阀和关阀操作。
Pakscan IIE 主站控制器与PLC 之间采用Modbus协议通讯,以port 1 的RS - 485 接口连接。正常运行情况下,主PLC 和主控制器工作,从PLC 和热备控制器分别与主PLC 和主控制器保持同步。智能阀将数据传送给主控制器,主PLC 通过RS - 485 接口从主控制器中读取数据,并向其发布命令,主控制器再执行命令,驱动智能阀按命令运转。当主PLC 或主控制器出现故障时,系统能分别自动切换到从PLC 或热备控制器。
由于系统中采用的是Modbus通讯协议,一台PLC 可以连接多台Pakscan IIE 主站控制器,因此,若现场智能阀较多,系统可以很方便地扩展而且连线简单。
3 软件设计
3.1 通讯程序设计
PLC选用Modbus RTU 主通讯模块(master ) 。Pakscan IIE 主站控制器是一个远程终端单元,做为Modbus 从设备( slave ) 。PLC 的CPU 通过ModbusRTU 主通讯模块控制Pakscan IIE 主站控制器的读写,被称为Modbus host 。系统采用单Modbus host 两线通讯方式,该方式多可以连接32 个Pakscan IIE主站控制器。
主通讯模块的程序设计有3 部分内容:初始化通讯模块;读写Modbus/ RTU 数据;监测通讯状态。
通讯模块的初始化工作主要是配置3 个初始化控制块的参数: Slave 控制块( SCB) , 信息控制块(MCB) 和通讯要求参数块(COM- REQ) 。SCB 是一个15 个寄存器长的数据块,功能是定义与其通讯的Slave 的型号、个数、状态等参数,每一个Slave 需要定义一个SCB 块。MCB 是一个6 个寄存器长的数据块,功能是定义Master 要求每个Slave 执行的命令信息,包括命令类型、RTU 引用地址偏移、PLC 引用地址偏移、主机号等参数,每一种命令需要定义一个MCB 块。COM- REQ 是一个17 个寄存器长的数据块,功能是定义通讯方式、端口控制字及监测SCB和MCB 的状态参数等, 每一端口需要定义一个COM- REQ 块。所有这些初始化参数在PLC 上电或冷启动初始化的个扫描周期内加载到RTU 主通讯模块,此后RTU 主通讯模块负责与Pakscan IIE主站控制器通讯,而PLC 则与RTU 主通讯模块交换数据。
读写Modbus/ RTU 数据和监测通讯状态的编程相对简单,只要读写初始化时定义的相应的PLC 参数地址即可。
3.2 监控软件设计
上位监控站可以准确的监测和控制储运过程的所有信息和设备。通过编程、组态、连接,形象地反映实际工艺流程、显示动态数据,设置PID 控制参数以及过程参数,并可以查看历史趋势、报警历史报表等。
Rotork 的现场电动阀配置在流程的输油管线上,通过按钮可以人工启动、停止和关闭任一个阀门,并显示任意时刻的阀门状态和阀位值。设计良好的人机界面使操作简便、直观。
4 结束语
Rotork 的智能阀控制设备与PLC 的结合使得罐区储运监控系统布线简洁、控制方便,PLC 的冗余以及Pakscan IIE 主站控制器的双热备保证了系统的高可靠性,也提高了控制系统的自动化程度。该系统已投入工业现场使用,效果良好。