首页 >> 中药常识

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

中药常识  2021年09月06日  浏览:3 次

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\" \"\" vbCr)

ModemSS(COM2, \"ATDT\" xt vbCr)

ModemSS(COM2, \"ATH\" vbCr)

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

6. 结束语

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

北京妇科
丁桂薏芽健脾凝胶怎么样
雅安白癜风医院哪家好
友情链接