GPRS DTU 在三菱FX2N 远程控制系统中应用

2012-09-07 09:31黄诚
中国新技术新产品 2012年12期
关键词:服务器端三菱指令

黄诚

(广东水利电力职业技术学院,广东 广州 510635)

1 概述

由于PLC的稳定性及极强的抗干扰性,在工业生产及应用中几乎无所不及,但在这个信息时代,工厂管理智能化的管理愈发显得重要,实时监控企业的生产状况,了解生产进度对企业的客户的获取,资金的流通等有着决定性的因素。作为生产的大脑核心,PLC连接入网络,向外部智能设备及时发送关键数据或及时接受指令控制生产现场也变得越来越重要,GPRS无线网络作为2.5/2.75G 移动通信网络,已经在我国已经被广泛使用,人们几乎无时不刻在应用到它,如手机浏览网页、彩信、飞信、qq、微信等,将PLC控制系统与现有GPRS无线通信网络技术集成,通过GPRS网络通信技术,可以实现全国,甚至全球范围内的数据超远程可靠传输,进而达到数据远程分析处理,远程控制的目的。

相对于GSM 业务而言,PLC基于GPRS的数据传送效率更高,速度更快,报文结构简单明了,PLC控制程序编制更方便,而通信的费用也更低,故GPRS与PLC通信方式将成为一种最新的趋势为更多的企业单位所接受。在本文中,GPRS DTU 选用了SIMCOM 公司的SIM300 模块,此模块具有标准AT 指令接口,可以提供GSM 语音、短消息、彩信及GPRS上网等业务。

2 基于GPRS网络三菱FX 系列PLC远程控制系统的结构

基于GPRS网络三菱FX 系列PLC远程控制系统的结构如图1 所示。

由于工业生产数据信息的重要性,故数据的可靠性相当重要,因此在基于GPRS网络三菱FX 系列PLC远程控制系统结构图中,我们选用了TCP 协议,正是因为TCP 是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,比UDP(User Datagram Protocol)这种无连接协议更适合工业生产数据采集。远程监控端如PC 等可以公网IP 智能设备作为服务器,而连接工业生产现场的GPRS DTU 则作为客户端,双方通过GPRS网络建立起TCP 链接,进而进行双方数据的互换。

3 三菱FX 系列PLC通信模块FX2N-232-BD 与SIM300-DP9的接线

在图1中,PLC模块与SIM300模块的通信采用的异步串行通信接口总线标准,由于SIM300模块上的采用的是DP9的RS232 接口,但三菱FX系列PLC没有自带的232接口,需在扩展口上增加FX2N-232-BD通信模块,如果还需要使用MODBUS此类总线通信,则应该配置三菱的FX2N-232IF,否则将出现通信端口不足的情况。图2是三菱FX系列PLC通信模块FX2N-232-BD与SIM300-DP9的接线图。

4 SIM300模块进行GPRS连网的工作流程

在图1中,三菱FX2N系列PLC在设备开始运行时应发送AT 指令给GPRS DTU(SIM300 模块),模块才能获得IP 地址,连接服务器和进行数据包的传送。PLC控制SIM300工作的流程如图3 所示。

在图3中,SIM300模块上电以后,会通过单片机对POWERKEY引脚输出一个大于1500ms的低脉冲,用以对SIM300模块进行初始化,而PLC的初始化由内部机制完成,不需要编程实现。

5 SIM300模块TCP连接涉及的AT 指令

PLC欲向远程智能设备发送数据,须通过GPRS DTU(SIM300 模块)与远程智能设备建立TCP 连接,而该远程智能设备必须具备公网IP,如果远程端处于在局域网内部,则要做IP 地址的映射。故PLC在与远程设备交换数据前,须向SIM300 模块发送一系列的AT指令,模块接收到指令后做相应的操作,涉及的指令如下所示:

5.1 建立TCP连接(指令代码为:AT+CIPSTART);关闭TCP 连接(指令代码为:AT+CIPCLOSE)

在建立TCP 连接之前,或者移动场景关闭后要建立连接,有一个初始化的过程,这个过程分为启动任务、激活移动场景、获取本地IP 地址三个步骤。这三个步骤可以由AT+CIPSTART一次完成,也可以通过AT+CSTT(启动任务并设置 APN、USER ID、PASSWORD)、AT+CIICR(激活移动场景)、AT+CIFSR(获取本地IP地址)分步完成。在这些步骤执行完成后,AT+CIPSTART只进行连接操作。

其格式为:AT+CIPSTART=“TCP”,(“SERVERIPADDRESS”,“DOMAIN NAME”),“SERVER PORT”如果命令正确则返回“OK”,连接成功则继续返回“CONNECT OK”,连接失败则先返回状态码,再返回“CONNECT FAIL”;命令错误则发回“ERROR”。

若要关闭TCP连接,则PLC应当向SIM300发送AT+CIPCLOSE(ASCII 码),如果命令正确则返回“OK”,命令错误则发回“ERROR”。

5.2 设置本地端口(指令代码:AT+CLPORT)

SIM300作为客户端,其端口号应该设置与服务器端一致,可用该指令进行设置。

格式为:AT+CLPORT=(“TCP”,“UDP”),“PORT”

5.3 发送数据(指令代码:AT+CIPSEND返回“>”后写入需发送的数据,按CTRL+Z(16 进制为1A)开始发送)所有发送的数据均以ASCII码的形式进行,每次传送的数据小于等于1024BYTES,且可以通过AT+CIPSEND=<数据长度>来发送固定长度的数据串,通过AT+CIPATS=1,

6 PLC与SIM300模块的通信程序的编制

本系统的全部程序很长,而且不同的控制系统逻辑控制程序可能完全不同,对于控制工业生产的程序便不做描述,而PLC通信控制程序的编制需遵循FX2N 系列PLC的编程规则其通信的编程方法比较固定,图4为本系统采用的通信程序框架。

7 上位机编写远程服务器监控程序

远程智能设备要求能与GPRS DTU 进行数据交换,可以根据实际情况用高级语言编写程序做成可视化界面,点击相应操作后实现系统功能要求,在本系统中,采用了Visual Basic 编程语言进行上位机软件的开发,为了实现TCP/IP 协议的实现,选用了Windows Sockets 控件,它是一套开放的、支持多种协议的Window 下的网络编程接口,通过它我们可以调用多种协议功能,最常使用的就是调用TCP/IP 协议,在利用Socket 进行网络编程时,需要涉及到的内容有:协议、本地地址、本地端口、远程地址和远程端口号。

由于远程智能设备端是作为服务器,本文只对通信连接做程序的描述,服务器端程序编写过程如下:

(1)设置服务器端的winsock 控件的协议及设置侦听端口,用于监听客户端的连接请求

SockServer.Protocol=SckTCPProtocol'设置为tcp 协议

SockServer.LocalPort=PortNumber'设置侦听端口

(2)调用服务器端的Winsock 控件的侦听方法,使服务器进入侦听状态。

SockServer.Listen'开始进行侦听

(3)服务器接收到客户端发来的连接请求后,用Accept 方法接收请求,于是服务器便与客户端正式连接起来。

SockServer.Accept requestID

(4)当服务器接收到数据时,会发生DataArrival 事件,参数BytesTotal 包含接收到的数据字节数,在该事件中,可用GetData 方法进行接收。

SockServer.GetData StrTemp

txtReceice.Text=StrTemp

结束语

利用GPRS网络把工业生产实况与远程服务器端连接在一起,几乎不用花费硬件布线成本,造价低廉,随着GPRS的在手机间的广泛应用,其通信质量稳定,技术日益成熟,将其应用在PLC的数据采集及传输上有着鲜明的优势,是未来PLC发展的一个新趋势。

[1] 仲维俊.Visual Basic6.0 完全自学手册.机械工程出版社,2007.3.

[2] 邓红军,王清.GPRS网络无线数据通信设备应用研究[J].科技创新导报,2010.21.17.

[3] SIMCOM Ltd,SIM300 HARDWARE SPECIFICATION.2005.12.27.

[4] 郭昌荣.FX 系列PLC的链接通信及VB 图形监控[M].北京:北京航空航天大学出版社,2008.

[5] 长林.Visual Basic 串口通信技术与典型实例[M].北京:清华大学出版社,2006.

猜你喜欢
服务器端三菱指令
Linux环境下基于Socket的数据传输软件设计
三菱日联银行
三菱日联银行
利用三菱PLC在老设备上的改造应用
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
浅析异步通信层的架构在ASP.NET 程序中的应用
基于Qt的安全即时通讯软件服务器端设计
别致型男 试驾2015款三菱帕杰罗精英超越版
坐标系旋转指令数控编程应用