摘要:介绍SZ—4型可编程序控制器PLC的数据通信问题,讨论了建立数据通信所必要的硬件和软件的相关设计,分析了系统的设计原则。
关键词:PLC;计算机;通信
1概 述
随着计算机应用的不断普及,计算机远程通信的使用也越来越多。但由于电信事业发展的滞后,通信线路拥挤阻塞的问题日益严重,有些地方上班时间电话线路经常处于占线状态,使得计算机通信十分困难。若想在下班或深夜通信线路空闲时才进行数据通信,通信双方就要留人值班操作,十分不便。为此,采用无人值守的远程数据通信控制器。由于这种系统要经受通信干扰、高温等的影响,其工作条件十分恶劣,加上分机较多,有的又相距较远,所以对整个系统的稳定性、可靠性和抗干扰能力都有较高的要求,特别是对其通道的可靠性、准确性要求更高。
在分布式数据采集与监测系统中,往往需要将离控制中心几公里、几十公里甚至数百公里以外的下位机采集到的在线数据实时地送给上位控制中心。这对于一般的计算机串行通信口来说是无法完成的,必须采取模拟载波传输方式或者采用微波和卫星等无线传输方式,但从投资费用及性能价格比来看,大多数还是采用模拟载波传输方式,也就是说,通信双方各接入一个专用设备——调制解调器(MODEM),它将PLC送来的数字信号调制成模拟信号在电话线中传输,并在接受端将模拟信号还原成数字信号。
2技术现状
本系统是以PLC为核心和可脱机的电话通信的方式实现的。在该系统中,一方面,下位机的数据采集终端必须将采集到的各种在线数据准确、可靠、迅速地送到上位微机控制中心;另一方面上位机的控制命令和调度命令必须准确无误地下发到各下位机,而完成这两方面功能的关键在于数据通信。
一般来说监测设备和控制中心相距较近,可直接通过RS232接口或RS422接口进行数据通信;当它们相距较远时,可以辅设专用的通信信息,采用异步MODEM专线传输方式进行数据通信。如果距离在几千米甚至上万米以上时,只能借助于公用电话网(PSTN),采用异步MODEM拨号方式进行数据通信。
以PLC为核心的计算机通信系统需要考虑的问题主要是硬件配置、通信协议的选取及实现、特定操作系统下通信程序的编制等。
该系统,如图1所示。
图1系统结构图
下位机以特定协议向上位机发送一个信息包,由上位机进行数据处理。
目前计算机技术正朝着高速度、集成化和网络化方向发展,这种高速度和网络化技术的发展往往会造成高速度上位机与外部设备间的速度不匹配问题。
3用程序实现上位PC与下位PLC间的速度匹配
按照正常的软件安装方法安装工作站软件,发现调制解调器不能进行初始化,通信无法正常进行。由于通信软件和传输介质的限制,通信速度只能处在2400bps状态,如果改换其它新型的MODEM,数据传送速度比早期的MODEM没有什么提高。这就造成计算机与外设(MODEM)之间的速度不匹配问题,形成设备与主机间无法进行正常的对话,加之通信软件设计时很难做到尽善尽美,难免使应用程序中存在BUG,使设备与主机之间无法同步。
系统在执行应用程序时,控制权并非完全交给应用程序,将部分时间分配给系统的硬中断IRQ8,以启动时钟中断进行时钟数据的刷新操作。由于系统以每秒钟18.2次的速度驱动硬中断,所以应用程序每执行一秒钟就调用18.2次中断INT08H和INTICH的驱动程序。如果通过接管这两个驱动程序并在其中做些延时处理,就可以控制应用程序的执行速度,当延迟时间设置比较合理时就会使原来速度非常高的主机与外设速度达到同步。因此通过接管该中断驱动程序实现比较合理。如果主机速度特别高,可以通过系统计时器的低级端口操作调用时钟的频率。将每秒系统调用时钟中断18.2次改为每秒调用次数与计算机的时钟频率相同。这样设计利用扩充中断INTICH的方法编制了一个任意调整CPU速度的实用程序。
4远程数据通信的设计与实现
在计算机通信领域中MODEM主要是用以延伸计算机数字信号传输的距离。在上位PC和下位PLC之间要进行正常的数据通信,必须首先建立通信信道。如果PC—PLC之间距离较远时,铺设专用的通信信道是不可能的,因此须借助公用电话网通过电话线路采用自动拨号的方式进行通信,但线路会常常出现异常中断的现象,通信的可靠性较差。而在一般的通信软件中难以切换线路,针对这种远程通信中存在的各种问题,并结合课题研究,成功地开发了一套通用的基于异步MODEM自动拨号方式的远程通信软件模块,其应用程序可方便灵活地调用,如图2所示。
图2通信模块流程图
对于远程数据通信系统来说,由于底层通信模块提供了线路状态的实时监测系统及自动重连的功能,能在线路连通期间实时监测线路状态,一旦发现线路异常中断,即可自动拨号进行重新连线,从而大大地提高了远程通信系统的可靠性与灵活性。
由于应用了底层通信模块(即线路状态监测和线路控制应用程序接口)开发基于异步MODEM的远程数据(包括实时信息和非实时信息)通信软件,很好地完成了该系统中的数据自动通信功能。
5监测系统
SZ—4系统的PLC在监测系统中主要完成信号实时采样、脉冲量累计、预警报信号检测与报警输出等,并通过各种变送器与现场的传感器连接。由上位完成复杂运算、显示各种实时图形和保存大量历史数据和打印汉字报表。上位机监测应用软件的编程选用C语言,同时选择了与C语言程序连接方便的C语言数据库作为系统的实时与历史数据库。
下位机PLC采用梯形图来编制程序,下位PLC软件用来实现数据采集、脉冲计数转换、预警报逻辑判断及声光报警输出、通信数据格式的转换。
数据通信与分离模块完成PLC与微机间数据和命令的双向传递,并将得到的数据按系统要求的格式分离成系统变量。
在硬件配置与安装上,系统交流电源使用双层隔离,输入信号光电隔离,提高信号噪声比,远离强电布线,模拟量信号和脉冲信号采用屏蔽线传送,采用放射性一点接地等措施,有效地消除或减弱了共模干扰和瞬变干扰。
在软件设计与编程上,加上一些抗干扰模块。如采用软件滤波技术,对一些重要模拟量参数进行延时判定,并进一步确认报警;在上下位通信软件设计采用响应码与校验重校措施,大大提高了系统的抗干扰性能。