系统整体结构
本系统是通过上位机操作系统,例如无线网络远程控制应用于油田抽油机的开关磁阻电机,控制开关磁阻电机的启动、停止、复位以及转速设定等参数,并对电机的运行状态进行采集、如电流参数、温度参数,转速信息、故障信息等,并将其返回到上位机操作系统进行分析,判断电机工作情况和下一步的控制情况,实现远程控制的目的。
本系统整体工作结构原理图如图1。
上位机操作系统
上位机操作系统是人机对话的平台,本文采用VB语言编写的可视化界面,编写了一个TCP/IP超级终端,实现了TCP/IP服务器端的功能,这是Socket的一个简单应用。由于每次GPRS拨号,系统端获得的IP地址都一样,而PC端的IP地址都不一样,而PC端的IP地址应该是固定的,因此选择PC端作为服务器端。服务器端创建后开始侦听来自网络的数据,循环等待客户端的连接,如果有客户端连接,接收到的数据会保存在缓冲器中,然后服务器端会判断是否是系统发来的数据,如果正确则显示该客户端发来的数据,同时服务器端会重新启动一个线程等待新的客户连接。
系统硬件设计
如图2所示,远程控制系统内部结构可分为系统电源、复位电路、信号采集、控制给定以及其他控制部分,这里着重介绍信号采集、GPRS远程控制等部分。
本设计需要采集开关磁阻电机的运行状态,包括电流信号,电压信号等,需要进行ADC变换,TLC0834是八位逐次逼近模数转换器,具有输入可配置的多通道多路器和串行输入方式,采用串行输入结构,其供电电压为5V,输入与输出与TTL,CMOS电平兼容,为了节省I/O资源,采用LPC2134的一个I/O口连接到TLC0834的DO端和DI端,DI端只在多路器寻址时被检测,而此时DO端仍为高阻状态,经过一个时钟周期后,DO端才开始在时钟上升沿时读出数据。
{{分页}}
GPRS远程控制系统
GPRS远程控制系统是系统的核心部分,传输控制信息以及采集运行状态,是负责上位机控制系统和底层电机的联系纽带,核心部分由ARM7处理器LPC2134和GPRS无线通信模块MC35i构成。LPC2134与GPRS通信模块MC35i的通信是通过串口通信来实现的,如图3所示,通信模块MC35i的16-23引脚数据输入/输出端标准串口的8个引脚分为DSR0、RING0、RXD0、TXD0、CTS0、RTS0、DTR0和DCD0,它有固定的参数:8位数据位和1位停止位,无效验位,波特率在300bps-115000bps之间,为了和开关磁阻电机调速系统正常地进行通信,这里选择1200bps作为数据传输的波特率,硬件握手信号用RTS/CTS,模块串口支持标准的AT命令集。
模块的24-29管脚为SIM卡引脚,其中CCVPP引脚与用于检测SIM卡插槽中SIM卡是否插入正常,CCCLK用于模块在该周期下定时检测SIM卡,因此,CCVPP脚会定时出现一个跳变,CCVCC引脚是MC35i模块为SIM卡提供的供电电源。[page]
系统软件设计
本设计采用国际化标准组织所定义的开放系统互联模型,OSI/RM参考模型包括七个协议层来定义数据通讯的协议功能,图4所示为本设计互联参考模型结构图及所涉及的协议。
图中包括上位机、INTERNET、GPRS网络、GPRS远程控制板、开关磁阻电机调试系统以及开关磁阻电机几大部分的信息通信,其中GPRS远程控制板和GPRS网络间的通讯通过PPP(点对点协议)实现,GPRS网络和INTERNET的通信通过GPRS网关节点实现,INTERNET和上位机的通信通过TCP/IP协议,并通过可视化界面实现。
PPP的设计与实现
本设计环节需要支持GPRS功能的GSM模块,使移动终端通过串口和GPRS模块相连,然后通过AT命令先设置好模块,定义PDP上下文和网络服务质量,发出进行申请GPRS服务的拨号命令,GPRS模块的PPP协议服务器端程序进行协商投信,收到拨号命令后,GPRS模块会进行网络的附着,网络分配无线链路资源,这时GPRS模块中的PPP协议服务器端进入NETWORK状态,得到网络分配的IP地址并通过IPCP协议分配给移动终端,这样,移动终端就在串口和GPRS之间用PPP协议建立了一条透明的传输通道,并取得了自己的IP地址,可以和数据中心通信了,PPT实现流程见图5。
{{分页}}
TCP/IP小型协议栈uIP的设计和实现
uIP是一个极其小型的TCP/IP协议栈,可以适用于低至8位或16位微处理器的嵌入式系统,它可以被看作是一个代码库为系统提供确定的函数,uIP提供三个函数到系统底层uip_init()、uip_input()和uip_periodic()。应用程序必须提供一个回应函数给uIP。当网络或定时事件发生时,调用回应函数。
VB语言编写的可视化界面
TCP/IP协议是internet最重要的协议,本设计采用VB语言实现了TCP/IP服务器端的功能,socket接口是TCP/IP网络的API,网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符,VB提供了winsock空间,用于在TCP/IP的基础上进行网络通信。当使用socket进行网络通信时,其中一个必须创建Socket服务器侦听以进行通信,创建服务器,首先创建一个服务端口号,并开始侦听是否有客户请求连接,部分VB程序如下:
Private
Sub Form_Load()
Sockserver.LocalPort=3000'服务器端口号
Sockserve.Listen '开始侦听
End Sub
Private sub for_unload(cancel as integer)
sockServer.Close
{{分页}}
end sub
private sub sockserver_close()
sockserver.close
end sub
private sub sockserver_connectionRequest(By ValREQID As long)
sockserver.close
sockserver.Accept REQID'表示客户请求连接的ID号
end sub
private sub sockserver_Data Arr(ByVal bytestotal As long)
'当向服务器发送的数据到达后,产生dataArr事件在事件中接收数据
Dim a as string
Sockserver.Getdata a text1.Text=a
End sub
……
结语
综合以上设计,利用GPRS网络实现远程控制的最大好处在于它的可靠性,可在恶劣环境下使用,可通过上网的网络终端来实现远程控制和电机运行状态的接收,同时可实现多点到多点的双向控制,成本低廉,尤其是象油田抽油机的恶劣的工作环境,更能节省很大的人力及物力,效率很高。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』