基于物联网的数控车间集成通讯系统的设计*

2016-08-31 05:37徐楚桥孙文磊
制造技术与机床 2016年4期
关键词:网卡数控系统串口

徐楚桥 孙文磊

(新疆大学机械工程学院,新疆 乌鲁木齐 830047)



基于物联网的数控车间集成通讯系统的设计*

徐楚桥孙文磊

(新疆大学机械工程学院,新疆 乌鲁木齐 830047)

设计实现了一种基于物联网的数控车间集成通讯系统的解决方案,针对国内企业目前使用的主流数控机床,从不同数控系统的通讯方式和通讯协议出发,提出了数控车间无线组网方案,利用Java语言,开发了对车间内多台不同数控系统机床进行集成管理和通讯的系统软件。在一定程度上解决了离散车间的集成化问题和DNC软件在通用性上的问题,并于实际运用中取得良好效果。

物联网;通讯;集成性;通用性; Java

随着互联网的发展,促进制造装备的控制技术得到极大的提高,使制造装备向网络化、智能化阶段迈进。制造技术与信息技术深度融合,是当前制造产业发展的最大趋势。如:德国推出工业4.0、美国提出智能制造、日本提出的“智能制造系统计划”等 。中国科技部高新司先进制造与自动化处在先进制造技术领域“十三五”战略研究中也提出了基于“互联网+”,通过融合制造物理系统与信息系统,实现生产制造的智能化和互联化,依靠科技创新,培育中国制造业的“智慧企业”,打造中国版的“工业4.0”和“工业互联网”,走符合我国制造产业特色的自主发展之路的战略部署。而就目前中国制造企业车间层的生产现状,大部分都还停留在人工拷贝程序,机床、NC代码、工程图纸文档管理混乱,这就迫切需要建立基于物联网的车间集成通讯系统,保证系统之间的信息交互和流通,这也是实现“无纸化”、数字化制造,打造网络化、智能化企业的基础和先决条件。

由于目前中国大多数企业车间内机床新旧不一、系统不一,有可能一个企业车间内有多种不同数控系统的机床,这就对系统的集成性和通用性提出了要求,所以就要求集成通讯系统囊括目前使用的不同数控系统的所有通讯模式,才能将整个车间的所有机床集成到一起进行通信和管理,也就是实现通用性和集成性。本文在对目前国内使用的主流数控机床的通讯方式和协议进行系统分析的基础上,提出了基于物联网的数控车间集成通讯系统的物理组网方案以及利用Java语言实现软件开发的方法。

1 物理组网方案

目前,中国企业使用的数控系统基本为FANUC、SIEMENS、华中数控、广州数控。其通信模式可分为两类:一类为早期的FANUC系列、广州数控980TD系列、广州数控928TA系列、华中数控3.0系列和华中数控4.0系列等都是应用RS-232串口来实现机床与计算机之间代码的传输;另一类为后期的带有网卡的数控系统,其机床上直接带有RJ45以太网口 ,利用机床自身以太网络通信。

1.1主要硬件

所需要的主要硬件有串口服务器或智能终端、无线网桥、无线AP、以太网交换机等。

其中,串口服务器简单的说就是一种网络通讯接口转换设备,它能够将我们常见的RS-232、RS-485、RS-422串口转换成TCP/IP网络接口,实现RS-232、RS-485、RS-422串口与TCP/IP网络接口的数据双向透明传输,使得常规的串口设备能够立即具备TCP/IP网络接口功能,从而达到连接网络进行数据通信、实现网络化管理和远程控制的目的。

无线AP(access point)即无线接入点,它是用于无线网络的无线交换机,它主要是提供无线工作站对有线局域网和从有线局域网对无线工作站的访问,在访问接入点覆盖范围内的无线工作站可以通过它进行相互通信。其有AP无线接入点模式、Repeater中继模式、Bridge with AP桥模式Multi-SSID模式以及AP client接入点客户端模式。这里选用的是AP client接入点客户端模式,可以和其他AP进行无线连接,延展网络的覆盖范围。

1.2组网方案

将车间带串口的数控机床的RS-232 串口接到串口服务器或智能终端上转换为RJ45以太网口,将转换后的网口连接到无线连接器上,带有网口的机床和触摸屏则直接将其RJ45以太网口接到无线连接器上,无线连接器可采用Passive PoE网线供电,让AP摆脱电源接入点的限制,使无线接入器直接粘贴在数控机床身上,然后通过无线接入器的AP client接入点客户端模式,和其他AP进行无线连接,将车间内所有机床以及触摸屏通过设定固定IP地址及MAK地址连接到总的无线AP上,最后再将总的无线AP通过以太网交换机连接到数据库服务器以及其他计算机上,如图1所示。

以上物理组网方案不仅可以实现车间所有数控机床及触摸屏与上层服务器和客户机之间的联网通讯,而且这里利用无线连接和Passive PoE网线供电,既解决了传输距离的问题,又极大地节省了空间,减少了线路,特别适合企业车间这种线路繁多的复杂环境。

2 利用Java实现软件的开发

软件部分主要在建立好的物理连接网络基础上,对所有数控机床进行系统的集成管理,实现点对点、点对多的通信交互及整体管理,以使企业的管理者和决策层能不在车间内而对车间内的数控机床进行管理和及时通信,从而大大地减少了人力、节省了时间,提高了软件的通用性。图2为系统软件主界面。

2.1语言的选择

集成性和通用性是贯穿本系统的重要理念和中心思想,用Java语言编写的程序,可以运行在任何平台和设备上,如跨越IBM个人电脑、MAC苹果计算机、各种微处理硬件平台,以及Windows、UNIX、OS/2、MAC OS等系统平台,真正实现“一次编写,到处运行”,且语言简洁,可靠性高,可移植性好,非常适用于企业网络和Internet环境。所以选择Java语言编写本系统,利用基于Java开源类库RXTX提供的Windows,Linux,Mac OS X,Solaris操作系统下的兼容javax.comm串口通讯包API实现对数控机床串口操作和通信。

2.2机床参数的设置

在软件“机床参数设置”界面中设置的参数,必须与机床的串口参数保持一致,才能与机床进行连接和通信。只需第一次添加机床时进行设置,即可将机床信息和参数保存在数据库中,当数控机床参数发生变动时,也可及时在软件中进行修改。机床参数设置界面如图3所示,主要参数说明如下:

“XON--DC”:软件握手方式下,接收的一方在代码传输的过程中,用该字符控制发送方开始发送的动作信号。

“XOFF--DC”:软件握手方式下,接收的一方在代码传输的过程中,用该字符控制发送方暂时停止发送的动作信号。

“波特率”:数据传送速率,表示每秒钟传送二进制代码的位数,它的单位是位/秒。常用的波特率为4800、9600、19200、38400。

“数据位”:串口通信中单位时间内的电平高低代表一位,多个位代表一个字符,这个位数的约定即数据位长度。一般位长度的约定根据系统的不同有:5位、6位、7位、8位几种。

2.3机床的集成管理

利用机床树将存放在数据库中的所有数控机床的名称、类型、分组、参数等信息进行有条理、系统地展现和管理,如图2左侧所示。以便于对所有机床信息在数据库中的保存和读取,更加简单方便地对所有机床进行整体、系统的管理。并针对不同型号的机床通信协议的不同和参数的不同,设置不同的连接方式,对机床树上的每台数控机床都可打开其对应的通信模式和窗口,以使得真正对车间所有机床的整体、集成管理。

2.4串口机床通信的流程与方法

不同数控系统的机床拥有其各自不同的通信协议,这就要求针对不同通信方式的机床系统编写不同的通信程序语句,才能实现与所有机床的通信,真正达到通用性和集成性。如华中数控系统,就有其特殊的通信协议,要求通信程序在发送文件代码的正文前发送特殊的十六进制程序头,大小为46个字符,共92位,必须写满,否则程序代码将发送失败。

在此以华中数控机床为例介绍串口机床通信软件的设计流程与方法。图4为华中数控十六进制程序头,第一行“52”代表需要机床接收文件,“30”代表要发送普通文件,“3F”代表要机床做好接收准备,“49 41 00”为固定标识符,“4F 31 32 33 34”标识发送计算机上文件名称为“1234”的文件,后面的“00 00 00 00 00”及第二行、第三行的 6 组“00”都是填位用的(文件名共 32 位)。第三行中间标记处“31 38 01 00”为文件大小(共 4 位)。其后“3F 49 41 00”又为固定标识符,再其后开始全部为所要发送的文档内容。在编写程序的过程中,就必须按照华中的协议格式传输。其他不同数控系统的串口机床虽通信协议与此不尽相同,但通信原理上都是一致的,只需在编写语句时,针对不同的数控系统加上与之对应的通讯协议的头文件,在此就不再赘述。发送与接收程序的设计流程如图5所示:

利用基于Java开源类库RXTX提供的javax.comm串口通讯包实现以上流程和对数控机床串口的操作和通信,关键程序代码如下:

portId = (CommPortIdentifier) portList.nextElement();

//遍历所有机床串口列表

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL){

//选取发送文件的机床串口

try{……// 参数初始化

serialPort = ( SerialPort ) portId.open( "SerialReader", timeout);

// 打开端口

serialPort.addEventListener( this );

serialPort.notifyOnDataAvailable( true );

catch ( PortInUseException e )

{e.printStackTrace(); }}}

public void serialEvent(SerialPortEvent event) {

switch (event.getEventType()) {

ase SerialPortEvent.DATA_AVAILABLE://获取到串口返回信息

readComm();

break;}}

public void readComm() {

//读取串口返回信息方法

byte[] readBuffer = new byte[1024];

try { inputStream = serialPort.getInputStream();

//从线路上读取数据流

int len = 0;

while ((len = inputStream.read(readBuffer)) != -1) {

//多次读取,将所有数据读入缓存区

System.out.println(new String(readBuffer, 0, len).trim()+new Date());

test += new String(readBuffer, 0, len).trim();//读出缓存区文件并释放缓存

break; }

}catch (IOException e) {

e.printStackTrace();}}

2.5网卡机床通信的流程与方法

机床的网络模块与PC机网卡的工作模式类似,由硬件和软件组成。硬件指网卡及网卡驱动程序,软件就是机床的网络通信模块。

带网卡的机床和车间触摸屏由于其自带网卡和网卡驱动,在建立好的数控机床与服务器之间的局域网中,其与上层服务器之间可以通过访问各自的IP地址下的共享文件来实现通信与文件的交互。但是同样在面对繁多的机床,如何进行集成管理,如何精准地点对点、点对多地与欲连接机床实现通信和交互,以及如何将此种通信模式和谐地、更好地融入到软件界面中,结合机床的通信规则,机床与服务器的通信原理,我们提出的解决方案如下:

首先,数控机床默认访问的路径是C盘(不是操作系统所在盘)目录下的PROG文件夹,因此我们必须将服务器中的所有的通信文件放在C盘目录下的PROG文件夹中来集中管理,并将此PROG文件夹设置共享,再在服务器主机上创建FTP服务器, FTP服务器可以由客户端通过协议访问,上传或下载文档。客户端从一个任意的非特权端口N(N>1024)连接到FTP服务器的命令端口,也就是21端口,然后客户端开始监听端口N+1,并发送FTP命令“port N+1”到FTP服务器。接着服务器会从它自己的数据端口(20)连接到客户端指定的数据端口(N+1)。服务器发起到客户的连接时,当客户端通知服务器它处于被动模式时才启用。然后在软件中编写“连接机床”窗口,访问对应的IP地址下的数控机床(每台数控机床对应着不同的IP地址),读取机床数据,同时打开服务器中PROG文件夹中的文件数据。本地上传、下载文件可以采用鼠标拖拽方式,将机床窗口 List 内文件与服务器 List 窗口中文件相互拖拽。车间触摸屏通信原理亦如此。通过网卡与服务器连接,加载网络成功后的机床端如图6所示。

3 结语

本文介绍了基于物联网的数控车间集成通讯系统的设计方案与软、硬件的实现方法,针对不同类型数控机床的通信方式和通讯协议的不同,覆盖了国内主流数控机床的通讯方法,能将车间所有机床集中在一个软件界面内进行管理和通讯。该系统在新疆大学工程训练中心数控车间(含华中、FANUC等带串口、网卡机床)内经过测试,运行正常。不仅在一定程度上解决了离散车间的集成化问题和DNC软件在通用性上的问题,而且为后续的MES系统的开发与完善以及实现生产制造的智能化和互联化奠定了基础和先决条件。

[1]杨叔子,吴波,胡春华,等.网络化制造与企业集成[J].中国机械工程,2000,11(2):45-49.

[2]钱志鸿,义君. 物联网技术与应用研究[J ].电子学报,2012,40(5):1023-1029.

[3]谌鹏. 基于PC机的DNC传输软件的开发[J].机床与液压,2009,37(2):126-129.

[4]陈明泽. 数字化车间DNC网络管理系统的研究[D].长沙:湖南师范大学工程与设计学院,2011.

[5]王建胜. 基于DNC的数控机床联网方案[J].成组技术与生产现代化,2012,29,(4):41-44,49.

[6]Bruce Echel. Java编程思想[M].3版.北京:机械工业出版社,2005.

[7]胡伏湘,雷军环. Java程序设计实用教程[M].北京:清华大学出版社,2005.

[8]孙静,李晶皎,李海朋,等. 基于Java的串口通信技术应用[C].2006中国控制与决策学术年会论文集,2006:779-781,786.

物联网的车间制造执行系统的研究。

(编辑谭弘颖)

如果您想发表对本文的看法,请将文章编号填入读者意见调查表中的相应位置。

Design of intergrated communication system in CNC workshop based on IOT

XU Chuqiao,SUN Wenlei

(School of Mechanical Engineering, Xinjiang University, Urumqi 830047,CHN)

An intergrated communication system in CNC workshop based on IOT was designed and realized,which has proposed a solution of wireless network in CNC workshop and developed an application software to communicate with CNC machine tools with different system by Java, considering the different communication protocols and methods from different CNC system used by current Chinese factory.The question in intergrating the discretized workshop and improving the universality of the DNC software has been solved to some extent and good effect has been gained during actual operation.

internet of things (IOT); communication;integration;commonality; Java

TG659;TP393.1

B

徐楚桥,男, 1992年生,硕士,从事基于

2015-08-18)

160428

*新疆科技重点专项项目(201130110);新疆科技支疆项目(2013911032)

猜你喜欢
网卡数控系统串口
基于NPORT的地面综合气象观测系统通信测试方法及故障处理
浅谈AB PLC串口跟RFID传感器的通讯应用
部署Linux虚拟机出现的网络故障
Server 2016网卡组合模式
基于FANUC 32i A数控系统的外部测量设计
西门子840D sl数控系统在SC125大型车铣镗床技术改造中的应用
基于FANUC Oi mate TD数控系统的手动功能开发
数控系统中GUI软件平台设计和实现
船舶电子设备串口数据的软件共享方法
串口技术的实物调试和虚拟仿真联合教学模式