2. 中国山西 030025 太原大陆裂谷动力学国家野外科学观测研究站
2. National Continental Rift Valley Dynamics Observatory of Taiyuan, Shanxi Province 030025, China
随着“十五” “十一五”项目的建设完成,无人值守地震台站及地震专业设备数量逐步增多,确保地震观测设备的正常运行至关重要(胡玉良等,2016),对设备运行维护工作提出更高要求,迫切需要提高地震前兆技术系统管理水平(穆慧敏等,2016)。
山西地震前兆台网实现数字化观测后,目前在运行前兆观测台站35个,其中有人值守台站14个,无人值守台站21个;数字化地震前兆设备100套(无人值守台站设备占38套)。地震前兆设备的正常运行是确保各项地震前兆业务正常开展的重要前提,特别是无人值守台站,一旦观测设备无法连通,台站工作人员需及时赶到现场进行解决。根据近几年的维修经验,大部分情况下,设备无法连通均由死机导致,断电重启即可恢复正常。因此,除了对地震台站UPS进行远程监控和管理外(钟羽云等,2007),还要实现对地震专业设备的远程电源监测及控制。在地震观测设备出现死机时,远程进行断电重启操作,即可恢复正常。
1 系统构成远程电源监测及控制系统由供电系统、数据采集卡、串口服务器、远程电源管理软件和地震观测设备组成,系统框架见图 1。台站供电系统输出直流12 V给数据采集卡、串口服务器和地震观测设备进行供电。数据采集卡监测供电电压并控制继电器通断,上位机软件通过串口服务器实现对数据采集卡的远程监测和继电器控制,最终实现对地震观测设备的断电重启。
(1)数据采集卡。数据采集卡采用长空电子生产的CK6660,具有6路开关量输入,6路继电器输出,6路0—30 V模拟量输入;采用RS485通讯接口;采用MODBUS-RTU协议,方便与其他设备联网;采用直流12 V进行供电,具有反接保护。
(2)串口服务器。串口服务器采用上海卓岚信息科技有限公司生产的ZLAN5103,实现RS232/485/422和TCP/IP之间的透明数据转发,方便串口设备连接到网络,实现串口设备的网络化升级,并内嵌防雷保护。
3 软件设计 3.1 串口服务器配置CK6660数据采集卡波特率为9600;通讯格式:1个起始位,8个数据位,无校验,1个停止位。串口服务器中相关参数配置需与之一致。对于网络设置部分,IP地址设置为静态IP,端口设置为502;工作模式为TCP服务器模式。详细配置见图 2。
远程电源管理软件基于VS2010开发环境,采用C#语言进行开发,主要完成6路继电器的单独控制和6路设备电压的定时监测,并将结果保存到程序文件夹。
核心程序是编写一个TCP客户端发送和接收函数,在此基础上实现MODBUS-RTU协议命令的发送和接收,最终实现设备供电电压监测及供电线路控制。核心函数代码如下
// hostname:串口服务器IP地址
// port:串口服务器端口
// Command:MODBUS-RTU协议命令,实现对数据采集卡数据采集和继电器控制
public string Tcp_Comm(string hostName, Int32 port, string Command)
{
string data = string.Empty;
byte[] bytes = new Byte[1024];
byte[] revBytes;
try
{
using (this.client = new TcpClient(hostName, port))
{
using (NetworkStream stream = client.GetStream())
{
//指定ASCII码, 初始化StreamReader
StreamReader sr = new StreamReader(stream, Encoding.ASCII);
string[] numbers = Command.Trim().Split(' ' );//分割命令
List < byte>buffer = new List < byte>(); //初始化byte字节类型List < >
for (int i = 0; i<numbers.Length; i++)
{
byte bit;
if (this.IsByte(numbers[i], out bit))
{
buffer.Add(bit); //添加命令
}
}
stream.Write(buffer.ToArray(), 0, buffer.Count); //写入命令
int length = stream.Read(bytes, 0, bytes.Length); //读取返回数据
if (length>0)//判断命令字节长度
{
data = ByteToHexStr(bytes, length); //字节数组转换为16进制字符串
}
}
}
}
catch (IOException)
{
MessageBox.Show("无法发送数据,远程主机已经关闭!");
}
catch (SocketException)
{
MessageBox.Show("服务端未开启!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message); //返回错误信息
}
this.client.Close(); //关闭TCP客户端
return data; //返回数据
}
山西省区域地震前兆台网有10个无人值守流体台站,静乐地震台是其中之一,以水位、水温及气象三要素观测为主。供电模式采用太阳能,输出直流12 V给设备供电;通讯采用CDMA无线通讯方式。将LN-3A水位仪、SWY-Ⅱ水位仪、SZW-1A水温仪主机、SZW-1A水温仪通讯单元、RTP-Ⅱ气象三要素观测仪、小型交换机共6套设备的供电线路接入远程电源监测及控制系统。在默认状态下,设备正常供电。当设备需断电重启时,远程发送命令,操作继电器断开供电线路即可。另外,该系统实现了对自身工作电压和太阳能控制器输出的直流电压进行监测,并将电压数据保存到程序文件夹下。系统软件界面及电压数据记录见图 5、图 6。
通过长时间运行,该系统运行稳定,若设备出现死机,远程即可快速实现断电重启,如:2018年6月14日,定襄地震台值班人员巡检发现,静乐地震台水温仪通讯单元网络不通,使用该系统远程重启后,设备通讯恢复正常,确保水温观测数据正常汇聚到定襄地震台。
5 结束语远程电源监测及控制系统的设计及应用改变了现有无人值守台站的运维模式,对提高设备维护效率、缩短设备维修时间、降低设备维修成本及进行数据异常核实,均具有现实意义。但该系统仍存在一些缺点,如:未安装备用电池,无备用通讯链路,一旦地震台站供电系统或通讯系统出现故障,将无法对专业设备进行监测及控制,下一步将进行改进。另外,需要考虑与山西前兆日常运行管理软件相结合(程冬焱等, 2012, 2016),增加该系统的实用性。
程冬焱, 胡玉良, 穆慧敏, 等. 山西地震前兆数据智能监控分析软件在山西前兆台网中的应用[J]. 山西地震, 2012(3): 21-23. DOI:10.3969/j.issn.1000-6265.2012.03.006 | |
程冬焱, 胡玉良, 穆慧敏, 等. 山西地震前兆台网日常运行管理软件[J]. 地震地磁观测与研究, 2016, 37(4): 181-186. | |
胡玉良, 程冬焱, 李惠玲, 等. HostMonitor监控软件在山西地震前兆台网的应用[J]. 地震地磁观测与研究, 2016, 37(1): 131-135. | |
穆慧敏, 胡玉良, 程冬焱, 等. 山西地震前兆技术系统管理方案的设计及实现[J]. 山西地震, 2016(2): 18-21. DOI:10.3969/j.issn.1000-6265.2016.02.005 | |
钟羽云, 陈建毅, 沈晓健. 地震台站UPS电源选型及远程管理[J]. 内陆地震, 2007, 21(3): 258-266. DOI:10.3969/j.issn.1001-8956.2007.03.009 |