7
沈阳西门子PLC代理商通讯电缆供应商
在火电厂热工自动化领域,DCS和PLC是两个不同而又有着千丝万缕联系的概念。DCS和PLC都是计算机技术与工业控制技术相结合的产物,火电厂主机控制系统用的是DCS,而PLC主要应用在电厂辅助车间。DCS和PLC都有操作员站提供人机交互的手段、都依靠基于计算机技术的控制器完成控制运算、都通过I/O卡件完成与一次元件和执行装置的数据交换、都具备称之为网络的通信系统。DCS和PLC如此相似,为什么会有不同的概念,我们在工程实践中如何进行选择?本文从历史沿革、技术特点、发展方向等几个方面作一综述,希望能够对热工人员有所借鉴。其中的DCS的情况以科远的NT6000为例,力求例举详实阐述清晰。
1、DCS和PLC的历史沿革及概念
DCS为分散控制系统的英文(TOTAL DISTRIBUTED CONTROL SYSTEM)简称。指的是危险分散、数据集中。70年代中期进入市场,完成模拟量控制,代替以PID运算为主的模拟控制仪表。提出DCS这样一种思想的是仪表制造厂商,当时主要应用于化工行业。而PLC于60年代末研制成功,称作逻辑运算的可编程序控制器(Programmable Logic Controller),简称PLC。主要应用于汽车制造业。
DCS和PLC的设计原理区别较大,PLC是从摸原继电器控制原理发展起来的,70年代的PLC只有开关量逻辑控制。它以存储执行逻辑运算、顺序控制、定时、计数和运算等操作的指令;并通过数字输入和输出操作,来控制各类机械或生产过程。用户编制的控制程序表达了生产过程的工艺要求。将其存入PLC的用户程序存储器,运行时按存储程序的内容逐条执行,以完成工艺流程要求的操作。 PLC资料网
DCS是在运算放大器的基础上得以发展的。把所有的函数、各过程变量之间的关系都设计成功能块。70年代中期的DCS只有模拟量控制。
DCS和PLC控制器的主要差别是在开关量和模拟量的运算上,即使后来两者相互有些渗透,但是仍然有区别。80年代以后,PLC除逻辑运算外,也增加了一些控制回路算法,但要完成一些复杂运算还是比较困难,PLC用梯形图编程,模拟量的运算在编程时不太直观,编程比较麻烦。但在解算逻辑方面,表现出快速的优点。而DCS使用功能块封装模拟运算和逻辑运算,无论是逻辑运算还是复杂模拟运算的表达形式都非常清晰,但相对PLC来说逻辑运算的表达效率较低。
DCS和PLC在历史沿革上的差异是明显的,对它们后续的发展产生了重大影响。然而,对后续发展影响大的,并不是起源技术上的差别,而是其起源概念的差别。DCS的概念是危险分散,数据集中的计算机控制系统,因此DCS的发展过程,就是在不断的运用计算机技术、通讯技术和控制技术的新成果,来构建一个完整的集散控制体系,DCS给用户提供的是一个完整的面向工业控制的灵活的解决方案。而PLC的概念是可编程序控制器,目的是用来取代继电器,执行逻辑、计时、计数等顺序控制功能,建立柔性程序控制装置。所以,PLC不断发展的主线是在不断地提高各项能力指标,给用户提供一个完善的功能灵活的控制装置。
DCS是一个体系,PLC是一个装置,这是两者在概念上的根本区别。这个区别的影响是深刻,它渗透到了技术经济的每一个方面。
2、DCS和PLC的技术特点与相互渗透
不同的概念基础、不同的发展道路使得DCS和PLC有着各自不同的技术特点,而技术的发展也不是封闭的,相互学习相互渗透也始终贯穿在发展过程之中。
2.1、控制处理能力
我们知道,一个PLC的控制器,往往能够处理几千个I/O点(多可达8000多个I/O)。而DCS的控制器,一般只能处理几百个I/O点(不过500个I/O)。难道是DCS开发人员技术水平太差了吗?恐怕不是。从集散体系的要求来说,不允许有控制集中的情况出现,太多点数的控制器在实际应用中是毫无用处的,DCS开发人员根本就没有开发带很多I/O点数控制器的需要驱动,他们的主要精力在于提供体系的性和灵活性。而PLC不一样,作为一个立的柔性控制装置,带点能力越强当然也就代表其技术水平越高了,至于整个控制体系的应用水平呢,这主要是工程商和用户的事情,而不是PLC制造商的目标。
控制处理能力的另一个指标,运算速度,在人们印象当中PLC也比DCS要快很多。从某一个角度来看,情况也的确如此,PLC执行逻辑运算的效率很高,执行1K逻辑程序不到1毫秒,其控制周期(以DI输入直接送DO输出为例)可以控制在50ms以内;而DCS在处理逻辑运算和模拟运算时采用相同的方式,其控制周期往往在100ms以上。我们用PID算法来比较时,可以发现PLC执行一个PID运算在几个毫秒,而NT6000DCS的T2550控制器解算一个PID也需要1个毫秒,这说明PLC和DCS和实际运算能力是相当的,某此型号的DCS控制器甚至强。而控制周期上的差异主要与控制器的调度设计有关。大型PLC往往使用副CPU来完成模拟量的运算,主CPU高速地完成开关量运算,所以即使模拟运算速度一般,在开关量控制方面的速度表现还是非常的。而DCS以同样的速度来处理开关量和模拟量运算,控制周期的指标确实不理想。新型的DCS控制器学习了大型PLC的设计,在控制周期方面的表现获得了大幅度的提高。以NT6000DCS的T2550控制器为例。控制器可以设置四个不同级的任务,小运算周期可以设为10ms,配合高速I/O卡件,控制周期能够达到15~20ms。而模拟量运算设置在其它周期较长的任务中。
2.2、数据通讯交换
数据通讯交换主要是指控制系统网络及其数据交换形式。在这个方面DCS有着先天的优势。集散系统的“分散”主要体现在立的控制器上,“集中”主要体现在具有完整数据的人机交互装置上,而将分散和集中连接成集散系统的正是网络。因此,从DCS发展的早期,网络就成为了DCS生产厂家的技术方向,冗余技术、窄带传输技术都是DCS厂家早研发或应用成功的。PLC主要是按照立装置来设计的,其 “网络”实际上是串行通讯。
工业以太网技术的发展和广泛应用,从形式上拉平了DCS和PLC网络方面的差距。从表面上看很多DCS和PLC都应用了工业以太网,但是其实质上的差距却依然存在。以很多PLC采用的MODBUS-TCP以例。MODBUS是串行通讯协议,不是网络,大家都没有疑问;MODBUS-TCP是网络吗?很多人就有疑问了。仔细分析,MODBUS-TCP是将MODBUS通讯协议加载到以太网的TCP协议之上的一种通讯方式,它虽然具有了网络的外形,但依然是一主多从的管理方式,数据表的传输结构。而DCS呢,以NT6000的ELIN网为例,虽然也是基于工业以太网的,但其应用层协议是积累了近30年的无主令牌LIN网协议,在1M的OLIN,2.5M和20M的ARCNET上都有长期成功的应用。ELIN网上,各站平等,不存在主要管理站。而且数据通讯是以模块为单位的结构化数据,数据管理能力非数据表方式可比。
以PID模块为例,其中的基本数据有PV、SP、OP,采用数据表的传输方式,你先定义PV、SP、OP的数据地址为01、02、03,其它的站也以数据表的方式接收数据,但是01是什么数据?02是什么数据?通过数据定义表才能还原。数据表的管理方式烦琐易错,一个大型系统的上万点数据采用这个方式,平铺在数据表中进行管理,是非常可怕的。而NT6000DCS以模块为单位的结构化管理,将一个PID作为一个模块进行处理,要访问其PV值,访问其模块,以PID.PV的形式来管理。这就将所有平铺的数据,分类归属集中到一个个小盒子中,按模块.分量的方式进行管理,管理的效率大大提高。
PLC数据通讯交换的问题,主要源于PLC长期以来做为一个立装置在发展,没有系统概念;而且主要应用在小型控制系统中,问题暴露得并不明显,所以发展较慢。目前也有一些大型PLC在这个方面有所提高,但是要达到DCS的水平还需要一个相当长的过程。
PLC控制系统设计与调试的一般步骤
(一)分析被控对象并提出控制要求
详细分析被控对象的工艺过程及工作特点,了解被控对象机、电、液之间的配合,提出被控对象对PLC控制系统的控制要求,确定控制方案,拟定设计任务书。
(二)确定输入/输出设备
根据系统的控制要求,确定系统所需的全部输入设备(如:按纽、位置开关、转换开关及各种传感器等)和输出设备(如:接触器、电磁阀、信号指示灯及其它执行器等),从而确定与PLC有关的输入/输出设备,以确定PLC的I/O点数。
(三)选择PLC
PLC选择包括对PLC的机型、容量、I/O模块、电源等的选择,详见本章二节。
(四)分配I/O点并设计PLC外围硬件线路
1.分配I/O点
画出PLC的I/O点与输入/输出设备的连接图或对应关系表,该部分也可在2步中进行。
2.设计PLC外围硬件线路
画出系统其它部分的电气线路图,包括主电路和未进入PLC的控制电路等。
由PLC的I/O连接图和PLC外围电气线路图组成系统的电气原理图。到此为止系统的硬件电气线路已经确定。
(五)PLC程序设计
1. 程序设计
根据系统的控制要求,采用合适的设计方法来设计PLC程序。程序要以满足系统控制要求为主线,逐一编写实现各控制功能或各子任务的程序,逐步完善系统的功能。除此之外,程序通常还应包括以下内容:
1)初始化程序。在PLC上电后,一般都要做一些初始化的操作,为启动作必要的准备,避免系统发生误动作。初始化程序的主要内容有:对某些数据区、计数器等进行清零,对某些数据区所需数据进行恢复,对某些继电器进行置位或复位,对某些初始状态进行显示等等。
2)检测、故障诊断和显示等程序。这些程序相对立,一般在程序设计基本完成时再添加。
3)保护和连锁程序。保护和连锁是程序中不可缺少的部分,认真加以考虑。它可以避免由于非法操作而引起的控制逻辑混乱,。
2. 程序模拟调试
程序模拟调试的基本思想是,以方便的形式模拟产生现场实际状态,为程序的运行创造必要的环境条件。根据产生现场信号的方式不同,模拟调试有硬件模拟法和软件模拟法两种形式。
1)硬件模拟法是使用一些硬件设备(如用另一台PLC或一些输入器件等)模拟产生现场的信号,并将这些信号以硬接线的方式连到PLC系统的输入端,其时效性较强。
2)软件模拟法是在PLC中另外编写一套模拟程序,模拟提供现场信号,其简单易行,但时效性不易保证。模拟调试过程中,可采用分段调试的方法,并利用编程器的监控功能。
(六)硬件实施
硬件实施方面主要是进行控制柜(台)等硬件的设计及现场施工。主要内容有:
1) 设计控制柜和操作台等部分的电器布置图及安装接线图。
2)设计系统各部分之间的电气互连图。
3)根据施工图纸进行现场接线,并进行详细检查。
由于程序设计与硬件实施可同时进行,因此PLC控制系统的设计周期可大大缩短。
(七)联机调试
联机调试是将通过模拟调试的程序进一步进行在线统调。联机调试过程应循序渐进,从PLC只连接输入设备、再连接输出设备、再接上实际负载等逐步进行调试。如不符合要求,则对硬件和程序作调整。通常只需修改部份程序即可。
全部调试完毕后,交付试运行。经过一段时间运行,如果工作正常、程序不需要修改,应将程序固化到EPROM中,以防程序丢失。



开关量:开关量只有两种状态,0、1,包括开入量和开出量,反映的是状态。
数字量:数字量由多个开关量组成。如三个开关量可以组成表示八个状态的数字量。
模拟量:模拟量是连续的量,数字量是不连续的。反映的是电量测量数值(如电流、电压)。
1、开关量:为通断信号,无源信号,电阻测试法为电阻0或无穷大;
也可以是有源信号,叫法是阶跃信号,就是0或1,可以理解成脉冲量
版主说的好,多个开关量可以组成数字量
2、数字量:有0和1组成的信号类型,通常是经过编码后的有规律的信号。和模拟量的关系是量化后的模拟量。
3、模拟量:连续的电压,电流等信号量,模拟信号是幅度随时间连续变化的信号,其经过抽样和量化后就是数字量。
4、脉冲量:在瞬间电压或电流由某一值跃变到另一值的信号量。在量化后,其连续规律的变化就是数字量,如果其由0变成某一固定值并保持不变,其就是开关量
开关量主要指开入量和开出量,是指一个装置所带的辅助点,譬如变压器的温控器所带的继电器的辅助点(变压器温后变位)、阀门凸轮开关所带的辅助点(阀门开关后变位),接触器所带的辅助点(接触器动作后变位)、热继电器(热继电器动作后变位),这些点一般都传给PLC或综保装置,电源一般是由PLC或综保装置提供的,自己本身不带电源,所以叫无源接点,也叫PLC或综保装置的开入量。
数字量定义为:在时间和数值上都是断续变化的离散信号。
模拟量定义为:在时间和数值上都是连续变化的信号。
基本的数字量就是0和1,基本来说即指反映到开关上就是指一个开关的打开(0)或闭合(1)状态,开关量是无源的,即它需要装置输出电源对它进行(这也就是装置的开入量,如综保装置的非电量输入即是一个外部提供的开入量);也可以用0和1进行编码,编成各种通讯码。
模拟量即指经PT、CT等传送过来的电压、电流、频率等电量信号;压力传感器经压力变送器、液位传感器经液位变送器、流量传感器经流量变送器、热电偶或热电偶经温度变送器等传送过来的4-20mA(电Ⅲ型仪表)信号等就是模拟量。综保装置能检测电量(经PT、CT等传送过来的电压、电流、频率等信号,即模拟量)和非电量信号(变压器的轻瓦斯、重瓦斯、温信号,即非电量,也就是开关的打开和闭合)
开关量、数字量、脉冲量。
1、直接测量到的是开关量、模拟量。
开关量:反映的是状态信号(如开关开、合)。
模拟量:反映的是电量测量数值(如电流、电压)。
2、脉冲量一般是积分量(如电度量),不能直接测量到,需要经过测量仪表进行运算得到。
3、接测量到的开关量、数字量、脉冲量进行调制、数字编码,在通讯通道中传输。
以前也有用模拟信号来传输的,现在一般都是用数字信号来传输。
4、调度端解调信号,还原信息。
把数字量和数字信号分清楚就很明了
数字量相对的是模拟量,模拟信号。
开关量、脉冲量都属于数字信号
在时间上和数量上都是离散的物理量称为数字量。把表示数字量的信号叫数字信号。例如:
用电子电路记录从自动生产线上输出的零件数目时,每送出一个零件便给电子电路一个信号,使之记1,而平时没有零件送出时加给电子电路的信号是0,所在为记数。可见,零件数目这个信号无论在时间上还是在数量上都是不连续的,因此他是一个数字信号。小的数量单位就是1个。
在时间上或数值上都是连续的物理量称为模拟量。把表示模拟量的信号叫模拟信号。例如:
热电偶在工作时输出的电压信号就属于模拟信号,因为在任何情况下被测温度都不可能发生突跳,所以测得的电压信号无论在时间上还是在数量上都是连续的。而且,这个电压信号在连续变化过程中的任何一个取值都是具体的物理意义,即表示一个相应的温度。
1、数字量
在时间上和数量上都是离散的物理量称为数字量。把表示数字量的信号叫数字信号。把工作在数字信号下的电子电路叫数字电路。
例如:
用电子电路记录从自动生产线上输出的零件数目时,每送出一个零件便给电子电路一个信号,使之记1,而平时没有零件送出时加给电子电路的信号是0,所在为记数。可见,零件数目这个信号无论在时间上还是在数量上都是不连续的,因此他是一个数字信号。小的数量单位就是1个。
2、模拟量
在时间上或数值上都是连续的物理量称为模拟量。把表示模拟量的信号叫模拟信号。把工作在模拟信号下的电子电路叫模拟电路。
例如:
热电偶在工作时输出的电压信号就属于模拟信号,因为在任何情况下被测温度都不可能发生突跳,所以测得的电压信号无论在时间上还是在数量上都是连续的。而且,这个电压信号在连续变化过程中的任何一个取值都是具体的物理意义,即表示一个相应的温度。
开关量包括开入量和开出量,是数字信号,只有0和1两种状态,表示继电器接点的闭合或断开或者一些断路器的辅助接点。开入量就是保护装置的信号输入,采集现场开关、闸等位置信息。
微机保护里的开入量和开出量指的是数字量即继电器接点的闭合或断开或者一些断路器的辅助触点的闭合与断开。
具体来说就是输入到微机保护里的开关量就是开入量,而微机保护CPU控制单元发出指令时,继电器闭合或断开输出到设备上的就是开出量。
可编程控制器程序设计语言:
在可编程控制器中有多种程序设计语言,它们是梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言及结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成大多数简单的控制功能,例如,代替继电器、计数器、计时器完成顺序控制和逻辑控制等,通过扩展或增强指令集,它们也能执行其它的基本操作。功能表图语言和语句描述语言是的程序设计语言,它可根据需要去执行有效的操作,例如,模拟量的控制,数据的操纵,报表的报印和其他基本程序设计语言无法完成的功能。功能模块图语言采用功能模块图的形式,通过软连接的方式完成所要求的控制功能,它不仅在可编程序控制器中得到了广泛的应用,在DCS/' target='bbbbbb'>集散控制系统的编程和组态时也常常被采用,由于它具有连接方便、操作简单、易于掌握等特点,为广大工程设计和应用人员所喜爱。
根据可编程器应用范围,程序设计语言可以组合使用,常用的程序设计语言是:
梯形图程序设计语言
布尔助记符程序设计语言(语句表)
功能表图程序设计语言
功能模块图程序设计语言
结构化语句描述程序设计语言
梯形图与结构化语句描述程序设计语言
布尔助记符与功能表图程序设计语言
布尔助记符与结构化语句描述程序设计语言
1、梯形图(Ladder Diagram)程序设计语言
梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。
梯形图程序设计语言是常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。
梯形图程序设计语言的特点是:
(1)与电气操作原理图相对应,具有直观性和对应性;
(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;
(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;
(4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查。
2、布尔助记符(Boolean Mnemonic)程序设计语言
布尔助记符程序设计语言是用布尔助记符来描述程序的一种程序设计语言。布尔助记符程序设计语言与计算机中的汇编语言非常相似,采用布尔助记符来表示操作功能。
布尔助记符程序设计语言具有下列特点:
(1)采用助记符来表示操作功能,具有容易记忆,便于撑握的特点;
(2)在编程器的键盘上采用助记符表示,具有便于操作的特点,可在无计算机的场合进行编程设计;
(3)与梯形图有一一对应关系。其特点与梯形图语言基本类同。
3、功能表图(Sepuential Function Chart)程序设计语言
功能表图程序设计语言是用功能表图来描述程序的一种程序设计语言。它是近年来发展起来的一种程序设计语言。采用功能表图的描述,控制系统被分为若干个子系统,从功能入手,使系统的操作具有明确的含义,便于设计人员和操作人员设计思想的沟通,便于程序的分工设计和检查调试。功能表图程序设计语言的特点是:
(1)以功能为主线,条理清楚,便于对程序操作的理解和沟通;
(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省程序设计时间和调试时间;
(3)常用于系统的规模校大,程序关系较复杂的场合;
(4)只有在活动步的命令和操作被执行,对活动步后的转换进行扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。
功能表图来源于佩特利(Petri)网,由于它具有图形表达方式,能较简单和清楚地描述并发系统和复杂系统的所有现象,并能对系统中存有的象死锁、不等反常现象进行分析和建模,在模型的基础上能直接编程,所以,得到了文泛的应用。近几年推出的可编程控制器和小型集散控制系统中也已提供了采用功能表图描述语言进行编程的软件。关于佩特利(Petri)网的一些基本概念,我在以后会时再介绍给各位,以有助于对功能表图的进一步理解。
4、功能模块图(Function Block)程序设计语言
功能模块图程序设计语言是采用功能模块来表示模块所具有的功能,不同的功能模块有不同的功能。它有若干个输入端和输出端,通过软连接的方式,分别连接到所需的其它端子,完成所需的控制运算或控制功能。功能模块可以分为不同的类型,在同一种类型中,也可能因功能参数的不同而使功能或应用范围有所差别,例如,输入端的数量、输入信号的类型等的不同使它的使用范围不同。由于采用软连接的方式进行功能模块之间及功能模块与外部端子的连接,因此控制方案的改、信号连接的替换等操作可以很方便实现。功能模块图程序设计语言的特点是:
(1)以功能模块为单位,从控制功能入手,使控制方案的分析和理解变得容易;
(2)功能模块是用图形化的方法描述功能,它的直观性大大方便了设计人员的编程和组态,有较好的易操作性;
(3)对控制规模较大、控制关系较复录的系统,由于控制功能的关系可以较清楚地表达出来,因此,编程和组态时间可以缩短,调试时间也能减少;
(4)由于每种功能模块需要占用一定的程序内存,对功能模块的执行需要一定的执行时间,因此,这种设计语言在大中型可编程控制器和集散控制系统的编程和组态中才被采用。
5、结构化语句(Structured Text)描述程序设计语言
结构化语句描述程序设计语言是用结构化的描述语句来描述程序的一种程序设计语言。它是一种类似于语言的程序设计语言。在大中型的可编程序控制器系统中,常采用结构化语句描述程序设计语言来描述控制系统中各个变量的关系。它也被用于集散控制系统的编程和组态。
结构化语句描述程序设计语言采用计算机的描述语句来描述系统中各种变量之间的各种运算关系,完成所需的功能或操作。大多数制造厂商采用的语句描述程序设计语言与BASIC语言、PASCAL语言或C语言等语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。
结构化程序设计语言具有下列特点:
(1)采用语言进行编程,可以完成较复杂的控制运算;
(2)需要有一定的计算机程序设计语言的知识和编程技巧,对编程人员的技能要求较高,普通电气人员无法完成。
(3)直观性和易操作性等性能较差;
(4)常被用于采用功能模块等其他语言较难实现的一些控制功能的实施。
部分可编程序控制器的制造厂商为用户提供了简单的结构化程序设计语言,它与助记符程序设计语言相似,对程序的步数有一定的限制,同时,提供了与可编程序控制器间的接口或通信连接程序的编制方式,为用户的应用程序提供了扩展余