高玉
(西安铁路职业技术学院 电子信息学院,陕西 西安 710014)
在线监控系统通过检测传感器对仪器设备的各类信号进行数据采集,并将数据上传给使用者,使用者可通过参数设置改变仪器状态[1]。近年来,随着网络通信技术的成熟,在线监控系统已在工业监控和水质质量监控等诸多领域得到了广泛运用[2]。
磁悬浮控制器在线监控系统主要应用于磁悬浮转子试验台[3]。一方面可将控制器采集的磁悬浮转子系统的监测数据传输给个人计算机(PC),展现给用户;另一方面用户可远程在线修改控制器的控制参数,从而闭环控制转子状态[4]。相比现场监控磁悬浮控制器,在线监控主要具备以下优点:首先使用电子设备代替人力与器具进行监控,可以降低监控的成本,提高数据准确率;其次在线监控系统可以实时完成数据的传输,大量减少系统的调试时间;最后在线监控系统可使用户远程监控多台磁悬浮转子平台,提高效率,降低成本[5]。
在线监控系统大多采用串行接口进行传输,该方式的数据传输速率较低且传输范围较小:使用RS-232可支持的最大传输速率是20 kb/s,最大传输距离仅为15 m,易受环境干扰[6]。为解决这一问题,本文设计了基于工业以太网通信的磁悬浮转子监控系统。相比以往系统,该系统可实现远距离监控,大幅提高了在线监控的数据传输效率,实现了预期的功能设计要求。
本文设计并搭建了基于工业以太网通信的磁悬浮转子在线监控系统。一方面,可通过上位机PC实时追踪磁悬浮转子横向及垂直方向的位移及功率放大器输出电流等关键数值,检测转子的状态是否异常;另一方面,可对PID控制的比例系数、积分系数和微分系数进行实时调整,调整系统运转状态。经测试,该监控系统通信正常、工作稳定,可实现控制数据远距离、高速率和高稳定性的传输。
磁悬浮控制器在线监控系统的设计架构如图1所示。磁悬浮控制器在线监控系统的主体部分为磁悬浮转子系统,该系统由异步电机通过联轴器驱动转子高速旋转。转子由一对径向磁悬浮轴承支承,轴向上利用联轴器限制其运动。在转子两端靠近轴承的位置安装有位移传感器。位移传感器对转子的位移数据进行测量,并将位移数据和从PWM数字开关功效模块反馈来的电流数据进行前置调理、A/D转换,传送给DSP控制器。同时,DSP控制器分别通过PID闭环控制转子的位移和功放的电流。
图1 系统整体架构设计图
在线监控系统实物连接图如图2所示。
图2 在线监控系统实物连接图
在线监控系统软件设计中,以工业以太网作为传输方式,分别进行上位机PC和下位机DSP的在线监控程序编写,实现了磁悬浮控制器中储存的系统位移、电流状态信息传输给PC以及将PID控制参数传输给DSP等主要功能。
在线监控软件整体架构如图3所示。上位机为监控系统的服务器端,相关程序在PC机运行,采用LabVIEW软件进行相关程序的编写;下位机为系统客户端,相关程序在DSP运行,在CCS7.1.0中使用C语言进行编写。上、下位机共同完成监测数据传输和控制数据传输两项功能。
图3 软件结构框图
2.2.1 下位机程序设计
下位机程序的设计框图如图4所示。首先定义程序全局变量以及IP地址、子网掩码等通信信息,并对DSP和W5300分别进行初始化配置;接下来程序的主体部分进行接收数据与发送数据两个函数的循环,以保证在线监测的实时性。两个函数具体实现先建立TCP连接,再将数据发送到缓存区或将缓存区的数据读取的功能。
图4 下位机程序设计框图
2.2.2 上位机程序设计
上位机监测数据传输程序由LabVIEW软件进行编写,程序流程为:
(1)根据IP地址和TCP端口号不断向下位机发送建立连接的请求信息。
(2)连接成功后,通过While循环接收下位机传输的监测数据,存储数据并通过波形图显示实时数据图像。
(3)若传输产生错误信息或者点击停止按钮后跳出循环,断开TCP连接,并显示错误代号与原因。
(4)完成数据传输后断开TCP连接。
根据实际应用需求,需要将磁悬浮转子试验台传感器监测到的状态信息不断上传到PC机端进行观测与处理。由于数据产生频率大,需要将一定时间段内接收到的数据打包上传给PC。具体实现方法如下:
(1)对数据进行格式转换:由于监测数据格式为占用空间较大的64位浮点数,若直接传输则会影响传输速率,因此传输前先将浮点数转化成为16位定点数,即每个数据乘上215取整,在LabVIEW接收到数据后再除以215还原。这样可以提高传输速率,确定每个数据的位数,同时产生的误差也很小。
(2)下位机分包发送数据:每包中有X+1个16位数据,其中第一位为标识字符串“si”,后X个数据为监测数据的ASCⅡ码。
(3)上位机接收数据包:建立数据接收模块,打开TCP连接,进入接收数据While循环中,不断查找“si”标识符信息。若发现“si”则进入到接收数据模块,一次读取X个数据的ASCⅡ码,依次进行将ASCⅡ码转化为对应的十六进制数字,再将数字转化成字符串格式,最终字符串转化为十进制数字的处理,将所得十进制数组输入到实时波形图与整体波形图表中,最终关闭TCP连接。
控制数据传输程序实现的目标是用户可以在LabVIEW中输入PID控制的参数,并实时传输给控制器进行控制调整,程序设计如下:
上位机程序设计中,控制数据帧的第一位为标识符“#”,由于控制数据位数不确定,因此每个数据之间采用“*”作为间隔标识符。建立TCP连接后,每次修改参数后向控制器发送(“#”+比例系数+“*”+积分系数+“*”+微分系数)的数据帧。
下位机程序设计中,建立TCP连接,recv(SOCKET s, uint8 * buf, uint32 len)函数将一组数据接收到一个暂存数组中。接下来进行标识符识别,若第一位为“#”,则进入PID数据接收循环中,将“#”号与接收字符串查询到的首个星号之间的存储为比例系数P,将首个“*”与查询到的下个“*”之间的数据存储为积分系数I,将第二个“*”与查询到的第三个“*”之间的数据存储为微分系数D。通过数据提取,可实现DSP对控制参数的接收。
磁悬浮控制器在线监控程序中需要对磁悬浮轴承的位移变量和功放的电流数据进行监测,并通过实时传输控制参数调整控制变量。图5所示为一组位移监测数据和两组电流监测数据的接收图像,每个数据包包含1 000个监测数据。在该测试中,上位机与下位机间隔相距3 km,且数据传输稳定,环境干扰小。
接下来对每包大小与传输速率间的关系进行测试,结果如表1所示。随着数据包包含数据个数的增长,传输速率也有明显的增长,但数据实时性会受到影响。
图5 三组磁悬浮平台实际信号在线监测图
表1 数据包大小与传输速率的关系
将监测数据接收与控制数据发送程序整合在一起,设计了在线监控平台界面,如图6所示。在该界面中,用户可实时接收两组位移数据及四组电流数据,用户还可实时发送控制参数,并观测控制参数变化对系统状态的影响,实现在线监控功能。此外,用户可将数据存储在相应文件中,用于后续数据分析。
图6 磁悬浮控制器在线监控界面
本文针对既有的磁悬浮控制器在线监控系统数据传输速率慢和传输距离短等不足,设计了基于工业以太网的磁悬浮控制器在线监控系统。首先对监控系统整体架构进行设计,接下来针对监测数据传输及控制数据传输软件分别进行设计,上位机软件采用LabVIEW编写,下位机软件采用CCS7.1.0编写。最终将监测与控制软件进行合并,设计了在线监控用户界面,用户可实时接收位移及电流数据并发送控制参数,观测控制参数变化对系统状态的影响,实现在线监控功能。经测试,该系统可进行远距离数据传输,传输速率可达2.3 Mb/s,且受环境干扰小,满足设计需求。