应用于PLC的生产现场无线数据查询系统

时间:2022-08-18 07:34:20

应用于PLC的生产现场无线数据查询系统

摘要:在工业生产领域,大多数大型工厂均通过局域网及生产现场PLC实现监控中心对各生产现场的集中检测和控制。然而PLC没有数据库功能,这给生产现场人员的工作带来了不便。本设计利用ARM及SQLite建立的生产现场嵌入式数据库系统能实时采集大型污水处理厂生产现场PLC的监控数据,并通过无线局域网为现场技术人员提供数据查询功能。本系统无需改变原控制网络及控制程序,安装使用方便。

关键词:ARM、SQLite、WLAN

Abstract: in the industrial fields, and most large factories are through the LAN and production site PLC for the monitoring center of the production field concentration detection and control. However PLC has no database function, this to the production of the field staff bring inconvenience. This design based on the ARM and SQLite establish production site embedded database system can collect real-time large sewage treatment plant production site PLC monitoring data, and through the wireless local area network for on-site technical personnel to provide data query functions. The system needs to change the original control network and control procedures, installation is convenient to use.

Keywords: ARM, SQLite, wireless local-area network (WLAN)

中图分类号:TU74文献标识码:A 文章编号:

前言

大型工业生产一般通过PLC实现对生产现场的数据采集及控制。通过局域网,监控中心能够与各生产现场的PLC建立连接,实现监控中心对各生产现场的集中检测控制。当技术人员对生产进行现场监测或对现场仪器设备等进行检测维修时,由于PLC并没有数据存储管理的功能,身处远离监控中心的生产现场的技术人员无法实时获得监控数据,这给工作带来极大的麻烦。

利用ARM Linux嵌入式系统实现生产现场的实时数据记录及查询管理,能方便地解决上述问题。如图1所示,本嵌入式系统安装于生产现场,串联于局域网与生产现场PLC之间。本系统通过两个分别连接生产现场PLC和局域网的以太网控制器实现生产现场与控制中心的通信,同时把通信数据保存到嵌入式数据库中。另外,本系统能通过无线局域网进行连接,为现场用户提供可移动的实时数据检索查询等功能。本系统对于整个生产网络是透明的,无需改变网络结构及控制程序,因此安装使用方便,不会对生产过程造成影响。

图1 生产现场嵌入式数据查询系统示意图

1、Linux下的网络通信

本设计使用S3C2410ARM处理器。首先需要构建ARM Linux操作系统。下载安装ARM-Linux的工具链,令arm-linux-gcc包含到系统中。下载Linux源代码,编辑其Makefile文件,指定ARM CPU及arm-linux-gcc交叉编译工具:

ARCH=arm

CROSS_COMPILE=arm-1inux-

对内核进行裁剪。本设计采用常用的RealTek 8019以太网控制器,一般较新版的Linux都提供驱动支持,因此在内核裁剪时注意保留其驱动支持即可。

然后配置局域网网络。污水处理厂使用的是Rockwell 1756PLC,采用TCP/IP协议通信。本嵌入式系统中第一个以太网控制器(eth0)连接生产现场PLC,第二个(eth1)连接局域网。为了实现本系统的透明接入,需要设置eth1的IP地址为生产现场PLC的IP地址,eth0的IP地址为控制中心PLC的IP地址。打开/etc/sysconfig/network-scripts的ifcfg-eth0、ifcfg-eth1文件,修改以下参数,实现双以太网控制器的IP配置:

IPADDR=控制中心PLC/生产现场PLC IP地址

NETMASK=控制中心PLC/生产现场PLC子网掩码

GATEWAY=控制中心PLC/生产现场PLC网关

TYPE=Ethernet

接着安装USB无线网卡。本系统采用的Netgear公司MA111型USB无线网卡基于IEEE802.11b协议,只需以模块的方式直接交叉编译linux-wlan-ng驱动程序即可方便地实现到S3C2410平台的安装移植:

使用make config命令对下载的驱动程序进行Linux内核版本、网卡型号等配置;

编译驱动并将编译好的prism2_usb.o模块移动到/lib下;

在/etc/init.d/rcS里添加/sbin/insmod/lib/p80211.o以及/sbin/insmod/lib/prism2_usb.o实现网卡驱动的自动加载。

安装完毕后通过上述方法为无线网卡分配IP地址即可使用。

最后编写两片8019以太网控制器及MA111无线网卡的初始化程序。Linux提供了TCP/IP网络常用的Socket接口,主要函数有socket、bind、listen等。编写以太网接口初始化函数net_port_setting如下:

void net_port_setting()

{sockfd1=socket(PF_LOCAL, SOCK_DGRAM, 0);

bind(sockfd1, control_center_addr,sizeof(struct control_center_addr));

listen(sockfd1, 5);、、、、、、、、、、

此函数首先调用socket函数建立一个套接口并返回一个sockfd1描述符,接着bind函数根据sockfd1把此套接口与control_center_addr(此结构体存放有控制中心PLC的IP地址和端口号)绑定在一起,最后调用listen函数让此套接口(即eth0)开始监听连接请求。用相同的方法即可实现另一片8019及MA111的初始化工作。

图2 以太网控制器连接电路图

如图2,RTL8019的IOCS16B为高电平、IOS0~IOS3接地,工作于16位数据传输模式。RTL8019通过S3C2410的ADDR17~ADDR19和74LS138获得AEN片选,通过S3C2410的EINT9产生外部中断申请。另一片RTL8019的连接与图2基本一样,只是其AEN连接74LS138的Y1,通过EINT10产生中断申请。

2 系统程序设计

本嵌入式系统主要的工作任务是局域网网络接口的数据报续传和数据提取、无线数据库访问。由于污水处理厂控制网络数据传输频繁,本系统采用非阻塞IO模式查询以太网控制器接口,既能保证网络通信速度,也不会浪费太多CPU资源。系统主程序工作流程如图3所示,main函数首先调用net_port_setting函数对两片8019以太网控制器及MA111无线网卡进行初始化,然后进入循环状态,利用accept函数不停检测网络接口,当局域网所连接的以太网控制器接口有连接进入时accept函数会建立一个新的socket,然后调用recv函数接收数据报。接收到的数据报里的监测/控制数据会被提取出来并写入到数据库中,再通过另一局域网网络接口把原数据报原封不动地发送到目的地。同时,当生产现场人员通过无线连接访问数据库时,系统也会通过accept函数输入SQL指令并进行数据查询,最后把查询结果无线输出。

图3 系统工作流程图

本设计采用Visual C#开发数据查询界面。通过便携式计算机与嵌入式系统的无线网络连接,生产现场人员可利用此界面方便地实现监测及控制数据的查询。数据查询界面如图4所示。

图4 数据查询界面

3 结语

在不改变原控制网络及其程序的情况下,本系统只需安装于生产现场PLC旁即可使用。使用结果表明,技术人员能在现场各地点十分方便地通过便携式计算机与嵌入式系统进行无线连接,能在生产监测或仪器设备检测维修的同时实时获得所需要的数据记录,大大提高了工作效率。

参考文献

1 John Goerzen.Linux Programming Bible[M].电子工业出版社.2000.

2 黄布毅,张晓华.ARM-Linux的SQLite嵌入式数据库技术[J].单片机与嵌入式系统应用.2005(4):21-24.

3 庄宗辉,薛毓强,连瑞红.嵌入式数据库SQLite在远程监控系统中的应用[J].现代电子技术.

注:文章内所有公式及图表请用PDF形式查看。

上一篇:阐述市政工程施工技术管理 下一篇:简探检测锅炉的几种措施