浔之漫智控技术(上海)有限公司
西门子模块代理商
6ES71936AP000AA0

6ES7193-6AP00-0AA0

Product

相似图像

SIMATIC ET 200SP, 总线适配器 BA 2个SCRJ, 2 个 SCRJ FO 接口,

产品商品编号(市售编号)6ES7193-6AP00-0AA0产品说明SIMATIC ET 200SP, 总线适配器 BA 2个SCRJ, 2 个 SCRJ FO 接口,产品家族BusAdapter产品生命周期 (PLM)PM300:有效产品价格数据价格组 / 总部价格组IR / 255列表价(不含税)显示价格您的单价(不含税)显示价格金属系数无交付信息出口管制规定AL : N / ECCN : EAR99H工厂生产时间25 天净重 (Kg)0.077 Kg包装尺寸6.70 x 8.80 x 3.20包装尺寸单位的测量CM数量单位1 件包装数量1其他产品信息EAN4047623403524UPC未提供商品代码85369010LKZ_FDB/ CatalogIDST76产品组X0FQ组代码R151原产地德国Compliance with the substance restrictions according to RoHS directiveRoHS 合规开始日期: 2014.03.31产品类别A: 问题无关,即刻重复使用电气和电子设备使用后的收回义务类别-REACH Art. 33 责任信息Lead CAS 号 7439-92-1 > 0, 1 % (w / w)Lead monoxide (lead ... CAS-No. 1317-36-8 > 0, 1 % (w / w)分类
版本分类eClass1227-24-26-92eClass627-24-26-92eClass7.127-24-26-92eClass827-24-26-92eClass927-24-26-92eClass9.127-24-26-92ETIM7EC002584ETIM8EC002584IDEA43552UNSPSC1532-15-17-03西门子S7-1200 PLC的PID功能组态详解

在我们实际工作经常会用到PID控制系统,比如控制恒压供水设备,恒温加热设备等。这些设备使用PLC进行控制时,不仅仅需要编程,还需要设置相关参数(或者说组态)。只有正确设置了相关参数之后,程序编写的才有意义。那么今天我们以西门子1200PLC为例,给大家讲讲如何组态PID功能。在组态之前,要先判断如何选择PID指令,因为根据不同的应用场景选择的PID指令不同,指令选择的不同的话,组态也有一些区别。

①PID指令选择:

S7-1200 PID 功能有三条指令可供选择, 分别为 PID_Compact, PID_3Step, PID_Temp,如图1所示:

 

图1:PID指令图

第一步:先判断是否使用三位执行机构,如果使用则选择PID_3Step指令。这里解释一下三位执行机构的特点:

(1)只接受开启/关闭两个数字量输出控制;

(2)具有开到位/关到位的限位开关输入信号,或具有模拟量反馈位置信号。

比如现场的一些电动阀门,PLC控制电动阀门的正转或者反转从而控制流量、压力等。PID_3Step指令(如图2)控制两个开关量的输出,比如一个为1,一个为0,电动机可能是正转。一个0,另外为1,电动机可能是反转。

 

图2:PID_3Step指令

第二步: 如果未使用三位执行机构,判断是不是多回路、串级控制,如果是,则跳转到第3步判断;如果不是,则跳转到第4步。

第三步:判断是不是需要加热/制冷双输出(比如在空调系统中)。如果需要,则调用PID_Temp指令,如图3所示。

 

图3:PID_Temp指令

第四步:判断是不是需要温度控制常用的附加功能(如控制带、死区等),如果不需要,则调用PID_Compact,如图4所示。

 

图4 PID_Compact指令

这边解释一下“控制带”及“死区”这两个概念。

控制带:

在温度控制具有明显的大滞后特性,当过程值偏离设定值较大时调节过程过于缓慢,而接近设定值时又容易出现较大超调。

存在上述两种问题,温度控制必须满足在偏差超过一定的范围时,输出Zui大或者Zui小的调节量,让温度值快速回到一个小的范围中,以缩短调节时间:在设定值附近时,越靠近设定值,调节量应越小,以防止超调。为此,控制带功能在当过程值大于设定值,且偏差juedui值超过控制带,则以输出下限作为输出值。当过程值小于设定值,且偏差juedui值超过控制带,则以输出上限作为输出值。如果偏差的juedui值小于控制带,则以实际PID的计算结果作为输出。

死区:

在控制系统中,执行机构如果动作频繁,会导致小幅震荡造成机械磨损,很多控制系统允许被控量在一定范围内存在误差,该误差称为PID的死区。

当过程值满足如下公式时,SP –"死区宽度"< PV < SP "死区宽度"时,PID停止调节保持输出不变。如下图所示

 

②PID_Compact 指令组态

我们以Zui基本的恒压供水系统,给大家说明如何组态(设置相关参数)。必须先添加循环中断,然后在循环中断中添加 PID_Compact 指令。在循环中断的属性中,可以修改其循环时间(如图5)。

 

图5:添加循环中断后在属性界面修改其循环时间

这里解释一下循环时间:PID控制器的采样时间是循环中断时间的整数倍。如果我们自整定PID参数,系统会自动计算sRet.r_Ctrl_Cycle(采样时间)参数。若用户使用手动方式设定PID参数,则一定要注意此参数为循环中断时间的整数倍。

例如:PID控制器的采样时间是1s,循环中断时间为100ms,则在1S的时间内,循环中断执行了10次,但前9次PID控制器都不进行运算。

1)在“指令 > 工艺 > PID 控制 > Compact PID> PID_Compact”下,将 PID_Compact 指令添加至循环中断。如图6所示

 

图6在循环中断中添加 PID_Compact 指令

2)当添加完 PID_Compact 指令后,在项目树 > 工艺对象文件夹中,会自动关联出 PID_Compact_x[DBx],包含其组态界面和调试功能。如图7所示

 

图7工艺对象中关联生成PID_Compact

3)使用 PID 控制器前,需要对其进行组态设置,分为基本设置、过程值设置、gaoji设置等部分。如图8

 

图8 PID_Compact > 基本设置 > 控制器类型

第一:基本设置

1.1基本设置--控制器类型

a. 为设定值、过程值和扰动变量选择物理量和测量单位。我们使用的是恒压控制,所以选择“压力”即可。如图9所示
b. 正作用:随着 PID 控制器的偏差增大,输出值增大。 反作用:随着PID控制器的偏差增大,输出值减小。PID_Compact 反作用时,可以勾选“反转控制逻辑”。 如图9所示
c. 要在 CPU 重启后切换到“模式”(Mode) 参数中保存的工作模式,请勾选“在 CPU 重启后激活模式”。 如图9所示

 

图9 PID_Compact > 基本设置 > 控制器类型

1.2基本设置--定义 Input/Output 参数(如图10)

定义 PID 过程值和输出值的内容,选择 PID_Compact 输入、输出变量的引脚和数据类型。选择Input的话,那么就需要在程序中标定好工程单位值,然后标定好的工程量值填写在PID_Compact管脚Input处,Input处的管脚值与Setpoint管脚的值比较比较,从而控制输出。那到底是控制哪个输出呢?就是根据Output处选择的参数,可以是Output_PER、Output、Output_PWM。Output_PER就是直接通过模拟量的方式输出控制外部设备,比如变频器、电机等,Zui终它的输出值是在0-27648之间,从而转换成0-10V或者0-20mA,达到控制的结果。Output是百分比的方式输出,它介于0-100之间,如果需要控制外部设备的话,需要用其他指令转换输出。Output_PWM是脉宽脉宽调制方式输出数字量。

那如果Input处选择的是Input_PER,填写的就是模拟量输入通道的地址(比如IW64),这个地址会自动转换成工程单位与Setpoint管脚的值比较。那它如何进行转换的呢?我们往下看

 

图10 PID_Compact > 基本设置 > 定义 Input/Output

第二:过程值设置

1.1过程值设置--过程值限值(如图11)

必须满足过程值下限<过程值上限。如果过程值超出限值,就会出现错误。我们设置的是60hpa,因为我们的压力传感器是0-5Kpa的,而量程中只用hpa这个单位。所以我们转换成hpa,并且设置留有余量。

 

图10 设置过程值限值

1.2过程值设置--过程值标定

a. 只有在“基本设置”项下 Input/Output 中输入选择为 “Input_PER” 时,才可组态过程值标定。
b. 如果过程值与模拟量输入值成正比,则将使用上下限值对来标定Input_PER。
c. 必须满足范围的下限<上限。

由于我们“基本设置”项下 Input/Output 中输入选择为 “Input”所以图11中“Input_PER”项为“已禁用”。

 

图11进行过程值标定

gaoji设置

1.1gaoji设置--过程值监视(如图12及图13)

 

图12

a. 过程值的监视限值范围需要在过程值限值范围之内。
b. 过程值超过监视限值,会输出警告。过程值超过过程值限值,PID输出报错,切换工作模式。

 

图13

1.2.gaoji设置-- PWM 限制,在此不介绍。

1.3gaoji设置--输出值限值(如图14)

 

图14

a. 在“输出值的限值”窗口中,以百分比形式组态输出值的限值。 无论是在手动模式还是自动模式下,都不要超过输出值的限值。
b. 手动模式下的设定值 ManualValue,必须介于输出值的下限 (Config.OutputLowerLimit) 与输出值的上限 ( Config.OutputUpperLimit )之间的值。
c. 如果在手动模式下指定了一个超出限值范围的输出值,则 CPU 会将有效值限制为组态的限值。
d. PID_compact 可以通过组态界面中输出值的上限和下限修改限值。Zui广范围为 -100.0 到 100.0,如果采用 Output_PWM 输出时限制为 0.0 到 100.0 。

1.4gaoji设置--对错误的响应(如图15)

a.在 PID_Compact V2 时,可以预先设置错误响应时 PID 的输出状态,如图 13 所示。以便在发生错误时,控制器在大多数情况下均可保持激活状态。
b. 如果控制器频繁发生错误,建议检查 Errorbits 参数并消除错误原因。

 

图15

根据错误代码来分析错误原因。根据组态界面所设置的“对错误的响应”,不同错误的响应状态也不一样,如下表所示:

 

5.gaoji设置--手动输入 PID 参数

a. 在 PID Compact 组态界面可以修改 PID 参数,通过此处修改的参数对应工艺对象背景数据块 > Static > Retain > PID 参数。
b. 通过组态界面修改参数需要重新下载组态并重启 PLC。建议直接对工艺对象背景数据块进行操作。

西门子300/400PLC的程序与存储器结构

 ①S7-300/400的程序功能块 S7-300/400的PLC用户程序结构与S7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程。

  采用调用式结构与结构化编程时,程序以组织块(OB)、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等形式出现。其中,组织块(OB)、程序块(FC)、功能块(FB)统称为“逻辑块(Logic Block)”;系统程序块(SFC)、系统功能块(SFB)统称为“系统块”。

  a.组织块(OB)。组织块(Organization Blocks,简称OB)提供了PLC内部CPU操作系统与用户程序间的接口,它是由CPU操作系统直接进行调用的逻辑块,用来管理PLC 程序中各组成部分的调用和执行中断。OB决定了PLC用户程序的结构与块的调用顺序,起到了“管理”用户程序的作用。

  S7-300/400不同的CPU类型,可以选择、支持不同的OB块,但OB1是所有PLC用户程序的循环控制块,它是运行PLC用户程序的前提条件,因此,任何PLC程序、任何CPU都不可以缺少OB1。

  OB块的调用条件被称为"触发事件",根据"触发事件"的不同,OB块可以分为若干级别,各个级别有不同的优先级。高优先级的 OB可以中断低优先级 OB的执行。如果需要,S7系列PLC除OB1外,还可以使用多个OB块。

  b.程序块(FC)●。程序块(Function,简称FC)是由用户编写的、不需要专门数据块的常用逻辑块。

  FC块在程序中一般不可以重复调用,在大多数场合,FC块应直接使用PLC的"juedui地址"或"符号地址"进行编程,但根据需要,可以定义部分程序变量。

  与S7-200一样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器 M或使用“数据块DB”。

  在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7CPU操作系统中的逻辑块,称为系统程序块(System Function,简称SFC)。系统程序块SFC属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。

  c.功能块(FB)。功能块(Function Blocks,简称FB块)是由用户编写的、需要专用数据块(Instance Data Blocks,称为"即时数据块"或"背景数据块",简称 DI)支持的常用逻辑块。

  FB块与FC块的作用基本相同,但FB中除可以使用"juedui地址"或"符号地址"进行编程外,在结构化编程时必须使用"程序变量"进行编程,因此,FB必须配套独立的数据存储区域,即"即时数据块DI"。DI一方面可以为调用FB提供执行程序所需要的"程序变量"赋值与其他数据;另一方面,功能块FB也能通过DI给调用它的逻辑块返回所需要的数据。

  与功能调用块FC一样,功能块FB中也有部分为PLC生产厂家所提供的、集成在S7 CPU操作系统中的功能块,称为系统功能块(System Function Blocks,简称 SFB)。系统功能块SFB同样属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。

  d.数据块(DB)。数据块(Data Blocks,简称DB)是用来存放执行用户程序时所需的数据与存储程序执行结果的数据存储区,其作用与标志寄存器类似,但数量更多。数据块DB按不同的用途可以分为即时数据块(Instance Data Blocks,又称背景数据块,简称 DI)和通用数据块(Data Blocks,又称共享数据块,简称DB)两类。

  即时数据块(DI)用于传递功能块的参数,只能被指定的功能块FB访问。调用功能块

  ●:在SIEMENS早期的SS系列PLC中,只有组织块(OB)、功能块(FB)、数据块(DB)与程序块(PB)四类逻乳块。在S7系列PLC中,取消了程序块(PB)的名字,而是用英文的“Function”代替了原程序块(PB)。“Function”可以直译为功能,因此,在许多书中称为“功能”,在这里考虑到S5的继承性,同时便于读者与“功能块”区别,仍然将“Function”称为“程序块”。

  FB时,必须同时指定用于该功能块的即时数据块DI,即时数据块内的数据可以自动生成、它们可以是FB变量声明表中的数据(不含临时变量)。

  通用数据块(DB)用于存储PLC的全局数据,所有的FB、FC或OB都可以对通用数据块进行读写操作,因此,它又被称为共享数据块。通用数据块内的数据不会因用户程序的结束而删除。

  有关功能块、数据块的调用、编程以及程序变量、局部变量等概念,将在下面的实例中予以详细介绍。

  ②S7-300/400的程序结构S7-300/400的PLC程序结构随着编程人员所采用的程序设计方法的不同而不同。一般而言,程序设计可以采用线性化编程、调用式编程、结构化编程的方法,如图5-53所示。

  采用线性化编程时,所有程序指令都编写在一个连续的程序块——组织块OB1中,无需编制程序块、功能块、数据块等。

  采用调用式编程的程序由组织块(OB)、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等组成,由组织块OB1对各逻辑块与数据块进行组织与管理。

  采用结构化编程的程序结构形式与调用式编程相同,程序同样由组织块(OB)、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等组成,并通过组织块OB1对其进行组织与管理。功能块(FB)可以用于结构化编程,为了满足参数化编程的需要,功能块(FB)需要配套的即时数据块(DI),组织块(DB1在调用FB时,需要根据不同的控制要求,通过即时数据块(DI)对参数进行赋值。

  图5-53为采用三种不同编程方式的程序结构示意图,在实际调用式编程、结构化编程时,被组织块OB1调用的逻辑块还可以调用其他逻辑块(程序嵌套)。

S7-300/400的程序结构与执行过程

  ③S7-300/400的存储器结构 S7-300/400 PLC的存储器结构可以分为基本存储区域与程序处理区两大部分。

  a.基本存储区域。S7-300/400PLC的基本存储区域又可以分为装载存储区、系统存储区、工作存储区3部分,具体如下。

  (a)装载存储区(Load Memory)。相当于S7-200的程序存储区,用于PLC用户程序逻辑块、数据块的存储。

  (b)系统存储区(System Memory)。相当于S7-200的数据存储区,用于存储PLC运算、处理的中间结果。如输入/输出映像,标志、变量的状态存储,计数器、定时器的中间值,模拟量输入/输出状态等,使用PLC内部RAM。

  (c)工作存储区(Work Memory)。用于存储当前处理的可执行程序块、程序块所生成的局部变量L等。3个存储器区域的作用以及相互间的关系如图5-54所示。

S7-200存储区域的作用及相互关系

  b.程序处理区域。S7-300/400 PLC的程序处理区域又可以分为累加器、地址寄存器、数据块地址寄存器、状态寄存器4部分,具体如下。

  (a)累加器。S7-300/400共有2个32位累加器ACCU1、ACCU2,用来进行读入、传送、运算、移位等操作。

  (b)地址寄存器。S7-300/400共有2个32位地址寄存器 AR1、AR2,用于存放寄存器间接寻址时的地址指针。

  (c)数据块地址寄存器。S7-300/400共有2个32位数据块地址寄存器DB、DI,用于存放程序中被打开的数据块地址。程序执行过程中允许同时被打开的数据块Zui大为2个,其中一个为共享数据块(DB),在程序中可以任意使用;另一个为瞬时数据块(DI),它是与功能块FB配套使用的数据块,在调用FB时同时打开。

  (d)状态寄存器。S7-300/400共有1个16位状态寄存器STW,状态寄存器用于存放程序的处理结果,如逻辑运算结果RLO、溢出标志OV、溢出记忆OS、条件码CC0与C1、二进制值BR等,以显示指令的执行结果。


展开全文
优质商家推荐 拨打电话