0 引言
南昌钢铁集团公司利用已有的电话网将转炉和棒材分厂的下位机(PLC)采集的数据实时地送给几公里外信息中心的上位控制机(PC) ,建成PC对现场PLC的远程监控系统。该系统采用模拟载波传输方式,借助公共电话网(PSTN) ,以异步Modem拨号方式进行数据通信。将PLC送来的数字信号调制成模拟信号在电话线中传输,在接收端将模拟信号还原成数字信号。
1 系统设计
1.1 硬件连接
基本远程通信系统的硬件构成为: 1 台计算机作为上位机, 1台PLC (以西门子S7-200为例)作为下位机, 2 台调制解调器, 1 根PC /PP I电缆用于连接PLC和调制解调器。采用西门子S7-200 PLC开发工具初始化本地和远端调制解调器,把PC /PP I编程电缆的RS-232口接到调制解调器上, RS-485 口接到PLC上,并设置PC /PPI编程电缆的工作模式:设置数据传输率为9.6 kb/s,选择DTE和10位模式。
系统实现实时监控功能,分为上、下位机两部分。下位机PLC主要负责数据的采集和上传,运用STEP7-Micro/WIN进行编程;上位机负责对上传数据的处理、显示并作相应记录,可用VB6.0语言进行开发。
1.2 通信方式
S7-200 PLC为用户提供了3种通信方式:
(1) 通过PLC开发商提供的系统协议和网络适配器构成特定的公司内部网络。其特点是网络协议不公开,必须使用该厂商配套提供的支持相应协议的外设和上位机组态软件(如西门子公司PPI协议下的令牌环网等) 。
(2) 通过开发的工业现场总线,利用PLC内部集成端口或扩展通信模块,构成基于现场总线的集散控制网络。
(3) 通过标准的RS-485串行通信网络和自定义或自主选择的通信协议构成PLC及工控机的分布式网络。
南昌钢铁公司采用现场PLC的通信口在自由口方式下工作,使PLC在程序员自行设计的通信协议下工作。
2 上位计算机远程通信功能的实现
2.1 Modem拨号上网
直接对串口编程是一件复杂的工作,在Windows操作系统下,利用VB 6.0 提供的MSComm通信控件可以方便地访问串口。
MSComm控件同时支持事件驱动及查询方法。事件驱动通信特别适合Windows程序的编写,是处理串口交互作用的一种非常有效的方法。使用MSComm控件的OnComm事件捕获并处理通信错误。无论何时,当CommEvent属性的值变化时,都产生OnComm事件。