铁路雨量监测系统中的远程通信
MST0:MOVDPTR,#P3FE;MODEM状态寄存器地址
MST1:MOVXA,@DPTR
ANLA,#30H
CJNEA,#30H,MST1
MOVDPTR,#P3FD;通信线状态寄存器
MST2:MOVXA,@DPTR
JNBACC.5,MST2
MOVDPTR,#MTAB
MOVA,R4
MOVCA,@A+DPTR
JZMST3
MOVDPTR,#P3F3;数据发送保持寄存器
MOVX@DPTR,A
INCR4
SJMPMST0
MST3:RET
MTAB:DB41H,54H,26H,53H,30H,3DH,33H
DB0DH,0;AT&FS0=3
子程序执行后MODEM应答"OK",表示初始化完成。
MODEM拨号命令串"ATDTxxxxx",xxxxx是电话号码;拨号成功时MODEM将应答以"CONNECT"字符开始的字符串。单睡机与系统主机连接完成后,按通信协议所规定的数据串通信交换数据。数据通信结束后,程序发送挂断线路命令串"+++ATH0",MODEM自动断线,从而完成1次通信。
三、系统主机与雨量监测仪的通信
系统主机软件用VB5.0编制,运行于Windows95环境。整个软件由通信、日报表、月报表、年报表、设定、曲线图、报警等模块组成,操作平台如图3所示。主机可与30个站点的雨量监测仪连接。
程序中使用MSComm控件,通过向连接在串行口上的MODEM发送AT命令来控制。主机通信状况分为2类:主动通信和被动通信。下面分别加以介绍。
1.主动通信
主机向站点雨量监测仪传送报警设定值及收集当天或前天的雨量数据时称为主动通信。电话图标表示各站点的雨量监测仪,一旦被选中,程序就发出"ATDTxxxxx"拨号命令,雨量监测仪MDOEM处于自动应答方式被连接。MODEM连接成功后,主机会收到"CONNECT4800"信息,此时,主机就可以向站点发送命令和数据串。如果站点接收到正确数据,根据命令代码(由通信协议规定)就可知道主机是要设定参数还是要收集当天或前天的雨量数据。若是收集雨量数据,站点雨量监测仪将雨量数据传送给主机;主机收到站点正确的雨量数据后,向MODEM发送"+++ATH0"离线挂机命令,结束本次通信。
主站发送的数据串里包括站点号、通信代码、当前日期和时间、警戒值及校验和等信息。用@K和@J作为开始和结束标志。
下面是主动通信的主要源程序:
PrivateSub主动通信(发送代码)
Dimi,j,ss,FsStr,ret
设置充许通信False
Fori=0T029'工区数
If工区选中(i)Then
显示信息"拨号到"+ 《铁路雨量监测系统中的远程通信(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/176036.html
MST1:MOVXA,@DPTR
ANLA,#30H
CJNEA,#30H,MST1
MOVDPTR,#P3FD;通信线状态寄存器
MST2:MOVXA,@DPTR
JNBACC.5,MST2
MOVDPTR,#MTAB
MOVA,R4
MOVCA,@A+DPTR
JZMST3
MOVDPTR,#P3F3;数据发送保持寄存器
MOVX@DPTR,A
INCR4
SJMPMST0
MST3:RET
MTAB:DB41H,54H,26H,53H,30H,3DH,33H
DB0DH,0;AT&FS0=3
子程序执行后MODEM应答"OK",表示初始化完成。
MODEM拨号命令串"ATDTxxxxx",xxxxx是电话号码;拨号成功时MODEM将应答以"CONNECT"字符开始的字符串。单睡机与系统主机连接完成后,按通信协议所规定的数据串通信交换数据。数据通信结束后,程序发送挂断线路命令串"+++ATH0",MODEM自动断线,从而完成1次通信。
三、系统主机与雨量监测仪的通信
系统主机软件用VB5.0编制,运行于Windows95环境。整个软件由通信、日报表、月报表、年报表、设定、曲线图、报警等模块组成,操作平台如图3所示。主机可与30个站点的雨量监测仪连接。
程序中使用MSComm控件,通过向连接在串行口上的MODEM发送AT命令来控制。主机通信状况分为2类:主动通信和被动通信。下面分别加以介绍。
1.主动通信
主机向站点雨量监测仪传送报警设定值及收集当天或前天的雨量数据时称为主动通信。电话图标表示各站点的雨量监测仪,一旦被选中,程序就发出"ATDTxxxxx"拨号命令,雨量监测仪MDOEM处于自动应答方式被连接。MODEM连接成功后,主机会收到"CONNECT4800"信息,此时,主机就可以向站点发送命令和数据串。如果站点接收到正确数据,根据命令代码(由通信协议规定)就可知道主机是要设定参数还是要收集当天或前天的雨量数据。若是收集雨量数据,站点雨量监测仪将雨量数据传送给主机;主机收到站点正确的雨量数据后,向MODEM发送"+++ATH0"离线挂机命令,结束本次通信。
主站发送的数据串里包括站点号、通信代码、当前日期和时间、警戒值及校验和等信息。用@K和@J作为开始和结束标志。
下面是主动通信的主要源程序:
PrivateSub主动通信(发送代码)
Dimi,j,ss,FsStr,ret
设置充许通信False
Fori=0T029'工区数
If工区选中(i)Then
显示信息"拨号到"+ 《铁路雨量监测系统中的远程通信(第2页)》