发表于:2004-03-03 20:38:00
楼主
MODEM 通讯专题
电话网络通讯在当前工业控制中起了相当重要的作用。很多野外作业不适合有人看守,或者说,控制现场离控制中心的距离超过了本地通讯的范围,为了能达到同样的监视和控制目的,就可以借助于程控电话网络,来远程采集各种设备的工作信息。
要实现远程采集的目的,您必须使用调制解调器,当前的电话网络还是模拟信息的传输,调制解调器能将数字信号调制成一定频率范围的模拟信号,通过电话线路传输到目的地,目的地的解调器能将模拟信号转换成还原成数值信号,并转交给一些智能设备如智能仪表,PLC,变频器等。
MODEM通讯的一般过程
由于远程MODEM直接连接在设备上,当要连接远程设备时,必须先拨电话呼叫对方,
待电话拨通,这时通讯连接线路建立,之后的通讯过程就类似与本地通讯,只不过远程通讯时你发送的数据信息必须通过程控交换网络,最后几经周折达到远程设备。
通常MODEM出厂设置中,只能检测线路的振铃音,但不能摘机自动应答,而远程设备也不能完成人的摘机应答工作,所以必须在MODEM本身想把办法,还好现在的MODEM都能事先设置成自动应答状态,可以设置成当检测到一声振铃音就自动应答,使呼叫过程顺利进行,最后建立电话连接。
因此在开发和调试远程MODEM通讯设备时,必须实现将远程MODEM初始化,并保存设置的通讯参数,例如,某设备的通讯参数是:波特率4800bps,8位数据位,偶校验,1位停止位,这时就必须将连接设备的MODEM初始化成自动应答方式,并且能将通讯参数自动设置成和设备相同的状态。这些参数必须在MODEM上电时自动设置,而且不能在掉电后丢失,所有这些功能MODEM都具备。
如何将MODEM初始化成远程MODEM
这些功能设置可以通过MODEM提供的AT指令来实现
因为每项功能设置格式都必须以字符AT开头,所以AT指令由此得名。
“AT&F”+ Chr(13):调MODEM的出厂设置
“ATE0”+ Chr(13):关闭字符回显
“ATS0=2”+ Chr(13):将MODEM设置成自动应答,当MODEM检测到线路上的振铃音时开始计数,当有连续两声振铃音,则MODEM自动摘机,响应呼叫。
“AT&W0&W1”+ Chr(13):将当前的设置保存到出厂设置0和1中,因为写AT指令时,必须打开一个串口,而打开串口必须设置波特率和其他通讯参数,所以在执行“AT&W0&W1”+ Chr(13)时,就将这些参数写到了出厂设置0和1中。
“AT&Y0&Y1”+ Chr(13):当MODEM在上电时自动调用工厂设置0和1,这样就能保证每次上电恢复我们预先设置的参数。
如何拨通电话
当发送“ATD”+ 电话号码 + Chr(13)时,MODEM就开始拨号,拨号需要一定的时间,在拨号的过程中可以不断读取MODEM的CD指示灯的状态,当电话拨通后CD指示灯会点亮。并返回“CONNECT + 波特率”的信息。
若对方MODEM不能摘机,则返回 “NO DIALTONE”,CD指示灯灭
若对方电话正忙,则返回 “BUSY”,CD指示灯灭
如何挂电话
当电话拨通后,MODEM不再接收AT指令,要使其回到命令状态,则必须发送“+++”信息,使MODEM回到命令状态,然后发送“ATH”+ Chr(13)则可以挂断电话
如何通过MODEM发送信息
当电话拨通后,MODEM能自动将串口发送缓冲区中数据信息通过电话线路传递给对方MODEM,对方MODEM在将信息传递个设备,而MODEM也会将设备返回的信息回送个计算机的缓冲区中,整个过程自动完成,所以你不必担心您的信息是否能发送出去。
希望大家共同进步啊,高手的帮忙挑毛病,像我这样做好学生就要一起努阿,呵呵:}