资源描述
第,8,章,S7,200,系列,PLC,功能指令,PLC,为了实现比较复杂的控制功能,除前面介绍过的基本操作指令外,还具有,功能指令,。功能指令也叫,应用指令,,,实质上就是一些功能不同的子程序,,合理、正确地使用功能指令,对优化程序结构,提高应用系统的功能,简化对一些复杂问题的处理有着重要的作用。,本章介绍表功能指令、转换指令、中断指令、高速处理指令、时钟指令、,PID,指令以及通信指令的格式和梯形图编程方法。,8.1,表功能指令,表功能指令有,填表指令、先进先出和后进先出指令,及,查表指令,。,表功能,指令用来,建立和存取,字类型的,数据表,。,表中第一个数是最大填表数(,TL,),;,第二个数是实际填表数(,EC,),指出已填入表的数据个数。,从第,3,个字节地址开始存放数据,新的数据填加在表中上一个数据的后面,一个表最多能存储,100,个数据。,8.1.1,填表指令,填表指令(,ATT,),,用于把指定的字型数据添加到表格中。指令格式见表,8-1,。,LAD,STL,功能描述,ATT DATA,,,TBL,当使能端输入有效时,将,DATA,指定的数据添加到表格,TBL,中最后一个数据的后面,例,8-1,将数据(,VW100,),1234,填入表中,表的首地址为,VW200,。,8.1.2,先进先出和后进先出指令,从表中移出一个数据有,先进先出(,FIFO,),和,后进先出(,LIFO,),两种方式。一个数据从表中移出之后,表的实际填表数,EC,值自动减,1,。,LAD,STL,功能描述,FIFO TBL,,,DATA,当功能端输入有效时,从,TBL,指明的表中移出第一个字型数据,并将该数据输出到,DATA,,剩余数据依次上移一个位置。,LIFO TBL,,,DATA,当功能端输入有效时,从,TBL,指明的表中移走最后一个数据,剩余数据位置保持不变,并将此数据输出到,DATA,。,例,8-2,运用,FIFO,指令从例,8.1,所示的表中取数,并将数据分别输出到,VW400,。,表查找指令,是从字型数据表中找出符合条件的数据在表中的地址编号,编号范围为,0,99,。,8.1.3,查表指令,LAD,STL,功能描述,FND,TBL,,,PANRN,,,INDX,FND,TBL,,,PANRN,,,INDX,FND,TBL,,,PANRN,,,INDX,FND,TBL,,,PANRN,,,INDX,当使能输入有效时,从,INDX,开始搜索表,TBL,,寻找符合条件,PTN,和,CMD,所决定的数据。,8.2,转换指令,转换指令,是对操作数的类型进行转换,并输出到指定的目标地址中去。,转换指令包括:,标准转换指令,ASCII,码转换指令,字符串转换指令,编码和译码指令,等,标准转换指令包括,数据的类型转换指令,和,段码指令,。,8.2.1,标准转换指令,数据的类型转换指令有,字节转为字整数,(,BTI,)、,字整数转为字节,(,ITB,)、,字整数转为双字整数,(,ITD,)、,双字整数转为字整数,(,DTI,)、,双字整数转为实数,(,DTR,)、,实数转为双字整数,(,RTD,)、,BCD,码转为字整数,(,BCDI,)、,字整数转为,BCD,码,(,IBCD,)、,实数转为字整数,(,ROUND,和,TRUNC,)。,以上指令将输入值,IN,转换为指定的格式并存储到由,OUT,指定的输出值存储区中。,段码指令用来产生一个点阵码,可用于点亮,7,段码显示器的各个段。,1. BCD,码与字整数之间的转换,BCD,码与字整数间的类型转换是双向的。,BCD,码与字整数类型转换的指令格式见表,8-4,。,LAD,STL,功能描述,BCDI OUT,使能输入有效时,将,BCD,码输入数据,IN,转换成字整数类型,并将结果送到,OUT,输出,IBCD OUT,使能输入有效时,将字整数输入数据,IN,转换成,BCD,码类型,并将结果送到,OUT,输出,字节型数据是无符号数,字节型数据与字整数之间转换的指令格式见表,8-5,。,2.,字节与字整数之间的转换,LAD,STL,功能描述,BTI IN,,,OUT,使能输入有效时,将字节型输入数据,IN,转换成字整数类型,并将结果送到,OUT,输出。,ITB IN,,,OUT,使能输入有效时,将字整数型输入数据,IN,转换成字节类型,并将结果送到,OUT,输出。,字型整数与双字整数的类型转换指令格式见下表,3.,字型整数与双字整数之间的转换,LAD,STL,功能描述,DTI IN,,,OUT,使能输入有效时,将双整数输入数据,IN,转换成整数类型,并将结果送到,OUT,输出。,IDT IN,,,OUT,使能输入有效时,将字整数输入数据,IN,转换成双整数类型,并将结果送到,OUT,输出。,双字整数与实数的类型转换指令格式见下表,4.,双字整数与实数之间的转换,LAD,STL,功能描述,ROUND IN OUT,使能输入有效时,将实数型输入数据,IN,转换成双字整数,并将结果送到,OUT,TRUNC IN OUT,使能输入有效时,将,32,位实数转换成,32,位有符号整数输出,只有实数的整数部分被转换。,DTR IN OUT,使能输入有效时,将双整数输入数据,IN,转换成实数型,并将结果送到,OUT,输出,例,8-3,在控制系统中,有时需要进行单位互换,例如把英寸转换成厘米,,C10,的值为当前的英寸计数值,,1,英寸,2.54,厘米,.,(,VD4,),2.54,。,5,段码指令,LAD,STL,功能描述,SEG IN,,,OUT,使能输入有效时,将字节型输入数据,IN,的低四位有效数字转换为相应的七段显示码,并将其输出到,OUT,指定的单元。,5,段码指令,5,段码指令,例,8-4,编写实现用七段码显示数字,5,段代码的程序,程序运行结果为(,AC1,),6D,8.2.2 ASCII,码转换指令,LAD,STL,功能描述,ATH IN,,,OUT,,,LEN,使能输入有效时,把从,IN,字符开始,长度为,LEN,的,ASCII,码字符串转换成从,OUT,开始的,16,进制数,HTA IN,,,OUT,,,LEN,使能输入有效时,把从,IN,字符开始,长度为,LEN,的,16,进制数转换成从,OUT,开始的,ASCII,码字符串,ITA IN,,,OUT,,,FMT,使能输入有效时,把输入端,IN,的整数转换成一个,ASCII,码字符串,DTA IN,,,OUT,,,FMT,使能输入有效时,把输入端,IN,的双字整数转换成一个,ASCII,码字符串,RTA IN,,,OUT,,,FMT,使能输入有效时,把输入端,IN,的实数转换成一个,ASCII,码字符串,例,8-5,编程将,VD100,中存储的,ASCII,代码转换成十六进制数。,已知(,VB100,),33,,(,VB101,),32,,(,VB102,),41,,(,VB103,),45,。,程序运行结果:,执行前:(,VB100,),33,,(,VB101,),32,,(,VB102,),41,,(,VB103,),45,执行后:(,VB200,),32,,(,VB101,),AE,。,8.2.3,字符串转换指令,字符串转换指令有整数转字符串(,ITS,)、双整数转字符串(,DTS,)、实数转字符串(,RTS,)、子字符串转整数(,STI,)、子字符串转双整数(,STD,)、子字符串转实数(,STR,)指令等。字符串转换指令的格式见表,8-10,。,第,5,章 可编程控制器的基本组成及工作原理,说明:,(,1,)格式操作数,FMT,指定小数点右侧的转换精度和使用逗号还是点号作为小数点。输出缓冲区中小数点右侧的数字位数为,0,到,5,。,(,2,)操作数寻址方式见附表,2,。,8.2.4,编码和译码指令,在可编程控制器中,字型数据可以是,16,位二进制数,也可用,4,位十六进制数来表示,编码过程就是把字型数据中最低有效位的位号进行编码,而译码过程是将执行数据所表示的位号对所指定单元的字型数据的对应位置,1,。,1.,编码指令,LAD,STL,功能描述,ENCO IN,,,OUT,使能输入有效时,将字型输入数据,IN,的最低有效位(值为,1,的位)的位号输入到,OUT,所指定的字节单元的低,4,位,(,1,),IN,、,OUT,的数据类型分别为,WORD,、,BYTE,,操作数寻址方式见附表,1,。,(,2,)使能流输入,ENO,断开的出错条件:,SM4.3,(运行时间),,0006,(间接寻址错误),8.2.4,编码和译码指令,2.,译码指令,译码指令的指令格式见表,8-12,。,LAD,STL,功能描述,DECO IN,,,OUT,使能输入有效时,将字节型输入数据,IN,的低四位所表示的位号对,OUT,所指定的字单元的对应位置,1,,其它位复,0,。,(,1,),IN,、,OUT,的数据类型分别为,BYTE,、,WORD,,操作数寻址方式见附表,1,。,(,2,)使能流输出,ENO,断开的出错条件:,SM4.3,(运行时间),,0006,(间接寻址出错)。,中断,是计算机在实时处理和实时控制不可缺少的一项技术。,所谓中断,指当控制系统执行正常程序时,对系统中出现的某些异常情况或特殊请求的紧急处理。,这时系统暂时中断现行程序,转去对随机发生的更紧迫事件进行处理(进行中断服务程序),当该事件处理完毕后,系统自动回到原来被中断的程序继续执行。,8.3,中断指令,8.3.1,中断源,中断源是能够向,PLC,发出中断请求的中断事件。,S7-200,有,26,个中断源。每个中断源都分配一个编号用于识别,称为中断事件号。例如,I0.0,上升沿引起的中断被固定定义为事件,0,,定时中断,0,被固定定义为事件,10,等。这些中断源大致分为三大类:通信中断、输入输出中断和时间中断。,1.,通信中断,可编程控制器在自由通信模式下,通信口的状态可由程序来控制。用户可以通过编程来设置通信协议、波特率和奇偶校验。,2. I/O,中断,I/O,中断包括外部输入中断、高速计数器中断和脉冲串输出中断。外部输入中断是系统利用,I0.0,I0.3,的上升或下降沿产生中断。这些输入点可被用做连接某些一旦发生必须引起注意的外部事件;高速计数器中断可以影响当前值等于预设置、计数方向的改变、计数器外部复位等事件所引起的中断;脉冲串输出中断可以用来响应给定数量的脉冲输出完成所引起的中断。,3.,时间中断,时间中断包括定时中断和定时器中断。定时器中断可用来支持一个周期性的活动。周期时间以,1ms,为单位,周期设定时间,5ms,255ms,。,8.3.2,中断优先级,在,PLC,应用系统中通常有多个,中断源,。当多个中断源同时向,CPU,申请中断时,要求,CPU,能将全部中断源按中断性质和处理的轻重缓急进行排队,并给予优先权。给中断源指定处理的次序就是给,中断源确定中断优先级,。,SIEMENS,公司,CPU,规定的中断优先级由,高到低,依次是:,通讯、,I/O,中断、时基中断,,每类中断的不同中断事件又有不同的优先权。具体详细内容请查阅,SIEMENS,公司的有关技术规定。在各个指定的优先级之内,,CPU,按先来先服务的原则处理。中断任何时间点上只有一个用户中断程序正在执行。,一旦中断程序开始执行,它要一直执行到结束。而且不会被别的中断程序,甚至是更高优先级的中断程序所打断。当另一个中断正在处理中新出现的中断,需排队等待以待处理。,8.3.2,中断优先级,PLC,中,,CPU,响应中断的顺序可以分为以下三种情况:,1.,当不同的优先级的中断源同时申请中断时,,CPU,响应中断请求的顺序为优先级高的中断源到优先级低的中断源。,2.,当相同的优先级的中断源同时申请中断时,,CPU,按先来先服务的原则响应中断请求。,3.,当,CPU,正在处理某中断,又有中断源提出中断请求时,新出现的中断请求按优先级排队等候处理,当前中断服务程序不会被其他甚至更优先级的中断程序打断。任何时刻,CPU,只执行一个中断程序。,8.3.3,中断控制指令,经过中断判优后,将优先级最高的中断请求送给,CPU,,,CPU,响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,即保护现场。中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。中断控制指令有,5,条,中断返回指令有,1,条,其指令格式见表,8-13,。,8.3.3,中断控制指令,(1),当进入正常运行,RUN,模式时,,CPU,禁止所有中断,但可以在,RUN,模式下执行中断允许指令,ENI,,允许所有中断。,(2),多个中断事件可以调用一个中断程序,但一个中断事件不能同时连接调用多个中断程序。,(3),中断分离指令,DTCH,禁止中断事件和中断程序之间的联系,它仅禁止某中断事件,全局中断禁止指令,DISI,,禁止所有中断。,(4),中断服务子程序是用户为处理中断事件而事先编制的程序,编制时可以用中断程序入口处的中断程序号,n,来识别每一个中断程序。中断服务程序从中断程序号开始,以无条件返回指令结束。在中断程序中间,用户可根据逻辑需要使用条件返回指令,返回主程序。,PLC,系统中的中断指令与微机原理不同,它不允许嵌套。,(5),操作数,n,中断程序号,0,127,(为常数),EVENT,中断事件号,0,32,(为常数),说明:,例,8-6,编写一段中断事件,0,的初始化程序。中断事件,0,是,I0.0,上升沿产生的的中断事件。当,I0.0,有效时,开中断,系统可以对中断,0,进行响应,执行中断服务程序,INT0,。,NETWORK 1,LD SM0.1,ATCH INT_0, 0,中断,0,与,INT_0,,,连接,SM5.0,置,1,ENI,NETWORK 2,LD SM5.0,DTCH 0,禁止中断,0,NETWORK 3,LD SM5.0,DISI,关全局中断,高速处理类指令主要有,高速计数器指令,和,高速脉冲输出指令,。,8.4,高速处理指令,8.4.1,高速计数指令,高速计数器,HSC,(,High Speed Counter,)在现代自动控制的精确定位控制领域有重要的应用价值。高速计数器用来累计比可编程控制器的扫描频率高得多的脉冲输入(,30KHZ,),利用产生的中断事件完成预定的操作。,1. S7-200,系列的高速计数器,不同型号的,PLC,主机,高速计数器的数量不同,使用时每个高速计数器都有地址编号(,HC n,,非正式程序中有时也用,HSC n,)。,HC,(或,HSC,)表示该编程元件是高速计数器,,n,为地址编号。每个高速计数器包含有两方面的信息:计数器位和计数器当前值。高速计数器的当前值为双字长的符号整数,且为只读值。,S7,系列中,CPU22X,的高速计数器的数量与地址编号见表,8-14,。,主机,CPU221,CPU222,CPU224,CPU226,可用,HSC,数量,4,4,6,6,HSC,地址,HSC0,、,HSC3,HSC4,、,HSC5,HSC0,、,HSC3,HSC4,、,HSC5,HSC0HSC5,HSC0HSC5,2.,中断事件类型,高速计数器的计数和动作可采用中断方式进行控制。各种型号的,CPU,采用高速计数器的中断事件大致分为三种方式:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断,但并不是所有的高速计数其都支持三种方式。高速计数器产生的中断事件有,14,个。中断源优先级等详细情况可查阅有关技术手册。,3.,操作模式和输入线的连接,(,1,)操作模式,每种高速计数器有多种功能不相同的操作模式。高速计数器的操作模式与中断事件密切相关。使用一个高速计数器,首先要定义高速计数器的操作模式。可用,HDEF,指令来进行设置。,高速计数器,HSC0,、,HSC4,有模式,0,、,1,、,3,、,4,、,6,、,7,、,9,、,10,HSC1,有模式,0,、,1,、,2,、,3,、,4,、,5,、,6,、,7,、,8,、,9,、,10,、,11,HSC2,有模式,0,、,1,、,2,、,3,、,4,、,5,、,6,、,7,、,8,、,9,、,10,、,11,HSC3,、,HSC5,只有模式,0,。,(,2,)输入线的连接,在正确使用一个高速计数器时,除了要定义它的操作模式外,还必须注意它的输入端连接。系统为它定义了固定的输入点。,4.,高速计数指令,高速计数指令有两条,HDEF,和,HSC,。其指令格式见表,8-16,。,LAD,STL,功能描述,HDEF HSC MODE,高速计数器定义指令,使能输入有效时,为指定的高速计数器分配一种工作模式,HSC N,高速计数器指令,使能输入有效时,根据高速计数器特殊存储器位的状态,并按照,HDEF,指令指定的模式,设置高速计数器并控制其工作,说明:,例,8-7,将,HSC1,定义为工作模式,11,,控制字节(,SMB47,),16,F8,,预置值(,SMD52,),50,,当前值(,CV,)等于预置值(,PV,),响应中断事件。因此用中断事件,13,,连接中断服务程序,INT_0,。,NETWORK 1,LD SM0.0,MOVB 16#F8, SMB47,定义,HSC1,的控制方式,HDEF 1, 11,定义,HSC1,的工作模式,MOVD +0, SMD48,HSC1,的当前值清零,MOVD +50, SMD52,设置预置值,ATCH INT_0, 13,当前值等于预置值时(中断事件,13,),调用中断程序,0,。,ENI,开中断,HSC 1,编程,HSC1,8.4.2,高速脉冲输出,高速脉冲输出功能是指在可编程控制器的某些输出端产生高速脉冲,用来驱动负载,实现高速输出和精确控制。,1.,高速脉冲输出的方式和输出端子的连接,(,1,)高速脉冲的输出形式,高速脉冲输出有高速脉冲串输出,PTO,和宽度可调脉冲输出,PWM,两种形式。高速脉冲串输出,PTO,主要是用来输出指定数量的方波(占空比,50,),用户可以控制方波的周期和脉冲数。,高速脉冲串的周期以,us,或,ms,为单位,它是一个,16,位无符号数据,周期变化范围,50655535us,或,265535ms,,编程时周期值一般设置成偶数。脉冲串的个数,用双字长无符号数表示,脉冲数取值范围是,1,4294967295,之间。,宽度可调脉冲输出,PWM,主要是用来输出占空比可调的高速脉冲串,用户可以控制脉冲的周期和脉冲宽度。,宽度可调脉冲,PWM,的周期或脉冲宽度以,us,或,ms,为单位,是一个,16,位无符号数据,周期变化范围同高速脉冲串,PTO,。,8.4.2,高速脉冲输出,每个,CPU,有两个,PTO/PWM,发生器产生高速脉冲串和脉冲宽度可调的波形,一个发生器分配在数字输出端,Q0.0,,另一个分配在,Q0.1.PTO/PWM,发生器和输出映象寄存器共同使用,Q0.0,和,Q0.1,,当,Q0.0,或,Q0.1,设定为,PTO,或,PWM,功能时,,PTO/PWM,发生器控制输出,在输出点禁止使用通用功能。输出映象寄存器的状态、强制输出、立即输出等指令的执行都不影响输出波形,当不使用,PTO/PWM,发生器时,输出点恢复为原通用功能状态,输出点的波形由输出映象寄存器来控制。,(2),输出端子的连接,8.4.2,高速脉冲输出,每个,PTO/PWM,发生器都有一个控制字节、,16,位无符号的周期时间值和脉宽值各一个、,32,位无符号的脉冲计数值一个。这些字都占有一个指定的特殊功能寄存器,一旦这些特殊功能寄存器的值被设置成所需操作,可通过执行脉冲指令,PLS,来执行这些功能。,2.,相关的特殊功能寄存器,3.,脉冲输出指令,脉冲输出指令可以输出两种类型的方波信号,在精确位置控制中有很重要的应用。其指令格式见表,8-17,。,LAD,STL,功能描述,PLS Q,脉冲输出指令,当使能端输入有效时,检测用程序设置的特殊功能寄存器位,激活由控制位定义的脉冲操作。从,Q0.0,或,Q0.1,输出高速脉冲。,8.5,其它功能指令,利用时钟指令,可以实现实时调用系统时钟,这对监视、记录控制系统的多方面工作十分方便。时钟指令有,2,条:读实时时钟和设定定时时钟。其指令格式见表,8-18,。,8.5.1,时钟指令,LAD,STL,功能描述,TODR T,读实时时钟,当使能输入有效时。读取系统当前时间和日期,并把它安装入一个,8,字节缓冲区。,TODW T,写实时时钟,当使能输入有效时。系统将包含当前时间、日期的数据写入,8,字节的缓冲区,装入时钟。,(,1,)操作数类型:,T,为缓冲区的起始地址,字节类型。,(,2,)使能流输出,ENO,断开的出错条件:,SM4.3,(运行时间);,0006,(间接寻址错误),(,3,)所有日期、时间值都用,BCD,码表示。,8.5.2 PID,指令,在模拟控制系统和直接数字控制,DDC,(,Direct Digital Control,)系统中,,PID,控制一直都是被广泛应用的一种基本控制算法。,PID,即比例(,Proportional,)、积分(,Integral,)、微分(,Differential,)三作用调节器具有结构典型,参数整定方便,结构改变灵活(有,P,、,PI,、,PD,和,PID,结构),控制效果较佳,可靠性高等优点,是目前控制系统中一种最基本的控制环节。,由于微处理器所能接受的运算一般都比较简单,对于复杂的运算(如微分、积分)都要转变成简单的加、减、乘、除四则运算。所以在实际应用中,需要把信息的,PID,控制算式转换成实际应用的,PID,算式。即把连续算式离散化为周期采样偏差算式,才能用来计算输出值。在决定系统参数时,往往需要现场调试。有,PLC,构成的一个闭环控制过程的,PID,算法,就有十分广阔的前景。,1 PID,的控制算式,在如图,8-12,所示的典型的,PID,回路控制系统中。若,PV,为控制变量,,SP,是设定值,则调节器的输入偏差信号为,e=SP,PV,。理想的模拟,PID,控制算式为:,(1),理想的,PID,控制算式,1 PID,的控制算式,SP,e,M(t,),PID,调节器,执行元件,对象,检测元件,PV,X,图,8-12 PID,回路控制系统模型,在,PID,的三种调节作用中,微分作用主要用来减少超调量,克服振荡,使系统趋向稳定,加快系统的动作速度,减少超调时间,用来改善系统的动态特征。积分作用主要用来消除静差,提高精度,减少超调时间,用来改善系统的静态特征。比例作用可对偏差作出及时响应。若能将三种作用的强度作适当的配合,可以使,PID,回路快速平稳、准确的运行,从而获得满意的控制效果。,由于计算机控制是一种采样控制。它能根据采样时刻的偏差进行计算,得出控制量。因此必须将模拟,PID,算式离散化。用后向差分变换方法,将模拟,PID,调节器的输出算式离散为差分方程。设采样周期为,TS,,初始时刻为,0,,第,n,次采样的偏差为,en,。控制输出为,Mn,,并进行以下变换:,(2) PID,的离散化算式,则模拟,PID,调节其的离散化形式为:,1 PID,的控制算式,式中,TS,、,Mn,、,KC,、,en,、,en,1,、,n,分别为采样周期、调节其第,n,次的输出值、,PID,回路增益、第,n,次采样偏差,,en=,SPn,PVn,、第,n,1,次采样偏差、采样次数序号。,由上式可以看出,积分项是从第,1,个采样周期到当前采样周期所有错误差项的函数;微分项是当前采样和前一次采样的函数;比例项仅是当前采样的函数。在计算机中,不保存所有的差项。,1 PID,的控制算式,由于计算机从第一次采样开始,每有一个偏差采样值必须计算一次输出值,只需要保存偏差前值和积分项前值。利用计算机处理的重复性,可以将上式化简为:,1 PID,的控制算式,式中:,Mn,、,KC,、,en,、,en,1,、,MX,分别为第,n,次采样时刻,,PID,回路输出的计算值、,PID,回路增益、第,n,次采样偏差值、第,n,1,次采样时刻偏差值、积分项前值。第,n,1,次采样时刻的积分项,也称积分和或偏置。,(3) PID,的改进型算式,CPU,实际使用简化,算式的改进形式,进行计算,PID,输出,这个改进型算式是:,下面分别予以讨论。,1 PID,的控制算式,1 PID,的控制算式,1,)比例项,比例项,MP,是增益(,KC,)和偏差(,e,)的乘积。其中,KC,决定输出对偏差的灵敏度,偏差(,e,)是给定值(,SP,)与过程变量值(,PV,)之差。,CPU,自行的比例项算式是:,其中,SPn,、,PVn,分别为第,n,采样时刻的给定值、第,n,采样时刻的过程变量值。,2,)积分项,积分项值,MI,与偏差和成正比。,CPU,执行的求积分项算式是:,其中,MIn,、,TS,、,TI,、,MX,分别为第,n,采样时刻的积分值、采样时间间隔、积分时间、第,n,1,采样时刻的积分项(积分项前值,也称积分和或偏置)。,1 PID,的控制算式,3,)微分项,微分项值,MD,与偏差的变化成正比。其计算等式为:,为了避免给定值变化的微分作用而引起的跳变,假定给定值不变(,SPn,SPn-1,)。这样,可以用过程变量的变化替代偏差的变化,计算时可改进为:,2. PID,回路控制的类型,许多控制系统中,有时只需一种或两种回路控制,例如系统只使用比例回路或者比例积分回路。可以通过设置常量参数,选择想要的回路控制类型。,假如不需要积分回路,可以把积分时间设为无穷大,不存在积分作用,但积分项还可以保留,因为有初值,MX,;假如不想要微分回路,可以把微分时间置为零;如果不需要比例回路,但需要积分或微分回路,可以把增益设为,0.0,,系统会在计算积分项和微分项时,把比例放大当作,1.0,看待。,3.,回路输入、输出归一化,每个,PID,回路有两个输入量,给定值(,SP,)和过程变量(,PV,)。给定值通常是一个固定的值。过程变量是与,PID,回路输出有关,可以衡量输出对控制系统作用的大小。给定值和过程变量都可能是现实世界的值,它们的大小、范围和工程单位都可能不一样。,回路输入归一化是指,PID,指令在对这些量进行运算以前,必须把它们转换成标准的浮点型实数。转换时先把,16,位整数值转成浮点型实数值,然后实数值进一步标准化为,0.0,1.0,之间的实数。,(1),回路输入归一化,(2),回路输出值转换成刻度整数值,回路输出值一般是控制变量,而,PID,输出是,0.0,1.0,之间的归一化了的实数,在回路输出驱动模拟输出之前,必须把回路输出转换成相应的实际数值(实数型)。,4.,回路表与过程变量,操作数,Table,所指定的参数控制表的结构见表,8-19,所示,此表含有,9,个参数,全部为,32,位的实数格式,共占用,36,个字节。,5 . PID,调节指令应用实例,被控对象为需保持一定压力的供水水箱,调节量为其水位,给定量为满水位的,75%,,控制量为水箱注水的调速电机的调速。调节量(为单极性信号)由水位计检测后经,A/D,变换送入,PLC,。用于控制电机的转速信号由,PLC,执行,PID,指令后以单极性信号经,D/A,变换后送出。本例假设根据实际情况,已选定采用,PI,控制,且增益、采样时间常数和积分时间常选为:,KC=0.25,,,TS=0.1s,,,TI=30s,。要求开机后先由手动控制电机,一直到水位上升为,75%,时,通过输入点,I0.0,的置位切入自动状态。,(1),任务描述,1,)本例的,PID,参数控制表存放在变量存储区的,VB100,开始的,36,个字节中。,2,)参数控制表中的参数分为几大类。有些是固定不变的,如参数,2,,,4,,,5,,,6,,,7,(见表,8-16,)。这些参数可在主程序中设定(本例的主程序)。另外,有一些参数必须在调用,PID,指令时才可填入控制表格,如参数,1,,,3,,,8,,,9,。它们具有实时性(本例中断程序中网络,1,)。,5. PID,调节指令应用实例,(2),设计思路,(3),程序及举例,(,略,),8.5.3,通信指令,西门子公司,SIMATIC S7-200,系列,CPU,的通信指令可以使用户通过编制程序,实现,PLC,与其它智能可编程设备或同系列,PLC,与,PLC,之间的数据通信。网络结构有多种形式,但通过编程实现数据通信的指令只有六条。其指令格式见表,8-20,。,有关通信指令的具体使用可参阅本书第,11,章,
展开阅读全文