PLC编程案例42 自主编程实现定时采样
一、PLC控制任务
实际项目中会遇到需要定时采样的情况,比如:对心跳计数器的定时采样,以判是否中断;对体流过体积的定时采样,以判断液体处于流动状态还是静止状态,这都需要定时采样程序来完成。本节我们自己编程实现一个定时采样程序。该程序可以固定的时间间隔对一个整行采样,采样的结果存放到整数变量 奇数采用结果和 奇数采用结果中。为了实现上述功能,将采样过程分为三种状态:
1、奇数次采样期:状态激活后采样存放到 奇数采用结果中,并修改状态值为“采样空闲” 。
2、偶数次采样期:状态激活后采样存放到。偶数采用结果中,并修改状态值为“采样空闲” 。
3、采样空闲期:状态激活后进行空闲计时,当计时时间到了之后,判断之前的采”态,并切换到另一种状态。
二、创建FB块接口参数如图一所示
图一
三、如果未激活,则退出,采样状态分析比较,第一次采样和第二次采样等代码如图二所示
图二
四、主程序OB1调用FB块并赋值实参如图三所示
图三
西门子S7-12001500PLC中深度解析PID(2)
【S7-1200 /1500PID 控制功能说明一样,下面以 S7-1200 为例介绍 】
(1)PID 基本功能介绍
1.CPU 提供了 PID 控制器回路数量受到 CPU 的工作内存及支持 DB 块数量限制。严格上说并没有限制具体数量,但实际应用 S7-1200PLC 推荐不要超过 16 路PID 回路为最佳。S7-1500 根据型号不同,PID 控制回路实际应用也不一样。
2.PID 控制器结构
PID 控制器功能主要依靠三部分实现,循环中断块,PID 指令块,工艺对象背景数据块。用户在调用 PID 指令块时需要定义其背景数据块,而此背景数据块需要在工艺对象中添加,称为工艺对象背景数据块。PID 指令块与其相对应的的工艺对象背景数据块组合使用, 形成完整的 PID 控制器。PID 控制器结构如图
循环中断块可按一定周期产生中断,执行其中的程序。PID 指令块定义了控制器的控制算法,随着循环中断块产生中断而周期性执行,其背景数据块用于定义输入输出参数,调试参数以及监控参数。此背景数据块并非普通数据块, 需要在目录树视图的工艺对象中才能找到并定义。
(2)S7-1200 的PID 功能应用说明
1.调用PID 通用功能块
备注:
1.PID_Compact 指令提供了一种可在自动和手动模式下进行调节的 PID 控制器。
2.以调用 OB 的循环时间的恒定间隔(最好在循环中断 OB 中)调PID_Compact。
3.CPU 的存储区的占用情况,及支持 DB 块数量的限制。
4.在循环中断里调用 PID 指令,需要保证中断里执行 PID 指令的总时间要小于该中断的循环时间。
2. PID_COMPACT 通用功能模块应用步骤说明
3.PID_COMPACT 调节过程说明
使用PID_compact的控制步骤:
1.在循环OB中插入和参数化PID_compact
2.自动插入工艺对象
3.组态工艺对象
4.使用集成的自整定功能和Trace功能调试与整定
4.CPU 处理 PID 的时间
5.存储器要求
(3)PID 组态与编程说明
1.创建循环中断组织块 OB30,循环时间为 100ms,在 OB30 里面调用 PID_Compact
2.功能块 PID _ Compact 输入输出参数说明
PID_ Compact 输入参数说明
Setpoint(REAL):
PID 控制器自动模式下的设定值工程量(对应于 INPUT 反馈值类型)
Input(REAL):PID 控制器反馈值(工程量如:0.0-100.0)
Input_PER(INT):PID 控制器反馈值(模拟量如:0-27648)
Disturbance(REAL):扰动变量或预控制值(一般为 0.0)。
ManualEnable (BOOL): 启用或禁用手动操作模式。(默认值:FALSE):FALSE 至 TRUE 沿激活“手动模式”,同时State =4,Mode 保持不变。
ManualEnable = TRUE 时,无法利用 ModeActivate 的上升沿或使用调试对话框更改工作模式。 TRUE 至 FALSE 沿激活 Mode 分配的工作模式。注:建议您只使用 ModeActivate 更改工作模式。
PID_ Compact 输入参数说明
ManualValue(Real):手动操作的输出值。(默认值:0.0)可以使用从 Config.OutputLowerLimit 到 Config.OutputUpperLimit值。
ErrorAck(BOOL): 复位 Error 和ErrorBits 和警告输出。上升沿有效。
RESET(BOOL):重新启动控制器:
上升沿, 切换到“未激活”模式,同时复位 ErrorBits 和 Warnings,清除积分
作用(保留 PID 参数) 。
只要 Reset = TRUE,PID_Compact 便会保持在“未激活”模式下 (State = 0)。
ModeActivate(BOOL):PID_Compact 切换到保存在 Mode 参数中的工作模
式。FALSE 至TRUE 上升沿。
Mode(INT):期望的 PID 模式;在 Mode Activate 输入的上升沿激活。
注意:如果使用 Reset 复位错误会重启 PID 控制器,建议使用 ErrorAck 来
复位错误代码。
PID_ Compact 输出参数说明
备注:
SetpointUpper/Lower Limit是SV的限制值,
在DB数据块内设定,默认士3.402822E+38
Mode(工作模式说明)
1.PID_Compact 参数组态详细说明
■ 基本设置
■ 过程值设置
■ 高级设置
a.为最大程度地减小工作频率并节省执行器,可延长最短开/关时间。
b.如果要使用“Output”或“uput_PER”,则必须分别为最短开关时间组态值0.0。
c.脉冲或中断时间永远不会小于最短开关时间。例如,在当前PID算法采样周期中,如果输出小于最短接通时间将不输出脉冲,如果输出大于(PID算法采样时间最短关闭时间)则整个周期输出高电平。
d.在当前PID算法采样周期中,因小于最短接通时间未能输出脉冲的,会在下一个PID算法采样周期中累加和补偿由此引起的误差。
高级设置--对错误的响应
说明 :
1.“非活动 ”=对于所有错误,PID 均输出 0.0,Error=1,会切换到 “未激活” 模式(State=0)。当错误离开后,可通过 Reset 的下降沿或者 ModeActive 的上升
沿来切换工作模式。
2.“错误待定时的当前值 ”=当出现“输入超限”、“采样时间错误:循环中断 OB 的采样时
间内没有调用 PID_Compact。”、Disturbance 参数的值无效,值的数字格式无效 错误以后 :自动模式下出现错误 PID Compact 仍保持自动模式 (State=3),Error=1,输出错误发生前的最后一个有效值 。错误离开后 Error=0、错误代码保留、PID_Compact 从自动模式开始运行。
3.“错误未决时的替代输出值” =“参数“Input_PER”的值无效”“参数“Setpoint”的值无效,值
的数字格式无效”如 16#ffffffff 等非法参数错误以后 :自动模式下出现错误 PID Compact 切换到“带错误监视的替代输出值”模式(State=5), Error=1 , 输出组态的替换输出值。错误离开后 Error=0 、 错 误 代 码 保 留 、 PID_Compact 从自动模式开始运行。
相关问答
plc输出采样是什么?
plc采样的常见例子是pid运算和累计计算等,pid运算根据控制对象的不同设定一个采样时间,一般变化快的对象采样时间短,反之则长。累计计算的采样时间设定原则也...
西门子plc模拟量编程实例?
以下是一个使用西门子PLC的模拟量编程示例:假设有一个温度传感器,将温度值转换为4-20mA模拟量信号,然后将信号输入到PLC的模拟量输入模块中。我们需要将输入的...
如何采样西门子plc控制变频器让电机匀加速、匀减速运行?
设置制变频器匀加速、匀减速的时间。西门子plc控制变频器每隔1秒加1Hz或者减1Hz,也可以。设置制变频器匀加速、匀减速的时间。西门子plc控制变频器每隔1秒加...
ab的plc怎么设置扫描周期?
PLC按照用户程序从左到右,从上到下,不断循环扫描的工作方式。这种工作方式是在系统程序的控制下顺序扫描各输入点的状态,按用户程序进行运算处理,然后顺序...
编码器怎么实现定位功能,用plc怎么设计梯形图?
严格来讲,编码器只会告诉你改如何定位,要如何执行,是需要靠数控系统(或者PLC之类控制器)控制伺服或者步进电机来实现定位的,编码器好比人的眼睛,知道电机...PLC...
plc模拟量输入滤波程序和方案?
1,硬件配置滤波,如果是200PLC打开系统块,再Analog里设定滤波时间和频率如果是300400PLC打开硬件配置,再相关模块里设定滤波时间和频率,这个一般是过滤高频...
西门子1200模拟量输出编程实例?
西门子1200模拟量输出的编程实例:在编程软件中添加模拟量模块,并配置模块类型和输入/输出信号的范围。在程序中通过指定模拟量输入/输出的地址,实现对模拟量...
plc波形图怎么查看?
可以通过以下步骤查看PLC的波形图:1.打开PLC程序,并选择需要查看的波形图。2.右键点击选中的波形图,选择“Wave”->“Properties”。3.在弹出的“Wavefo.....
plc怎么处理多路模拟量?比如,我同时采集4个电压信号。在程序中怎么把它们同时读取?
一般是多路模拟信号用采样保持器同时采样保持,再用A/D分时转换,输入计算机。一般是多路模拟信号用采样保持器同时采样保持,再用A/D分时转换,输入计算机。
PLC采用什么的工作方式?
plc采用多串行口,进行串并或并串转换、设置波特率及字符格式、进行电平转换的工作方式,其特点是集中采样、集中输出工作。因为PLC采用集中采样、集中输出的...