科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件基于VB的分布式监控系统通信设计

基于VB的分布式监控系统通信设计

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文介绍了如何利用VB实现分布式监控系统的多种通信功能

作者:wjgaw 来源:论坛 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
5. 远程通信

  当监控系统的一些重要信息,如严重事故,需要及时通知有关部门即实现远程通信时,可以利用网络中某一连接至Internet的带有MODEM的节点,通过MODEM自动拨打电话,将信息及时地送达有关部门。

  应用VB的MSCOMM控件可实现这一功能,基本方法与下位机通信类似。这里介绍调用API函数直接写I/O端口,使用设备控制块DCB的方法拨打电话并挂起MODEM。

  首先利用VB的API Viewer浏览器在module1模块中声明对以下函数、数据类型和常量的引用:

CreateFile 函数
CloseHandle 函数
BuildCommDCB 函数
SetCommState 函数

  DCB数据类型

GENERIC_READ常量
GENERIC_WRITE 常量
OPEN_EXISTING 常量

  (1) MODEM设置子程序

Public Function ModemSetup( ) As Boolean
Dim lResult As Long
Dim lCommHandle As Long
Dim DCB_Comm As DCB
Dim tDCBConfig As String
ModemSetup = True
'指定lCommHandle为通信源对象的句柄
lCommHandle = CreateFile(COM2,GENERIC_READ Or GENERIC_WRITE, _
0&, 0&, OPEN_EXISTING, 0&, 0&)
'构造DCB对象的初始化字符串
tDCBConfig = "baud=9600" & "parity=NONE" & "data=8" & "stops=1"
'用初始化字符串指定DCB对象的规范
lResult = BuildCommDCB(tDCBConfig, DCB_Comm)
'根据指定DCB对象的规范来设定通信设备
lResult = SetCommState(lCommHandle, DCB_Comm)
lResult = CloseHandle(lCommHandle)
End Function

  (2)发送数据子程序

Public Function ModemSD(tComm As String, tModemSend As String) As Boolean
Dim nModem As Integer
ModemSS = True
nModem = FreeFile
Open tComm For Output As nModem
Print #nModem, tModemSend
Close #nModem
End Function

  (3)主程序

ModemSetup
ModemSS(COM2, "ATDT" &"02767802169"& vbCr)
ModemSS(COM2, "ATDT" & txt1.Text & vbCr)
ModemSS(COM2, "ATH" & vbCr)

  本例重在说明基本原理,没有加入错误捕获陷阱及通信异常处理。

  6. 结束语

  本文介绍了应用VB开发分布式监控系统的各种通信功能的基本原理和实例。通过以上实例可以看出,用VB开发通信程序简洁明了,编程效率高,可维护性好,尤其适用于自行开发中小型分布式监控系统。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章