PLC实现多台控制器远程拨号通讯
2011-07-07 13:00:30来源:互联网

1. 引言

在很多场合,我们需要对距离很远的控制器进行监测。当距离在几千米的情况下,我们可以使用有线连接,比如采用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短接。