论文部分内容阅读
【摘要】本文介绍了基于Visual Basic 6.0、GPRS MODEM并通过计算机串行接口外接调制解调器的数据通信编程技术;通过数据通信编程技术,实现手机移动通信工具与计算机之间的数据传输;文中列举了1个示例,演示了实现数据自动发送和接收数据、实现数据通信、达到了防止工作中忘漏的功能。
【关键词】VB6.0;GPRS MODEM;数据通信;编程技术
1.引言
GPRS MODEM(以下简称MODEM)利用GPRS网络平台,为用户提供短信收发,能开发应用程序实现自动发送短信从而达到数据传输的目的。可广泛应用于电力、工控、交通、气象、金融、环保、煤矿、油田、证券等行业。
某台计算机特殊的外接设备之间的数据通信,通常是通过串行接口(简称串口)或并行接口(简称并口)来实现的,这2种方式的区别在于通信的数据传送的方式和作用的距离的不同:串口一次只能传输1位数据,而并口能同时传送8位数据(即1个字节);并口能同时传输更多的信息,速度明显高于串口,但作用距离短,一般适用于与打印机、扫描仪等的通信;串口可以用于比并口作用距离更远的数据传送,主要用于与远距离的计算机或其它外接设备进行数据通信。
Visual Basic是Microsoft公司推出的一种集成开发环境,是当前在Windows环境平台下优秀的程序设计工具之一,它提供了一整套工具,让程序员能够利用面向对象的编程技术,通过对象操作轻松地设计和实现与Windows操作系统风格一致的界面和相应的强大功能。本文基于Visual Basic 6.0(简称VB6.0),本文介绍了计算机与外接设备MODEM之间通过串口实现数据通信的编程技术,供读者参考。
2.串口通信
串口具体是指计算机上的一个COM接口,是主要采用串行通信协议的扩展接口,一般的PC主板都提供2个串口(即COM1和COM2)。
串口的本质功能其实是作为CPU和串行设备间的编码转换器,当数据从CPU经过串口发送出去时,字节数据被转换为串行的位,在接收数据时,串行的位又被转换为字节数据。串口的通信方式不同于并口之处在于它的数据和控制信息是一位接一位地传送出去的,即串口是按位传输的,虽然传输速度会慢一些,但传送距离比并口更远、更长。
在Windows环境平台下,串口通信是系统资源的一部分,利用串口通信的数据传输率一般是50—230kbps;应用程序要与串口及其链接设备进行通信,必须在使用之前向操作系统提出资源申请要求、打开串口,通信完成后必须释放资源、关闭串口。
3.个例演示
民航气象部门需要给机组提供气象信息,准确、及时的气象信息可以帮助管制员更加合理地调配航班,更加合理的使用空域资源,最大限度的保证飞行的安全和效益。气象信息包括每3小时一次滚动发布未来的机场0~9小时的天气预报,每次迟于发报时刻的50分钟则为迟发,按照民航规定则为一般差错。MODEM短信预警程序的主要目的是为了防止报文迟、漏发报。
3.1 工程创建
首先创建一个工程,主窗体标题设置为“预报短信提醒”,然后在主窗体上添加4个命令按钮、3个标签、2个Timer控件、1个文本框、一个FileListBox控件(读取预报报文),将相关属性进行调整,界面见图1(图中为准备状态,FileListBox控件在运行时隐藏,文本框中为测试的输入电话号码)。
3.2 技术指标
技术指标设置为到发布时次的35分钟如果没搜索到该发布预报,则给科室负责人发布提示短信,由负责人再联系值班预报员发布预报,如36分钟后仍然没有收到预报,则每隔一分钟发布一条提示短信,直到搜索到该时次发布的预报为止。
如果连接的串口为打开,显示的监控标签为“正常”,如果串口关闭,显示的监控标签为“关闭”。
按下“启动设置”,输入要测试手机号,再按“测试发送”,测试手机能收到设置好的短信。
3.3 相关设置
(1)MODEM通信端口设置
计算机与其它计算机或外接设备进行数据通信,首先要约定好通信参数。通信参数可通过设置SMSStartServiceFun语句来完成,该语句用于设置并返回波特率、奇偶校验、数据位和停止位等通信参数,启用串口语法如下:
flag=SMSStartServiceFun(串口接口,波特率,串口接口,8,0,0,"短信中心号码")
其中:返回值:1成功,0失败;串口接口为连接的串口号,波特率为MODEM型号有关,短信中心号码为当地中心号码。
(2)预警设置
flag=SMSSendMessageFun(“短信内容”,接收手机号码)
flag=SMSStopSericeFun()
其中:SMSStartService和SMSStopSerice应该配对出现,在程序退出之前一定要释放资源,返回值:1成功,0失败。
3.4 控制代码
短信发送条件:为了使短信监控发挥其功能,需要实时在回报里搜索到对应的报文,VB编程中添加时间控件Timer1,如果到时候没搜索到对应的报文,提醒短信的发送间隔经测试设置为1分钟。就需要在VB编程中添加时间控件Timer2。
(1)Timer1控制语句
Timer1的Enabled设为True,Interval设为100,其主要控制代码如下:
Dim a(23)As Boolean
‘确定短信发送的逻辑数,初始为True
Dim Ss(23)As String
‘为预报报文的报头
Dim strDate,strTime As String ‘储存日期的字符串
Dim L%,I%,K%
‘定义整形变量
strDate=Format(Date,”yyyy年mm月dd日”) ‘显示日期
strTime=Format(Time,”hh时nn分ss秒”) ‘显示时间
I=Minute(Time)
‘提取分钟
For K=0 to 24 step 3
‘有8个时段的预报报文,每隔3小时
If Ss(K)=""Then
‘如果搜索不到报文
If I>35 Then
‘如果系统分钟大于35
If a(K)=True Then
‘如果逻辑为真
flag=SMSStartServiceFun()’开启串口
flag=SMSSendMessageFun(“快到时间了,请及时发报”,接收手机号码)’发送短信息
a(K)=False
‘发完逻辑变为假,不再发送信息
Timer2.Enabled=True
‘启用Timer2
Timer2.Interval=60000
‘设置Timer2的运行间隔为1分钟
flag=SMSStopSericeFun() ‘关闭串口
End If
End If
End If
Next K
(2)Timer2控制语句
Timer2的Enabled设为False,Interval设为100,其主要控制代码如下:
For L=0 to 24 step 3
‘有8个时段的预报报文,每隔3小时
a(L)=True
‘设置各段报文初始状态
Next L
4.结束语
本文介绍了通过串行接口实现计算机与其它外接设备之间(如手机)的数据通信的编程个例,说明这种技术适用于通过外接猫实现远距离数据传输通信,适用于本机与其它多机或多个外接设备之间点对点的数据信息通信,演示的个例实现了数据自动发送和接收数据、实现数据通信、达到了防止工作中忘漏的功能。
参考文献
[1]林生,韩海雯.计算机通信与网络教程[M].北京:清华大学出版社,2008.
[2]李怀明,骆原,王育新.Visual Basic 6.0中文版参考详解[M].北京:清华大学出版社,1999.
[3]黄琛,黄红兵.基于VB6.0的数据通信编程技术[J].电子世界,2014(1):7-8.
作者简介:钟伟(1980—),男,广西桂林人,大学本科,工程师,主要从事航空天气预报、应用软件开发等工作。
【关键词】VB6.0;GPRS MODEM;数据通信;编程技术
1.引言
GPRS MODEM(以下简称MODEM)利用GPRS网络平台,为用户提供短信收发,能开发应用程序实现自动发送短信从而达到数据传输的目的。可广泛应用于电力、工控、交通、气象、金融、环保、煤矿、油田、证券等行业。
某台计算机特殊的外接设备之间的数据通信,通常是通过串行接口(简称串口)或并行接口(简称并口)来实现的,这2种方式的区别在于通信的数据传送的方式和作用的距离的不同:串口一次只能传输1位数据,而并口能同时传送8位数据(即1个字节);并口能同时传输更多的信息,速度明显高于串口,但作用距离短,一般适用于与打印机、扫描仪等的通信;串口可以用于比并口作用距离更远的数据传送,主要用于与远距离的计算机或其它外接设备进行数据通信。
Visual Basic是Microsoft公司推出的一种集成开发环境,是当前在Windows环境平台下优秀的程序设计工具之一,它提供了一整套工具,让程序员能够利用面向对象的编程技术,通过对象操作轻松地设计和实现与Windows操作系统风格一致的界面和相应的强大功能。本文基于Visual Basic 6.0(简称VB6.0),本文介绍了计算机与外接设备MODEM之间通过串口实现数据通信的编程技术,供读者参考。
2.串口通信
串口具体是指计算机上的一个COM接口,是主要采用串行通信协议的扩展接口,一般的PC主板都提供2个串口(即COM1和COM2)。
串口的本质功能其实是作为CPU和串行设备间的编码转换器,当数据从CPU经过串口发送出去时,字节数据被转换为串行的位,在接收数据时,串行的位又被转换为字节数据。串口的通信方式不同于并口之处在于它的数据和控制信息是一位接一位地传送出去的,即串口是按位传输的,虽然传输速度会慢一些,但传送距离比并口更远、更长。
在Windows环境平台下,串口通信是系统资源的一部分,利用串口通信的数据传输率一般是50—230kbps;应用程序要与串口及其链接设备进行通信,必须在使用之前向操作系统提出资源申请要求、打开串口,通信完成后必须释放资源、关闭串口。
3.个例演示
民航气象部门需要给机组提供气象信息,准确、及时的气象信息可以帮助管制员更加合理地调配航班,更加合理的使用空域资源,最大限度的保证飞行的安全和效益。气象信息包括每3小时一次滚动发布未来的机场0~9小时的天气预报,每次迟于发报时刻的50分钟则为迟发,按照民航规定则为一般差错。MODEM短信预警程序的主要目的是为了防止报文迟、漏发报。
3.1 工程创建
首先创建一个工程,主窗体标题设置为“预报短信提醒”,然后在主窗体上添加4个命令按钮、3个标签、2个Timer控件、1个文本框、一个FileListBox控件(读取预报报文),将相关属性进行调整,界面见图1(图中为准备状态,FileListBox控件在运行时隐藏,文本框中为测试的输入电话号码)。
3.2 技术指标
技术指标设置为到发布时次的35分钟如果没搜索到该发布预报,则给科室负责人发布提示短信,由负责人再联系值班预报员发布预报,如36分钟后仍然没有收到预报,则每隔一分钟发布一条提示短信,直到搜索到该时次发布的预报为止。
如果连接的串口为打开,显示的监控标签为“正常”,如果串口关闭,显示的监控标签为“关闭”。
按下“启动设置”,输入要测试手机号,再按“测试发送”,测试手机能收到设置好的短信。
3.3 相关设置
(1)MODEM通信端口设置
计算机与其它计算机或外接设备进行数据通信,首先要约定好通信参数。通信参数可通过设置SMSStartServiceFun语句来完成,该语句用于设置并返回波特率、奇偶校验、数据位和停止位等通信参数,启用串口语法如下:
flag=SMSStartServiceFun(串口接口,波特率,串口接口,8,0,0,"短信中心号码")
其中:返回值:1成功,0失败;串口接口为连接的串口号,波特率为MODEM型号有关,短信中心号码为当地中心号码。
(2)预警设置
flag=SMSSendMessageFun(“短信内容”,接收手机号码)
flag=SMSStopSericeFun()
其中:SMSStartService和SMSStopSerice应该配对出现,在程序退出之前一定要释放资源,返回值:1成功,0失败。
3.4 控制代码
短信发送条件:为了使短信监控发挥其功能,需要实时在回报里搜索到对应的报文,VB编程中添加时间控件Timer1,如果到时候没搜索到对应的报文,提醒短信的发送间隔经测试设置为1分钟。就需要在VB编程中添加时间控件Timer2。
(1)Timer1控制语句
Timer1的Enabled设为True,Interval设为100,其主要控制代码如下:
Dim a(23)As Boolean
‘确定短信发送的逻辑数,初始为True
Dim Ss(23)As String
‘为预报报文的报头
Dim strDate,strTime As String ‘储存日期的字符串
Dim L%,I%,K%
‘定义整形变量
strDate=Format(Date,”yyyy年mm月dd日”) ‘显示日期
strTime=Format(Time,”hh时nn分ss秒”) ‘显示时间
I=Minute(Time)
‘提取分钟
For K=0 to 24 step 3
‘有8个时段的预报报文,每隔3小时
If Ss(K)=""Then
‘如果搜索不到报文
If I>35 Then
‘如果系统分钟大于35
If a(K)=True Then
‘如果逻辑为真
flag=SMSStartServiceFun()’开启串口
flag=SMSSendMessageFun(“快到时间了,请及时发报”,接收手机号码)’发送短信息
a(K)=False
‘发完逻辑变为假,不再发送信息
Timer2.Enabled=True
‘启用Timer2
Timer2.Interval=60000
‘设置Timer2的运行间隔为1分钟
flag=SMSStopSericeFun() ‘关闭串口
End If
End If
End If
Next K
(2)Timer2控制语句
Timer2的Enabled设为False,Interval设为100,其主要控制代码如下:
For L=0 to 24 step 3
‘有8个时段的预报报文,每隔3小时
a(L)=True
‘设置各段报文初始状态
Next L
4.结束语
本文介绍了通过串行接口实现计算机与其它外接设备之间(如手机)的数据通信的编程个例,说明这种技术适用于通过外接猫实现远距离数据传输通信,适用于本机与其它多机或多个外接设备之间点对点的数据信息通信,演示的个例实现了数据自动发送和接收数据、实现数据通信、达到了防止工作中忘漏的功能。
参考文献
[1]林生,韩海雯.计算机通信与网络教程[M].北京:清华大学出版社,2008.
[2]李怀明,骆原,王育新.Visual Basic 6.0中文版参考详解[M].北京:清华大学出版社,1999.
[3]黄琛,黄红兵.基于VB6.0的数据通信编程技术[J].电子世界,2014(1):7-8.
作者简介:钟伟(1980—),男,广西桂林人,大学本科,工程师,主要从事航空天气预报、应用软件开发等工作。