1 引言
冶金工业是自动化技术和信息技术应用十分广泛的领域,同时由于冶金工业生产现场环境恶劣,具有高温、电磁噪音强烈、多尘的特点,因此冶金行业对其控制系统要求较高。随着现代控制技术和计算机技术的发展,plc以其可靠方便,编程简单,控制灵活等特点在冶金工业中得到了极为广泛的应用。现代3c(computer control communication)技术的迅速发展,使得现代化的自动化控制的系统结构发生了变革,逐步形成了以网络集成自动化系统为基础的信息控制系统。现场总线技术正是这次技术变革的产物。它使现场各仪表及各控制设备之间构成了网络互连系统,突破了原先一台装置控制一台控制器的模式,实现了工业控制系统的分散化、网络化、智能化和数字化。profibus是德国西门子公司提出的一个高层次工业控制现场总线标准,主要用于控制系统的分布式控制,传输速率快,可靠性高,造价低,是目前使用较广泛和较成熟的一种现场总线技术。
基于以上两因素,plc网络技术的应用日渐普及。但是我们在享受着现代网络技术带来方便快捷的同时,由于系统的结构规模大型化复杂化,故障诊断功能使得故障发生时快速准确地判断出网络控制系统中故障的具体原因和位置的问题,具有有十分重要的工程意义。
针对钢铁企业的型钢车间飞剪及冷床设备改造,我们结合现场具体情况,设计了基于profibus网络的控制系统。同时,在编制控制程序的过程中,充分利用编程软件中的故障诊断块,在原程序中添加了网络故障诊断语句,以期在满足生产工艺的基础上,能及时准确地处理故障。
2 控制系统的构成
2.1 飞剪及冷床控制网络构成
改造后的飞剪及冷床控制网络构成、网络系统图如附图所示。
附图 飞剪及冷床控制网络结构图
其中,飞剪控制操作面板选用的是西门子公司的op27操作面板,上位机选用台湾研华工控机,采用simense公司的监控软件wincc作为应用画面监控程序开发平台。主要任务是监视和控制整个飞剪及冷床的现场运行状态,为飞剪及冷床的生产工艺过程设置参数提供人机接口。
plc选用德国西门子公司的s7-300系列plc,飞剪及冷床共用一块cpu模块进行控制,模块型号为cpu315-2dp,两块et200m分布式i/o模块分别作为飞剪及冷床操作台远程站。
飞剪电机的直流驱动装置选用西门子6ra70。在直流驱动装置中,加装了cbp2通讯板,以与plc构成profibus-dp网络通讯。
在plc与操作控制台、op27以及飞剪直流驱动装置间,通过双绞线通讯电缆构成网络通讯连接,网络控制协议采用profibus-dp,是控制系统的重要组成部分。
在这个profibus网络系统中,采用的是单主站(master)、多从站(slave)的通讯方式。单主站为主plc,从站共4个,包括飞剪操作台-3#从站(im153-1)、冷床操作台-4#从站(im153-1)、5#从站(op27)、6#从站飞剪整流柜(masterdrives)。
2.2 主站和从站的通信
(1)在profibus-dp网络通讯中,采用令牌循环查询方式,从设备循环向主设备查询。
(2)dp单主站和分布式输入输出从站的通讯、编程较为简单。在硬件安装完成后,只需在plc硬件配置中为从站的输入输出模块设定地址范围,即可用常规方法进行编程。设定地址不可与主站的i/o地址发生冲突。et200m属于模块化dp从站的典型代表,在s7组态软件heconfig组态从站时定义其输入输出地址。
(3)dp主站与复杂功能的从站的通信。简单从站一般指带有某些特定通信模块,实现单一功能的设备。这里,6ra70直流传动装置,由于数据通讯量较大,不能用简单的数据结构完成任务。在飞剪电机的直流驱动装置中,加装了cbp2通信模板。dp主站和简单从站之间可通过profibus-dp网络实现快速、精确的通信。直接对双方进行参数配置即可实现主从之间的通信,参数配置简单且易于实现。在simatic s7中,系统功能sfc14dprd_dat和sfc15dpwr_dat是专为实现此功能设计的。
3 故障诊断程序设计
由于本控制系统模块较多,布置比较分散,从站与控制柜所在的控制室相距较远,一旦发生故障,很不利于排除故障。因此,有必要对plc网络进行故障诊断,以判别故障的具体位置和产生原因。
3.1 plc故障诊断的方法
在由西门子s7-300系列plc组成的网络中,当发生故障时,一是可以利用cpu模板面板上的busf故障指示灯进行判断,当profibus-dp接口硬件或软件故障时,对应的busf(总线错误,红色)灯亮。plc操作系统stpe7会自动调用相应的错误处理ob(organization block)。因此,在错误处理ob中编程可以有效的对网络故障进行诊断。但有些故障由于plc模块诊断能力限制,不能引起操作系统调用错误处理ob的硬件故障,则必须在其它ob(一般是ob1)中编程解决。
3.2 故障概率分析
由于plc模块本身可靠性较高,并且其所处控制室内环境良好,温度适宜,粉尘较少,所以plc模块发生故障的概率很低。故障率较高的部位是现场环境恶劣(高温、粉尘多、震动、防护少、冷却水等)的各类设备与i/o模块之间的信号连接;其次是所处环境较为恶劣(经过现场),但防护等级较高的profibus-dp接口硬件。
3.3 错误处理ob的具体功能
在本控制系统中,采用的标准cpu型号是cpu315-2dp,包含有以下故障诊断ob:ob40(硬件中断错误)、ob80(时间错误处理)、ob81(电源供应错误)、ob82(诊断中断错误)、ob85(优先级中断错误)、ob86(机架失效错误)、ob87(通信错误)。在这里,结合现场情况,实际采用的ob是ob80、ob81、0b86。当操作系统调用上述ob时,同时在ob的临时变量区以代码的形式给出详细的错误信息,错误信息代码及详细内容可以查阅有关资料。通过这些信息可以有针对性的进行故障诊断编程。当出现某种错误代码信息时,即可判定出现了对应的故障和故障位置。
3.4 故障诊断ob的分析
(1)操作系统调用ob80
ob80是一个时间错误处理ob,引起s7-300操作系统调用ob80的原因一般是软件故障,主要是程序在执行过程中,由于调用了大量ob从而造成plc循环超时。如果ob80没有被编程,则操作系统将转到“stop”模式。如果在这种情况下不想让操作系统转到“stop”模式,则在程序的恰当点调用模块“sfc43 re_trigr”,重新启动循环监视时间。
(2)操作系统调用ob81
s7-300操作系统调用ob81的主要原因是直流24v电源故障或者备份电池失效。在本控制系统中,只有一块cpu模块,如果直流24v电源出现故障,则系统将不能正常工作。当系统调用ob81时,唯一可能的原因只能是备份电池失效。
(3)操作系统调用ob86
在本控制系统网络故障诊断程序的编制中,ob86发挥了较为重要的作用。ob86是机架故障ob,当扩展机架失效、dp主站失效或者分布式i/o系统中某一站点发生故障时,s7cpu的操作系统作出反应调用此ob,故障产生和消失时都会产生中断。如果ob86未被编程,当系统检测到此类错误发生时,操作系统将自动转入“stop”模式。在编写ob86组织块的程序时,可根据启动信息,判断哪个机架损坏或找不到。可以用系统功能sfc53“wr_usmsg”将报文存入诊断缓冲区,并将报文发送到监控设备。
对于如附图所示的plc网络,当主站与6#从站间的总线断开时,所有的4个从站与主站的联系全部中断。因此,在一个plc循环中,ob86会被调用4次。同理,当主站与3#从站间的总线断开时,在一个plc循环中,ob86会被调用3次。根据ob86被调用的次数,可以确定故障的大致位置。另外,也可能出现两个或多个从站同时发生故障的情况,但出现的概率较小。当确定是从站本身故障时(如et200m掉电,背板总线故障等),由ob86的启动信息可直接诊断出具体是哪个从站。发生故障信息时,ob86临时变量区的本地变量ob86_ftl_id存储的出错代码如“c3、c4、c7”的个别位将显示故障dp的id,可根据位的详细意义进行编程。详细的含义可参见step7系统手册,在此不再赘述。
(4)几点说明
如果plc网络发生了使操作系统自动调用某故障处理ob的故障,而plc的程序中未下载该ob,则cpu会转入停止状态(调用ob81的故障除外),也就是说,某一从站的故障可能引起整个系统瘫痪。因此,一般应把所有的错误处理ob全部下载到程序中,即使不在其中编程。
在plc控制网络中,进行故障诊断不仅有必要,而且是可行的。由于错误处理ob只在plc发生故障时才会被调用,所以在正常运行中,对plc的运行效率基本上是没有影响的。
4 结束语
系统投入运行以来,使用效果良好。实践证明,将现场总线引入控制系统,不仅使安装、调试、维护更加容易,而且通过故障诊断技术提高了系统可靠性。网络技术在控制系统中的应用,是一种较为新颖的控制技术,如何在工业现场中合理运用,使其发挥应有的作用,仍然是今后我们不断研究的课题。