西门子6ES7211-0BA23-0XB0诚信交易
西门子6ES7211-0BA23-0XB0诚信交易
一、引言
随着工业生产自动化水平的不断加快,对控制系统提出了愈来愈严格的要求。随着大规模集成电路广泛应用,控制系统本身也得到长足发展,已由原来的分立元件、继电器控制,发展成为大规模集成电路的微机控制。控制方式也由原来的分散控制发展为集中控制。正是在这种发展的需求下,可编程控制器应运而生。由于可编程控制器(PLC)具有体积小、抗干扰能力强、组态灵活等优点,因而在工业控制系统中得到非常广泛的应用。
在电缆自动生产线检测控制系统中,可编程控制器主要用作下位机,检测各状态点的状态,直接控制系统的启、停和其他控制单元的投切,并将各点的状态送给上位机——计算机,计算机综合可编程控制器和其他设设备的数据,作出相应的处理和显示。关于整个系统的设计与实现另文介绍,本文主要介绍该系统中用作下位机的可编程控制器的作用、与计算机的通讯及程序设计方法。
二、可编程控制器的性能特点
用于控制系统中的可编程控制器是以循环扫描的方式工作,它不断读取输入点的状态,然后按照既定的控制方式进行逻辑运算,将结果从输出端送出,从而达到控制的目的。它是由工业专用微型计算机、输入/ 输出继电器、保护及抗干扰隔离电路等组成的微机控制装置,具有顺序、周期性工作的特性。由于它具有可编程的功能,且其基本输入/输出点全部使用开关量,因而完全可以替代继电器控制系统和由分立元件构成的控制系统。从应用角度来看,可编程控制器具有如下特点:
1、可靠性高:可编程控制器的输入/ 输出端口均采用继电器或光耦合器件,即基本输入/ 输出点均为开关量,同时附加有隔离和抗干扰措施,使其具有很高的抗干扰能力,因而能在比较恶劣的环境下可靠工作。
2、体积小:在制造时采用了大规模集成电路和微处理器,用软件编程替代了硬连线,达到了小型化,便于安装。
3、通用性好:可编程控制器采用了模式化结构,一般有CPU模块、电源模块、通讯模块、PID模块、模拟输入/ 输出模块等。用这些模块可以灵活地组成各种不同的控制系统。对不同的控制系统,只需选取不同的模块设计相应的程序即可。
4、使用方便、灵活:对于不同的控制系统,当控制对象及输入/ 输出硬件结构选定后,若要改变控制方式或对控制对象作一些改动,只需修改相应程序即可,无须对系统连线作较大的修改。从而减少了现场调试的工作量,提高了工作效率。
三、用作下位机的可编程控制器
由于可编程控制器具有上述特点,因而在检测和控制系统中得到广泛应用。但因其专用性太强以及受输入/ 输出节点数的限制,在由可编程控制器构成的系统中,可编程控制器主要用来完成组合逻辑与时序逻辑的输入/ 输出控制。另外,由于可编程控制器无法以比较灵活的方式显示当前各个输入/ 输出点的状态,不能以多种方式提供整个系统的运行情况,因而,在用可编程控制器构成比较大的检测控制系统时,一般用可编程控制器完成信号的采集和控制,比较复杂的数据处理、图形显示、人机界面等由计算机来完成。
在电缆自动生产线检控系统中,可编程控制器作为下位机用来控制各种电机、风机的启、停,调速器的投切,读取各控制点的状态,然后将各点的状态输入到上位机——计算机。计算机处理可编程控制器和其他设备的信息,以图表的方式显示,使操作者对生产线的工作状态一目了然。计算机和可编程控制器的硬件连接及可编程控制器与各控制端、状态点的连接如图1所示。
图1 可编程控制器接线示意图
图1中,输入到可编程控制器的检测点可分为按键类和光电开关类。按键类主要有:启动、停止、帮助、诊断、查询、复位按键等。光电开关类主要有:张力轮位置、张力杆位置、左右托位置、左右盘位置、抓勾位置、左右防护位置、排线位置、排架位置、光电开关等。可编程控制器的输出用来控制循环水、退火水、吹干风机及各种电机的启停等。
可编程控制器不断读取输入端,按既定的控制方式对输入端的状态进行逻辑运算,然后将运算结果经输出端输出(即进行控制),从而保证生产线的可靠、连续运行,同时将本系统的状态按某种协议反映给上位机,上位机处理可编程控制器和其它设备的信息,作出响应,并以图表的方式显示,使操作者能随时掌握生产线的工作状态,以便在需要时进行调试。
四、通讯连接及程序设计
上位机和下位机进行数据交换的方式有很多,如网络方式、485方式、RS232方式等。由于在电缆生产线中,上、下位机之间距离较近,因而我们选用了RS232方式,其硬件连接如图2所示。
图2 可编程控制器与计算机连接示意图
图2是我们使用三菱公司的FX2可编程控制器与计算机的连接方法。可编程控制器端使用了FX - 232ADP串行通讯模块,即可编程控制器与计算机之间以RS232方式进行数据交换。当可编程控制器与计算机的距离比较远时,也可以485方式进行数据交换,只要在计算机中插一个485接口板,并将可编程控制器的ADP - 232模块换成485模块即可。
1、可编程控制器通讯程序设计
在可编程控制器与计算机通讯之前,必须设置相互认可的参数,这些参数有:波特率、停止位和奇偶校验位等。可编程控制器通讯参数通过寄存器D8120的位组合方式来选择,其各位定义如下:
b0 数据长度:= 0 ,7位; = 1, 8位
b2b1 校验: = 00,无校验; = 01,奇校验; = 10, 偶校验
b3 停止位: = 0, 1位; = 1, 2位
b7b6b5b4 波特率;
= 0011, 300 bps; = 0100, 600 bps;
= 0101, 1200 bps; = 0110, 2400 bps;
= 0111, 4800 bps; = 1000, 9600 bps;
= 1001, 19200 bps;
可编程控制器通讯适配器FX - 232ADP的命令为Ram ò n,其中S设定了传送数据的缓冲区首址,m为从首地址开始的第m个顺序单元,D为接收数据的缓冲区首址,n为接收数据的n个顺序单元。可编程控制器完成一次传送的程序流程如图3 所示。
图3 可编程控制器发送数据流程
M8000是当PLC运行时,处于接通状态的特殊辅助继电器。
可编程控制器是以循环扫描的方式工作(如图4 (b)所示),即按顺序反复地执行一条一条指令。如图4(b)所示,IN为一组输入指令,即一组将接点状态读入可编程控制器的指令,MEM为一组记录接点状态的指令,CAL为若干条完成控制所需的计算、处理指令,OUT为执行控制和一组输出指令,TRN为若干条向串行口发送数据的指令,依次反复执行IN、MEN、CAL、OUT、TRN,从而完成控制和数据交换的任务。由此可见,可编程控制器从串行口送出的数据是一个分段连续的数据流,如图4 (a)所示。
(a) 可编程控制器发送的数据流
(b) 可编程控制的工作流程
图4
图中Dn(n=1, 2……N)为连续从串行口输出的N个数据,在TRN之外的时间里串行口并不工作。这样,当计算机在接收可编程控制器的数据时,就需作如下考虑:
1) 首先应找到数据流的首部,因为计算机对可编程控制器的访问具有很大的随机性,当计算机在读串行口时,有可能读到的是数据流中的任何一个数据,因而,只有找到数据流的首部,然后读到的数据才是正确的、完整的数据。
2) 计算机读串行口时,应有足够的等待时间,如果计算机读串行口时,恰好读到的是数据2(D2),由于本次读到的数据不是完整的,因此计算机大约需要等可编程控制器的一个扫描周期才能读到一组完整的数据。
2、计算机通讯程序设计
在设计电缆自动生产线检测控制系统时,我们已明确了可编程控制器向计算机发哪些数据,即计算机读可编程控制器数据的个数M已知,因此可以用该数据个数M来判断所读数据是否完整。初始化串行口就是将可编程 控制器和计算机串行口的波特率、停止位、校验位、数据位等设置为相同。为了使计算机能够准确找到数据流的首部,我们根据该数据流的特点和可能出现的情况,定义了03FFFF为数据流的首部,即可编程控制器发送的个数据为03,第二个数据为FF,第三个数据为FF,然后依次发送可编程控制器的数据。计算机读取数据时,首先检查读到的是不是03,如果是03,再读下一个数据并检查是否为FF,若是,再读下一个数据并检查是不是FF,若是,则认为读到了数据流的首部,接着读取数据,如果上述任意一项检查不符,则认为没有读到数据流的首部,再重复上述检查,直至读到数据流的首部为止。这样既保证了数据交换的正确性,也保证了数据交换的完整性。
,我们在分析了可编程控制器的工作流程、串行口工作方式和系统工作情况的基础上,设计了数据流的首标志,设定了传送数据的个数,以此来判断计算机所读取数据的位置及数据的完整性,并以这种方式设计了通讯程序,实际证明效果良好。
五、结论
本文简要介绍了可编程控制器的性能、特点,在电缆自动生产线中将可编程控制器与计算机以RS - 232的方式连接,并设计了相应程序。按照这种连接和设计,我们完成了计算机与可编程控制器的通讯,实现了电缆生产线的检测控制系统,实际运行良好。
概 述
随着计算机应用的不断普及,计算机远程通信的使用也越来越多。但由于电信事业发展的滞后,通信线路拥挤阻塞的问题日益严重,有些地方上班时间电话线路经常处于占线状态,使得计算机通信十分困难。若想在下班或深夜通信线路空闲时才进行数据通信,通信双方就要留人值班操作,十分不便。为此,采用无人值守的远程数据通信控制器。由于这种系统要经受通信干扰、高温等的影响,其工作条件十分恶劣,加上分机较多,有的又相距较远,所以对整个系统的稳定性、可靠性和抗干扰能力都有较高的要求,特别是对其通道的可靠性、准确性要求更高。
在分布式数据采集与监测系统中,往往需要将离控制中心几公里、几十公里甚至数百公里以外的下位机采集到的在线数据实时地送给上位控制中心。这对于一般的计算机串行通信口来说是无法完成的,必须采取模拟载波传输方式或者采用微波和卫星等无线传输方式,但从投资费用及性能价格比来看,大多数还是采用模拟载波传输方式,也就是说,通信双方各接入一个专用设备——调制解调器(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与微机间数据和命令的双向传递,并将得到的数据按系统要求的格式分离成系统变量。
在硬件配置与安装上,系统交流电源使用双层隔离,输入信号光电隔离,提高信号噪声比,远离强电布线,模拟量信号和脉冲信号采用屏蔽线传送,采用放射性一点接地等措施,有效地消除或减弱了共模干扰和瞬变干扰。
在软件设计与编程上,加上一些抗干扰模块。如采用软件滤波技术,对一些重要模拟量参数进行延时判定,并进一步确认报警;在上下位通信软件设计采用响应码与校验重校措施,大大提高了系统的抗干扰性能。
6通信结构的特点
通信协议要解决的主要矛盾是:
(1)防止本机发送本机接收;
(2)严禁两个以上分机同时发送;
(3)接收不同分机数据的类型识别。
为此,系统做了以下约定:
(1)固定通信用存贮区域;
(2)固定模式周期性传递方式;
(3)严格时序控制;
(4)一机激活各机顺序响应。
由协议约定可知,这种通信结构的特点是:信息传送模式固定,软件管理自成一体,周期性工作,每次都由上位机定期激活。这就不会使系统因某个分机通信故障而陷于瘫痪。为了确保通信工作可靠,传送接收准确稳定,在设计中又采取了下述措施:
(1) 增加一路联络信号,使各分机强行改变通信状态,实现系统硬同步。若不加外围联络信号,只设一根总线,也能实现既定的信息交流工作,这就是利用软件计数法,即“软同步”。
(2) 软件上采取数字滤波的方法,提高接收信息的准确性。这是一般应用系统中普遍采用的一种方法。由于本系统是定期循环传送,所以对于一些重要数据采用“两次比较”和“三次取二”的处理方法。即当本次接收到期的信息与上次相同时,则予以接受;若不同时,等到下次再接收到该数据信息时与前两次比较,取出两个相同的数据确定为正确数据;若3个数据互不相同时,则继续接收并每次都取出新接收的3个数据进行“三次取二”处理,直到找出正确的数据从而提高了系统接收信息的准确性。
串行通道是全双工的,这意味着可以同时接收和发送。串行通道具有缓冲接收功能,即在前一个已接收的字节从接收寄存器读出之前,开始接收第二个字节,串行通道寄存器的存取都通过专用寄存器SBUF。写入SBUF就是装入发送寄存器;读操作实际上是取接收寄存器的内容。串行通道有4种工作方式。当工作方式确定之后,波特率的选择形式也就确定了。上位机子系统通信程序流程图,如图3示。
图3通信程序
START:启动子程序。其功能是当每个传送周期开始的时候,由调用START来激活通信系统,并使主机发送数据。
A1:串行通道中断服务子程序。全部信息的接收`发送`分类处理及有些状态的改变均由此程序完成。
B1:外部中断服务子程序。其顺序在记录主机发送完数据之后,主机被引发中断时调用。功能为:改变主机发送状态为接收状态,并做好接收从机数据的准备。
7结论
串行中断多机通信的结构是合理的,系统总体方案是可行的。由于通信模块独立,传送模式周期循环,给系统的通用性和可扩充性创造了有利条件。采用PLC为核心的远程自动监测系统具有实时性好`数据获取准确以及通信过程控制方便等特点:同时,采用本系统设计的通信程序可移植性好`维护和扩充方便,对同类系统的设计与实现有一定的启发