谁有西门子的plc编写pid的案例

谁有西门子的plc编写pid的案例,第1张

给你个Step 7写的位置式PID控制的FC模块。带"_IN"与带"_OUT"的变量,如果前缀是一样的,要求连接同一个变量。硬件方面需要只需要模拟量输入和模拟量输出模块各一个。

FUNCTION FC1 : VOID

VAR_INPUT

Run:BOOL;//True-运行,False-停止

Auto:BOOL;//True-自动,False-手动

ISW:BOOL;//True-积分有效,False-积分无效

DSW:BOOL;//True-微分有效,False-微分无效

SetMV:REAL;//手动时的开度设定值

SVSW:REAL;//当设定值低于SVSW时,开度为零

PV:REAL;//测量值

SV:REAL;//设定值

DeadBand:REAL;//死区大小

PBW:REAL;//比例带大小

IW:REAL;//积分带大小

DW:REAL;//微分带大小

dErr_IN:REAL;//误差累积

LastPV_IN:REAL;//上一控制周期的测量值

END_VAR

VAR_OUTPUT

MV:REAL;//输出开度

dErr_OUT:REAL;//误差累积

LastPV_OUT:REAL;//上一控制周期的测量值

END_VAR

VAR

Err:REAL;//误差

dErr:REAL;//误差累积

PBH:REAL;//比例带上限

PBL:REAL;//比例带下限

PVC:REAL;//测量值在一个控制周期内的变化率,即测量值变化速率

P:REAL;//比例项

I:REAL;//积分项

D:REAL;//微分项

END_VAR

IF Run=1 THEN

IF Auto=1 THEN

IF SV>=SVSW THEN

Err:=SV-PV;

PBH:=SV+PBW;

PBL:=SV-PBW;

IF PV<PBL THEN

MV:=1;

ELSIF PV>PBH THEN

MV:=0;

ELSE

P:=(PBH-PV)/(PBH-PBL);//计算比例项

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////以下为积分项的计算//////////////////////////////////////////////////////////////

IF ISW=1 THEN

dErr:=dErr_IN;

IF (PV<(SV-DeadBand)) OR (PV>(SV+DeadBand)) THEN

IF (dErr+Err)<(0-IW) THEN

dErr:=0-IW;

ELSIF (dErr+Err)>IW THEN

dErr:=IW;

ELSE

dErr:=dErr+Err;

END_IF;

END_IF;

I:=dErr/IW;

dErr_OUT:=dErr;

ELSE

I:=0;

END_IF;

/////////////////////////////////////////////以上为积分项的计算//////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////以下为微分项的计算//////////////////////////////////////////////////////////////

IF DSW=1 THEN

PVC:=LastPV_IN-PV;

D:=PVC/DW;

LastPV_OUT:=PV;

ELSE

D:=0;

END_IF;

/////////////////////////////////////////////以上为微分项的计算//////////////////////////////////////////////////////////////

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

IF (P+I+D)>1 THEN

MV:=1;

ELSIF (P+I+D)<0 THEN

MV:=0;

ELSE

MV:=P+I+D;

END_IF;

END_IF;

ELSE

MV:=0;

END_IF;

ELSE

MV:=SetMV;

END_IF;

ELSE

MV:=0;

END_IF;

END_FUNCTION

进行整定时先进行P调节,使I和D作用无效,观察温度变化曲线,若变化曲线多次出现波形则应该放大比例(P)参数,若变化曲线非常平缓,则应该缩小比例(P)参数。比例(P)参数设定好后,设定积分(I)参数,积分(I)正好与P参数相反,曲线平缓则需要放大积分(I),出现多次波形则需要缩小积分(I)。比例(P)和积分(I)都设定好以后设定微分(D)参数,微分(D)参数与比例(P)参数的设定方法是一样的。

当初写这段程序的就是为了使用调功器来控制炉子的温度的,已经在我单位的调功器上运行成功了,还有就是我单位的调功器没有使用微分(D),只是用了比例(P)和积分(I)。

其实台达的资料都很好找,并且都是免费的。在“中达电通”网站都可以下载。百度一下:中达电通

台达的PLC是DVP系列PLC,在DVP手册里就有梯形图案例,在台达PLC101例里有梯形图实例。所以,知道下载台达PLC手册,认真看看就可以了。

如图所示,编码器的A相接X0,B相接X1,当M0为ON时,编码器转动,C251就计数了,正转就加计数,反转就减计数。M1为ON,就清零复位计数器C251了。

望采纳。。。。。。

恒压供水PLC控制,东莞恒压供水厂家,东莞恒压供水

本机供五台电机,四大一小,其中五号为小泵,只进行变频,不进行工频,但是在手动时可手动工频,四个大泵要进行工频/变频转换。本机,手动和自动控制,相互独立,相互不干扰,东莞自动化公司-精一控自动化公司

本机自动工作流程

正常工作流程

五档:

开机上电后,如果压力低于允许范围(+/- 004MPa),开启5#泵变频运行,此时只有5#泵变频运行

一档:

5#泵变频运行时,如果压力低于压力下限(压力设定值-004MPa),且变频泵频率达到50HZ,10S后,复位5#号变频,开启1#变频,此时只有1#泵变频运行

二档

1#泵变频运行时,如果压力低于压力下限且变频泵频率达到50HZ后超过10S,复位1#变频,当复位一号变频05S后,开启1#工频及开启二号变频(这样做的目的是错开同一台泵变频到工频的转换),此时有一号泵工频,二号泵变变频运行。

三档

当1#工频,2#泵变频运行,压力低于压力下限且变频泵频率达到50HZ后,超过10S,复位2#变频,当复位2#变频05S后,开启2#工频及开启3#变频,此时1,2#泵工频,三号泵变频运行

四档

当1#,2#工频,3#变频运行时,压力低于压力下限且变频泵频率达到50HZ后,超过10S,复位3#变频05S后,开启四号变频,此时有1#,2#,3#工频,四号变频运行。

当产生故障

五档

5#运行时,5#产生故障,此时压力低于下限,变频泵频率达到50HZ后,超过10S

(1)1#泵没有故障转到一号泵变频运行;

(2)当5# -1#泵都有故障,2#泵没有故障时,转到2#变频运行

(3)当5#-1#-2#泵都有故障,3#泵没有故障时,转到3#泵变频运行

(4)当5#-1#-2#-3#泵都有故障时,4#泵没有故障时,转到4#变频运行

一档

当1#泵变频运行时,压力低于压力下限且变频频率为满频50HZ时,超过10S,此时如果2#泵没有故障,复位1#变频,当复位一号变频05S,开启2#变频,1#工频此时只由1#工频,2#变频运行

如果2#泵有故障,3#泵没有故障,复位1#泵变频05S后,开启3#泵变频及1#泵泵工频,此时1#泵工频,3#泵变频工作

如果2-3#泵都有故障,4#泵没有故障时,复位1#泵变频05S后,开起4#泵变频及1#泵工频此时1#泵工频,4#泵变频运行

如果2-3-4#泵都有故障,保持1#泵变频不变此时只有1#泵变频运行

二档

当2#泵变频运行,压力低于压力下限且变频泵频率达到50HZ后,超过10S

(1)3#泵没有故障时,复位2#变频,当复位2#变频 05S后,开启2#工频及开启3#变频,此时可能

a: 1,2#泵工频,三号泵变频运行

b: 2#泵工频,三号泵变频运行

(2)3#泵有故障,4#泵没有故障时,复位2#变频,当复位二号变频  05S后,开启2#工频及开启4#变频,此时可能运行情况

a : : 1,2#泵工频,4号泵变频运行

b  : 1#工频,4号泵变频运行

c : 4号泵变频运行

(3)当2-34都有故障时,保持2#泵变频不变,压力低于压力下限且变频泵频率达到50HZ后,超过10S

1#工频没有起动时起动1#工频,压力还不够且2#

工频没有运行时,延时启动2#工频;

三档

当3#变频运行时,压力低于压力下限且变频泵频率达到50HZ后,超过10S,此时

(1)4#泵没有故障时,复位3#变频05S后,开启四号变频

(2) 4#泵有故障时,3#变频运行不变,压力低于压力下限且变频泵频率达到50HZ后,超过10S

A:如果1#没有故障,1#工频没启动开启1#工频,1# 工频运行后,如果压力低于压力下限且变频泵频达到50HZ后,超过10S,2#工频没启动开启2#工频

四档

当四号泵变频运行时,突然4#泵产生故障,此时如果1或2或3#泵有一台泵工频运行时,

A:1#泵没有故障时,复位1#泵工频05S后,切换到1#泵变频运行,如果此时压力低于压力下限且变频泵频率达到50HZ后,超过10S,此时又进行下一轮循环(这时可能产生的问题是:如果压力始终达不到,会1#变频,复位2#变频开启1#工频,复位2#变频,开起3#变频这样一个水泵很快进行轮循的过程,但轮循一次后会停下来

B:1#有故障时,2#没有故障时,复位2#泵工频05S后,切换到2#泵变频运行,如果此时压力低于压力下限,且变频泵频率达到50HZ后,超过10S,此时又进行下一轮循环

C :如果1,2#都有故障,3#没有故障时,复位3#泵泵工频,切换到3#泵变频如果4#变频运行时压力低于压力下限且变频泵频率达到50HZ后,超过10S,1#工频没有起动时起动1#工频,压力还不够时2,及3没有工频启动时,延时依次开启;当仅且只有1台泵变频运时,突然那一台泵产生故障,机器恢复到刚开始工作循环状态

机器复位过程

四档

当压力超过压力下限,且变频器输出频率为0时延时5S后先复位1#工频,在2-3 #工频延时停掉

三档

当压力超过压力下限,且变频器输出频率为0时延时5S后先复位1#工频,在2-#工频延时停掉

二档

当压力超过压力下限,且变频器输出频率为0时延时5S后先复位1#工频

★当仅且在1-2-3#泵中只有1台泵是变频运时,压力超过压力下限,且变频器输出频率为0时延时5S,开启5#泵

★8小时轮换工作

一档

1#泵变频运行超过8小时,复位1#变频,开启2#变频

二档

2#泵变频运行超过8小时,且3#泵没有运行时,复位

2#变频,开启3#变频

三档

3#泵变频运行超过8小时,且4#泵没有运行时,复位

3#变频,开启4#变频

变频器频率(上升/下降)过程PLC程序

东莞精一控自动化公司恒压供水控制东莞自动化公司

PLC(可编程逻辑控制器)的应用非常广泛,扩展应用到各个行业,西门子PLC系统的发展经历了LOGO!、S7-200、S7-300、S7-400四个大体的历程

由传感器、执行器加上自动化系统就组成了可编程控制器系统,系统的实际功能取决于程序,依次处理组成程序的大量指令,根据指令来接通或者断开相应的执行机构

S7-200系统主要由CPU、电源模块、数字输入输出、总线组成:CPU执行程序并保存自动化解决方案的数据或过程数据;通过扩展模块可以为CPU提供更多的输入输出;电源模块为中央处理器和所有连接的扩展模块提供电源;通过通讯接口将可编程设备设备连接到CPU上;用户可以设置CPU的RUN/STOP状态、集成输入/输出的当前信号状态以及可能的系统错误;可通过插入EEPROM保存CPU程序或者将一台CPU的程序下载到别的CPU

CPU执行周期内执行以下任务:读取输入信号、执行程序、处理通讯请求、CPU自诊断、写到输出端

CPU在每个周期内检查输入输出状态,将其存到PII与PIQ中来进行调用或输出

2

S7-200概述

lCPU

S7-200系列产品包括各种不同的CPU,如221、224、214等,它们的数据存储大小、实时时钟、可使用扩展模块等方面存在差别

l数字量扩展模块

主要包括EM221(8路DC输入)、EM222(8路DC/REL输出)、EM223(4路输入/输出、8路输入/输出、16路输入/输出),用户可以根据需要来选择相应的扩展模块

l模拟量扩展模块

主要包括EM231(4路输入)、EM232(2路输出)、EM235(4路入/1路出)

l通讯模块

EM277通讯PROFIBUS、CP243-2通讯ASI-主站

l安装

S7-200可以安装在控制板上,也可以安装在DIN导轨上

在安装时,S7-200CPU和扩展模块被设计为通过对流自然散热,因此至少在设备上和下方各留出25mm的空间来保证自然散热

安装时要留出通讯缆与输入输出接线

3

STEP7-MICRO/WIN

每个子任务对硬件和软件都有一些必需的要求

硬件包括:-输入输出类型-模块类型和数量-CPU容量和类型-HMI系统-网络系统软件包括:-程序结构-自动化过程的数据管理-组态数据-通讯数据-程序和项目文档STEP7-MICRO/WIN就是S7-200的编程软件,通过它来进行程序的设计、数据的处理

一个项目包括五个主要部分:ProgramBlock,DataBlock,SystemDataBlock,SymbolTable,StatusChart,通过这几部分来设计程序、通讯等

编程语言有LAD、STL、FBD三种,设计者可以根据自己的爱好选择使用

以上就是关于谁有西门子的plc编写pid的案例全部的内容,包括:谁有西门子的plc编写pid的案例、台达PLC控制步进电机梯形图案例、三菱PLC与旋转编码器的程序例子等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/10624374.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存