【摘要】本文以工业以太网控制纺织机械的实现过程为主线,首先阐述网络节点即STM32为核心与ENC28J60为网络通信芯片的网络控制板的硬件与软件的实现内容中的关键问题,然后以协议栈为基础概括了系统中网络的通信协议内容和实现方式。最后以纺织机械中的粗纱机实例说明纺织设备的控制过程,证明该理论是可行且优于其他控制方法。
【关键词】STM32;工业以太网;纺织设备
工业以太网是基于IEEE 802.3(Ethernet)的强大的区域和单元网络。它是应用于工业控制领域的以太网技术,在技术上与商用以太网(即IEEE 802.3标准)兼容,但是实际产品和应用却又完全不同。这主要表现普通商用以太网的产品设计时,在材质的选用、产品的强度、适用性以及实时性、可互操作性、可靠性、抗干扰性、本质安全性等方面不能满足工业现场的需要。故在工业现场控制应用的是与商用以太网不同的工业以太网。
传统的纺织机械一般由人工进行换纱、放入原料等操作,有的虽然已经采用普通的单片机或PLC进行伺服控制,但这些设备对操作人员依赖型较强,必须通过人工监控以确保设备正常运行。为了减少传统纺织机械各种设备带来的人员成本,提高工作效率,本文设计了一种基于工业以太网的纺织机械控制系统。纺织机械的控制终端采用STM32单片机与ENC28J60网络芯片搭建以太网“客户端”,接受总控上位机发出的控制指令数据包,并通过PWM波对纺织机械的各路电机进行控制。同时系统采用D-S数据融合技术收集纺织机械各个传感器的信息,判断设备是否正常工作,并利用模糊PID控制对各个子系统进行调节,实现纺织设备的正常运行。本系统采用.NET技术编写上位机服务器站点,操作人员可以利用Windows系统中的浏览器对纺织机械进行监控与控制。
整个纺织机械的控制系统都是以STM32网络节点为过渡单元,其将总控上位机提供的网络数据包进行解析,取得电机控制指令并转化为电机控制信号,整个纺织系统的控制流程如图1所示。
图1 纺织系统控制流程图
uIP协议栈是STM32中间节点网络通信的主要程序代码之一,在整个嵌入式程序结构中,系统都是利用其进行网络数据交换与通信对接。整个程序代码的编写与调试都是利用ARM公司的Keil软件中进行。
控制系统的软件设计共分为六个模块。
(1)系统初始化模块,为使系统能正常工作,需要对全局变量和一些必要的寄存器进行初始化,该模块是整个软件系统的工作基础。
(2)中断接收模块,当上位机发送数据指令到单片机时就会产生接收中断,单片机进入中断服务程序,接收上位机发送的指令。
(3)通信协议解析模块,该模块主要对上位机发送指令进行解析,针对不同的指令做相应处理,如,首先判断接收到的第一个字符是否为‘$,若为‘$,则继续接收下面的12个字符否则结束中断服务程序,若接收到的最后一个字符为‘;,则将这 13 个字符存起来,接着判断下一个字符是否为‘#,若为‘#则接收成功,数据可用,跳出中断,否则清除结束数据,等待下次接收并跳出中断。
(4)特效控制模块,本模块的功能是根据上位机发送的指令,实现对特效电路的控制,如果协议解析指令为“$M0xE10xEC,0xE1,0xE2,0xE3,0xE4;”,M表示管理模式即特效的指令,第二个0xE1是第一个特效的控制指令,若为0xE1则特效输出,否则特效关闭。第二个特效由0xE2控制,与第一个特效控制一样若为0xE2则开启特效,否则关闭特效,0xE3,0xE4分别指第三个,第四个特效的控制命令若为上述数据则特效开启,否则特效关闭。
(5)电机运行控制模块,该模块主要时根据上位机指令的要求产生3路PWM控制信号和3路电平信号发送给伺服驱动器,实现对电机动作的控制,如,协议解析出指令为“$P200,3000,2000,1000;”,P是为正常模式,该指令是作用是在200ms内产生3路脉冲数分别为3000,2000,1000的PWM信号,然后和上一次电机运行的值GMLvalue比较,若大于上次的值则发送脉冲信号到PORTC0、PORTC2和PORTC4,发送低电平到 PORTC1、PORTC3和 PORTC5,从而达到对电机的控制。
(6)限位信号处理模块,本模块主要是对限位传感器的状态进行相应的处理,首先定义缸的最高位和最低位分别为4200和400,单片机的PB0~PB5是限位信号的输入口,其中PB0、PB2、PB4为上限位,PB1、PB3、PB5为下限位,由于限位开关到限位时输出高电平,因此当单片机检测到PB0~PB5中有高电平时就对相应位进行处理,如PB0为高电平时,则说明第一个电机已到上下位因此赋予当前位置变量GMCvalue 最高位值 4200,从而达到限位的目的。
工业控制应用软件的开发,主要是基于B/S网络架构,控制底层通过建立智能节点模块实现现场数据信息的收集并建立Web资源服务器,客户端只需要通过浏览器即可实时读取到其中的数据,并可将控制命令传达。纺织设备节点中,各个节点处于客户端状态,接受总控上位机这台服务器发送而来的控制信号。将程序通过JTAG下载到STM32F107开发板上以后,将JTAG调试器取下,用双绞线将PC机与开发板相连,之后将开发板复位,在PC机的网关设置为192.168.0.1,将PC机的IP地址与开发板的IP地址设置在同一个网段内。
路由节点与终端器节点有时指同一类节点,它们都是网络中最多的一类节点,在不同的情况下它们的任务会不断转换。终端节点主要负责收集机房内的各种信息,包括供电电压、电流值等,有些终端节点也会完成核心板下达的命令,如:利用外设中的红外线发射头指示空调工作等。路由节点主要是接受协调器发送来的消息,这与终端节点相一致,此外,路由节点也会转发其他节点的信息,丰富路由路径,在本监控网络中,为了防止“拜占庭现象”的发生,也会在路由节点中增加判断是否有节点损坏的功能。如下是路由节点的启动程序,可以看出路由节点与协调器节点在启动过程中有相似之处。
void ZDO_StartDevice(byte logicalType,
devStartModes_t startMode,byte beaconOrder,
byte superframeOrder)
{
devState=DEV_NWK_DISC;
ret=NLME_NetworkDiscoveryRequest
(jfDefaultChannelList,jfDefaultStarting
ScanDuration);
……}
终端节点对机房提供的电压、电流数值采集与发送是其主要任务之一,其工作流程如图2所示。
图2 终端节点电压、电流采集流程图
在传感器获取电压、电流数值时,在外设中必须有一套转换电路与保护电路,防止强电对终端节点造成破坏。读取数据的部分程序,如下所示:
PRIVATE void vReadSupply_Voltage(void)
{
uintl6 ul6AdcReading;
switch(sSupply_Sensor.estate)
{
case E_STATE_READ_SUPPLY_IDLE:
vAHI_AdcStartSamp1e();//启动AD转换
sSupply_Sensor.estate=E_STATE_READ_SUPPLY_ADC_CONVERTING;
break;
ease E_STATE_READ_SUPPLY_ADC_CONVERTING:
if(!bAHI_AdcPoll())//判断AD转换是否结束
{
sSupply_Sensor.eState=E_STATE_READ_SUPPLY_ADC_COMPLETE;
}
break;
ease E_STATE_READ_SUPPLY_ADC_COMPLETE:
ul6AdcReading=ul6AHI_AdcRead//读取AD转换的数字量
sSupply_Sensor.u16Reading=((uint32)((uint32)(u16AdcReading*986)+
((uint32)(ul6AdeReading*586)>>1)))/1000;//数值运算
sSupply_Sensor.estate=E_STATE_READ_SUPPLY_ADC_READY;
break;
}
}
下面以纺织设备中的粗纱为例说明工业以太网控制的过程。目前使用的粗纱设备大多依靠RS485串口通信方式与一台上位机进行通信,每台设备都必须配备一台计算机并由控制人员看守。这样的工业控制方式不仅通信数据量低,同时有较高的人力和物力成本。因此,系统采用工业以太网的控制架构对粗纱机组及每台粗纱机中的各个模块进行控制,如图3所示为工业以太网的粗纱机控制架构模型。
图3 粗纱机控制架构模型
粗纱设备由四台电机进行传动,为了避免细节的产生、提高纱线的质量和强度,要求同步控制多路电机,并且具有自动诊断和显示的功能以保证纺纱的质量。为了满足上述需求,整个控制系统分为控制模块和监控模块两大部分:
(1)控制模块,利用STM32作为中间网络节点,将总控上位机发送的网络控制指令数据包转换为电机驱动指令或伺服器及变频器的控制指令,对纺织设备中的各路电机进行精准控制,满足纺织设备的工作需求;
(2)监控模块,主要是将纺织机械上以及周围环境中的各种监控信息及时反馈给总控上位机,总控上位机可以及时发现异常情况,并同时设备的操作人员。同时,总控上位机也可以通过D-S数据融合算法和PID控制技术,对纺织设备中出现的问题作出初步判断,供操作人员参考。
监控模块对控制模块起到反馈作用,整个粗纱设备构成一个有效的闭环控制系统,而系统中高速的数据传输与实时性均有工业以太网及通信协议解决。
整台设备可以根据STM32网络节点的数目设定IP地址,如:电动机M1的IP可以设定为192.168.10.1,同理,一台设备的所有网络节点都可以设定在同一个网段上,即192.168.10.1-192.168.10.254,并将其中一些特殊数字的IP地址分配给网络中的传感器,如:192.168.10.110和192.168.10.119等分别分配给连接张力传感器的网络节点和连接温湿度的网络节点,以便于后续的调试与设备的维护。
实验运行结果表明,本系统无线传输稳定、测量值准确、误差低、可对机房环境进行合理控制与监控。同时,系统性价比较高,可在各大中型纺织企业进行推广使用,具有较好的经济价值与社会价值。
参考文献
[1]凌好,刘荣忠,郭锐,王宇波.基于 STM32 的太阳自动跟踪控制系统的设计[J].计算机测量与控制,2010(02).
[2]习博方,彦军.工业以太网中网络通信技术的研究[J].微计算机信息,2005(2).
[3]吉顺平.工业以太网与物联网互联模型的研究[J].计算机测量与控制,2011(8).
作者简介:刘婷(1980—),女,侗族,江苏常州人,大学本科,常州技师学院电子技术教育专业讲师。