一自己开发通信软件的必要性: WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
随着计算机应用领域的不断扩展,计算机之间的远程通信用得越来越广泛.进行计算机通信需要调制解调器(modem),电话线及通信软件.尽管市面上有许多商品通信软件,但是在许方情况下商品通信软件并不能满足实际工作的需要.这是因为通用的通信软件虽然能发送和接收文件,但有些时侯是不适用的.例如我们在开发一个EDI(电子数据交换)应用系统时,就需要把接收到的某个单证直接地自动地放到一个数据库中,作为一条记录。这种情况下采用通用的通信软件就不行了,需要开发自己专用的通信软件。 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
过去,开发通信软件对于一般的应用软件开发人员来说是比较困难的。而现在这件事已经变得容易多了。本文介绍如何利用VB5.0和MSCOMM控件开发通信软件。 WWW_PL※CJS_COM-PLC-技.术_网
要想自己开发通信软件,除了要掌握VB5.0的基本编程语言以外,还需知道一些微机通信的基本原理。如有关串行端口及调制解调器的基本知识,调制解调器的使用手册及AT命令集等。这在许多书中都可以找到。本文不再叙述。 WWW_P※LCJS_CO※M-PLC-技-.术_网
二有关预备知识 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
在PC机串行端口与调制解调器进行连接时,有十几根线进行信号传输。对于用MSCOMM控件编制通信软件来说,只需了解以下五根线的代号及作用。以下五根线的高电平/低电平状态分别对应MScomm控件的相应属性的True/False值。 WWcW_PLCJS_COM-PLC-技.术_网
(1)DTR线:PC发往MODEM,表示PC机是否已准备好。 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
(2)RTS线:PC发往MODEM,表示PC机是否允许modem发回数据. WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
(3)DSR线:MODEM发往PC,表示MODEM是否已做好操作准备 WWW_P※LCJS_COM-PLC-)技.术_网
(4)CTS线:MODEM发往PC,表示MODEM是否允许发送数据 WWW_P※LCJS_COM-PLC-)技.术_网
(5)CD线:MODEM发往PC,表示MOEDM已经与呼叫的远方MODEM处于连结状态 WWW_PLC※JS_COM-PmLC-技.术_网
三MSCOMM控件的属性及事件 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
VB5.0所带的通信控件MSCOMM易学易用。它只有约30个属性和事件。可以从VB5.0的联机帮助中找到它的全部资料。本文简述它的主要属性及事件,并加已归类整理。以下用MSCOMM1表示在窗体上设置的一个MSCOMM控件的名称 WWW_P※LCJS_COM-PLC-)技.术_网
(一)通信参数设置 P.L.C.技.术.网——可编程控制器技术门户
(1)CommPort属性 WW.W_PLCJS_COM-PLC-技.术_网
语法:MSCOMM1.CommPort[=&118alue] WWW_PLCJS@_COM%-PLC-技.术_网
作用:设置或返回联接MODEM的串口的编号。 WWW.PLCJS.COM——可编程控制器技术门户
值:用1,2,...表示串口COM1,COM2.... W1WW_P4LCJS_COM-PLC-技.术_网
(2)Settings属性 WW.W_PLCJS_COM-PLC-技.术_网
语法:MSCOMM1.Settings[=&118alue] WWW_PLC※JS_COM-PmLC-技.术_网
作用:设置或返回通信参数。 WWW_P※LCJS_CO※M-PLC-技-.术_网
值:String型。例入用"19200,N,8,1"表示传输速率为19200bps,没有奇偶校验位,8位数据位,1位停止位。 WWW_P※LCJS_COM-PLC-)技.术_网
(3)Handshaking属性 WWW_PLCJS@_COM%-PLC-技.术_网
语法:MSCOMM1.Handshaking[=&118alue] WWcW_PLCJS_COM-PLC-技.术_网
作用与值:设置或返回硬件握手协议。指的是PC机MODEM之间为了控制流速而约定的内部协议。 WWW_P※LCJS_CO※M-PLC-技-.术_网
0没有握手协议。不考虑流量控制。 WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
1XON/XOFF。即在数据流中嵌如控制苻来进行流控。 ——可——编——程——控-制-器-技——术——门——户
2RTS/CTS。既由信号线RTS/CTS自动进行流量控制。 WWW_P※LCJS_COM-PLC-)技.术_网
3两者皆可。 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
注:实践中我们发现选用2(即RTS/CTS)是很方便的。 ——可——编——程——控-制-器-技——术——门——户
(二)打开/关闭端口 plcjs.技.术_网
(4)PortOpen属性 WW.W_PLC※JS_C,OM-PL,C-技.术_网
语法:MSCOMM1.PortOpen[=&118alue] WWW_PL※CJS_COM-PLC-技.术_网
作用:打开或关闭端口。 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
值:Boolean型。设为True/False可以打开/关闭端口。 plcjs.技.术_网
(三)发送数据 plcjs.技.术_网
(5)OutBufferSize属性 WW.W_PLC※JS_C,OM-PL,C-技.术_网
语法:MSCOMM1.OutBufferSize[=&118alue] W1WW_P4LCJS_COM-PLC-技.术_网
作用:设置或返回传输缓冲区大小。 WWW_PLC※JS_COM-PmLC-技.术_网
值:Integer型。传输缓冲区的字节数。例如可选1024。 WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
(6)OutPut属性 WW.W_PLCJS_COM-PLC-技.术_网
语法:MSCOMM1.OutPut[=Variant] WWW_P※LCJS_COM-PLC-)技.术_网
作用:向传输缓冲区写数据流。 P.L.C.技.术.网——可编程控制器技术门户
值:Variant型变量。 WWW_PLC※JS_COM-PmLC-技.术_网
注:传输文本数据时,应将String型数据放入Variant变量,传输二进制数据(即按字节)时,应将Byte型数组数据放入Variant变量 WW.W_PLCJS_COM-PLC-技.术_网
(四)接收数据 P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
(7)InBufferSize属性 WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
语法:MSCOMM1.InBufferSize[=&118alue] WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
作用:设置或返回接收缓冲区大小。 WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
值:Integer型。接收缓冲区的字节数。例如可选1024。 WWW_P※LCJS_CO※M-PLC-技-.术_网
(8)InputMode属性 WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
语法:MSCOMM1.InputMode[=&118alue] WWW_P※LCJS_COM-PLC-)技.术_网
作用:设置或返回接收数据的数据类型。 W1WW_P4LCJS_COM-PLC-技.术_网
值:0用Input属性接收文本型数据。 WWW_P※LCJS_COM-PLC-)技.术_网
1用Input属性接收二进制数据。 WWW.PLCJS.COM——可编程控制器技术门户
(9)InBufferCount属性 WWcW_PLCJS_COM-PLC-技.术_网
语法:MSCOMM1.InBufferCount[=&118alue] WWcW_PLCJS_COM-PLC-技.术_网
作用:返回接收缓冲区中已传到但还未取走的字符个数。 WWW_PLCJS_COM-PLC-技.术_网