文件名称:
基于GSM短信息的离散油井监控系统.pdf
开发工具:
文件大小: 153kb
下载次数: 0
上传时间: 2019-10-12
详细说明:基于GSM短信息的离散油井监控系统pdf,基于GSM短信息的离散油井监控系统扰处理,防止假错信息进入
(②)逻辑处理功能模块:控制系统的目的是要控制的一系列动作,根据采集的信息识别当前抽油札的工作状
态,按照抽油杋旳工作原理和油井的变化规律,控制和预测抽油机的动作。抽油机的控制功能主要包括:空抽控
制、时间定点控制、连喷带抽控制,根据用户的实际应用没定需要的控制玏能的同时,记录岀现的所有运行故障。
(3)I/O驱动模块:这一部分主要是针对输入、输出耗损时间较多的缘故,把所有输入输出放在一个仼务里
面集中处理,有利于提高系统的实时性。控制实现声音和灯光闪烁的报警功能。
(4)通信模垬:通信功能我们实现了两种方式,在工作现场通过RS232接口通信的 Modbus协议和基于GSM短
信息的无线传递方式。 Modbus协议实现已经有很多文章介绍过,这里我主要说说GSM短信息的无线传递的实现
连接与数据格式
T
R
天线
ANT
RA
GND
无线模块
上位机
Gl00A型GSM数传模块呆用的是三线制串∏,即TX,RX,GⅧD三条线,没有其他仼何握手和数据流控制线。其
传输数据格式为:1个起始位、8个数据位、1个停止位。无校验(即51系列单片机串型通讯的方式1)。串口
速率为固定的9600Bps
b、电话号码的表示
GSM短佁模块是用GSM模块的短信息功能κ传输数据的,所以在使用它传输数据的时候烑要用到电话号码。
为了规范和方便,下面介绍数据包中电话号码的表示方法。数据包中用6个8位二进制字节表示电话号码,每个
字节中高4位和低4位均用BCD码表示1位十进制的电话号码,这样每个字节可表示两位电话号码,6个字节共
可表示12位电话号码,因现行的电话号码均为11位,而6宇节能表示12位丨进制的BCD数,所以在传输数据
表示电话号码时要将电话号码的前面补0以凑足12位。假设电话号码是13501237654,转换成6字节BCD码后
变为0ll,3510OI,23I,76l,541l。
将电话号码转换成数据包中BCD码的格式的步骤就是:1.在电话号码的左边补一个“0”2.从左向右每两
位分成一组3.分别将各组转换成BCD码。如果要将数据包中的数据还原成电话号码,步骤正好相反。
、术语
信息:信息是指GSM模块与上位机通信的内容。
数据:上位机通过串∏,发送给模块GSM模块,通过GSM模块的无线发送及GSM网络传输传送给另GSM模
块的信息叫数据。由上位杋通过串口发送给GSM模块的数据叫发送数据。由GSM模块收到短信后传送给上位机的
数据叫接收数据。数据的起始点是上位机,目的点是另一上位机。
命令:上位杋通过串凵,发送给GSM模块让模块执行一定的动做或GSM模块传送给上位机报送模块内的一些
参数或状态的信息叫命令。若命令的起始点是上位机,日的点则是GSM模块。
d、数据包格式
无论是数据还是命令都用卜面的格式来表示
D7H|控制字节|信息
不管是命令还是数据,都有一个包头DH,接着就是一个控制宁节。本模块规定:当控制字节人于147时,
数据包为命令,否则就为数据。比如命令D7H,FHH,参数,DH为包头,FH为控制字节,因HH>147,故参数为
命令字节。模块是靠数据包的第二个字节来识别您发给它的信息是命令信息还是数据信息的
e、发送接收数据的格式
发送用户数据
语法:D7|控制字节-UDL|STA|UD
UDL:要发送的除包头DH以外总的数据长度。包括STA,UD和它本身的字节长度,因STA和UDL的字节长度
般是固定的,即固定为1+6=7个字节,所以其长度可由如下公式计算UDL数值=1+6+U长度
STA:接受方的电话号码,即目的地址。号码需要进行格式转换
UD:您需要发送的有效数据。其总长度小等于140个字节。因为短信息的数据长度不能超过110个字节。
例
假设您要发送00H,11H,22H,33H,44H,55H,共6个字节数据,接收方的电话号码(目的地址)是13655
UDL-0H(13个字节),STA-01H,36H,55H,43H,67H,89,UD-00H,11H,22H,33H,44H,55H,发送格式如下
D7H ODH 01H 36H 55H 13H 67H 89H OOH 11H 22H 33H 55H
2.收用户数据
语法:D7H|UDL|SOA|UD
S0A:发送方的电话号码,即源地址。
例2
假设您收到上面发送来的00H,11H,22H,33H,44H2,55H,共6个字节数据,发送方的电话号码(源地址)是
13920855795,UDL=0DH(13个字节),SOA=01H,39H,20H,85H,57H,95H,UD=0OH,1H,22H,33H,44H,55H,接收
到的数据格式如下
D7H|0H|0H|39H|20Hl85H|57H|95H|0OH|11H|22H|33H|4H|55H
3上位机监控软件设计
上位机我们选用 Delph6.0作为开发工具。虽然 De lph没有自带串口通讯的控件,但是可以一方便的编写
出通信应用程序。用 Delphi实现串口通讯,常用的儿种方法为:使用控件如 MSCOMM和 SPCOMM,使用API涵数
或者在 Delphi中调用其它串凵通讯程序。下面介绍使用sPoM控件来实现 Modbus协议,实现PC机和RIU通信。
使用 SPCOMM控件进行串口通信需要处理好两个事件
onReceoveData: procedure (Sender: Tobject Buff: pointer; BufferLength: Word)of ob ject
当输入缓存有数据时将触发该事件,在这里可以对串口收到的数据进行处理。 Buffer中是收到的数据,
buffer length是收到的数据长度
OnReceiveError: procedure(Sender: Tobject; EventMask: DWORD
当接受数据时出现错误将触发该事件
Modbus rtu协议是一和主从式通信协议,每次由主站发起并期望从从站得到冋应,从站接收到一消息,它
将建立一定回应格式并返回给发起斩主站,从站返回消息在 OnReceiveData事件里处理,根据主站发起的命令字
分类比较如下代码
ProcedureTform1 CommI Receive Data(Sender: Tobject; Buffer: pointer; BufferLength: Word
Temp receive: array of byte
I, rec len: byte
Calculate crc, rec crc, reg, reg-value: word
Begin
Rec len: =bufferlength
Setlength9temp receive, bufferlength
Move(buffer, pchar(temp receive), bufferlength
Rec crc: temp receive [rec len-2 sh1 8+temp receive. rec-len-1]
Calculate crc: =fcrc16(temp receive[o], rec len-2)
If rec crc< calculate crc then//返回数据CRC16校验错误决定重发
Begin
If error orderorder index then
Over num =over num=l
If Over num 3 then
Begin
Make order order index)
End
Else
Begin
Showmessage(′传输数据有误,请检査通信线路′)
Error order -order index
Exit
En
End
ver num
Case ovder index of//order index Modbus function code 1:
gin
//存储数字输出状态
end
egin
//存储数字输入状态
end:
16
egl
/存储预置的保持寄存器值
end
end;
end
服务哭端数据存储我们采用后台 Access数据厍,根据不同的油井编号对应不同的从站通信地址,把个离散
油井数据分类在不同表格存储,便于地质和勘井人员査询分析。其他有关监控欤件页面数据刷新处理等问题限于
篇幅不再说明。
结束语
我们廾发研究的这奁系统首先是在调查研究了国内油田所有应用系统的基础上,针对新疆油田特姝的地理坏
境,从实际需要岀发,剎用υ ynamic C强人的处理能丿,在保讦了系统性能的条件下,降低了系统造价,节省
了传统的方法采用中控室使用组态软件丌发所需要的昂贵的通信设备费用。该系统经过在克拉玛依新疆油田采油
厂、二厂、五厂投入试运行后,为采油管理人员及时地提供了准砳完整的运行数据,单口油井能效比得到提高。
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.