西门子模块6ES7216-2AD23-0XB8使用选型
1 前言
随着计算机和控制技术的飞速发展,厂矿采用上位机和PLC集中监控已越来越普遍,技术也越来越先进。本文以河北单侯煤矿井上胶带机集控系统为例,研究开发了一种基于PLC的煤矿井上胶带机监控系统,适合于当前工业企业对自动化的需要,目前实际投入运行,取得了很好的效果。
2 系统设计
2.1系统概况
单候矿井隶属于河北开滦矿业集团,位于河北省张家口市蔚县涌泉庄乡境内北方城村附近,是张市矿区中心地带,矿井地质储量313.74Mt,矿井可采储量177.08Mt,设计能力150万吨/年,矿井服务年限81.4,于2006年10月正式投产。
单候煤矿井上胶带机集控系统(见图1)可分为两部分:1,筛分车间系统;2,储煤及装车系统。
其中,筛分车间系统包括图示的主井至筛分车间胶带输送机、矸石转载胶带输送机、矸石输送胶带机以及筛分车间内部所包含的六条拣矸胶带输送机、三条刮板机等设备;其余胶带输送机均属于储煤及装车系统。
在设计上,要求该系统能够实现就地控制与集中控制两种控制模式,集中控制可以分为联锁控制和单机控制等多种控制模式,可以供操作者根据现场实际情况灵活选用,确保在系统正常运行时操作灵活、易于维护,在系统出现故障或通讯中断时本地可以就地控制确保皮带设备的正常运行,提高了系统的稳定性。
2.2系统硬件部分
整个系统从上往下可以分为两层:集中控制管理层和就地控制管理层。集中控制管理层由两台上位机和一台交换机组成。在系统运行中,两台上位机互为冗余,并通过交换机直接与现场设备互联,从而实现对现场设备的监控。
图1 系统结构图
就地控制管理层由PLC,交换机和胶带保护装置组成。PLC是整个控制系统的核心,在本系统中,采用了西门子公司的S7-300。由于在实际中,储煤子系统和筛分子系统有相互的闭锁关系,因此,可将筛分子系统和储煤子系统构建一个DP网络(系统的通信原理图见图2)。所以,本系统PLC均采用 CPU315-2DP,在组网时,筛分子系统作为master站,储煤子系统作为slave站,并在筛分子系统PLC柜中增加以太网模块CP341,使得上位机通过交换机可以与现场级设备互连,从而实现集中控制。此外,胶带运输机沿线安装了跑偏、堆煤、拉线开关等多种保护装置,以便胶带运输机运行出现故障时,系统可以快速地作出反应。
图2 系统通信原理图
2.3系统软件部分
本系统的软件部分主要由两部分组成:上位机的组态监控软件和现场PLC的编程软件。
图3系统软件运行界面图
上位机的编程软件选用了Inbbblution的IFIX3.5,它具有以下特点。
a.实时库显示:实时显示系统内所有实时点;
b.实时遥控:选中画面上的控制开关,实时下发遥控命令;
c.实时和历史曲线:可设定显示系统内所有记录的遥测点;
d.实时和历史报警:报警分为重报警,中报警,轻报警;
e.事件和报警记录查询:可按天查询事件和报警日志;
f.事件和报警实时打印:有报警事件发生时,事件打印机实时打印。
上位机监控软件采用OPC方式与现场的PLC进行通信,可以方便灵活地获取现场机电设备及其保护设备的遥测遥信信息,实现远程控制。上位机的组态软件界面见图3。
现场PLC的编程软件采用西门子公司的Step7,当PLC处于“RUN”工作模式下时,除上电初始化外,其它程序都采取周而复始的循环扫描方式,称之为“PLC的扫描工作方式”,其执行流程如图4所示。
3 系统关键技术
3.1系统有关通信程序的设计
本系统主PLC控制柜(筛分子系统PLC控制柜)安装在现场的低压配电室内,由于与调度中心相距较远,而现场电磁干扰又比较严重,为此,特采用以太网与光纤传输技术实现SIMATIC s7—300 PLC与上位机人机界面的通信。在主PLC柜中配备了以太网模块CP341以及以太网转光纤的交换机。
为了正确地传送和接收信息,必须有一套关于信息传输顺序、信息格式和信息内容等的约定,这一套约定称为规约或协议。本系统在进行通信程序设计时,采用模块化编程的设计思想,把程序分成若干程序块,各程序块分别含有一些设备和任务的程序指令,每个功能区被分成不同的块进行编程,有利于多人同时编程,也有利于程序调试和故障的查找。系统中PLC需处理多种通信协议,单独编制每种协议的处理程序,分别放在不同的功能模块(FC)中。在PLC的主程序块OB1 中,通过调用语句,可依次执行这些协议的处理程序,实现与这些综保装置或智能仪表进行通信的目的。
3.2 DP网络的配置
基于筛分子系统和储煤子系统之间存在着闭锁关系,因此可将筛分子系统和储煤子系统组态成为一个DP网络。这样使得系统的逻辑关系更加清晰,同时系统具有了很好的扩展性,也在经济上节约了成本。
图4 系统流程图
关于DP网络的配置,可参考西门子公司的有关手册。尤其应该注意以下几点。
a.进行主从站配置时,应该首先配置从站,然后再配置主站;
b.在组态Hardware时,主站和从站的Consistency均需要设置为All;
c.编程时,主站的OB1中必须有OB1、OB82、OB86、OB100、OB121;
d.由于在系统运行时,上位机会对PLC进行读和写操作,因此在主站和从站的程序块中还都要添加SFC14和SFC15功能块。
3.3现场设备的闭锁控制
为了弥补现场设备防误功能的缺陷,保障安全生产,应该对现场所有设备进行闭锁控制。
本系统既有机械闭锁,又有逻辑闭锁,达到了“逆煤流依次启动设备,顺煤流依次停止设备”的要求。具体做法:机械闭锁:将逻辑上先启动设备的运行返回信号的常闭点串入后启动设备的二次控制回路中;逻辑闭锁:如流程图所示,将设备的运行返回信号作为执行下一条程序的先决条件。
4 结语
(1)通过利用大中型PLC(如西门子S7-300)可以与多种智能电子设备进行通信,方便地实现了现场设备的监控。
(2)该系统自2006年10月运行以来,维护量大大降低,大部分故障能够在电脑显示器上直接显示,减少了故障查找环节。系统操作简单,维护方便,提高系统安全性,降低运行费用,大大减少故障时间,提高经济效益。
本文作者创新点:
1. 本文系统地阐述了以PLC为控制核心,构建一个集控系统的方法,基于该方案的控制系统与原系统相比在性能和自动化程度上都得到大幅度提升,对相近系统有重要的参考价值。
2. 对于集控系统中子系统的处理,通常做法是给各个子系统均配置以太网通信模块,然后将每个子系统作为节点,组成环形网络。在本系统中,将逻辑上有闭锁关系的多个子系统视作网络中的一个节点,减少了以太网通信模块,节约了成本。对于同一节点下的多个子系统则采用级联的方式配置成DP网络,大大减轻了网络的负担。
3. 本文给出了配置DP网络的详细方法和注意事项。在PLC程序设计中,本系统采用功能块化的方法,有利于系统的维护和升级。
引言
工业自动化通用组态软件-组态王软件系统与终工程人员使用的具体的PLC或现场部件无关。对于不同的硬件设施,只需为组态王配置相应的通讯驱动程序即可。组态王支持的硬件设备包括:可编程控制器(PLC)、智能模块、板卡、智能仪表、变频器等等。
PLC以zhuoyue的可靠性和方便的可编程性广泛应用于工业控制领域[1]。实现PC机和PLC通讯的目的是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表显示、窗口技术等多种功能,为PLC提供良好的人机界面。
本工程采用西门子公司的S7-200系列的可编程控制器[2],及上位工控机组成控制系统。上位机监控软件采用北京亚控科技发展有限公司的6.5“组态王”组态软件,实现对转辙机测试台的过程监控及数据处理。
2 系统简介
转辙机是铁路上常见的用于控制火车前进方向的设备。转辙机活动杆的伸出或者缩回决定火车不同的前进方向。
转辙机实时监控系统以组态王为主要运行画面,首先在组态王界面上对被监控系统的参数进行设置,然后起动被测的转辙机测试台,在组态王的界面上可以动态显示下位机的运行状态以及完成对多种电动直流转辙机各项电器性能指标的测试,如工作电流、工作电压、摩擦电流(故障电流)、转换力及转换时间(动作时间)等。由于组态王只提供这类西门子可编程控制器PLC的驱动程序,没有提供其通讯协议,因此,在功能并不很强大的组态王内部直接开发可编程控制器PLC的通讯协议是有较大难度的。一般采用的方法是:利用Visual Basic提供的串行通讯功能[3]、[4],实现与可编程控制器PLC之间的通讯,再利用 VB的DDE功能完成组态王与Visual Basic之间的动态数据交换。这样就把从可编程控制器PLC采集到的外部信号通过Visual Basic 间接动态的显示在组态王界面上。其系统结构如图1所示。
3 VB与可编程控制器PLC之间串行通讯的实现
带异步通讯适配器的PC机与PLC只有满足如下条件,才能互联通信[5]:带有异步通讯接口的PLC才能与带异步通讯适配器的PC机互联;双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联;双方的初始化、波特率、数据位数、停止位数、奇偶效验都相同。只有在对PLC的通讯协议分析清楚的情况下,严格的按照协议的规定及帧格式来编写PC机的通讯程序。PLC中配有通讯机制,一般不需要用户编程。
PC机与西门子系列PLC不能直接连接,要通过一条PC/PPI电缆进行RS232/RS485的变换,图2表示了它们之间的连接关系。
3.1可编程控制器PLC的通讯协议
设定可编程控制器PLC的通讯协议是通过对其自由端口的初始化来完成的。在自由端口模式下,通讯协议完全由梯形图控制。只有CPU处于RUN模式时,才能进行自由端口通讯。SMB30(用于端口0)和SMB31(用于端口1)用于选择波特率、奇偶校验和数据位数。自由端口的控制字节描述如下:
BBB 自由口波特率
000= 38400波特 100= 2400波特
001= 19200波特 101= 1200波特
010= 9600波特 110= 600波特
011= 4800波特 111= 300波特
PP 奇偶选择 MM 协议选择
00= 无奇偶校验 00= 点到点协议(PPI/从站模式)
01= 偶校验 01= 自由口协议
10= 无奇偶校验 10= PPI/主站模式
D 每个字符的数据位
0= 每个字符8位 1= 每个字符7位
这里选择的是SMB30(用于端口0),设置的字节为9(0 0001 001H),即:该协议为自由口协议,自由口波特率为9600,无奇偶校验,每个字符的数据位为8位。
发送 发送指令(XMT)激活发送数据缓冲区(TBL)中的数据。数据缓冲区的个数据指明了要发送的字节数。PORT指定了用于发送的端口。
XMT指令发送一个或多个字符,多有255个字节的缓冲区。如果有一个中断程序连接到发送结束事件上,在发完缓冲区中的后一个字符时,则会产生一个中断 (对端口0为中断事件9,对端口1为中断事件26)。XMT指令可以监视发送完成状态位SM4.5或SM4.6的变化,而不是用中断进行发送。
接收 接收指令(RCV)激活初始化或结束接收信息的服务。通过指定端口(PORT)接收的信息存储于数据缓冲区(TBL)。数据缓冲区的个数据指明了接收的字节数。RCV指令接收一个或多个字符,多有255个字符,这些字符存储在缓冲区中。如果有一个中断程序连接到接收完成事件上,在接收到缓冲区中的后一个字符时,则会产生一个中断(对端口0为中断事件23,对端口1为中断事件24)。可以监视SMB86或SMB186状态的变化,而不是用中断进行信息接收。
本程序展示了接收和发送的使用,它将接收一串字符,直到接收到回车符,信息又发回到发送方。
MAIN:
LD SM0.1
MOVB 16#9, SMB30 //选择9600波特率,8位数据,无校验
MOVB 16#B0, SMB87 //初始化RCV信息控制信息
MOVB 16#0A, SMB89 //设定信息结束为回车符
MOVW 5, SMW90 //设置空闲超时为5ms
MOVB 100, SMB94 //大字符数为100
ATCH 0, 23 //接收完成事件连接到中断
ATCH 1, 9 //发送完成事件连接到中断
ENI //允许中断
RCV VB100, 0 //接收信箱缓冲区指向VB100
INT_0: INT_1:
LDB= SMB86, 16#20 LD SM0.0
MOVB 10, SMB34 DTCH 10
ATCH 2, 10 XMT VB100, 0
CRETI INT_2:
NOT LD SM0.0
RCV VB100, 0 RCV VB100, 0
3.2 VB的通讯协议
在VB中MSComm控件可以采用轮询或事件驱动的方法从端口获取数据[6]。这里采用的是事件驱动的方法。这种方法就是在一个事件发生的时候,让程序自动的跳到一段程序。该控件的Oncomm事件执行这个功能。Oncomm程序负责对诸如在串口的硬件中断或者一个软件缓存的计数器到达了一个触发值这样的事件时做出反应。
在VB中放置一个TextBox控件。通过设定其Settings、CommPort、bbbbbMode、Handshaking、 PortOpen属性来实现设定VB的通讯协议。这里设定Settings属性为:9600,n,8,1,即:该协议的自由口波特率为9600,无奇偶校验,每个字符的数据位为8位。
4 VB与组态王软件数据交换的实现
VB与“组态王”之间通讯的实现主要是通过“组态王”提供的动态数据交换(DDE)来完成的。DDE是bbbbbbs平台上的一个完整的通信协议,它使应用程序能彼此交换数据和发送指令。DDE过程可以比喻成两个人的对话。提问的一方称为“顾客”(Client),回答的一方称为“服务器” (Server)。一个应用程序可以同时是“顾客”和“服务器”:当它向其他程序中请求数据时,它充当的是“顾客”;若有其他程序需要它提供数据,它又成了“服务器”。这里的关键是要实现的是“组态王”作为顾客程序从VB得到数据。
使VB成为“服务器”很简单,只需在“组态王”中设置服务器程序的三个标识名(应用程序名、主题名、项目名),并把VB应用程序中提供数据的窗体的 bbbbMode属性设置为1,不必在VB中增加任何程序。值得注意的是,将VB的bbbbTopic的属性,设定成和在组态王中定义DDE设备时的“话题名”一样;在组态王定义要显示出指定的VB可执行文件中指定的TextBox控件的值。
5 结束语
当系统开始运行前,要求首先运行VB的可执行文件作为后台运行程序,然后才能运行组态王系统。当可编程控制器PLC发送数据的时候,由VB接受到此数据,再通过组态王提供的DDE功能,将该数据显示到组态王界面上。这样,就把从可编程控制器PLC采集到的外部信号通过VB间接动态的显示在组态王界面上。
该方法实现了组态王对西门子系列PLC的实时监控。经过测试可知,系统的实时响应速度能达到ms级,并且这种实现系统实时监控的方法可移植性强,对于监控其他类型的可编程控制器PLC或单片机也适用。