主控制模块是整个下位机的核心,由单片机的最小系统构成,协调其他四个模块工作,完成下位机的控制功能。考虑到阀门的运行信息采集点和故障信息采集点的数量和系统开发的难易程度,本系统选择了PHILIP公司MCS51系列单片机80C552,它具有256字节可读写的RAM数据存储器、5个8位I/O口、1个8位输入口、2个16位定时器/计数器、1个配置捕捉/比较模块的16位定时器、15个中断源、2个中断优先级、8路10位的A/D转换器、2路脉冲宽度调制输出、2个串行口(异步串行口和I2C总线口),还集成了看门狗定时器。
② 电源监测模块
阀门在工作过程中会因为某些原因出现主电源回路掉电的情况,用户要求在这种情况下,下位机系统的监控部分仍能短期工作,并把这种故障及时上传到上位机监控系统,以便操作人员及早发现、及时排除。为此,本文在下位机控制机中设计了电源监测模块,实现对阀门供电情况的监测,并能实现主电源与备用电源间的切换,电路结构如图5所示。由于主电源回路掉电时,备用电源仅为单片机系统供电,加之这时的单片机系统工作于节电运行方式,功耗较低,所以备用电源采用普通干电池或充电电池。实验证明,在主电源回路掉电的情况下,备用电源可以工作12h以上,完全可以满足维修的需要。
这部分是下位机控制系统的输入、输出部分,主要完成阀门各种报警信号、开度的采集,对阀门开、关、停的控制等,其结构如图6所示。在数据采集电路中,除了采集基本的运行状态外,还增加了电机缺相、转矩越限、电机过热、熔断器损坏、行程开关到位、紧急制动状态等大量的信号采集点,提高了下位机的监控能力。阀门中的采集信号和控制信号多数为强电信号,为了使单片机系统免受影响,在电路中采用了隔离设计,增加了系统的可靠性。
④ 人机接口模块
对阀门的运行除了可通过上位机远程控制外,还保留了现场控制功能,这主要通过现场手操器完成,它是下位机中的人机接口模块。手操器由键盘和数码管显示电路组成。在手操器的设计中采用了I2C总线技术,键盘电路采用了具有I2C接口的输入输出扩展芯片PCF8574,显示电路采用了具有I2C接口的数码管显示驱动芯片SAA1064,单片机80C552本身就集成有I2C总线接口,为系统的软硬件设计提供了方便。手操器的硬件结构如图7所示。另外,I2C总线支持带电插拔,给手操器的使用带来了极大的方便,使用者可以在不妨碍阀门正常工作的情况下,拆装手操器。
⑤ 通信功能模块
通信电路是下位机中的CAN总线接口部分,是提供阀门远程控制功能的核心部分。它由CAN控制器SJA1000、CAN驱动器82C250以及光电隔离电路构成,电路结构如图8所示。由于光电隔离的需要,模块使用了DC-DC电源模块。为了提高通信模块的通用性,满足不同使用的需要,在下位机中还设计了微动开关,用于设置不同的通信波特率和不同阀门的地址选择。
3.2 下位机软件设计
下位机软件用C51语言编写,程序的可读性、可移植性大大提高。下位机软件主要完成阀门的状态和故障的采集、阀门开度采集、执行开关停阀门的动作和通信功能。由于篇幅的关系,下面仅介绍主控制程序和CAN总线通信中断服务程序。
① 主程序的设计
下位机软件的主要工作是采集阀门的信号、控制阀门运动以及响应上位机的请求或命令。下位机系统初始化后进入主程序循环,为了准确采集阀门开度和避免误报警,对输入信号都进行了简单的数字滤波,下位机对这些信号综合分析后,根据开度要求控制阀门的开、关、停动作。下位机具有现场控制、远程控制两种控制方式,可由现场开关来区分,在这两种控制方式下,下位机都可以根据上位机的要求进行运行数据的上传。所不同的是,在现场控制时,操作者在现场用手操器进行控制,这时上位机对下位机只能监视,不能控制;远程控制时,下位机通过分析上位机命令来对阀门进行控制。下位机主程序软件流程如图9所示。
② CAN中断服务程序的设计
当上位机向下位机发出数据请求或命令时,下位机就会进入CAN中断服务程序。在进入CAN中断服务程序后,首先进行现场保护,然后读取SJA1000的中断寄存器,分析是哪种中断并置相应的标志位,如果是接收中断,则置接收数据标志并读取数据,然后释放缓存,最后恢复现场,中断返回。CAN中断服务程序如图10所示。
由于下位机要嵌入到阀门电装的腔体中,电磁干扰严重,在设计中采用了多种软、硬件抗干扰设计,由于篇幅原因,不再一一详述。
4 结束语
本文提及的技术已经在天津阀门公司生产的QT、OOM、SMC、ZA等系列电动阀门中得到应用,使其成为具有远程控制功能和故障诊断功能的电动阀门。由这些阀门构成的远程阀门控制系统已经实际运行了近一年时间,运行情况良好,达到了设计要求,并通过了天津市科委组织的专家鉴定。目前,正在准备产品的中试,同时加紧应用层协议的规范化,力图尽快推出满足DEVICENET的电动阀门产品。相信随着这类产品的推向市场,必将推动我国现场总线执行器的发展。