首页 > 其他分享 >Siemens 西门子S7-1200 PID功能组态

Siemens 西门子S7-1200 PID功能组态

时间:2023-08-07 14:34:34浏览次数:42  
标签:Compact 输出 S7 PID 1200 组态 设置 如图

  在我们实际工作经常会用到PID控制系统,比如控制恒压供水设备,恒温加热设备等。这些设备使用PLC进行控制时,不仅仅需要编程,还需要设置相关参数(或者说组态)。只有正确设置了相关参数之后,程序编写的才有意义。

  那么今天我们以西门子1200PLC为例,给大家讲讲如何组态PID功能。在组态之前,要先判断如何选择PID指令,因为根据不同的应用场景选择的PID指令不同,指令选择的不同的话,组态也有一些区别。

①PID指令选择:

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

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

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

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

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

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

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

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

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

控制带:

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

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

死区:

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

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

②PID_Compact指令组态

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

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

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

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

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

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

第一、基本设置

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

a、为设定值、过程值和扰动变量选择物理量和测量单位。我们使用的是恒压控制,所以选择“压力”即可。如图9所示;

b、正作用:随着 PID控制器的偏差增大,输出值增大。反作用:随着PID控制器的偏差增大,输出值减小。PID_Compact反作用时,可以勾选“反转控制逻辑”。如图9所示;

c、要在 CPU重启后切换到“模式”(Mode)参数中保存的工作模式,请勾选“在CPU 重启后激活模式”。如图9所示。

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

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

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

第二、过程值设置

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

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

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

a、只有在“基本设置”项下Input/Output 中输入选择为 “Input_PER”时,才可组态过程值标定;

b、如果过程值与模拟量输入值成正比,则将使用上下限值对来标定Input_PER;

c、必须满足范围的下限<上限。

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

高级设置

①高级设置--过程值监视(如图12及图13):

a、过程值的监视限值范围需要在过程值限值范围之内;

b、过程值超过监视限值,会输出警告。过程值超过过程值限值,PID输出报错,切换工作模式;

②高级设置-- PWM 限制,在此不介绍。

③高级设置--输出值限值(如图14)

a、在“输出值的限值”窗口中,以百分比形式组态输出值的限值。无论是在手动模式还是自动模式下,都不要超过输出值的限值。

b、手动模式下的设定值ManualValue,必须介于输出值的下限 (Config.OutputLowerLimit) 与输出值的上限 ( Config.OutputUpperLimit)之间的值。

c、如果在手动模式下指定了一个超出限值范围的输出值,则CPU 会将有效值限制为组态的限值。

d、PID_compact 可以通过组态界面中输出值的上限和下限修改限值。最广范围为-100.0 到100.0,如果采用Output_PWM 输出时限制为0.0 到100.0 。

④高级设置--对错误的响应(如图15)

a、在PID_Compact V2 时,可以预先设置错误响应时PID 的输出状态,如图13所示。以便在发生错误时,控制器在大多数情况下均可保持激活状态;

b、如果控制器频繁发生错误,建议检查Errorbits 参数并消除错误原因。

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

⑤高级设置--手动输入PID 参数

a、在 PID Compact 组态界面可以修改PID 参数,通过此处修改的参数对应工艺对象背景数据块> Static > Retain > PID 参数;

b、通过组态界面修改参数需要重新下载组态并重启PLC。建议直接对工艺对象背景数据块进行操作。

 

标签:Compact,输出,S7,PID,1200,组态,设置,如图
From: https://www.cnblogs.com/ybqjymy/p/17611369.html

相关文章

  • Siemens 西门子S7-200SMART两台PLC之间的MODBUS主从站通信
    通过MODBUS通信的方式实现两台PLC的主从站通信:主站的PLC的I0.0~I0.7控制从站PLC的Q0.0~Q0.7从站的I0.0~I0.7控制主站的Q0.0~Q0.7读取从站AIW16所采集到的数值读到主站的VW100中把主站的MW10~MW16的数据写给从站的VW100~VW106中。主站程序参考如下 从站程序如果只有一......
  • centos7安装后无法启动
    1、Centos7开机无法正常启动?2、centos7虚拟机进不去一直ok3、服务器centos7开机卡住Centos7开机无法正常启动?kernelpanic该主机硬件不兼容该系统请更换其他版本系统尝试安装。CentOS是免费的、开源的、可以重新分发的开源操作系统,CentOS(CommunityEnterpriseOperati......
  • 使用 VirtualBox+Vagrant 创建 CentOS7 虚拟机
    一、准备工作1.1软件下载VirtualBox:Downloads–OracleVMVirtualBoxVagrant:Install|Vagrant|HashiCorpDeveloper1.2软件安装安装VirtualBox-7.0.10-158379-Win.exe安装vagrant_2.3.7_windows_amd64.msiNotes:安装目录记得修改下,默认安装在C盘。......
  • centos7.9 部署mongodb-4.4.18 分片集群
    准备基本环境名称ip地址cpu内存es监听端口redis-65110.0.2.18c64G9200redis-65210.0.2.28c64G9200redis-65310.0.2.38c64G9200......
  • Linux-CentOS7_RPM包管理
    常见的软件包封装类型封装类型说明rpm软件包扩展名为“.rpm”一般为二进制包源代码软件包一般为“.tar.gz”、“.tar.bz2”等格式的压缩包包含程序的原始代码附带安装程序的软件包在压缩包内提供install.sh、setup等安装程序或以“.bin”格式的单个执行文件提供绿色免安装的软件......
  • CentOS7 systemctl 管理MySQL服务
    #在/usr/lib/systemd/system/路径下创建mysql.service]#vim/usr/lib/systemd/system/mysql.service[Unit]Description=MySQLserverAfter=syslog.targetnetwork.target[Service]User=mysqlGroup=mysqlType=forkingTimeoutSec=0#PermissionsStartOnly=trueExecStar......
  • centos7中查看指定服务是否开机自动启动
     以ntpd服务为例001、查看ntpd服务的的当前状态[root@PC1home]#systemctllist-unit-files|grep"ntpd"##查看ntpd服务ntpd.servicedisabledntpdate.servicedisabled 002、设置ntpd服务开......
  • centos7中安装 ntp时间同步服务器
     001、查看ntp服务状态[root@PC1home]#cat/etc/redhat-release##系统版本CentOSLinuxrelease7.6.1810(Core) 002、启动ntp服务[root@PC1home]#systemctlstartntpd##没有安装ntpd服务Failedtostartntpd.service:Unitnotfound. 003、使......
  • centos7 Cannot retrieve metalink for repository: epel/x86_64. Please verify its
     备份原始的EPEL存储库配置文件(可选):在更改前,建议您先备份原始的EPEL存储库配置文件,以便在需要时恢复到默认设置。在终端中执行以下命令备份:sudocp/etc/yum.repos.d/epel.repo/etc/yum.repos.d/epel.repo.backup编辑EPEL存储库配置文件:使用文本编辑器(例如nano......
  • Linux(Centos7.6)Nginx安装
    简介Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx可以托管用户编写的WEB应用程序成为可访问的网页服务,同时也可以作为流量代理服务器,控制流量的中转。Nginx在WEB开发领域,基本上也是必备组件之一了。————————————......