工业控制计算机掉电自恢复运行方法

2020-08-17 09:24戴志威王洋吴洪玲
现代信息科技 2020年9期
关键词:主板

戴志威 王洋 吴洪玲

摘  要:随着工业控制计算机在工业生产控制领域应用越来越广,而且常工作在无人值守或条件恶劣的工作场合,要求具有抗震、防尘、防潮、防电磁干扰等特点,工业控制计算机受输入电源不稳定性干扰,容易出现掉电后无法自动开机的现象。文章提出一种工业控制计算机掉电自恢复运行方法,通过硬件设计、软件复位等流程设计,解决当前工业控制计算机掉电无法自动开机运行以及维护效率低下等问题。

关键词:工业监控系统;主板;基板管理控制器;复位信号;RC复位电路

中图分类号:TP311.52;TP273       文献标识码:A 文章编号:2096-4706(2020)09-0138-04

The Method of Power-Off Self Recovery Operation of IPC

DAI Zhiwei1,WANG Yang2,WU Hongling1

(1.Nanning Yanxiang Special Computer Software Co.,Ltd.,Nanning  530031,China;

2.Shenzhen Polytechnic,Shenzhen  518055,China)

Abstract:With the widely application of IPC in the field of industrial production,and often work in unattended or poor working conditions,which requires seismic,dust,moisture,electromagnetic interference and other characteristics,IPC disturbed by the instability of input power supply,and its easy to fail to start automatically after power failure. In this paper,a method of power-off self recovery operation of industrial control computer is proposed. Through the design of hardware connection,software reset signal,the current problems of power-off failure of industrial control computer and low maintenance efficiency are solved.

Keywords:industrial monitoring system;motherboard;BMC;reset signal;RC reset circuit

0  引  言

基于裝备制造业转型升级,设备可靠性运行及使用率的提高将更能让制造商体会到智能制造的优势[1]。在实际工业生产应用中,工业自动化设备一般都内置了控制机械或智能化外设的工业计算机,并且安装在作业现场。而作业现场使用了很多的高功率设备,这些高功率设备的工作时间非常不确定,可能出现一台设备加工完毕后暂停,另一台设备需要连续工作,当设备出现反复启停的时候,工业计算机的输入电源在某种情况下出现扰动,导致工业计算机主板掉电后无法开机。当这类异常出现后,传统做法是通过人工干预进行开机,目前缺少一种有效的追踪异常的方法,无法找到出现异常的本质原因。当现场设备数量比较多的时候,无疑会给生产管理人员带来问题,最终造成生产产能、生产效率大幅降低,人力成本及维护成本增加。

基于此,南宁市研祥特种计算机软件有限公司与深圳市职业技术学院共同开展了工业控制计算机可靠性关键技术研究,提出一种工业自动化设备监控系统可靠性管理方法和装置,通过硬件连接、软件复位信号、消息处理等流程设计,解决当前工业控制计算机掉电无法自动开机运行以及监控系统硬件昂贵、维护效率低下、人力成本高等问题[2]。

1  硬件设计

在硬件层面主要设计了主板和微控制器,如图1所示。其中,主板由CPU、PCH、SIO和温度传感器构成。微控制器作为一个主处理单元,独立于主板运行,通过和主板上的扩展接口如SIO、PCH上的信号线I2C、SMBus1进行连接,且连接有PCH的RESET引脚、Reload Default引脚、PLT_RST引脚,并与主板的模拟输出信号引脚AIN1、AIN2、AIN3相连。相关术语解释如表1所示。

根据实际要求,给主板工作模式定义了三个状态,即欠电压状态、初始化状态、正常状态。主板正常启动后,默认进入到正常状态;当外部电压出现掉电等异常事件后产生中断,进入中断服务程序,切换当前的状态为欠电压状态,进行监控处理;监控处理完毕后,将当前的状态切换为初始化状态,然后恢复异常前的环境变量,随后再切换到正常状态,按照上述切换逻辑进行状态切换,确保主板的正常运行。

微控制器可根据需要设置不同的掉电电压阈值,如4.5 V、3.7 V和3.0 V,构成一个个电压档。当电压掉到其中任意一个档,会自动产生一个中断,这时程序将跳出当前执行的任务,转而执行低电压检测主板的工作状态。如果此次电压异常事件导致了主板掉电且没有正常开机,那么该微控制器将会采取三种方式:第一,给PCH的RESET信号输出一次低脉冲;第二,给Power Button信号输出一次低脉冲;第三,给清CMOS信号输出一个低脉冲,从而保证主板可以正常开机[3]。

2  软件复位方法设计

在软件层面主要设计了掉电检测模块、判断模块和切换模块[4]。其中掉电检测模块,用于检测到外部中断信号以及工业自动化设备的主板处于欠电压状态;判断模块,用于判断PLT_RST是否为低电平;切换模块,用于在设置CMOS信号为高电平后,或用于检测到工业自动化设备的主板处于欠电压状态即判断PLT_RST不为低电平时,切换主板的工作模式为初始化状态,以及在主板进行初始化后再切换主板的工作模式为正常状态。

2.1  主板掉电自恢复运行检测实现方法

微控制器能够自动侦测主板的当前运行状态,通过设置好的流程逻辑达到控制主板自主运行能力的目的[5]。如图2所示,主要执行步骤如下:

第一步,掉电检测模块检测到外部中断信号以及工业设备的主板处于欠电压状态[6]。

第二步,判断模块判断PLT_RST是否为低电平,若是,则延时第一预设时间。

第三步,再次判断PLT_RST是否为低电平,若是,则输出Power Button为低电平,并延时第二预设时间后设置Power Button为高电平;若否,则输出RESET为低电平,并延时第三预设时间后设置RESET为高电平。若检测到工业自动化设备的主板处于欠电压状态,判断PLT_RST不为低电平时,切换模块切换主板的工作模式为初始化状态,将主板进行初始化,再切换主板的工作模式为正常状态。

第四步,设置Power Button或RESET为高电平后,延时第四预设时间。

第五步,再判断PLT_RST是否为低电平,若是,则输出清CMOS信号为低电平,并延时第五预设时间,设置CMOS信号为高电平,再由切换模块切换主板的工作模式为初始化状态,将主板进行初始化,再切换主板的工作模式为正常状态;若否,则直接切换主板的工作模式为初始化状态,将主板进行初始化,再切换主板的工作模式为正常状态。

其中预设的时间可根据需要设定,并通过开启定时器进行计时。第一/四预设时间可设定为2.0 s或5.0 s等,第二/三/五预设时间可设定为0.4 s、0.5 s、1.0 s等。

2.2  主板对接收的消息进行校验和处理

如图3所示,当主板的工作模式为正常状态时,对接收的消息进行校验,然后处理接收的消息。其中,消息通讯的协议包括消息头、长度、命令、操作码、数据字段、校验码等。消息头可为固定的字符,如“s”“t”。长度是指长度字段,最大为255。命令为与上位机之间进行通讯的命令码;数据字段为对应的每个命令所需要的数据字段。校验码由长度、命令码、操作码、数据字段累加所得。例如,上位机通过CMD_GET_TEMP_VAL可以获取系统温度、CPU温度等。上位机发送获取温度命令请求‘s' - 't' - 0x03 - 0x03 - 0x00 - 0x00 – CheckSum。微控制器对上位机响应命令:‘s' - 't' - 0x12 - 0x03 - 0x00 -data[0..15] – CheckSum。

具体执行步骤如下:

第一步,将消息字段校验序号初始化为零。

第二步,判断串口是否接收到消息,若是,分别检测校验序号为0、1、2、3、4、5的消息字段,然后再分别判断消息字段校验序号0、1、2、3、4所对应的字节是否为第一预设头字节、字节是否为第二预设头字节、字节是否为有效长度、字节是否为有效的命令、字节是否为有效操作码。若是,则将消息字段校验序号加1,返回到判断串口是否接收到消息的步骤;否则,重新将消息字段校验序号置0,返回到判断串口是否接收到消息的步骤。若检测的消息字段校验序号为5,则判断消息字段校验序号为5对应的字节所表示的数据字段是否大于预设值,若是,进一步判断接收数据是否完毕,若接收完毕,则将消息字段校验序号加1返回到判断串口是否接收到消息的步骤;若未接收完毕,返回到判断串口是否接收到消息的步骤。

第三步,若判断消息字段校验序号为5所对应的字节所表示的数据字段小于或等于预设值时,则判断校验和是否正确,若是,执行该消息,执行完后将消息字段校验序号置0;否则,将消息字段校验序号置0,然后结束。

2.3  对外部输入信号接收并处理

对外部输入信号进行处理,实现按键被触发时间长短产生不同的命令。具体执行步骤如图4所示:

第一步,接收外部输入信号。初始化外部中断引脚下降沿触发,且中断标志位为0。FP_RST为外部输入信号,具有两个功能:一是负责复位主板,二是负责清除CMOS参数为默认值。两个功能的执行是通过被按下的时间长度决定的。例如设置按下FP_RST后,主板可能会复位,连续按下超过指定时间,则会执行清除CMOS的动作。

第二步,判断接收外部输入信号(FP_RST)所产生的中断标志位是否为0,若是,则清除中断标志位,将外部中断管脚设置为上升沿触发,输出复位信号为低电平,然后设置中断标志位为1,且维持复位信号为低电平超过指定时间,再设置清除CMOS信号为低电平[7,8],指定时间为被设置按下后执行清除CMOS动作的时间,如4.0 s;否则,清除中断标志位,将外部中断管脚设置为下降沿触发,输出复位信号为高电平,延时第六预设时间,再设置清除CMOS信号为高电平。

3  结  论

本文研究的工业控制计算机掉电自恢复运行方法,还可应用于BIOS运行阶段,检测到BIOS没有运行完毕,则记录事件日志,并进行欠电压状态处理;也可应用于操作系统运行阶段,在操作系统运行阶段,在上位机上安装一个应用程序,并通过该应用程序发送心跳报文,若主板在规定的时间内没有接收到心跳报文,则认为操作系统出现异常,将操作系统进行复位。通过硬件逻辑来捕获该掉电异常,然后触发主板的中断,进入到欠电压模式,处理异常状态,实现了基板管理控制器的部分控制功能,可以监控主板的状态,保证主板异常恢复,提升自主运行能力;支持对主板的固件升级达到柔性扩展功能,且通用性强;通过延时预设时间为主板进行缓冲和响应提供足够时间,确保检测的准确性。

参考文献:

[1] 吴占军.工业设备远程监控系统关键技术 [J].电子世界,2018(18):202+204.

[2] 张光.基于物联网与计算机技术的工业设备监控系统 [J].计算机与数字工程,2016,44(10):1944-1947+1956.

[3] 杨帆.系统控制单元及自动化复位技术的设计与验证 [D].西安:西安电子科技大学,2014.

[4] 高希栋.一种智能电能表掉电检测模块的电路设计 [J].机电信息,2018(15):141+143.

[5] 刘云翔,姚文斌.一种智能工业设备报修方法及系统 [J].现代电子技术,2018,41(10):157-160.

[6] 马陆玲.主板掉电时自动恢复CMOS的方法 [J].实验技术与管理,2001(1):78.

[7] 杨钧,余章平.直流开关电源欠壓保护电路 [J].电源世界,2006(6):12-13+42.

[8] 孙华,陈宇,任广军,等.开关电源瞬态掉电恢复报故障分析 [J].硅谷,2011(12):185.

作者简介:戴志威(1992—),男,汉族,湖南娄底人,工程师,硕士,主要研究方向:计算机应用。

猜你喜欢
主板
19年一季度上证主板涨、跌幅前50只股票
19年一季度深证主板涨、跌幅前50只股票
2019年上证主板涨、跌幅前50只股票
2019年深证主板涨、跌幅前50只股票
三季报净利润大幅增长股(沪市主板)
三季报净利润大幅下滑股(沪市主板)
三季报净利润大幅增长股(深市主板)
三季报净利润大幅下滑股(深市主板)
2015年A股沪市主板涨跌幅前50名个股
Intel阵营主板选购谈