




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ζ4-3S7-200PLC的功能指令一、传送指令二、数学运算指令三、逻辑运算指令四、移位和循环移位指令五、数据转换指令六、表功能指令七、程序控制指令八、中断指令九、高速计数器指令十、高速脉冲输出指令十一、PID回路指令ζ4-3S7-200PLC的功能指令一1一、高速计数器指令
在控制中,电动机的调速是常见的控制方式。为实现对电动机的精确控制,经常使用编码器将电动机的转速转为高频脉冲信号,反馈至PLC,通过PLC对高频脉冲的计数和编程来实现对电动机的控制。PLC中普通计数器受到扫描周期的影响,对高速脉冲的计数将发生脉冲丢失现象,导致计数不准确,也就不能实现精确控制。高速计数器(HSC)(HighSpeedCounter)脱离主机的扫描周期而独立计数,可以对脉宽小于扫描周期的高速脉冲准确计数,高速脉冲频率最高可达30KHZ。能够实现对电动机的精确控制。分五个方面来理解:
高速计数器指令格式
高速计数器指令功能
高速计数器编号、运行模式及输入端子分配
高速计数器控制位、当前值、预置值及状态位定义
高速计数器设置过程
返回目录一、高速计数器指令返回目录21.高速计数器指令高速计数器指令包含定义高速计数器指令(HDEF)、高速计数器指令(HSC)。HDEF、HSC指令的梯形图及指令表格式如下所示。HDEFHSC,MODESTL指令HSCNSTL指令S7-200系列PLC中有6个高速计数器,由HSCn来表示高速计数器的地址,n的取值范围为0~5。HSCn还表示高速计数器的当前值(是一个只读的32位双字),可使用数据传输指令随时读出计数当前值。不同的CPU模块中可使用的高速计数器是不同的,CPU221、CPU222可以使HSC0、HSC3、HSC4和HSC5;CPU224和CPU226可以使用HSC0~HSC5。返回目录1.高速计数器指令HDEFHSC,MODESTL指令HS32指令功能(1)定义高速计数器指令(HDEF):“HSC”端口指定高速计数器编号(0~5),“MODE”端口指定工作模式(0~11,各高速计数器至多有12种工作模式)。EN端口执行条件存在时,HDEF指令为指定的高速计数器选定一种工作模式。在一个程序中,每一个高速计数器只能使用一次HDEF指令。(2)高速计数器指令(HSC):根据高速计数器特殊存储器位的设置,按照HDEF指令的工作模式,控制高速计数器的工作。操作数N指定了高数计数器号(0~5)返回目录2指令功能返回目录43.高速计数器编号、运行模式及输入端子分配
每一高速计数器都有多种工作模式,所使用的输入端子也不相同,主要分为脉冲输入端子、方向控制输入端子、复位输入端子、启动输入端子等。如高速计数器的工作模式及输入端子分配
表所示。3.高速计数器编号、运行模式及输入端子分配5运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.50带内部方向控制的单相增/减计数器计数计数1计数复位计数复位3带外部方向控制的单相增/减计数器计数方向计数方向4计数方向复位计数方向复位6带增减计数输入的双向计数器增计数减计数增计数减计数7增计数减计数复位增计数减计数复位9A/B相正交计数器A相计数B相计数A相计数B相计数10A相计数B相计数复位A相计数B相计数复位从表中可以看出,高速计数器工作模式主要分为4类运行模式描述HSC0HSC4I0.0I0.1I0.2I0.36(1)带内部方向控制的单相增/减计数器有一个计数输入端,没有外部方向控制输入信号。计数方向由内部控制字节中的方向控制位来设置,只能进行单向增计数或减计数。如HSC0的模式0,其计数方向控制位为SM37.3,当该位为0时为减计数,该位为1时为增计数。(2)带外部方向控制的单相增/减计数器有一个计数输入端,由外部输入信号控制计数方向,只能进行单向增计数或减计数。如HSC4的模式3,IO.7为0时为减计数,IO.4为1时为增计数。运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.50带内部方向控制的单相增/减计数器计数计数1计数复位计数复位3带外部方向控制的单相增/减计数器计数方向计数方向4计数方向复位计数方向复位(1)带内部方向控制的单相增/减计数器运行模式描述HSC7(3)带增减计数输入的双向计数器有两个计数输入端,一个为增计数输入,一个为减计数输入。增计数输入端有一个脉冲达到时,计数器当前值增加1;减计数输入端有一个脉冲达到时,计数器当前值减少1。若增计数脉冲与减计数脉冲相隔时间大于0.3ms,高速计数器就能够正确计数,若相隔时间小于0.3ms,高速计数器认为两个脉冲同时发生,计数器当前值不变。运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.56带增减计数输入的双向计数器增计数减计数增计数减计数7增计数减计数复位增计数减计数复位(3)带增减计数输入的双向计数器运行模式描述HSC0H8(4)A/B相正交计数器有两个计数输入端A相和B相,A/B相正交计数器由两个输入脉冲的相位来确定计数方向。A相脉冲上升沿超前于B相脉冲上升沿时为增计数,反之为减计数。(5)复位端和启动端当复位输入有效时,将清除计数器当前值。当启动输入有效时,则表表示高速计数器计数,启动输入无效时,计数器忽略计数脉冲的输入,当前值保持不变。返回目录运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.59A/B相正交计数器A相计数B相计数A相计数B相计数10A相计数B相计数复位A相计数B相计数复位(4)A/B相正交计数器返回目录运行模式描述HSC0H94.高速计数器控制位、当前值、预置值及状态位定义要正确使用高速计数器,还要正确设置高速计数器的控制字节以及当前值与预置值。状态位则表明了高速计数器的运行状态,可以作为编程的参考点。(1)高速计数器控制字节各高速计数器控制字节如下表所示HSC0HSC1HSC2HSC3HSC4HSC5SM37SM47SM57SM137SM147SM1574.高速计数器控制位、当前值、预置值及状态位定义HSC0H10控制字节的功能如下表所示HSC0控制位功能SM37.0复位有效电平控制位;0(高电平有效),1(低电平有效)启动有效电平控制位;0(高电平有效),1(低电平有效)SM37.2正交计数器计数速率选择,0(4X),1(1X)SM37.3计数方向控制位;0(减计数),1(增计数)SM37.4向HSC中写入计数方向;0(不更新),1(更新计数方向)SM37.5向HSC中写入预置值,0(不更新),1(更新预置值)SM37.6向HSC中写入新的当前值,0(不更新),1(更新当前值)SM37.7HSC允许,0(禁止HSC),1(允许HSC)复位及启动输入可设置为高电平有效还是低电平有效A/B相正交计数器模式中可以设置计数器计数速率是按外部脉冲速率(1X),还是按4倍外部脉冲速率(4X)可设置在高速计数器运行过程中能否修改计数方向、当前值和预置值通过最高位还可控制高速计数器的运行和禁止控制字节的功能如下表所示HSC0控制位功能SM37.0复位有11(2)高速计数器的当前值、预置值设置每个计数器都有一个当前值和预置值。当前值和预置值都是32位带符号整数。必须将当前值和预置值存入下表所示的特殊存储器中,然后执行HSC指令,才能够将新值送入高速计数器当中。要装入的值HSC0HSC1HSC2HSC3HSC4HSC5初始当前值SMD38SMD48SMD58SMD138SMD148SMD158预值值SMD42SMD52SMD62SMD142SMD152SMD163(2)高速计数器的当前值、预置值设置要装入的值HSC0HS12(3)高速计数器的状态位每个高速计数器都有一个状态字节,如下表所示:HSC0HSC1HSC2HSC3HSC5HSC6SM36SM46SM56SM136SM146SM156状态位的功能如下表所示:(3)高速计数器的状态位HSC0HSC1HSC2HSC3H13HSC0状态位功能SM36.0~SM36.4不用SM36.5当前计数方向状态位,0(减计数);1(增计数)SM36.6当前值等于预置值状态位;0(不等);1(相等)SM36.7当前值大于预置值状态位;0(小于等于);1(大于)指出了当前计数方向当前值与预置值是否相等当前值是否大于预置值的状态可以通过监视高速计数器的状态位产生相应中断,完成重要操作。返回目录HSC0状态位功能SM36.0~SM36.4不用SM36.5145.高速计数器设置过程为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过程。(1)使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。(这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更加结构化)。(2)在初始化子程序中,对相应高速计数器的控制字节写入希望的控制字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示高速计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效(3)执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与具体运行模式进行连接。5.高速计数器设置过程15(4)在所选计数器号对应的当前值单元内装入所希望的当前值,若装入0,则清除原当前值。(5)在所选计数器号对应的预置值单元内装有所希望的预置值。(6)为捕获高速计数器对应的中断事件(当前值等于预置值、计数方向改变、外部复位),编写相应的中断程序,并参考中断事件及其优先级表5-10用ATCH中断连接指令建立中断事件和中断程序的联系。(7)执行全局中断允许指令(ENI)来允许高速计数器中断。(8)执行HSC指令,使高速计数器开始运行。(4)在所选计数器号对应的当前值单元内装入所希望的当前值,若16例:高速计数器的应用调用初始化子程序清除HSC1当前值设置HSC1的控制字节执行HSC指令例:高速计数器的应用调用初始化子程序清除HSC1当前值设置H17子程序设置HSC1的工作模式清除HSC1当前值设定HSC1的预置值建立中断事件13与INT_0的连接允许全局中断执行HSC指令设置HSC1的控制字节返回目录子程序设置HSC1的工作模式清除HSC1当前值设定HSC1的18二、高速脉冲输出高速脉冲输出功能可以使PLC在指定的输出点上产生高速的PWM(脉宽调制)脉冲或输出频率可变的PTO脉冲,来实现对步进电动机和直流伺服电动机的定位控制和调速。分八个方面来理解:
高速脉冲输出指令的格式高速脉冲的输出方式
输出端子的连接指令功能相关的特殊功能寄存器
PWM脉冲输出设置
PTO脉冲串输出设置
高速脉冲输出指令应用返回目录二、高速脉冲输出返回目录191.高速脉冲输出指令的格式PLSQSTL指令2.高速脉冲的输出方式高速脉冲输出可分为:高速脉冲串输出(PTO):提供方波输出,用户控制脉冲周期和脉冲数宽度可调脉冲输出(PWM):提供连续、占空比可调的脉冲输出,用户控制脉冲周期和脉冲宽度返回目录PLSQSTL指令2.高速脉冲的输出方式返回目录203.输出端子的连接每个CPU有两个PTO/PWM发生器产生高速脉冲串和脉冲宽度可调的波形,一个发生器分配给数字输出端Q0.0,另一个分配在Q0.1。4.指令功能PLS脉冲输出指令,在EN端口执行条件存在,检测脉冲输出特殊存储器的状态,然后激活所定义的脉冲,从Q端口指定的输出端口输出高速脉冲。操作数Q为0或15.相关的特殊功能寄存器为定义和监控高速脉冲输出,系统提供了控制字节、状态字节和参数设置寄存器。寄存器分配如下表所示
3.输出端子的连接21高速脉冲输出的特殊寄存器分配Q0.0对应寄存器Q0.1对应寄存器功能描述SMB66SMB76状态字节,PTO方式,监控脉冲串的运行状态SMB67SMB77控制字节,定义PTO/PWM脉冲的输出格式SMW68SMW78设置PTO/PWM脉冲的周期值,范围:2~65535SMW70SMW80设置PWM的脉冲宽度值,范围:0~65535SMD72SMD82设置PTO脉冲的输出脉冲数,范围:1~4294967295SMB166SMB176设置PTO多段操作时的段数SMW168SMW178设置PTO多段操作时包络表的起始地址,使用从变量寄存器V0开始的字节偏移表示高速脉冲输出的特殊寄存器分配Q0.0对应寄存器Q0.1对应寄22(1)状态字节每个高速脉冲输出都有一个状态字节,监控Q0.0或者Q0.1是否空闲,是否溢出,当采用多个脉冲串输出时,输出终止的原因,这些信息在程序运行时,都能使状态字节置位或者复位.具体状态字节功能如下表所示
Q0.0Q0.1状态位功能SM66.0~SM66.3SM76.0~SM76.3没用SM66.4SM76.4PTO包络由于增量计算错误终止,0(无错误),1(有错误)SM66.5SM76.5PTO包络由于用户命令终止,0(不终止),1(终止)SM66.6SM76.6PTO管线溢出,0(无溢出),1(溢出)SM66.7SM76.7PTO空闲,0(执行中),1(空闲)Q0.0Q0.1状态位功能SM66.0~SM66.3SM7623(2)控制字节(SMB67/SMB77)
通过对控制字节的设置,可以选择高速脉冲输出的时间基准、具体周期、输出模式(PTO/PWM)、更新方式等,是编程是初始操作中必须完成的内容。下表是各控制位具体功能。(2)控制字节(SMB67/SMB77)24
Q0.0Q0.1控制位功能SM67.0SM77.0PTO/PWM周期更新允许,0(不更新),1(允许更新)SM67.1SM77.1PWM脉冲宽度值更新允许,0(不更新),1(允许更新)SM67.2SM77.2PTO脉冲数更新允许,0(不更新),1(允许更新)SM67.3SM77.3PTO/PWM时间基准选择,0(1us/时基),1(1ms/时基)SM67.4SM77.4PWM更新方式,0(异步更新),1(同步更新)SM67.5SM77.5PTO单/多段选择,0(单段管线),1(多段管线)SM67.6SM77.6PTO/PWM模式选择,0(PTO模式),1(PWM模式)SM67.7SM77.7PTO/PWM脉冲输出允许,0(禁止脉冲输出),1(允许脉冲输出)
高速脉冲输出控制位功能返回目录Q0.0Q0.1控制位功能SM67.0SM77.0P256.PWM脉冲输出设置(1)PWM脉冲含义及周期、脉宽设置要求PWM脉冲是指占空比可调而周期固定的脉冲。其周期和脉宽的增量单位可以设为微秒(us)或毫秒(ms),周期变化范围分别为50us~65535us和2ms~65535ms.脉宽变化范围分别为0us~65535us和0ms~65535ms。当脉宽大于等于周期时,占空比为100%,输出连续接通,当脉宽为0时,占空比为0%,输出断开。
6.PWM脉冲输出设置26(2)PWM脉冲波形更新方式由于PWM占空比可调,且周期可设置,所以脉冲连续输出时的波形可以更新。有两种方法来改变波形的特性。
同步更新:PWM脉冲输出的典型操作是周期不变而变化脉冲宽度,这时由于不需要改变时间基准,可以使用同步更新。
异步更新:若在脉冲输出时要改变时间基准,就要使用异步更新方式。(2)PWM脉冲波形更新方式27(3)PWM脉冲输出设置以Q0.0为脉冲输出端介绍PWM脉冲输出的设置步骤。①使用初始化脉冲触点SM0.1调用PWM脉冲输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。②在初始化子程序中,将16#D3(2#11010011)写入SMB67控制字节中。设置内容为脉冲输出允许;选择PWM方式;使用同步更新;选择以微秒为增量单位;可以更新脉冲宽度和周期。③向SMW68中写入希望的周期值。④向SMW70中写入希望的脉冲宽度。⑤执行PLS指令开始输出脉冲。
返回目录(3)PWM脉冲输出设置返回目录287.PTO脉冲串输出设置(1)PTO脉冲串含义及周期、脉冲数设置要求。PTO脉冲串输出占空比为1:1的方波,可以设置其周期和输出的脉冲数量。周期的增量单位可以设为微秒(us)或毫秒(ms),周期变化范围分别为50us~65535us和2ms~65535ms.脉冲数设置范围为1~4294967295,若设置值为0,系统将默认为1。7.PTO脉冲串输出设置29(2)PTO脉冲串的单段管线和多段管线输出控制PTO功能允许脉冲串的排队输出,当前一个脉冲串完成时,可以立即开始新的脉冲串输出,从而形成管线,根据管线的实现形式,将PTO分为单段和多段管线两种。①单段管线。管线中只能存放一个脉冲串控制参数,一旦启动了一个脉冲串输出,就要立即为下一个脉冲串设置控制参数,并再次执行PLS指令。第一个脉冲串输出完毕后,第二个脉冲串自动开始输出。重复以上过程就可输出多个脉冲串。(2)PTO脉冲串的单段管线和多段管线输出控制30②多段管线在多段管线方式下,需要在变量存储区(V)建立一个包络表。包络表中包含各脉冲串的参数(初始周期.周期增量和脉冲数)以及要输出脉冲的段数。使用PLS指令启动输出后,系统自动从包络表中读取每个脉冲串的参数进行输出。编程时,必须向SMW168或SMW178装入包络表的起始变量的偏移地址(从V0开始计算偏移地址),例如包络表从VB300开始,则需要向SM168或SM178中写入十进制数300。包络表中的周期增量可以选择微秒或毫秒,但一个包络表中只能选择一个时间基准,运行过程中也不能改变。包络表的格式见表5-18。
②多段管线31
从包络表开始的字节偏移地址包络表各段描述VBn段数(1~255),设为0产生非致命性错误,不产生PTO输出VWn+1第1段初始周期(2~65535时间基准单位)VWn+3每个脉冲的周期增量(-32768~32767时间基准单位)VDn+5脉冲数(1~4294967295)VWn+9第2段初始周期(2~65535时间基准单位)VWn+11每个脉冲的周期增量(-32768~32767时间基准单位)VDn+13脉冲数(1~4294967295)……
包络表每段的长度是8个字节,由周期值(16bit)、周期增量值(16bit)和本段内输出脉冲的数量(32bit)组成。
包络表格式
32注意:一般来说,为了使各脉冲段之间能够平滑过渡,各段的结束周期(ECT)与下一段的初始周期(ICT)应相等,在各段输出脉冲数(Q)确定的情况下,脉冲的周期增量(N)需要经过计算来确定。例如:第1段中的初始周期为500µs,脉冲数为400个,而第2段的初始周期为100µs,为保证平滑过渡,第1段的结束周期设应与第2段初始周期相同,则脉冲的周期增量为N=(ECT-ICT)/Q=(100-500)/400=-1。
注意:33(3)PTO脉冲串输出设置以Q0.0为输出端介绍PTO脉冲串输出设置步骤。①使用初始化脉冲触点SM0.1调用PTO脉冲串输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少扫描时间,且程序更为结构化。②在子程序中,若设置单段操作,则将16#85(2#10000101)写入SMB67,表示脉冲输出允许.选择PTO功能.单段操作.以微秒为增量单位.可以更新脉冲数和周期值;若设置多段操作,则将16#A0(2#10100000)写入SMB67,表示脉冲输出允许.选择PTO功能.多段操作.以微秒为增量单位。③单段操作中向SMW68中写入希望的周期值,向SMD72中写入希望的脉冲数;多段操作中则要向SMW168中写入包络表的起始变量存储器偏移地址,然后建立包络表。④为捕获高速脉冲输出对应的中断事件(PTO脉冲输出完成中断)编写相应的中断程序,并参考中断事件及其优先级表5-10,用ATCH中断连接指令建立中断事件和中断程序的联系。⑤执行PLS指令。返回目录(3)PTO脉冲串输出设置返回目录347.高速脉冲输出指令应用举例如图所示表示出了步进电动机起动加速、恒速运行、减速、停止过程中脉冲频率-时间的关系。编写控制程序。要求:加速部分在200个脉冲内达到最大脉冲频率(10kHZ),减速部分在400个脉冲内完成。7.高速脉冲输出指令应用举例要求:加速部分在200个脉冲内达351.计算周期增量(1)加速部分(第1段):周期增量=(100µs-500µs)/200=-2µs(2)恒速部分(第2段):周期增量=(100µs-100µs)/3400=0µs(3)减速部分(第3段):周期增量=(500µs-100µs)/400=2µs
V存储器地址参数值VB5003(总段数)VW501500(1段初始周期)VW503-2(1段周期增量)VD505200(1段脉冲数)VW509100(2段初始周期)VW5110(2段周期增量)VD5133400(2段脉冲数)VW517100(3段初始周期)VW5191(3段周期增量)VD521400(3段脉冲数)做包络表1.计算周期增量V存储器地址参数值VB5003(总段数)VW36主程序调用初始化子程序当PTO输出完成时接通Q0.5主程序调用初始化子程序当PTO输出完成时接通Q0.537子程序设定PTO控制字节指定包络表的起始地址为V500设定包络表的总段数为3设定第1段的起始周期为500ms设定第1段的周期增量为-2ms设定第1段的脉冲个数为200设定第2、3的参数建立PTO输出完成中断事件19与中断程序的连接执行PLS指令允许中断返回目录子程序设定PTO控制字节指定包络表的起始地址为V500设定包38三、PID回路指令
(一).PID算法简介PID控制(比例—积分—微分控制)算法在过程控制领域中的闭环控制中得到了广泛应用。下图为带PID控制器的闭环控制系统图。PID控制器可调节回路输出,使系统达到稳定状态。偏差e是给定值SP和测量值SP的差值。PID控制器的输出与输入的关系如(5-1)所示:三、PID回路指令PID控制器可调节回路输出,使39(5-1)式中:M(t)—PID回路的输出,是时间函数,是比例项、积分项、微分项3项之和;Kc—PID回路的增益;Ki—积分项的系数e—PID回路的偏差;Kd—微分项的系数Minitial—PID回路的初始值。数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算输出值。式(5-1)的离散形式如(5-2):(5-1)式中:M(t)—PID回路的输出,是时间函数,是比40(5-2)式中:Mn—在第N采样时刻PID回路输出的计算值;Kc—PID回路的增益;en—在第N采样时刻的偏差值;en-1—在第N-1采样时刻的偏差值(偏差前值)KI——积分项的系数;Minitial—PID回路的初始值;KD——微分项的系数;式(5-2)中,积分项是包括从第一个采样周期到当前采样周期的所有误差的累积值。计算中,没有必要保留所有采样周期的误差项,只需保留积分项前值MX即可。CPU实际上是使用式(5-3)的改进形式的PID算式。(5-2)式中:Mn—在第N采样时刻PID回路输出的计算值41(5-3)式中:MX—积分前项值(在第N-1采样时刻的积分项);MPn—第N个采样时刻的比例项;MIn—第N个采样时刻的积分项;MDn——第N个采样时刻的微分项。1.比例项
比例项MPn是增益Kc(决定输出对偏差的灵敏度)和偏差值en的乘积。增益为正的回路为正作用回路,反之为反作用回路。选择正、反回路的目的是使系统处于负反馈控制。CPU采用式(5-4)来计算MPn。(5-4)式中:SPn—第N个采样时刻的给定值;PVn—第N个采样时刻的过程变量值。(5-3)式中:MX—积分前项值(在第N-1采样时刻的积分项422.积分项积分项MIn与偏差的和成正比,CPU采用式(5-5)来计算MIn。(5-5)式中:Ts—采样周期;TI——积分时间常数。积分项前值MX是第N个采样周期前所有积分项之和。在每次计算出MIn之后,都要用MIn去更新MX。在第一次计算时,MX的初值被设置为Minitial(初值)。采样周期TS是每次采样的时间间隔,而积分时间常数TI控制积分项在控制量计算中的作用程度。2.积分项(5-5)式中:Ts—采样周期;积分433.微分项微分项MDn与偏差的变化成正比(5-6)为了避免给定值变化的微分作用而引起的跳变,可设置给定值不变(SPn=SPn-1)。那么计算公式可简化为式(5-7)。(5-7)式中:Td—微分时间常数;SPn-1—第N-1采样时刻的给定值;PVn-1—第N-1采样时刻的过程变量值。3.微分项(5-6)为了避免给定值变化的微分作44所以,PID的输出为:1.比例项:2.积分项:3.微分项:所以,PID的输出为:1.比例项:2.积分项:3.微分项:45(二).PID回路指令1.指令格式及梯形图指令梯形图与指令格式如下表所示。2.指令功能在EN端口执行条件存在时,由回路表中的输入信息和组态信息,进行PID运算。该指令有2个操作数:TBL和LOOP。其中TBL是回路表的起始地址,操作数限用VB区域;LOOP是回路号,可以是0到7的整数。在程序中最多可以用8条PID指令,PID回路指令不可重复使用同一回路号(即使这些指令的回路表不同),否则会产生不可预料的结果。(二).PID回路指令2.指令功能在EN端口执行条件存在46回路表包含9个参数,用来控制和监视PID运算。这些参数分别是过程变量当前值PVn,过程变量前值PVn-1,给定值SPn,输出值Mn,增益Kc,采样时间Ts,积分时间TI,微分时间TD,和积分项前值MX。36个字节的回路表格式见表5-11。回路表包含9个参数,用来控制和监视PID运算。47对于PID回路的控制,有些控制系统只需要比例、积分、微分其中的一种或两种控制类型。通过设置相关参数即可选择所需的回路控制类型。如只需要比例、微分回路控制,可以把积分时间常数设为无穷大。此时积分项为初值MX。只需要比例、积分回路控制,可以把微分时间常数置为0.只需要积分或微分回路,则可以把回路增益Kc设为0.0,在计算积分项和微分项时,系统把回路增益Kc当作1.0。对于PID回路的控制,有些控制系统只需要比例、积分483.PID回路指令控制方式S7-200系列PLC中,PID回路指令没有控制方式的设置,只要EN端有效就可以执行PID指令。PID指令执行称之为“自动”方式,PID指令不运行称之为“手动”的方式。当EN端检测到一个正跳变(从0到1)信号,PID回路就从手动方式无拢动切换到自动方式。3.PID回路指令控制方式494.回路输入输出变量的数值转换以及范围(1)回路输入变量的转换和标准化。每个PID回路有2个输入变量,给定值SP和过程变量PV。给定值通常是一个固定的值,如温度控制中的温度给定值。过程变量PV则与PID回路输出有关,并反映了控制的效果。在温度控制系统中,测量并转换为标准信号的温度值就是过程变量。给定值和过程变量一般都是实际工程物理量,其数字大小。范围和测量单位都可以不一样。执行PID指令前必须把它们转换成浮点型实数值。4.回路输入输出变量的数值转换以及范围50①回路输入变量的数据转换,把A/D模拟量单元输出的整数值转换成浮点型实数值。程序如下。ITDAIW0,AC0把待变换的模拟量转换为双整数并存入AC0DTRAC0,AC0把32位双整数转换为实数②实数的标准化。把实数值进一步标准化为0.0~1.0之间的实数。标准化的公式为(5-8)式中:Rnoum—标准化的实数值;Rraw—未标准化的实数值;Offset——补偿值或偏值,单极性为0.0,双极性为0.5;Span—值域大小,为最大允许值减去最小允许值,单极性为32000(典型值),双极性为64000(典型值)。
①回路输入变量的数据转换,把A/D模拟量单元输出的整数值转换51双极性实数标准化程序如下。/R64000.00,AC0累加器中的实数值除以64000.00+R0.5,AC0加上偏值,使其在0.0~1.0之间MOVRAC0,VD100标准化的实数值存入回路表(2)回路输出变量的数据转换回路输出变量是用来控制外部设备的,例如控制水泵的速度。PID运算的输出值是0.0~1.0之间的标准化了的实数值,在输出变量传送给D/A模拟量单元之前,必须把回路输出变量转换成相应的整数。这一过程是实数标准化的逆过程。双极性实数标准化程序如下。52①回路输出变量的的刻度化。把回路输出的标准化实数转换成实数,公式如下。Rscal=(Mn-Offset)Span(5-9)式中:Rscal—回路输出的刻度实数值;Mn—回路输出的标准化实数值;Offset、Span的定义同式(7-8)。回路输出变量的刻度化程序如下。MOVRVD108,AC0将回路输出值放入累加器-R0.5,AC0对双极性输出,要减0.5的偏值(单极性无此句)*R64000.0,AC0回路输出变量的刻度值①回路输出变量的的刻度化。把回路输出的标准化实数转换成实数,53②将实数转化成整数(INT)。把回路输出变量的刻度值转换成整数(INT)的程序为:ROUNDAC0,AC0实数转换为32位整数DTIAC0,AC0把双字整数转换为整数MOVWAC0,AQW0将输出值输出到模拟量输出寄存器②将实数转化成整数(INT)。把回路输出变量的刻度值转换成整543.指令应用举例1)控制要求某水箱其出水口流量是变化的,进水口流量可通过调节水泵转速控制,水位检测由差压变送器完成。现对水箱进行水位控制,使其水位保持在满水位的75%。以PLC为主控制器,采用EM235模拟量模块实现模拟量和数字量的转换,差压变送器送出的水位测量值通过模拟量输入通道送入PLC中,PID回路输出值通过模拟量转化控制变频器实现对水泵转速的调节。2)控制程序的实现在以上要求中,水位测量值为过程变量PV,满水位的75%为给定值SP。本例中过程变量PV和回路输出量标准化采用单极性方案。控制方式采用比例、积分控制,PID参数采用如下设置:Kc=0.25,Ts=0.1s,T1=30min。程序如图5-80所示。3.指令应用举例55S7-200-PLC的功能指令解读课件56S7-200-PLC的功能指令解读课件57S7-200-PLC的功能指令解读课件58交通灯控制控制要求:1.绿灯亮10s2.绿灯闪烁3s3.黄灯亮5s4.红灯亮10s重复1、2、3、4这个过程交通灯控制59ζ4-3S7-200PLC的功能指令一、传送指令二、数学运算指令三、逻辑运算指令四、移位和循环移位指令五、数据转换指令六、表功能指令七、程序控制指令八、中断指令九、高速计数器指令十、高速脉冲输出指令十一、PID回路指令ζ4-3S7-200PLC的功能指令一60一、高速计数器指令
在控制中,电动机的调速是常见的控制方式。为实现对电动机的精确控制,经常使用编码器将电动机的转速转为高频脉冲信号,反馈至PLC,通过PLC对高频脉冲的计数和编程来实现对电动机的控制。PLC中普通计数器受到扫描周期的影响,对高速脉冲的计数将发生脉冲丢失现象,导致计数不准确,也就不能实现精确控制。高速计数器(HSC)(HighSpeedCounter)脱离主机的扫描周期而独立计数,可以对脉宽小于扫描周期的高速脉冲准确计数,高速脉冲频率最高可达30KHZ。能够实现对电动机的精确控制。分五个方面来理解:
高速计数器指令格式
高速计数器指令功能
高速计数器编号、运行模式及输入端子分配
高速计数器控制位、当前值、预置值及状态位定义
高速计数器设置过程
返回目录一、高速计数器指令返回目录611.高速计数器指令高速计数器指令包含定义高速计数器指令(HDEF)、高速计数器指令(HSC)。HDEF、HSC指令的梯形图及指令表格式如下所示。HDEFHSC,MODESTL指令HSCNSTL指令S7-200系列PLC中有6个高速计数器,由HSCn来表示高速计数器的地址,n的取值范围为0~5。HSCn还表示高速计数器的当前值(是一个只读的32位双字),可使用数据传输指令随时读出计数当前值。不同的CPU模块中可使用的高速计数器是不同的,CPU221、CPU222可以使HSC0、HSC3、HSC4和HSC5;CPU224和CPU226可以使用HSC0~HSC5。返回目录1.高速计数器指令HDEFHSC,MODESTL指令HS622指令功能(1)定义高速计数器指令(HDEF):“HSC”端口指定高速计数器编号(0~5),“MODE”端口指定工作模式(0~11,各高速计数器至多有12种工作模式)。EN端口执行条件存在时,HDEF指令为指定的高速计数器选定一种工作模式。在一个程序中,每一个高速计数器只能使用一次HDEF指令。(2)高速计数器指令(HSC):根据高速计数器特殊存储器位的设置,按照HDEF指令的工作模式,控制高速计数器的工作。操作数N指定了高数计数器号(0~5)返回目录2指令功能返回目录633.高速计数器编号、运行模式及输入端子分配
每一高速计数器都有多种工作模式,所使用的输入端子也不相同,主要分为脉冲输入端子、方向控制输入端子、复位输入端子、启动输入端子等。如高速计数器的工作模式及输入端子分配
表所示。3.高速计数器编号、运行模式及输入端子分配64运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.50带内部方向控制的单相增/减计数器计数计数1计数复位计数复位3带外部方向控制的单相增/减计数器计数方向计数方向4计数方向复位计数方向复位6带增减计数输入的双向计数器增计数减计数增计数减计数7增计数减计数复位增计数减计数复位9A/B相正交计数器A相计数B相计数A相计数B相计数10A相计数B相计数复位A相计数B相计数复位从表中可以看出,高速计数器工作模式主要分为4类运行模式描述HSC0HSC4I0.0I0.1I0.2I0.365(1)带内部方向控制的单相增/减计数器有一个计数输入端,没有外部方向控制输入信号。计数方向由内部控制字节中的方向控制位来设置,只能进行单向增计数或减计数。如HSC0的模式0,其计数方向控制位为SM37.3,当该位为0时为减计数,该位为1时为增计数。(2)带外部方向控制的单相增/减计数器有一个计数输入端,由外部输入信号控制计数方向,只能进行单向增计数或减计数。如HSC4的模式3,IO.7为0时为减计数,IO.4为1时为增计数。运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.50带内部方向控制的单相增/减计数器计数计数1计数复位计数复位3带外部方向控制的单相增/减计数器计数方向计数方向4计数方向复位计数方向复位(1)带内部方向控制的单相增/减计数器运行模式描述HSC66(3)带增减计数输入的双向计数器有两个计数输入端,一个为增计数输入,一个为减计数输入。增计数输入端有一个脉冲达到时,计数器当前值增加1;减计数输入端有一个脉冲达到时,计数器当前值减少1。若增计数脉冲与减计数脉冲相隔时间大于0.3ms,高速计数器就能够正确计数,若相隔时间小于0.3ms,高速计数器认为两个脉冲同时发生,计数器当前值不变。运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.56带增减计数输入的双向计数器增计数减计数增计数减计数7增计数减计数复位增计数减计数复位(3)带增减计数输入的双向计数器运行模式描述HSC0H67(4)A/B相正交计数器有两个计数输入端A相和B相,A/B相正交计数器由两个输入脉冲的相位来确定计数方向。A相脉冲上升沿超前于B相脉冲上升沿时为增计数,反之为减计数。(5)复位端和启动端当复位输入有效时,将清除计数器当前值。当启动输入有效时,则表表示高速计数器计数,启动输入无效时,计数器忽略计数脉冲的输入,当前值保持不变。返回目录运行模式描述HSC0HSC4I0.0I0.1I0.2I0.3I0.4I0.59A/B相正交计数器A相计数B相计数A相计数B相计数10A相计数B相计数复位A相计数B相计数复位(4)A/B相正交计数器返回目录运行模式描述HSC0H684.高速计数器控制位、当前值、预置值及状态位定义要正确使用高速计数器,还要正确设置高速计数器的控制字节以及当前值与预置值。状态位则表明了高速计数器的运行状态,可以作为编程的参考点。(1)高速计数器控制字节各高速计数器控制字节如下表所示HSC0HSC1HSC2HSC3HSC4HSC5SM37SM47SM57SM137SM147SM1574.高速计数器控制位、当前值、预置值及状态位定义HSC0H69控制字节的功能如下表所示HSC0控制位功能SM37.0复位有效电平控制位;0(高电平有效),1(低电平有效)启动有效电平控制位;0(高电平有效),1(低电平有效)SM37.2正交计数器计数速率选择,0(4X),1(1X)SM37.3计数方向控制位;0(减计数),1(增计数)SM37.4向HSC中写入计数方向;0(不更新),1(更新计数方向)SM37.5向HSC中写入预置值,0(不更新),1(更新预置值)SM37.6向HSC中写入新的当前值,0(不更新),1(更新当前值)SM37.7HSC允许,0(禁止HSC),1(允许HSC)复位及启动输入可设置为高电平有效还是低电平有效A/B相正交计数器模式中可以设置计数器计数速率是按外部脉冲速率(1X),还是按4倍外部脉冲速率(4X)可设置在高速计数器运行过程中能否修改计数方向、当前值和预置值通过最高位还可控制高速计数器的运行和禁止控制字节的功能如下表所示HSC0控制位功能SM37.0复位有70(2)高速计数器的当前值、预置值设置每个计数器都有一个当前值和预置值。当前值和预置值都是32位带符号整数。必须将当前值和预置值存入下表所示的特殊存储器中,然后执行HSC指令,才能够将新值送入高速计数器当中。要装入的值HSC0HSC1HSC2HSC3HSC4HSC5初始当前值SMD38SMD48SMD58SMD138SMD148SMD158预值值SMD42SMD52SMD62SMD142SMD152SMD163(2)高速计数器的当前值、预置值设置要装入的值HSC0HS71(3)高速计数器的状态位每个高速计数器都有一个状态字节,如下表所示:HSC0HSC1HSC2HSC3HSC5HSC6SM36SM46SM56SM136SM146SM156状态位的功能如下表所示:(3)高速计数器的状态位HSC0HSC1HSC2HSC3H72HSC0状态位功能SM36.0~SM36.4不用SM36.5当前计数方向状态位,0(减计数);1(增计数)SM36.6当前值等于预置值状态位;0(不等);1(相等)SM36.7当前值大于预置值状态位;0(小于等于);1(大于)指出了当前计数方向当前值与预置值是否相等当前值是否大于预置值的状态可以通过监视高速计数器的状态位产生相应中断,完成重要操作。返回目录HSC0状态位功能SM36.0~SM36.4不用SM36.5735.高速计数器设置过程为更好地理解和使用高速计数器,下面给出高速计数器的一般设置过程。(1)使用初始化脉冲触点SM0.1调用高速计数器初始化操作子程序。(这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更加结构化)。(2)在初始化子程序中,对相应高速计数器的控制字节写入希望的控制字。如要使用HSC1,则对SMB47写入16#F8(2#11111000),表示高速计数器运行,允许写入新的当前值,允许写入新的预置值,可以改变计数器方向,置计数器的计数方向为增,置启动和复位输入为高电平有效(3)执行HDEF指令,根据所选计数器号和运行模式将高速计数器号与具体运行模式进行连接。5.高速计数器设置过程74(4)在所选计数器号对应的当前值单元内装入所希望的当前值,若装入0,则清除原当前值。(5)在所选计数器号对应的预置值单元内装有所希望的预置值。(6)为捕获高速计数器对应的中断事件(当前值等于预置值、计数方向改变、外部复位),编写相应的中断程序,并参考中断事件及其优先级表5-10用ATCH中断连接指令建立中断事件和中断程序的联系。(7)执行全局中断允许指令(ENI)来允许高速计数器中断。(8)执行HSC指令,使高速计数器开始运行。(4)在所选计数器号对应的当前值单元内装入所希望的当前值,若75例:高速计数器的应用调用初始化子程序清除HSC1当前值设置HSC1的控制字节执行HSC指令例:高速计数器的应用调用初始化子程序清除HSC1当前值设置H76子程序设置HSC1的工作模式清除HSC1当前值设定HSC1的预置值建立中断事件13与INT_0的连接允许全局中断执行HSC指令设置HSC1的控制字节返回目录子程序设置HSC1的工作模式清除HSC1当前值设定HSC1的77二、高速脉冲输出高速脉冲输出功能可以使PLC在指定的输出点上产生高速的PWM(脉宽调制)脉冲或输出频率可变的PTO脉冲,来实现对步进电动机和直流伺服电动机的定位控制和调速。分八个方面来理解:
高速脉冲输出指令的格式高速脉冲的输出方式
输出端子的连接指令功能相关的特殊功能寄存器
PWM脉冲输出设置
PTO脉冲串输出设置
高速脉冲输出指令应用返回目录二、高速脉冲输出返回目录781.高速脉冲输出指令的格式PLSQSTL指令2.高速脉冲的输出方式高速脉冲输出可分为:高速脉冲串输出(PTO):提供方波输出,用户控制脉冲周期和脉冲数宽度可调脉冲输出(PWM):提供连续、占空比可调的脉冲输出,用户控制脉冲周期和脉冲宽度返回目录PLSQSTL指令2.高速脉冲的输出方式返回目录793.输出端子的连接每个CPU有两个PTO/PWM发生器产生高速脉冲串和脉冲宽度可调的波形,一个发生器分配给数字输出端Q0.0,另一个分配在Q0.1。4.指令功能PLS脉冲输出指令,在EN端口执行条件存在,检测脉冲输出特殊存储器的状态,然后激活所定义的脉冲,从Q端口指定的输出端口输出高速脉冲。操作数Q为0或15.相关的特殊功能寄存器为定义和监控高速脉冲输出,系统提供了控制字节、状态字节和参数设置寄存器。寄存器分配如下表所示
3.输出端子的连接80高速脉冲输出的特殊寄存器分配Q0.0对应寄存器Q0.1对应寄存器功能描述SMB66SMB76状态字节,PTO方式,监控脉冲串的运行状态SMB67SMB77控制字节,定义PTO/PWM脉冲的输出格式SMW68SMW78设置PTO/PWM脉冲的周期值,范围:2~65535SMW70SMW80设置PWM的脉冲宽度值,范围:0~65535SMD72SMD82设置PTO脉冲的输出脉冲数,范围:1~4294967295SMB166SMB176设置PTO多段操作时的段数SMW168SMW178设置PTO多段操作时包络表的起始地址,使用从变量寄存器V0开始的字节偏移表示高速脉冲输出的特殊寄存器分配Q0.0对应寄存器Q0.1对应寄81(1)状态字节每个高速脉冲输出都有一个状态字节,监控Q0.0或者Q0.1是否空闲,是否溢出,当采用多个脉冲串输出时,输出终止的原因,这些信息在程序运行时,都能使状态字节置位或者复位.具体状态字节功能如下表所示
Q0.0Q0.1状态位功能SM66.0~SM66.3SM76.0~SM76.3没用SM66.4SM76.4PTO包络由于增量计算错误终止,0(无错误),1(有错误)SM66.5SM76.5PTO包络由于用户命令终止,0(不终止),1(终止)SM66.6SM76.6PTO管线溢出,0(无溢出),1(溢出)SM66.7SM76.7PTO空闲,0(执行中),1(空闲)Q0.0Q0.1状态位功能SM66.0~SM66.3SM7682(2)控制字节(SMB67/SMB77)
通过对控制字节的设置,可以选择高速脉冲输出的时间基准、具体周期、输出模式(PTO/PWM)、更新方式等,是编程是初始操作中必须完成的内容。下表是各控制位具体功能。(2)控制字节(SMB67/SMB77)83
Q0.0Q0.1控制位功能SM67.0SM77.0PTO/PWM周期更新允许,0(不更新),1(允许更新)SM67.1SM77.1PWM脉冲宽度值更新允许,0(不更新),1(允许更新)SM67.2SM77.2PTO脉冲数更新允许,0(不更新),1(允许更新)SM67.3SM77.3PTO/PWM时间基准选择,0(1us/时基),1(1ms/时基)SM67.4SM77.4PWM更新方式,0(异步更新),1(同步更新)SM67.5SM77.5PTO单/多段选择,0(单段管线),1(多段管线)SM67.6SM77.6PTO/PWM模式选择,0(PTO模式),1(PWM模式)SM67.7SM77.7PTO/PWM脉冲输出允许,0(禁止脉冲输出),1(允许脉冲输出)
高速脉冲输出控制位功能返回目录Q0.0Q0.1控制位功能SM67.0SM77.0P846.PWM脉冲输出设置(1)PWM脉冲含义及周期、脉宽设置要求PWM脉冲是指占空比可调而周期固定的脉冲。其周期和脉宽的增量单位可以设为微秒(us)或毫秒(ms),周期变化范围分别为50us~65535us和2ms~65535ms.脉宽变化范围分别为0us~65535us和0ms~65535ms。当脉宽大于等于周期时,占空比为100%,输出连续接通,当脉宽为0时,占空比为0%,输出断开。
6.PWM脉冲输出设置85(2)PWM脉冲波形更新方式由于PWM占空比可调,且周期可设置,所以脉冲连续输出时的波形可以更新。有两种方法来改变波形的特性。
同步更新:PWM脉冲输出的典型操作是周期不变而变化脉冲宽度,这时由于不需要改变时间基准,可以使用同步更新。
异步更新:若在脉冲输出时要改变时间基准,就要使用异步更新方式。(2)PWM脉冲波形更新方式86(3)PWM脉冲输出设置以Q0.0为脉冲输出端介绍PWM脉冲输出的设置步骤。①使用初始化脉冲触点SM0.1调用PWM脉冲输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少了扫描时间,且程序更为结构化。②在初始化子程序中,将16#D3(2#11010011)写入SMB67控制字节中。设置内容为脉冲输出允许;选择PWM方式;使用同步更新;选择以微秒为增量单位;可以更新脉冲宽度和周期。③向SMW68中写入希望的周期值。④向SMW70中写入希望的脉冲宽度。⑤执行PLS指令开始输出脉冲。
返回目录(3)PWM脉冲输出设置返回目录877.PTO脉冲串输出设置(1)PTO脉冲串含义及周期、脉冲数设置要求。PTO脉冲串输出占空比为1:1的方波,可以设置其周期和输出的脉冲数量。周期的增量单位可以设为微秒(us)或毫秒(ms),周期变化范围分别为50us~65535us和2ms~65535ms.脉冲数设置范围为1~4294967295,若设置值为0,系统将默认为1。7.PTO脉冲串输出设置88(2)PTO脉冲串的单段管线和多段管线输出控制PTO功能允许脉冲串的排队输出,当前一个脉冲串完成时,可以立即开始新的脉冲串输出,从而形成管线,根据管线的实现形式,将PTO分为单段和多段管线两种。①单段管线。管线中只能存放一个脉冲串控制参数,一旦启动了一个脉冲串输出,就要立即为下一个脉冲串设置控制参数,并再次执行PLS指令。第一个脉冲串输出完毕后,第二个脉冲串自动开始输出。重复以上过程就可输出多个脉冲串。(2)PTO脉冲串的单段管线和多段管线输出控制89②多段管线在多段管线方式下,需要在变量存储区(V)建立一个包络表。包络表中包含各脉冲串的参数(初始周期.周期增量和脉冲数)以及要输出脉冲的段数。使用PLS指令启动输出后,系统自动从包络表中读取每个脉冲串的参数进行输出。编程时,必须向SMW168或SMW178装入包络表的起始变量的偏移地址(从V0开始计算偏移地址),例如包络表从VB300开始,则需要向SM168或SM178中写入十进制数300。包络表中的周期增量可以选择微秒或毫秒,但一个包络表中只能选择一个时间基准,运行过程中也不能改变。包络表的格式见表5-18。
②多段管线90
从包络表开始的字节偏移地址包络表各段描述VBn段数(1~255),设为0产生非致命性错误,不产生PTO输出VWn+1第1段初始周期(2~65535时间基准单位)VWn+3每个脉冲的周期增量(-32768~32767时间基准单位)VDn+5脉冲数(1~4294967295)VWn+9第2段初始周期(2~65535时间基准单位)VWn+11每个脉冲的周期增量(-32768~32767时间基准单位)VDn+13脉冲数(1~4294967295)……
包络表每段的长度是8个字节,由周期值(16bit)、周期增量值(16bit)和本段内输出脉冲的数量(32bit)组成。
包络表格式
91注意:一般来说,为了使各脉冲段之间能够平滑过渡,各段的结束周期(ECT)与下一段的初始周期(ICT)应相等,在各段输出脉冲数(Q)确定的情况下,脉冲的周期增量(N)需要经过计算来确定。例如:第1段中的初始周期为500µs,脉冲数为400个,而第2段的初始周期为100µs,为保证平滑过渡,第1段的结束周期设应与第2段初始周期相同,则脉冲的周期增量为N=(ECT-ICT)/Q=(100-500)/400=-1。
注意:92(3)PTO脉冲串输出设置以Q0.0为输出端介绍PTO脉冲串输出设置步骤。①使用初始化脉冲触点SM0.1调用PTO脉冲串输出初始化操作子程序。这个结构可以使系统在后续的扫描过程中不再调用这个子程序,从而减少扫描时间,且程序更为结构化。②在子程序中,若设置单段操作,则将16#85(2#10000101)写入SMB67,表示脉冲输出允许.选择PTO功能.单段操作.以微秒为增量单位.可以更新脉冲数和周期值;若设置多段操作,则将16#A0(2#10100000)写入SMB67,表示脉冲输出允许.选择PTO功能.多段操作.以微秒为增量单位。③单段操作中向SMW68中写入希望的周期值,向SMD72中写入希望的脉冲数;多段操作中则要向SMW168中写入包络表的起始变量存储器偏移地址,然后建立包络表。④为捕获高速脉冲输出对应的中断事件(PTO脉冲输出完成中断)编写相应的中断程序,并参考中断事件及其优先级表5-10,用ATCH中断连接指令建立中断事件和中断程序的联系。⑤执行PLS指令。返回目录(3)PTO脉冲串输出设置返回目录937.高速脉冲输出指令应用举例如图所示表示出了步进电动机起动加速、恒速运行、减速、停止过程中脉冲频率-时间的关系。编写控制程序。要求:加速部分在200个脉冲内达到最大脉冲频率(10kHZ),减速部分在400个脉冲内完成。7.高速脉冲输出指令应用举例要求:加速部分在200个脉冲内达941.计算周期增量(1)加速部分(第1段):周期增量=(100µs-500µs)/200=-2µs(2)恒速部分(第2段):周期增量=(100µs-100µs)/3400=0µs(3)减速部分(第3段):周期增量=(500µs-100µs)/400=2µs
V存储器地址参数值VB5003(总段数)VW501500(1段初始周期)VW503-2(1段周期增量)VD505200(1段脉冲数)VW509100(2段初始周期)VW5110(2段周期增量)VD5133400(2段脉冲数)VW517100(3段初始周期)VW5191(3段周期增量)VD521400(3段脉冲数)做包络表1.计算周期增量V存储器地址参数值VB5003(总段数)VW95主程序调用初始化子程序当PTO输出完成时接通Q0.5主程序调用初始化子程序当PTO输出完成时接通Q0.596子程序设定PTO控制字节指定包络表的起始地址为V500设定包络表的总段数为3设定第1段的起始周期为500ms设定第1段的周期增量为-2ms设定第1段的脉冲个数为200设定第2、3的参数建立PTO输出完成中断事件19与中断程序的连接执行PLS指令允许中断返回目录子程序设定PTO控制字节指定包络表的起始地址为V500设定包97三、PID回路指令
(一).PID算法简介PID控制(比例—积分—微分控制)算法在过程控制领域中的闭环控制中得到了广泛应用。下图为带PID控制器的闭环控制系统图。PID控制器可调节回路输出,使系统达到稳定状态。偏差e是给定值SP和测量值SP的差值。PID控制器的输出与输入的关系如(5-1)所示:三、PID回路指令PID控制器可调节回路输出,使98(5-1)式中:M(t)—PID回路的输出,是时间函数,是比例项、积分项、微分项3项之和;Kc—PID回路的增益;Ki—积分项的系数e—PID回路的偏差;Kd—微分项的系数Minitial—PID回路的初始值。数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算输出值。式(5-1)的离散形式如(5-2):(5-1)式中:M(t)—PID回路的输出,是时间函数,是比99(5-2)式中:Mn—在第N采样时刻PID回路输出的计算值;Kc—PID回路的增益;en—在第N采样时刻的偏差值;en-1—在第N-1采样时刻的偏差值(偏差前值)KI——积分项的系数;Minitial—PID回路的初始值;KD——微分项的系数;式(5-2)中,积分项是包括从第一个采样周期到当前采样周期的所有误差的累积值。计算中,没有必要保留所有采样周期的误差项,只需保留积分项前值MX即可。CPU实际上是使用式(5-3)的改进形式的PID算式。(5-2)式中:Mn—在第N采样时刻PID回路输出的计算值100(5-3)式中:MX—积分前项值(在第N-1采样时刻的积分项);MPn—第N个采样时刻的比例项;MIn—第N个采样时刻的积分项;MDn——第N个采样时刻的微分项。1.比例项
比例项MPn是增益Kc(决定输出对偏差的灵敏度)和偏差值en的乘积。增益为正的回路为正作用回路,反之为反作用回路。选择正、反回路的目的是使系统处于负反馈控制。CPU采用式(5-4)来计算MPn。(5-4)式中:SPn—第N个采样时刻的给定值;PVn—第N个采样时刻的过程变量值。(5-3)式中:MX—积分前项值(在第N-1采样时刻的积分项1012.积分项积分项MIn与偏差的和成正比,CPU采用式(5-5)来计算MIn。(5-5)式中:Ts—采样周期;TI——积分时间常数。积分项前值MX是第N个采样周期前所有积分项之和。在每次计算出MIn之后,都要用MIn去更新MX。在第一次计算时,MX的初值被设置为Minitial(初值)。采样周期TS是每次采样的时间间隔,而积分时间常数TI控制积分项在控制量计算中的作用程度。2.积分项(5-5)式中:Ts—采样周期;积分1023.微分项微分项MDn与偏差的变化成正比(5-6)为了避免给定值变化的微分作用而引起的跳变,可设置给定值不变(SPn=SPn-1)。那么计算公式可简化为式(5-7)。(5-7)式中:Td—微分时间常数;SPn-1—第N-1采样时刻的给定值;PVn-1—第N-1采样时刻的过程变量值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级上美术教学设计-幸福乐园-湘美版
- 2024年五年级数学上册 五 多边形面积的计算 2三角形的面积教学设计 西师大版
- 20陀螺教学设计-2024-2025学年四年级上册语文统编版
- Module 10 教学设计 2023-2024学年外研版七年级英语下册
- 关系营销企业内部关系
- 竞凭幼儿园园长述职报告
- 2024-2025学年高中生物 第1章 第4节 基因工程的发展前景教学设计 浙科版选修3
- 2024六年级语文下册 第二单元 习作:写作品梗概教学设计 新人教版
- 七年级英语下册 Module 3 Making plans Unit 1 What are you going to do at the weekends第1课时教学设计(新版)外研版
- 2024-2025学年高中化学 第一章 第二节 原子结构与元素的性质 第2课时 元素周期律(一)教学设计 新人教版选修3
- 朱玉贤《现代分子生物学》(第5版)配套题库【考研真题+章节题库】
- 9《屈原列传》课件 2023-2024学年统编版高中语文选择性必修中册
- 南方城市文遗运营计划书【旅游】【文旅IP】【非遗文化】
- 京津冀地区农业减污降碳增效协同:时空演变及影响因素研究
- 《遗传病的治疗》课件
- 《MATLAB编程及应用》全套教学课件
- 《销售技巧培训》课件
- 过敏性疾病(过敏性鼻炎)
- 2023年肉牛标准化规模养殖生产技术规范
- 2024年有关业主大会议事规则(示范文本)
- 《中国心力衰竭诊断和治疗指南2024》解读
评论
0/150
提交评论