天线平面近场扫描架控制系统设计

2018-10-09 02:51:28陈玉林
机电工程技术 2018年9期
关键词:浮点数寄存器以太网

陈玉林

(上海电机学院机械学院,上海 201306)

0 引言

两维运动平台具有两个沿正交方向的线性运动轴,其中Z轴整体安装于X轴的滑台之上。由于X轴和Z轴相互独立,平台运动学方程简单,控制容易;因此两维运动平台在机床十字工作台、直角坐标机器人、天线平面近场测量等领域得到广泛应用。

两维运动平台可采用单片机、PLC或运动控制卡等作为主控制器,其在实现难易、功能复杂程度和多轴联动控制等方面各不相同。在天线平面近场测量中,一方面要求图1所示平面扫描架具有图2所示路径[1],X轴和Z轴先后运动,无复杂的两轴联动控制要求;另一方面又需要进行大量的数据处理和良好的人机操作界面。因此本文作者采用计算机加PLC的主从式控制结构[2-3]。在该控制系统中,计算机作为上位机和人机交互的主要接口,负责处理数据、参数设定和状态监控等;PLC作为下位机对天线扫描架进行运动控制。

图1 天线平面扫描架

1 PLC通讯协议及参数设定

由于天线扫描架采用图2所示运行路径,其X轴和Z轴没有联动控制要求,考虑到其他I/O需求,采用三菱FX5U PLC作为扫描架的运动控制器。FX5U系列PLC除了具有比FX3U系列更快的处理速度和更多的控制轴数外,还具有内置的以太网端口,方便了PLC与其它设备间的信息交互[4]。通过以太网口和三菱通讯协议,计算机可直接解析协议帧或借助于MX组件完成对三菱FX5U PLC软元件的访问[5]。采用直接解析SLMP协议帧的方法来访问PLC的软元件进而实现对扫描架运动参数的设定和状态监控。SLMP协议是用于外部设备(计算机或显示器等)使用以太网对SLMP对应设备进行访问的协议,其3E帧与三菱MC协议的QnA系列3E帧具有相同的报文格式,可以以ASCII或二进制代码进行通信,以ASCII代码进行通信时报文格式如表1和表2所示[6]。

图2 扫描架运行路径

表1 SLMP协议3E帧ASCII代码通信请求报文格式

表2 响应报文格式

计算机通过SLMP协议与PLC通讯,以PLC作为服务器,需在GX Works3中针对以太网端口进行参数设置。根据需要将PLC IP地址设置为192.168.3.38,通信数据代码设定为ASCII,在详细设置中选择以太网设备中的SLMP连接设备,并将其协议设置为TCP,端口号设置为8000。

采用SLMP协议可以访问FX5U PLC中绝大多数软元件,根据扫描架控制要求,确定PLC参数与软元件如表3所示。SLMP协议以位或字为单位访问PLC中的软元件,因此在表3中需要两个连续的D寄存器来存储位置、速度之类的浮点数据。

表3 参数及软元件分配

2 计算机程序设计

计算机对PLC软元件的访问是借用SLMP协议通过Vi⁃sual C++编程来实现的。计算机程序除了提供良好的人机操作界面,还具有扫描架运动参数设定和状态监控的功能。对于浮点型和布尔型参数,计算机程序采用不同的指令和数据处理方法。

2.1 布尔型参数处理

对于扫描架运动启动或停止这类控制操作,可采用批量写入(读取)或随机写入(读取)位单位来直接访问PLC中的M寄存器。以ASCII码方式,批量写入位单位来启动X轴运动为例,其报文格式如表4所示,其中数据长度为其后所有内容的字节数,以十六进制表示,1401表征批量写入指令,M*代表访问PLC中M寄存器,访问起始地址用6个字节表示,由于只访问寄存器M100,因此点数用4个字节表示为0001,值1表示启动X轴运动。

表4 批量写入位单位报文

2.2 浮点型参数处理

扫描架的目标位置和速度等参数可采用32位浮点数来表示,而PLC内部为两个连续的D寄存器。在SLMP协议中,没有针对浮点数存取的专用语句,需将浮点转换成对应的4个字节表示,然后再其三菱PLC浮点数表示格式写入两个D寄存器[7]。浮点数转换为两个D寄存器的函数为:

void FloatToDReg(float fInput,unsigned char*szDReg)

{

unsingned char szTemp[4];

char*pChar=(char*)&fInput;

for(int i=0;i<sizeof(float);i++)

{

*szTemp=*pchar;

pchar++;

szTemp++;

}

sprintf(szDReg,"%02X%02X%02X%02X",szTemp[1],szTemp[0],szTemp[3],szTemp[2]);

}

例如,如果需将X轴目标位置设定为50.5mm处,则调用FloatToDReg函数得到D1004和D1005的值分别0000H和424AH,采用批量写入字单位的报文如表5所示,其D*代表访问PLC中D寄存器,访问起始地址用6个字节表示,由于一个32位浮点数需用两个D寄存器来表示,因此点数用4个字节表示为0002,值0000424A表示X轴目标位置设定为50.5 mm。

表5 批量写入字单位报文

2.3 状态监控

在扫描架控制系统中,上位机程序除了需要设定设备的运动参数,还需实时监控设备的运行状态,获取实时位置、速度等信息。设备的状态监控在计算机程序中通过多线程技术来实现,以避免大量数据交换占用过多CPU时间,从而提高程序对用户响应的灵敏性[8]。用户界面线程作为主线程,能够及时响应用户操作,扫描架的状态监控设计为工作线程,对设备状态进行实时查询。

3 计算机用户界面

扫描架计算机控制程序用户界面如图3所示,具有PLC连接、断开、轴运动参数设定、位置速度显示、单轴启动、停止、扫描架流程启动、停止等功能。

4 结论

本文作者设计的天线扫描架控制系统采用主从式控制结构,充分发挥上下位机的控制优点。针对设备人机交互、参数设置和状态监控的需求,设计计算机监控程序。通过分析三菱FX5U PLC的SLMP协议,实现对PLC布尔型和浮点型数据的读写,相比直接设定电机脉冲数更加直观。经长时间实际运行证明,该控制系统具有友好的人机操作接口,控制效果良好。

图3 扫描架用户界面

猜你喜欢
浮点数寄存器以太网
四种Python均匀浮点数生成方法
电脑报(2021年11期)2021-07-01 08:26:31
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
Lite寄存器模型的设计与实现
计算机应用(2020年5期)2020-06-07 07:06:44
在C语言中双精度浮点数线性化相等比较的研究
船电技术(2017年1期)2017-10-13 04:23:24
分簇结构向量寄存器分配策略研究*
谈实时以太网EtherCAT技术在变电站自动化中的应用
电子制作(2017年24期)2017-02-02 07:14:44
非精确浮点数乘法器设计
一种90W高功率以太网供电系统的设计
电源技术(2015年7期)2015-08-22 08:48:48
浅谈EPON与工业以太网在贵遵高速公路中的应用
高速数模转换器AD9779/AD9788的应用