但斌斌,肖林伟,陈奎生,熊 凌,容芷君
(1.武汉科技大学 机械自动化学院,武汉 430081;2.武汉科技大学 信息科学与工程学院,武汉 430081)
铁水脱硫是炼钢生产过程的重要环节,目前应用较多的有机械搅拌法和喷镁脱硫法等,其中机械搅拌法(KR脱硫)具有较容易实现深脱硫,及设备费用较低、处理能力较强等优点,目前已广泛应用于各大钢厂[1~4]。铁水KR脱硫是一个复杂的过程,人工参与的因素较多,自动化程度较低。基于此,研究自动脱硫控制系统,实现脱硫过程的标准化、自动化有着十分重要的意义。
铁水KR脱硫自动控制系统,通过采用西门子PRODAVE MPI/IE V6.0模块(下文提及Prodave均指此版本),解决了上位机控制软件与PLC的通讯问题,进而实现了对整个脱硫过程的自动控制;上位机软件采用高级语言(c#、c++)编写,主要用于对脱硫过程的监控,及实现报警提示、报表输出等功能;PLC端则负责具体动作的执行、设备状态信息的反馈等。
KR脱硫自动控制就是在已知铁水成分和目标硫的要求下,自动计算出需要的脱硫剂量、搅拌时间及搅拌转速,然后自动备料、自动下料及自动搅拌,在尽可能少的人工干预下,完成脱硫作业。脱硫主要设备如图1所示。
图1 脱硫主要设备示意图
一个完整的自动脱硫过程如图2所示。
图2 自动脱硫流程图
作为一套完整的自动控制系统,它不仅要求能对整个脱硫作业进行正确的控制,还要求能够正确处理一些异常情况,如铁水在搅拌前其前硫已符合目标硫要求,则提示操作人员无需进行脱硫作业;同时还要求能实时查看每个流程对应的设备状态信息,只有在工艺条件(脱硫参数)和设备条件(设备状态)都达到要求时才能进行自动脱硫。在进行脱硫作业过程中,系统还需实时显示当前的一些状态数据,如当前实际搅拌速度等,同时在操作过程中和操作结束后能查看当前罐和前一罐铁水的脱硫信息。系统还需设定若干范围值,如搅拌头最大下降深度等,防止人工误操作。最后,还需将这些脱硫工艺信息和设备信息都存入后台数据库。
PRODAVE MPI/IE V6.0模块是西门子提供的用于PC与西门子PLC通过工业以太网通信的软件工具包,通过该工具包可以读取和写入PLC中的数据,这为利用高级语言开发控制系统提供了便利[5,6]。
1)设置PG/PC接口
图3 设置PG/PC接口
打开控制面板,双击“设置PG/PC接口”图标,弹出如图3所示界面,在上述界面中选择TCP/IP对应的网卡,然后点击确定按钮。
2)编码实现[5]
unsigned short ConNr = 0;//设置连接号,不同设备连接至同一PLC时需设置不同连接号
char AccessPoint[] = {"S7ONLINE"}; //连接参数中的一个,通过以太网连接此参数不需更改
CON_TABLE_TYPE ConTable[MAX_CONNECTION+1] = {0};
CON_TABLE_TYPE * pConTable = ConTable;
unsigned short ConTableLen = sizeof(ConTable);
// 开始设置连接到的PLC的IP,本机必须与PLC在同一网段
pConTable[ConNo].Adr.Ip[0] = 192;
pConTable[ConNo].Adr.Ip[1] = 168;
pConTable[ConNo].Adr.Ip[2] = 0;
pConTable[ConNo].Adr.Ip[3] = 1;
pConTable[ConNo].AdrType = 2; // 通过以太网连接时此参数设置为2
pConTable[ConNo].SlotNr = 2; // PLC中CPU所在槽号
pConTable[ConNo].RackNr = 0; // PLC中CPU所在架号
LoadConnection_ex6 (ConNr, &AccessPoint,ConTableLen,pConTable);
SetPassword_ex6(ConNo, pwd); //如果PLC有写保护,需要设置密码
SetActiveConnection_ex6 (ConNr); //激活连接,为读写数据做准备
//读取DB1.DBB0
unsigned long amount = 1; //设定的读取长度
unsigned char pReadBuffer[1];//读取内容缓存,DB1.DBB0中的值读取至此
unsigned long pDatLen[1]; //实际的读取长度
db_read_ex6 (1, 0x02, 0, &amount, 1,pReadBuffer, pDatLen); //读取函数
UnloadConnection_ex6(ConNr); //关闭连接
1)对时间类型的传送封装
时间类型是PLC中使用较广泛的一种数据类型,在高级语言中并无与之对应的数据结构,特别是S5Time类型,使用它时要注意时基的选择,因此需要设计一种新的数据结构来处理它们。
struct PlcTime
{
bool is_negative;//TIME
u_short day; //TIME
u_short hour;
u_short minute;
u_short second;
u_short millisecond;
};
以上结构体可供传送S5Time、TIME和TIME_OF_DAY类型使用,当需要传送时间类型时,先初始化一个PlcTime,然后赋值,再将其传递给相应的接口函数。
2)对数据块Bit位访问封装
在Prodave中没有对数据块Bit位的访问函数,但在实际应用中常常需要对它进行操作。读取时,先读出该Bit所在字节,然后检查所在位可以得到其值;写入时,先读取字节,然后更改对应位,再写入字节,整个操作过程需要使用临界区来确保操作的原子性。
//对数据块Bit位的读取操作
int PlcAccess::Plc_Read_DataBlock_Bool(u_short BlkNr,u_short StartNr, u_short BitNr, bool*pReadBuffer, u_long *pDatLen)
{
DataUnit unit = unitBYTE; //按byte取数据
u_long amount = 1;
UCHAR chr = 0;
//读取一个byte
RetValue = Prodave_db_read_ex6(BlkNr,unit,StartNr, &amount, 1, &chr,pDatLen);
*pReadBuffer = (bool)((chr >> BitNr) & 1 ); //获取对应的bit位
return RetValue;
}
3)对数据块中连续地址数据读取封装
在读取PLC数据时,特别是读取数据块时,一些数据往往是连续存放的,如果逐个读取可能会影响效率,这时可以把这些数据看成一个整体按字节读取,然后对读取的内容按各个数据的类型分割而得到各个具体值。
本系统需要采集脱硫工艺参数则要求能访问铁水成分数据库,同时还要通过工业以太网连接到PLC,其网络连接如图4所示。
图4 系统网络连接图
自动脱硫系统终端机采用双网卡机器,其中一张网卡连接至生产信息系统网络中,主要用于读取铁水成分和将脱硫生产数据实时发送至后端脱硫数据库中;另一张网卡通过工业以太网连接至PLC,用于与PLC进行数据通讯进而控制脱硫作业。PLC上则连接着脱硫本体设备上的各种传感器和执行机构,用于操作具体的脱硫作业。
大部分的实际控制程序都位于下位机中,在下位机程序中将各种需求封装成功能及功能块,然后通过指定数据块中的信息控制各个功能及功能块的执行。
1)设备状态部分
设备状态是设备运行情况的反应,实时查看并显示相关重要设备状态十分重要。其主要包括:铁水罐锁定状况、搅拌头归位状况、搅拌头上升下降状况、搅拌转速、搅拌电流、搅拌器高度、料仓中料量、溜槽上升下降状况、备料进行状态及下料进行状态等。通过一个功能块读取相应的传感器信息,然后将这些信息汇总至指定的数据块,这样上位机中的程序就能准确读取。
2)脱硫工艺数据部分
脱硫工艺数据是进行脱硫作业时工艺上需要的参数,其包括:铁水称重、温度、铁水成分(主要是S、Si),及计算所得到的脱硫剂量、搅拌时间、搅拌转速及插入深度。通过一个功能块先将相关参数转移至指定数据块,然后上位机程序读取这些参数并计算出其他的参数,再将计算出的值写入PLC指定数据块中。
3)控制数据块部分
通过写入相关数据到控制数据块,指令PLC执行相应的操作,其包括:搅拌头下降控制、搅拌头上升控制、自动脱硫开始、自动脱硫结束等。该数据块对整个自动脱硫作业起着至关重要的作用,因为它控制着其他操作的执行。
图5 控制系统整体架构图
这三者及其与上位机程序的关系如图5所示。
上位机中的脱硫控制程序通过与三个数据块的数据通讯,实现对整个脱硫作业全过程的监视和控制。
作为一套工业控制系统,必须考虑安全性设计。在系统架构阶段就必须分析人机安全交互、安全设计成本等,在综合考虑这些因素后,必须设计冗余、故障降级运行等模块[7]。
异常处理是此系统一个很重要的功能,异常可以分为工艺异常和设备异常两类。工艺异常除了包含前面提及的铁水成分对比异常,还包括铁水成分无法获取、称重及温度超出正常值、无法获取铁水液面高度等,出现工艺异常时系统告知操作人员问题所在,让其排除错误,错误纠正后系统无需人为干预可继续顺利运行。设备异常是在脱硫作业过程中设备出现故障,其包括搅拌头动作异常、备料下料异常等,当出现设备异常时弹出高级别的警告信息,同时列出对应流程的设备状态信息;一般出现设备异常时,若在执行自动搅拌则停止搅拌,并将搅拌头及其他设备归位,待故障排除后需重新通过程序下达自动脱硫指令系统才能继续运行。
在实际开发和运行中,得到了以下经验和启发:
1)数据块中的数据尽可能地连续存放,便于上位机程序高效读取。
2)逻辑操作尽可能地移到下位机程序中,让上位机程序关注控制部分和报表功能。
3)脱硫现场环境恶劣,程序中应尽可能地依赖稳定性信号。
基于Prodave的铁水KR脱硫自动控制系统综合了高级语言开发上位机程序的便利性和PLC梯形图语言开发逻辑模块的可理解与可维护性,解决了实际生产中工艺数据与设备信息难以有效结合问题,实现了铁水KR脱硫过程中的自动化。本文阐述的脱硫自动控制系统已用于实际生产环境,使脱硫作业向标准化、自动化迈进了一步。
[1] 张茂林, 徐安军.KR法与喷吹法在铁水脱硫中应用的比较[J].炼钢, 2009, 25(5): 73-77.
[2] 常旭.近几年我国铁水脱硫预处理的发展及应用[J].炼钢, 2006, 22(5): 52-5559.
[3] 刘炳宇.不同铁水脱硫工艺方法的应用效果[J].钢铁, 2004,39(6): 24-27.
[4] 苏天森.中国钢铁科技创新与铁水预处理技术的发展[J].钢铁研究学报, 2006, 18(12): 1-5.
[5] Siemens.PRODAVE MPI/IE V6.0 Manual[Z].北京: 西门子(中国)有限公司, 2005.5.
[6] 易定忠, 严宏志, 于伟, 等.基于MPI的往复压缩机监控系统通信技术研究[J].制造业自动化.2007, 29(3): 61-64.
[7] 韩江洪, 刘征宇, 刘晓平, 等.工业控制安全研究综述[J].合肥工业大学学报(自然科学版).2010, 33(2): 161-168, 173.