基于调制解调器与vb的plc远程通讯系统设计
1引言
随着计算机和通讯技术的发展,在工业测量和控制中广泛需要远程通讯。远端plc等下位机做生产控制,本地计算机需要实时监测或参与控制生产现场的参数。实现以上要求的一个简便的途径是利用覆盖面广泛的公用电话网,使plc等下位机利用调制解调器(modem)和计算机的调制解调器连接通讯,即可完成硬件上的连接。如图1所示。在软件方面,由远端下位机软件控制和远程监控站软件两部分组成。考虑到本地监控站软件只做数据监测或少许控制且编程相对简单,所以本地监控站的编程软件可以直接用高级语言。
2系统概述
本文以一个实际的小水电站的泻水闸门程控工程为例,着重叙述永宏plc和pc做远程通讯的实现细节。系统的下位机控制采用永宏公司的fbs系列plc对水库泻水闸门进行开度检测和开度控制,监控站的界面编程采用vb6.0编写。
硬件配置:远端fbs-cb25+ fbs-10mau+ecom外置modem+pws1711
本地pc(含普通内置modem)
该系统主要控制要求,通过fbs-10ma外接一个旋转编码器检测闸门所在位置,然后跟据现场人机界面或者pc端(下游5km处)的设定位置来控制牵引闸门的马达正反转,从而使闸门上升或下降到指定的位置。fbs-cb25所扩展得到的通讯口2(rs485)用于pws1711的通讯,通讯口1(rs232)用于连接modem,另外,主机上的可usb口用于连接调试用的笔记本电脑。
图1系统组成
3调制解调器工作方式和设定
3.1 调制解调器工作原理
调制解调器分成两种模式,命令模式和联机模式。当调制解调器没有和其它设备连接时,其处于命令模式,这时下达给调制解调器的指令时作调制解调器本身设定或者动作用的。当调制解调器已经和其它的设备连接上时,此时调制解调就是处于联机模式,所有在此时由计算机送到调制解调器的讯息都将由经电话线传送到其它设备上。
用于控制调制解调器的特定指令集被称为“at指令集”,通过该指令集,从 基本的音量控制到内建参数设置的改变,都可以由vb经过串行端口而对调制解调器下达控制指令。at命令集是调制解调器通讯接口的工业标准。所有的at命令都以字符at开始,作为前缀。前缀at用以引起调制解调器的注意(attention)检测计算机串行通讯口发送信号的速率,识别字符格式,包括字符长度和奇偶设定等。
调制解调器拨号之后,等待对方调制解调器送来的载波信号。如果在一给定时间内没有检测到载波, 调制解调器自动释放线路并送回结果码nocarrier,如果检测到载波信号, 调制解调器即送结果码connect + 波特率,就进入联机状态,即可与远方系统进行通讯。
3.2 plc连接调制解调器原理及其设置
在该系统中, pc做为主站,必须控制调制解调器主动拨号,另外,在确认调制解调器和plc的调制解调器联机成功后控制它进入联机模式,开始存取plc数据。主站控制调制解调器拨号连接细节见下节,这里详述plc端对调制解调器的设置方法。
plc端plc上电后必须初始化调制解调器,设置成自动应答来电状态。在这里把plc初始化调制解调器的at指令组合称为“modem驱动程序”。永宏plc通过port1来控制调制解调器,并把这种软件界面称为调制解调器专用界面。如图2设定或者设定特殊暂存器r4149的高八位为55h就可以把port1设置为调制解调器专用界面,在该界面下plc会启用“modem驱动程序”,此时,虽cpu仍然使用永宏〝标准通讯驱动程序〞来管理port1的通讯,但必须通过调制解调器来联机,在通讯进行前,por t1主控权是交由〝modem驱动程序〞管理,此时无法对plc作任何存取动作。“modem驱动程序”即将调制解调器设为接收模式,并等待远方调制解调器拨号进来,一旦收发双方调制解调器联机成功,则plc立即脱离接收模式,而进入联机状态,port1控制权交由永宏〝标准通讯驱动程序〞管理。此时远方调制解调器便可任意存取或控制此plc主机了。
图2 本地调制解调器设置
调制解调器设置如图2所示,在plc联机状态下,选取菜单中的“plc”→“设定”→“port1设定”来到图2,选择单选框的第二项“透过modem作远程cpu_bbbb”,该plc一上电就通过自带的“modem驱动程序”把port1设置为调制解调器专用界面。另外,通讯格式设置为同调制解调器相同的n,8,1,为提高通讯效率可以把通讯速率设置为38400bps,或者更高( 高为115200bps)。