焊接设备的TCP/IP协议通信系统

2016-05-07 01:50祖红旭
长春工业大学学报 2016年1期
关键词:实时性

祖红旭, 付 虹

(长春工业大学 电气与电子工程学院, 吉林 长春 130012)



焊接设备的TCP/IP协议通信系统

祖红旭,付虹*

(长春工业大学 电气与电子工程学院, 吉林 长春130012)

摘要:以管焊机通信系统为例,研究了数字化焊接控制平台各模块之间的快速实时通信,并进行实验调试。结果表明,模块之间以及多CPU控制系统中实现实时通信是可行的。

关键词:DSP控制; TCP/IP协议; 实时性

0引言

当今社会计算机技术发展速度很快,以DSP、MCU应用为特征的数字产品越来越多。数字化焊机也成为了数字信号处理技术和焊接工艺相结合的产物[1]。

数字化焊接控制系统的研发将成为人类制造业发展的新阶段。数字化焊接控制系统包含很多功能,趋于复杂化,单一的CPU很难实现多个功能。功能模块化成为必然。为了信息管理集中,控制分散,各个模块之间友好通信十分必要。而各个模块的通信协议各有不同,便需要通过协议转换实现模块之间的通信。

1系统概述

工业PC用于焊接参数设置、显示与控制。PC机可以实现焊接控制,离线编程及过程监控,PC控制的使用让控制过程更为简便,但是由于PC控制的缺点是底层控制响应时间长,约10 ms左右,不能达到快速通信的要求。所以使用DSP作为主控制器,DSP主控节点集成了核心控制功能与辅助功能,包括逆变机芯控制、数据采集、旋转控制、I/O 控制等核心功能,以及送丝控制、弧长控制、横摆(摆幅、摆宽等)控制等辅助功能[2]。每个功能按照管焊通用要求设计成模块,与PC之间实现通信。系统框图如图1所示。

图1系统框图

图中主控制器与各个控制模块通过SPI总线相连,实现底层控制。由于单个CPU的控制功能有限,当需要特殊焊接工艺要求的功能如热丝控制、等离子气体质量流量控制时,扩展功能模块与主控制器实现通信即可,所以此系统还有很好的扩展性。

主控制板核心芯片采用TI公司的一款DSP,TMS320F2812DSP是TI公司一款用于控制的高性能、多功能、高性价比的32位定点DSP。它整合了DSP和微控制器的最好特征,而且集成了时间管理器、A/D转换模块、SCI通信接口、SPI外设接口、eCAN总线通信模块、看门狗电路、通用数字I/O口、多通道缓冲串口(McBSP)、外部中断接口等多种功能模块[6]。

系统中主控制器包括DSP主控板和网络协议转换器W5200,主控制板和其他CPU之间可通过DSP的外设串行SPI总线接口连接。SPI是一种高速的同步串行输入/输出接口,允许1~16位的数据流在设备与设备之间进行交换,通常用于DSP与外围设备或者DSP与其他控制器之间进行通信。

2以太网通信的应用

PC与网络协议转换器由一根网线连接,基于TCP/IP协议进行通信。DSP与网络协议转换器由SPI接口相连,实现串行通信,在此系统中网络协议转换器实现了串行通信协议与TCP/IP协议的转换,因此PC与主控板实现通信。

SPI的总线系统可以直接与各个厂家生产的多标准外围器件直接接口,SPI接口一般是四线制。SPI的通信原理简单,它是主从方式进行工作的,这种模式的通信系统中通常有一个主设备和几个从设备,其中,CS信号用来控制从机的芯片是否被选中[3]。从机只有通过CS信号被选中之后,对此从机的操作才会有效,可见片选信号的存在,使在同一总线上连接多个SPI设备成为可能。

由于操作系统的以太网功能具有完整性,所有与操作系统兼容的协议都可以在同一个物理网络下并行工作。这些协议不仅包括一些诸如 TCP/IP、HTTP、FTP、SOAP 等标准 IT 协议,还包括所有诸如 ModbusTCP、ProfiNet 或 EthernetIP 等工业以太网协议[4]。TCP/IP协议是工业控制器网络协议中的一种,通过该协议的规范,各个控制器以及PC机等之间都可以进行通讯和集中监控。

3通信实验

3.1实验原理

在多CPU多任务的通信系统中,通信的实时性成为了正常工作的关键。在本系统中,提供100组存储空间用来保存各种不同的焊接工艺参数,这些焊接参数有电流、电压、送丝速度和旋转速度以及横摆控制、弧长控制等。焊接过程中,这些焊接参数都要被发送到上位机,进行实时显示,同时上位机操作处理数据。这样在数据传输时,通信双方的时序匹配是数据能否正常收发的问题所在。W5200是一款硬件TCP/IP协议的网络协议转换器,单片机通过SPI接口可以简单地实现Internet网络连接。

使用W5200,用户通过简单的端口编程可以实现想要的以太网通信应用,而不需要处理复杂的以太网控制。W5200提供SPI接口与外部MCU连接,内部有32 K的存储器用于通信数据的存储。支持8个独立的端口(SOCKET)同时工作;支持高速SPI接口 (SPI MODE 0, 3);支持32 K存储器用于Tx/Rx存储;支持10BaseT/100BaseTX以太网物理层(PHY);支持自动握手(全双工/半双工,10/100 M)等功能。其功能框图如2所示。

TCP是一种面向连接的通信协议。TCP使用本机IP地址、端口号和目的IP地址、目的端口号等建立端口连接。使用该端口发送和接收数据[5]。

建立端口连接的方法有“TCP服务器”被动打开连接和“TCP客户端”主动打开连接两种,“TCP服务器”侦听来自“TCP客户端”的连接请求,服务器接收连接请求并建立端口连接。在一个TCP连接中,仅有两方进行彼此通信。TCP服务器和TCP客户端如图3所示。

通过配置SOCKET n在TCP模式下为TCP服务器和TCP客户端发送TCP数据包,接收数据包,从而建立连接,完成通信。

图2 W5200功能框图

3.2实验程序分析

实验对DSP编写主程序,在对系统编写初始化程序后,设置系统定时器初始化程序,在协议中分配端口数据,调用W5200子程序,其中一段实验程序如下:

AllCsUp();//所有总线上面的片选信号拉高

W5200_Reset=1;

DELAY_US(1000);

W5200_Reset=0;

DELAY_US(1000);

W5200_Reset=1;// w5200的CS引脚每次发送之前置低,发送结束之后置高。接收之前置低,接收结束之后置高。CS引脚低有效。

W5200_CS=1;// W5200的CS引脚为高。

IniProgParam();

DELAY_US(1000); //这两个时间延时不可以去掉W5200硬件复位后需要100个毫秒的时间需要等待寄存器初始化结束

Load_Parameters();//强制配置装载,配置寄存器的参数

W5200_Config();

eMBTCPInit();

eMBEnable();

Socket_Listen();

配置W5200的网关、子网掩码、本地IP地址、本地PORT号、远程IP、远程PORT号、W5200的物理地址。

图3 TCP服务器和TCP客户端

将状态寄存器W5200的Socket0的Sn_SR寄存器配置为Listen,该命令只有在TCP模式下有效,在这种模式下,Socket n配置为TCP服务器,等待其他TCP客户端的连接请求,Sn_SR寄存器从SOCK_INIT状态改变为SOCK_LISTEN状态,当客户端的连接请求成功建立,Sn_SR寄存器的状态将从SOCK_LISTEN变为SOCK_ESTABLSHED且Sn_SR(0)的值置“1”。如果连接失败,Sn_SR(3)置“1”且Sn_SR变为SOCK_CLOSED。

其中DELAY_US(1000)这两个时间延时不可以去掉,W5200硬件复位后需要100 ms的时间等待寄存器初始化结束。

通过SPI对W5200的操作由3个部分组成:

1)需要操作的寄存器的地址。

2)操作命令+操作的数据长度:读操作为0,写操作为1,由操作码+15位的数据位组成。即数据最大值为7fff=32 767。

3)操作的数据。

配置SOCKET0的端口号,服务器的IP地址和端口号,SOCKET0的中断使能寄存器,以及发送数据的最大分片尺寸。将自身端口的端口号从RAM中读取并写入到W5200中的Sn_PORT0中。将服务器端的端口号从外部RAM中读取写入到W5200中的Sn_PORT0寄存器。程序如下:

void Socket_Config(SOCKET s) //配置SOCKET0的端口号,服务器的IP地址和端口号,SOCKET0的中断使能寄存器,以及发送数据的最大分片尺寸

{

Para *param=(Para *)Parameters;

Write_W5200(Sn_PORT0(s),param->S0_SPORT,2); //将自身的端口的端口号从RAM中读取并写入到W5200中的Sn_PORT0中

Write_W5200(Sn_DPORT0(s),param->S0_DPORT,2);//将服务器端的端口号从外部Ram中读取写入到W5200中的Sn_PORT0寄存器

Write_W5200(Sn_DIPR0(s),param->S0_DIP,4);//写入服务器端的IP地址

Write_Byte_W5200(Sn_IMR(s),0x1f); //使能SOCKET0的中断允许寄存器

Write_Byte_W5200(Sn_MSSR0(s),1460/256); //设置SOCKET0的最大分片尺寸为1460,当发送的数据长度大于1460时将会被划分为1460的整数倍发送

Write_Byte_W5200(Sn_MSSR0(s)+1,1460);

}

W5200的寄存器RX_MEM_SIZE是Socketn接收数据存储器大小寄存器,每个Socket接收数据存储器大小是可以配置为1、2、4、8和16 K字节。系统复位后,默认分配为2 字节。RX_MEM_SIZE=2 048,相当于只能取<2 048个大小的数据的偏移量。C000+7FF是可以取到的最大地址的数据。读取地址中的数据,并放置在Rx_Buffer中,Rx_Buffer的最大值为2 000个字节,SPI可以接收的数据一次性最多为2 000个字节数据。写数据到寄存器中,将接收寄存器Sn_RX_RD0中的值更新为最新的rx1_offset+size的值。通过这个循环实现了焊接参数接收与发送。

通过实验发送1 00个数据(12 000位),大约需要1.2 ms,发送2 000个数据(24 000位)大约需要2.5 ms。与理论时间1.1 ms和2.3 ms相符,可知实时性很好。因为一般RS232串口通信的数据传输速率是300、600、1 000、2 000、4 800、9 600、19 200 bit/s,而文中采用的通信方式的传输速率是10 M,远大于串口的速度,并且稳定性、可靠性高。实验结果也证明了这一点。

4结语

通过上述实验和焊机的现场调试,对主控制器DSP 与上位机之间的通信做了详细的研究与分析,解决了多CPU实时友好通信问题。系统有很高的实时性、可靠性和稳定性,已经得到实际应用,可以在相近平台使用。

参考文献:

[1]王经,李春善,刘桂方,等.基于倍福和DSP的焊接通信系统实时性研究[J].信息技术,2010,8:76-80.

[2]戴红军.基于CAN总线的管焊系统分布式控制平台研究[D].北京:清华大学,2010.

[3]邬可军,朱铭锆.DSP实时多任务操作系统设计与现实[M].北京:电子工业出版社,2005:41- 66.

[4]李星林,黄石生,吴开源,等.基于DSP的CAN总线通信及其在双丝脉冲MIG焊中的应用[J].电焊机,2007(12):74-77.

[5]陈洪彬.基于以太网的数字化弧焊控制器的研制[D].哈尔滨:哈尔滨工业大学,2006.

[6]刘和平,王维俊,江渝,等.TMS320LF240x DSP C语言开发应用[M].北京:北京航空航天大学出版社,2003.

Based on TCP/IP protocol communication system applications welding equipment

ZU Hongxu,FU Hong*

(School of Electrical & Electronic Engineering, Changchun University of Technology, Changchun 130012, China)

Abstract:Taking communication system in an automatic welding equipment as an example, the real-time communication between the modules in digital welding platform is studied. The experimental results show that the real-time communication can be realized between the modules and multi-CPU control system.

Key words:DSP-based control; TCP/IP protocol; real-time.

中图分类号:TP 23

文献标志码:A

文章编号:1674-1374(2016)01-0042-05

DOI:10.15923/j.cnki.cn22-1382/t.2016.1.09

作者简介:祖红旭(1986-),女,汉族,吉林松原人,长春工业大学硕士研究生,主要从事测试技术和智能系统方向研究,E-mail:sunny5419 @126.com. *通讯作者:付虹(1963-),女,汉族,吉林长春人,长春工业大学教授,博士,主要从事现代测试技术与智能系统方向研究,E-mail:fuhong@ccut.edu.cn.

基金项目:吉林省科技厅基金资助项目(20130206029GX)

收稿日期:2015-11-19

猜你喜欢
实时性
航空电子AFDX与AVB传输实时性抗干扰对比
LonWorks总线实时性能分析与仿真研究
浅析PCM设备在电力通信网络中的应用和发展
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
基于B/S的实时用户行为检测管理系统设计与实现
基于单片机的超声波测距系统的设计与实现
基于卡尔曼滤波的台球跟踪技术研究
一种车载Profibus总线系统的实时性分析