西门子6ES7222-1HD22-0XA0规格说明
1 引言
现代工业控制系统通常以PC机为上位机,通过与现场工控设备如PLC的数据交换与处理,实现对生产过程的自动控制。对于小型控制系统,采用专门的组态软件成本太高,用VB设计监控系统则可以降低成本,但要解决上位机与PLC之间通信问题。以往使用较多的进程间通信方式是DDE(动态数据交换)方式,随着OPC技术的发展和普及,它已成为工业过程控制的通信标准。OPC服务器有两类接口,其中自动化接口主要用于VB、Delphi等开发工具。本文利用罗克韦尔公司提供的OPC接口,用VB编写了客户端应用程序,实现了上位机与AB可编程控制器之间的数据交换。
2 OPC技术简介
OPC(OLE for ProcessControl—用于过程控制的对象连接与嵌入)是一套以微软对象连接与嵌入OLE、组件对象模型COM、分布式组件对象模型DCOM(DistributedCOM)技术为基础,基于bbbbbbs操作平台,为工业应用程序之间提供高效的信息集成和交互功能的组件对象模型接口标准。OPC实际上是提供了一种机制,通过这种机制,系统能够以服务器/客户端标准方式从服务器获取数据并将其传递给任何客户应用程序。这样,只要生产商开发一套遵循OPC规范的服务器与数据进行通信,其他任何客户应用程序便能通过服务器访问设备。
OPC服务器有两类接口:定制接口和自动化接口。定制接口为C++程序服务,自动化接口为VB这一类可使用自动化对象的程序服务。定制接口是服务商必须提供的,而自动化接口则是可选的,OPC基金会提供了一个叫做“自动化包装器”的动态连接库,用于在两者间转换。
OPC数据存取规范规定的基本对象有三类:服务器(server)、组(group)和数据项(item)。服务器对象包含服务器的所有信息,也是组对象的容器,一个服务器对应于一个OPCserver,即一种设备的驱动程序。组对象除了包含它自身信息外,还负责管理数据项。每一个数据项代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对数据项直接进行操作,应用程序必须依靠数据项的容器组对象来对它进行操作。
3 通信实现
3.1 RSLinx的配置
RSLinx是AB可编程控制器在bbbbbbs环境下建立工厂所用通信方案的工具,它不仅提供了多种网络驱动程序,提供了快速的OPC、DDE和CustomC/C++接口。本设计中上位机与Logix5550控制器采用RS-232串口方式连接,在RSLinx中要对DF1网络驱动程序组态,设置串口特性:COM1、波特率19200bps、一个停止位、无奇偶校验、全双工、BCC校验码。要使用RSLinx的OPC接口作为服务器,还要在RSLinx中对OPC进行配置。
3.2 安装OPC自动化接口服务
若要用VB开发OPC应用程序,必须安装OPC自动化接口服务,保证计算机系统目录下有OPCDAAuto.dll。OPC基金会提供了一个叫做“自动化包装器”的动态连接库,从OPC基金会的网站(www.opcfoundation.org)可下载。在VB环境中,按“工程”的子菜单“引用…”后,弹出对话框,选择其中的“RSLinxOPC Automation 2.0”项,这样才能使用自动化接口。
3.3 程序设计
用VB编写了OPC客户端应用程序,实现了上位机与Logix5550控制器之间的通信。主要程序代码如下:
(1) 连接OPC服务器
Dim WithEvents MyOPCServer AsOPCServer ‘定义服务器对象变量MyOPCServer
Dim WithEvents MyOPCGroup As OPCGroup ‘定义OPC组对象变量MyOPCGroup
Set MyOPCServer = New OPCServer
MyOPCServer.Connect "RSLinx OPC Server" ‘连接RSLinx 的OPC服务器
(2) 添加OPC组对象
SetMyOPCGroup=MyOPCServer.OPCGroups.Add("Group1")
‘添加OPC组对象MyOPCGroup.IsSubscribed= True
[NextPage]
‘设置该组数据为后台刷新
MyOPCGroup.IsActive = True
‘设置该组为激活状态
MyOPCGroup.UpdateRate=1000
‘设置数据刷新时间为1000
(3) 添加数据项
Dim abItemIDs() As bbbbbb
‘项标识符
Dim abClientHandles() As Long
‘客户端句柄
Dim abServerHandles() As Long
‘服务器端句柄
Dim abErrors() As Long
Dim I As Long
ItemCount=5
Dim oOPCItem As RSLinxOPCAutomation.OPCItem
For I = 1 To 5
abItemIDs(i) = "[" & txtTopic & "]" & txtItem(i) ‘将Topic名和标签名赋给项标识符
abClientHandles(i) = i
‘给客户端句柄赋值
Next i
MyOPCGroup.OPCItems.AddItems ItemCount, abItemIDs, abClientHandles,abServerHandles, abErrors
‘添加数据项操作
(4) 同步数据读写
OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。
Dim One As OPCItem
Dim Index As Long
‘Index为标签顺序号
Dim OneRead As bbbbbb
Dim Xie As bbbbbb
Set One = MyOPCGroup.OPCItems(Index)
One.Read OPCCache
OneRead = One.Value
[NextPage]
‘读数据
One.Write (Xie)
‘写数据
若只读取数据,可以使用DataChange事件,当控制器中所要访问的数据一旦发生改变时将会触发该事件,并将该数据自动读到TxtValue文本框。
Private Sub MyOPCGroup_DataChange(ByVal TransbbbbbbID As Long,ByVal NumItems As Long, ClientHandles() As Long, ItemValues() AsVariant, Qualities() As Long, TimeStamps() As Date)
‘自动刷新数据
Dim I As Long
For I = 1 To NumItems
txtValue(ClientHandles(i)) =ItemValues(i)
‘获取项的值
txtTime(ClientHandles(i)) =TimeStamps(i)
‘获取项的时间戳
txtQuantity(ClientHandles(i))=GetQualitybbbbbb(Qualities(i))
‘获取项的品质
Next i
End Sub
(5) 断开OPC服务器
MyOPCServer.OPCGroups.RemoveAll
‘移除所有OPC Group,空出资源
Set MyOPCGroup = Nothing
MyOPCServer.Disconnect
‘断开连接
4 结束语
利用本文介绍的方法,在实验室实现了上位机和PLC之间的通信,图1是OPC客户端设置界面。我们还设计了城市供水监控系统,鉴于篇幅,监控界面不再一一列出。
图1 OPC客户端设置界面
1 引言
炉外精炼是在一次熔炼炉(转炉、电炉等)外进行的冶炼过程,进行温度调整、脱气、去除夹杂物及有害杂质、调整成分等。RH真空处理是炉外精炼中的一种重要流程和设备,它是由德国鲁尔(Ruhrstahl)公司和海罗尔斯(Heraeus)公司共同设计的,故名RH法。如图1所示,下部设有两根环流管的脱气室,脱气处理时,将环流管插入钢水,靠脱气室抽真空的压差使钢水由管子进入脱气室。从两根管子之一(上升管)吹入驱动气体(通常为氩气),利用气泡泵原理抽引钢水通过脱气室和下降管产生循环运动,并在脱气室内脱除气体。由于RH法的特点及优越性,其技术不断扩展,伸展而为RH-KTB(KTB意为川崎钢铁公司顶吹氧)、RH-OB(带升温的循环真空脱气处理)、RH-PB(循环真空脱气-喷粉处理)等。
图1 RH-OB设备示意图
太原钢铁公司是国内以生产不锈钢、硅钢为主的特殊钢企业,它从德国曼内斯曼德马克-麦索公司引进8Ot-RH真空处理装置,投产后,巳精炼出[C]<30x10-6的钢种,使用效果良好。
太钢RH真空处理装置的特点是:
(1) 真空室采用双室平移交替式,钢包采用钢包车运送和液压顶升方式;
(2)设有贮料能力大、数量足够的高位料仓,以满足多钢种的要求和今后发展。铁合金称量和加料系统设有精调与细调,以确保合金化的精度和速度;
(3) 采用大抽气能力的蒸汽喷射真空泵,装备有真空度自动控制系统和高压水清洗装置;
(4) 采用地下皮带运输机和垂直皮带运输机相结合的方式把铁合金由地面运送到高位贮料仓,占地面积少;
(5) 预留RH顶吹氧枪位置,在未装氧枪前,装备真空室煤气加热系统和石墨棒直流电加热系统,以tigao内衬温度并防止内衬结瘤;
(6) 装备包括全自动喷补机、真空室部件更换和维修设备,以缩短辅助作业时间;
(7) 设有铁合金上料及称量时的收尘装置。
2 自动化系统配置及其功能
2.1 系统配置
太钢80tRH真空处理装置自动化系统配置如图2所示,仪表、电气一体化。系统中采用而西门子公司的S5-155U型PLC执行测量、控制与监控等功能,其控制范围包括钢包顶升系统、真空泵系统、铁合金上料与加料及称量系统、测温与取样及定氧系统、真空室煤气加热系统、真空室插入管吹氩及吹氮系统、设备冷却水系统、真空室底部及插入管烘烤系统、能源及水处理系统等。
图2 太钢80t-RH真空处理装置自动化系统配置
系统配备的主要检测仪表有引进仪表和国内配套仪表。引进仪表包括钢水测温、定碳、定氧装置,真空烧嘴自动点火器,ABB公司的麦氏真空计,荷兰飞利浦公司的PR62系列电子秤和P01581型配料控制器等,国内配套仪表包括ST-100系列智能式压力变送器和差压变送器,K300系列电磁liuliang计,LDK系列电磁liuliang开关,超声波料位计(测量料仓料位)和电容式料位计(测量水位)。
[NextPage]
2.2 主要控制功能
(1)数据采集。采集的数据包括钢包顶升系统的钢包钢水重量称量;真空室系统的耐火材料内衬温度;真空泵系统的冷凝器冷却水liuliang、压力和温度,蒸汽总管liuliang、压力和温度,蒸汽喷射泵的蒸汽压力,废气liuliang、压力和温度,真空室真空度等;铁合金系统的各料仓料位,0.5m3和2.7m3真空料罐真空度;真空室煤气加热系统的主烧嘴煤气、氧气、空气的liuliang和压力,点火烧嘴煤气及压缩空气压力,真空室加热温度,排气烟罩内压力;钢水测温定氧系统的钢水温度和氧含量;真空室插入管吹氩吹氮系统的氩/氮支管liuliang和压力;设备冷却水系统的各冷却点的冷却水liuliang、压力和温度;真空室底和插入管煤气烘烤系统的煤气和空气的liuliang、压力;真空处理水系统的净循环水水位、温度、压力和liuliang;能源介质系统的压缩空气、氧气、氩气、氮气、焦炉煤气、水等总管liuliang、压力等。
(2)数据处理。对所采集的数据进行处理和存储,以供控制、显示和打印之用。主要处理包括差压liuliang的开方、温度和压力补正等运算,消耗量按小时、班,日及年的累计计算等。
(3)自动控制。包括主真空阀后真空度控制,真空室加热温度及空燃比控制,排废气烟罩内压力控制,插入管氩气liuliang控制,铁合金称重控制,氧、氩、氮气以及焦炉煤气等总管压力控制,真空室底部烘烤加热温度控制以及各系统的电力传动顺序控制和设备的起停等。
(4) 画面显示。在CRT上显示工艺流程画面、操作画面、参数趋势曲线等。
(5) 数据记录。包括班报、日报、月报、报警记录以及合金投人量等报表。
3 系统应用软件
[NextPage]
本系统应用软件的特点是单元化和集成化,即将RH设备分成多个系统,每个系统又分成多个单元环节,使用时将它们集成就可组成一个完整的系统,类似于DCS的单元功能模块,通过组态而成系统。这样一来,使电力传动系统设计简化,便于找错,也便于移植。
太钢RH设备共有18个子系统,其中与RH真空处理关系较大的有10个子系统,如运包车控制,钢包回转传动装置控制,钢包小车tisheng系统的控制,真空系统控制,加料系统控制,称重系统控制,合金系统控制,顶枪系统控制等,每个子系统又有许多分环节(即动作),每个动作又有连锁条件,并做成逻辑图,使用时联接即可。
现以顶枪系统控制作为例子,从表1可以看出顶枪系统有许多分环节(即动作),如果我们要组成“事故时要求升顶枪”和“顶枪快速tisheng”,可查相应连锁条件(表2)及其逻辑图,由此得出图3和图4的事故时要求tisheng顶枪的逻辑图和顶枪快速tisheng逻辑图,用以实现RH装置的分小区“连动”、“局部自动”和连锁以及安全自动控制。
[NextPage]
图3 事故时要求tisheng顶枪的逻辑图
图4 顶枪快速tisheng逻辑图
4 现场使用结果
本系统投产后,经多年多的运行和不断改进,效果良好,系统可靠,方便维护,满足生产要求
对刚走出校园从事工作时间不长的技术人员热衷于PLC解密,想学习别人程序的编程方法尚可理解,而对一些从事自动化工作多年的人还是痴迷于PLC解密,以偷去别人的程序作为自己技术水平资本的就感到非常的困惑。
我在自动化方面工作多年,已设计了大大小小的工程,编制了不少PLC程序,可至今没有看懂一个别人的程序。不是本人的智能低下,只是实在太累,看不透。
我曾经设计一个龙门刨床的项目,采用三菱F1 40MRPLC,编写了一个程序,一名维护的技术人员不是很好的了解龙门刨床的设备工艺,而是痴迷于了解我的程序,我告诉他,你应该好好的了解设备的状况和工艺,熟悉电气图纸,发现设备的运行状况中哪些方面还没有满足工艺的要求(也就是程序的不足),自己编写一个,无从下手时看看资料或者问问我,我保证他三、四个月彻底了解PLC,贵在实践。到那时,废掉我的程序。而他却热衷于了解我的程序的每一步,问来问去已达四年多,至今未能掌握,面对设备、面对PLC仍然茫然无从下手,四年意味着一个大学毕业,意味着一个研究生,甚至一个博士。而他连一个小小的PLC都没毕业。而F系列PLC早已淘汰的快无影无踪了。如果仅从了解别人的程序而热衷于PLC解密,这个实例,已经告诉你,你已走进误区,成为一些商家和一些网站的靶子。
何谓PLC程序,是你设计工程项目的工艺而已,有工艺要求才可能有程序,程序只是设备工艺的具体反应,了解了工艺要求也就等于了解了程序。编程是个规则,要你用这个规则把设备工艺写出来,你重要是了解设备的工艺和具体使用PLC品牌的功能。当你充分了解了设备工艺,设计完电气图纸,你的设计任务可以说基本完成了,剩下的就是看看PLC编程规则,把程序写出来,把工艺写出来。
记住!贵在实践!我在上学时,PLC功课是满分,对梯形图、语句非常了解,也在课本上看过很多程序,可我当次面对设计时,却不知道如何下手,当把我的程序(问题很多)输进去并执行时,也就短短的一两天,我的感觉是PLC如此,海阔天空的感觉,没有不会的,只有不做的。
我的一个朋友告诉我,他在工厂里,一些设备被一些早进厂的人把持着,PLC加了密,也不让看程序(程序也不是他们编的),以此压着他们,想让他们水平超他们,我告诉他,他们是个永远长不大的丑陋小人(现在国有企业比比皆是),莫做他们的继承者,也不要学他们的德性,这种人是脆弱、是没水平的,好好了解一下工艺,了解一下设备的运行状况。自己编一编,不懂问问学学,这才是他们怕的。
从设备维护的角度,PLC是该加密的。我们不能为了解一个程序,而去解密。条条大路通北京,你自己的路可能是捷径的。