在很多场合,我们需要对距离很远的控制器进行监测。当距离在几千米的情况下,我们可以使用有线连接,比如采用Profibus-DP总线连接。但当距离有几百千米,甚至更远的情况下,采用上述连接方式的花费将会是惊人的,所以多采用廉价的电话通信进行数据传输。
2 .方案比较
通常情况下,每台控制器通过一台Modem和一条电话线连接到远程PC。远程PC与每台控制器之间占用一条通信线路,所以每次只能与一台控制器进行数据通信。该方案监控系统如图1。
图1 控制器与远程PC通信方案一
在该方案下,每个控制器占用一个电话号码资源、一条电话线路和一台Modem。远程PC通过电话线与每个控制器分别连接,当需要与某个控制器进行数据通信时,通过拨号连接该控制器,进行数据通信。在这种情况下,如果有多个控制器需要与远程PC通信,将会占用多条电话线路。远程PC不可能同时与多台控制器进行数据通信,只能依次轮询拨号每个控制器,不仅Modem每次建立连接会耗费大量的时间,而且浪费大量的通信费用。
针对以上方案存在的弊端,本文提出一种新的方案,只采用1条电话线路和一台Modem,即可实现远程PC与所有的控制器进行数据通信。
该方案监控系统如图2:
图2 控制器与远程PC通信方案二
现场的控制器作为Modbus从站(可能是RS232接口的,也可能是RS485接口的,若是RS232接口,可以通过一个很便宜的转换设备将RS232转换成RS485),将所有的控制器挂接到485总线上,Modbus主站采用和利时公司HOLLiAS LM系列PLC的40点CPU模块LM3108。LM3108的RS485口挂接到485总线上,LM3108通过RS485口采用Modbus协议将各个控制器内需要读取的数据分别读取上来,存储在PLC对应的地址中。
LM3108的RS232接口与Modem连接,Modem通过电话线与远程PC连接。当拨号建立连接后,远程PC与LM3108之间拨号连通以后同样采用Modbus协议,此时远程PC作为Modbus主站,LM3108的RS232口作为Modbus从站,远程PC只需要取得PLC中相对应的地址中的数据即可。
PLC与远程PC建立连接可以采用两种方式:
1)PLC主动呼叫远程PC,可以在PLC中设定时间,或者设定某个触发条件,当条件满足时主动呼叫远程PC建立连接,进行通信。
2)远程PC主动呼叫PLC,远程监控人员根据需要拨号,以采集各控制器的数据。
3. 具体案例
3.1 设备选型
1)PLC——LM3108
该PLC具备1个RS232端口和1个RS485端口,两者均可实现自由口通讯,可实现Modbus从站和Modbus主站功能。LM3108本体带有24点DI和16点DO,具有8k的自由存储空间,完全可以满足该方案的要求。
2)调制解调器——具备RS232接口的普通56K调制解调器。
3)远程PC
具备上位拨号并支持Modbus主协议软件的PC机,比如装有和利时公司SmartPro软件的PC机。
3.2 LM3108与Modem硬件连接
需要2个9针的公头,连接线缆定义如图3:
图3 LM3108与Modem连接线
LM3108连接针头1, Modem与PC之间的连接线的PC端接针头2,将两个9针头的2、3、5直连,针头2的1、7、8短接,4、6短接。
3.3 LM3108与Modem软件设置
LM3108提供RS232口Modbus从站功能块(SET_LOCAL_ADDRESS)、RS232口通讯参数设置功能块(Reset_COMM_PRMT)、RS232口通讯自由口参数设置功能块(Set_COMM_PRMT)、RS232口通讯自由口数据发送功能块(COMM_SEND)、RS232口通讯自由口数据接收功能块(COMM_RECEIVE)。
物理连接PLC与Modem后,若采用远程PC主动呼叫PLC,只需编程调用SET_LOCAL_ADDRESS和Reset_COMM_PRMT这两个功能块即可,PLC侧无需再作其它 设置。
若采用PLC主动呼叫远程PC,则需要RS232口在自由通讯方式下使用COMM_SEND与COMM_RECEIVE同Modem进行会话。
PLC主动呼叫远程PC的程序流程图如图4:
图4 PLC主动呼叫远程PC程序流程图
3.4 应用效果
本文介绍的方案已经成功应用于国内外中央空调远程监控系统,从几套系统近一年的运行情况来看,系统质量可靠、运行稳定、运行效果良好。相对传统方案,本文介绍的方案节省了大量电缆和硬件设备,具有较好的性价比,得到客户的好评。
4 结束语
本文介绍了使用小型PLC作为中转,实现远程PC服务器与多台现场设备之间的通信方案,并详细说明了其关键设备PLC的软硬件设置。该设计方案不仅可以应用于中央空调监控系统,也可广泛应用于其它行业的类似监控系统,具有广阔的应用前景。