EcoStruxure™ Control Expert - 先期 - 功能块库 - 10/2019
Transcript of EcoStruxure™ Control Expert - 先期 - 功能块库 - 10/2019
EcoStruxure™ Control Expert
33003691 10/2019
3300
3691
.15
www.schneider-electric.com
EcoStruxure™ Control Expert先期功能块库原始指令翻译
10/2019
本文档中提供的信息包含有关此处所涉及产品之性能的一般说明和/或技术特性。本文档并非用于 (也不代替) 确定这些产品对于特定用户应用场合的适用性或可靠性。任何此类用户或设备集成商都有责任就相关特定应用场合或使用方面对产品执行适当且完整的风险分析、评估和测试。Schneider Electric 或其任何附属机构或子公司对于误用此处包含的信息而产生的后果概不负责。如果您有关于改进或更正此出版物的任何建议、或者从中发现错误、请通知我们。 本手册可用于法律所界定的个人以及非商业用途。 在未获得施耐德电气书面授权的情况下,不得翻印传播本手册全部或部分相关内容、亦不可建立任何有关本手册或其内容的超文本链接。施耐德电气不对个人和非商业机构进行非独占许可以外的授权或许可。 请遵照本手册或其内容原义并自负风险。与此有关的所有其他权利均由施耐德电气保留。在安装和使用本产品时,必须遵守国家、地区和当地的所有相关的安全法规。出于安全方面的考虑和为了帮助确保符合归档的系统数据,只允许制造商对各个组件进行维修。当设备用于具有技术安全要求的应用场合时,必须遵守有关的使用说明。 未能使用施耐德电气软件或认可的软件配合我们的硬件,则可能导致人身伤害、设备损坏或不正确的运行结果。不遵守此信息可能导致人身伤害或设备损坏。© 2019 Schneider Electric。 保留所有权利。
2 33003691 10/2019
目录
安全信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13关于本书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
第I部分 一般信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19第1章 块类型及其应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
功能块类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22FFB 结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24EN 和 ENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
第2章 各种硬件平台上的功能块的可用性. . . . . . . . . . . . . . . . . 31各种硬件平台上的功能块可用性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
第3章 其他库中描述的原始功能的列表 . . . . . . . . . . . . . . . . . . . 37功能摘要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
第II部分 CLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39第4章 DELAY:延迟时间设备. . . . . . . . . . . . . . . . . . . . . . . . . . 41
说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45功能块的行为示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
第5章 INTEGRATOR1:带限制的积分器 . . . . . . . . . . . . . . . . . 47说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
第6章 LAG1:一阶延迟元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . 53说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
第7章 LEAD_LAG1:带滤波功能的 PD 设备 . . . . . . . . . . . . . . 59说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63功能块 LEAD_LAG1 的示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
第8章 LIMV:一阶限速器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
33003691 10/2019 3
第9章 PI1:PI 控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78参数设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80PI1 控制器的示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
第10章 PID1:PID 控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84PID1 功能块结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89为 PID1 控制器设置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92详细的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
第11章 PIDP1:具有并行结构的 PID 控制器 . . . . . . . . . . . . . . . . 97说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98为 PIDP1 控制器设置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105详细的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
第12章 SMOOTH_RATE:带滤波功能的微分器 . . . . . . . . . . . . . 109说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110SMOOTH_RATE 功能块的公式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
第13章 THREE_STEP_CON1:三点步进控制器 . . . . . . . . . . . . . 115说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
第14章 THREEPOINT_CON1:三点控制器. . . . . . . . . . . . . . . . . 123说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
第15章 TWOPOINT_CON1:两点控制器. . . . . . . . . . . . . . . . . . . 131说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
第III部分 CLC_PRO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139第16章 ALIM:限速器:二阶 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
第17章 COMP_PID:复杂 PID 控制器 . . . . . . . . . . . . . . . . . . . . . 147说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148复杂 PID 控制器结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154设置 COMP_PID 控制器的参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4 33003691 10/2019
COMP_PID 的 Anti-windup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157COMP_PID 的控制器类型选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158无冲击切换操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159选择 COMP_PID 的操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162详细的公式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
第18章 DEADTIME:延迟时间设备 . . . . . . . . . . . . . . . . . . . . . . 167说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171功能块的行为示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
第19章 DERIV:带滤波功能的微分器. . . . . . . . . . . . . . . . . . . . . 173说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178功能块示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
第20章 FGEN:功能发生器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182参数设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185函数选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186函数定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187各函数的图表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190特殊情况 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194时序图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
第21章 INTEG:带限制的积分器 . . . . . . . . . . . . . . . . . . . . . . . . 197说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
第22章 LAG:一阶延迟元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
第23章 LAG2:二阶延迟元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . 209说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214时序图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
第24章 LEAD_LAG:带滤波功能的 PD 设备 . . . . . . . . . . . . . . . 217说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221功能块 LEAD_LAG 的示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
33003691 10/2019 5
第25章 PCON2:两点控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
第26章 PCON3:三点控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237运行时错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
第27章 PD_OR_PI:结构转换 PD/PI 控制器 . . . . . . . . . . . . . . . . 241说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242功能块 PD_OR_PI 的结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248详细的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
第28章 PDM:脉冲持续时间调制 . . . . . . . . . . . . . . . . . . . . . . . . . 253说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
第29章 PI:PI 控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268参数设置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270PI 控制器的示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
第30章 PID:PID 控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274PID 功能块结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279为 PID 控制器设置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282详细的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
第31章 PID_P:具有并行结构的 PID 控制器 . . . . . . . . . . . . . . . . 287说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288为 PID_P 控制器设置参数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295详细的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
第32章 PIP:PIP 级联控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300PIP 功能块结构图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305为 PIP 级联控制器设置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308详细的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
6 33003691 10/2019
第33章 PPI:PPI 级联控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 311说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312PPI 功能块结构图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317为 PPI 级联控制器设置参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320详细的公式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
第34章 PWM:脉宽调制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327PWM 功能块的示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
第35章 QPWM:脉宽调制(简单) . . . . . . . . . . . . . . . . . . . . . . 333说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337QPWM 功能块示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
第36章 SCON3:三点步进控制器. . . . . . . . . . . . . . . . . . . . . . . . 341说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
第37章 VLIM:一阶限速器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
第IV部分 扩展/兼容性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355第38章 ADD_***_PL7:添加一段时间. . . . . . . . . . . . . . . . . . . . . 359
描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359第39章 AKF_FL:任意跳变沿的检测 . . . . . . . . . . . . . . . . . . . . . 361
描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361第40章 AKF_TA:关闭延迟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363第41章 AKF_TE:开启延迟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367第42章 AKF_TI:脉冲. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371第43章 AKF_TS:存储开启延迟 . . . . . . . . . . . . . . . . . . . . . . . . . 375
说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375第44章 AKF_TV:扩展脉冲 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379第45章 AKF_ZR:递减计数器. . . . . . . . . . . . . . . . . . . . . . . . . . . 383
说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
33003691 10/2019 7
第46章 AKF_ZV:递增计数器. . . . . . . . . . . . . . . . . . . . . . . . . . . . 387说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
第47章 AKF_ZVR:递增/递减计数器 . . . . . . . . . . . . . . . . . . . . . . 391说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
第48章 COMPARE:比较两个整数 . . . . . . . . . . . . . . . . . . . . . . . 395描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
第49章 DATE_DINT_TO_STRING:日期 (DATE PL7) 到字符串的转换. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
第50章 DAY_OF_WEEK:星期 . . . . . . . . . . . . . . . . . . . . . . . . . . 399描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
第51章 DELTA_***:两个日期之间的差别 . . . . . . . . . . . . . . . . . . 401描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
第52章 DT_ARINT_TO_STRING:将 PL7 日期转换为字符串 . . . 403描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
第53章 END:程序无条件结束 . . . . . . . . . . . . . . . . . . . . . . . . . . . 405描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
第54章 FIFO:先进/先出堆栈寄存器 . . . . . . . . . . . . . . . . . . . . . . 407说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
第55章 FPULSOR:矩形信号的生成 . . . . . . . . . . . . . . . . . . . . . . 411描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412FPULSOR 功能操作的详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
第56章 FSTEP_PL7_DRUM:将鼓强制到步 . . . . . . . . . . . . . . . . 415描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
第57章 FTOF:禁用定时器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418FTOF 功能操作的详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
第58章 FTON:激活定时器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422FTON 功能操作的详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
第59章 FTP:脉冲定时器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426FTP 功能操作的详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
第60章 GET_3X:读取 %IW 字(3x 寄存器) . . . . . . . . . . . . . . . 429描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
第61章 GET_4X:读取 %MW 字(4x 寄存器) . . . . . . . . . . . . . . 431说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
8 33003691 10/2019
第62章 GET_BIT:读取位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
第63章 HIGH_INT:提取双精度整数的 高有效字. . . . . . . . . . . 435描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
第64章 IEC_BMDI:功能块移动 . . . . . . . . . . . . . . . . . . . . . . . . . 437说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
第65章 IEC_BMDI_M:功能块移动. . . . . . . . . . . . . . . . . . . . . . . 445说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
第66章 LIFO:后进/先出堆栈寄存器. . . . . . . . . . . . . . . . . . . . . . 453说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
第67章 LOW_INT:提取双精度整数的 低有效字 . . . . . . . . . . . 457描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
第68章 MUX_DINTARR_125:数据类型为 DIntArr125 的数组的多路复用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
第69章 PL7_COUNTER:计数器/减计数器 . . . . . . . . . . . . . . . . 461描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462PL7_COUNTER 功能的操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
第70章 PL7_DRUM:鼓 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468PL7_DRUM 定时器功能的操作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . 471
第71章 PL7_MONOSTABLE:单稳 . . . . . . . . . . . . . . . . . . . . . . 473说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474PL7_MONOSTABLE 功能操作的详细描述 . . . . . . . . . . . . . . . . . . . . . 477PL7_MONOSTABLE 单稳功能的操作模式 . . . . . . . . . . . . . . . . . . . . . 478
第72章 PL7_REGISTER_32:32 字存储寄存器 . . . . . . . . . . . . . 479描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
第73章 PL7_REGISTER_255:255 字存储寄存器 . . . . . . . . . . . 483描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
第74章 PL7 和 Control Expert定时器比较. . . . . . . . . . . . . . . . . . 487PL7 和 Control Expert之间的差别:定时器 . . . . . . . . . . . . . . . . . . . . . 487
第75章 PL7_TOF:TOF 类型定时器. . . . . . . . . . . . . . . . . . . . . . 489说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490PL7_TOF 功能操作的详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493PL7_TOF 定时器功能的操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
33003691 10/2019 9
第76章 PL7_TON:TON 类型定时器 . . . . . . . . . . . . . . . . . . . . . . 495说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496PL7_TON 函数操作的详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499PL7_TON 定时器函数的操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
第77章 PL7_TP:TP 类型定时器 . . . . . . . . . . . . . . . . . . . . . . . . . 501说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502PL7_TP 功能操作的详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505PL7_TP 定时器功能的操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
第78章 PL7_3_TIMER:PL7 的 % Ti 的转换定时器. . . . . . . . . . . 507说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508PL7_3_TIMER 功能操作的详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . 511PL7_3_TIMER 定时器功能的操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . 512
第79章 PUT_4X:写入 4x 寄存器. . . . . . . . . . . . . . . . . . . . . . . . . 513说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
第80章 R_INT_WORD:类型转换 (REAL -> INT -> WORD)(R_INT_WORD:类型转换 (REAL -> INT -> WORD)) 515说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
第81章 R_UINT_WORD:类型转换 (REAL -> UINT -> WORD)(R_UINT_WORD:类型转换 (REAL -> UINT -> WORD)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
第82章 R2T_***:寄存器到表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520详细描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
第83章 READ_PCMCIA:读取存储卡中的数据 . . . . . . . . . . . . . . 523描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524READ_PCMCIA 和 WRITE_PCMCIA 示例 . . . . . . . . . . . . . . . . . . . . . 526
第84章 ROR1_ARB:从字节表向右移位一个字节 . . . . . . . . . . . . 529说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
第85章 RRTC:读取系统日期 . . . . . . . . . . . . . . . . . . . . . . . . . . . 531描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
第86章 SCOUNT:使用过冲信令执行加/减计数. . . . . . . . . . . . . . 533描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
第87章 SET_BIT:设置位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
第88章 SET_PCMCIA:初始化归档区 . . . . . . . . . . . . . . . . . . . . . 539描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
10 33003691 10/2019
第89章 SHL_RBIT_***:对整数或双精度整数向左移位 . . . . . . . 541描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
第90章 SHR_RBIT_***:对整数或双精度整数向右移位 . . . . . . . 543描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
第91章 SHRZ_***:对整数或双精度整数向右移位 . . . . . . . . . . . 545描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
第92章 SHRZ_RBIT_***:对整数或双精度整数向右移位 . . . . . . 547描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
第93章 SRCH:搜索. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
第94章 STR_ROUND:浮点数的近似值. . . . . . . . . . . . . . . . . . . 553描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
第95章 SUB_***_PL7:减去一段时间 . . . . . . . . . . . . . . . . . . . . . 555说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
第96章 SYSSTATE:系统状态 . . . . . . . . . . . . . . . . . . . . . . . . . . 559描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
第97章 T2T:表到表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562详细描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
第98章 TIME_DINT_TO_STRING:DINT 格式的变量转换. . . . . 567描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
第99章 TOD_DINT_TO_STRING:TOD 格式的变量转换. . . . . . 569描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
第100章 TRANS_TIME:转换 DINT 格式的持续时间. . . . . . . . . . 571描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
第101章 W_INT_REAL:类型转换 (WORD -> INT -> REAL)(W_INT_REAL:类型转换 (WORD -> INT -> REAL)) 573描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
第102章 W_UINT_REAL:类型转换 (WORD -> UINT -> REAL)(W_UINT_REAL:类型转换 (WORD -> UINT -> REAL)) 575描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
第103章 WRITE_PCMCIA:向存储卡写入数据 . . . . . . . . . . . . . . 577描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
第104章 WRTC:更新系统日期 . . . . . . . . . . . . . . . . . . . . . . . . . . 579描述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
33003691 10/2019 11
附录 A EFB 错误代码和值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583废弃库错误代码列表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584常见浮点错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
12 33003691 10/2019
安全信息
重要信息
声明在试图安装、操作、维修或维护设备之前,请仔细阅读下述说明并通过查看来熟悉设备。下述特定信息可能会在本文其他地方或设备上出现,提示用户潜在的危险,或者提醒注意有关阐明或简化某一过程的信息。
33003691 10/2019 13
请注意电气设备的安装、操作、维修和维护工作仅限于有资质的人员执行。施耐德电气不承担由于使用本资料所引起的任何后果。有资质的人员是指掌握与电气设备的制造和操作及其安装相关的技能和知识的人员,他们经过安全培训能够发现和避免相关的危险。
开始之前不得将本产品在缺少有效作业点防护的机器上使用。如果机器上缺少有效的作业点防护,则有可能导致机器的操作人员严重受伤。
此自动化设备及相关软件用于控制多种工业过程。根据所需控制功能、所需防护级别、生产方法、异常情况、政府法规等因素的不同,适用于各种应用的自动化设备的类型或型号会有所差异。在某些应用情况下,如果需要后备冗余,则可能需要一个以上的处理器。只有用户、机器制造商或系统集成商才能清楚知道机器在安装、运行及维护过程中可能出现的各种情况和因素,因此,也只有他们才能确定可以正确使用的自动化设备和相关安全装置及互锁设备。在为特定应用选择自动化和控制设备以及相关软件时,您应参考适用的当地和国家标准及法规。National Safety Council's Accident Prevention Manual (美国全国公认)同样提供有非常有用的信息。对于包装机等一些应用而言,必须提供作业点防护等额外的操作人员防护。如果操作人员的手部及其他身体部位能够自由进入夹点或其他危险区域内,并且可导致人员严重受伤,则必须提供这种防护。仅凭软件产品自身无法防止操作人员受伤。因此,软件无法被取代,也无法取代作业点防护。在使用设备之前,确保与作业点防护相关的适当安全设备与机械/电气联锁装置已经安装并且运行。与作业点防护相关的所有联锁装置与安全设备必须与相关自动化设备及软件程序配合使用。注意: 关于协调用于作业点防护的安全设备与机械/电气联锁装置的内容不在本文档中功能块库、系统用户指南或者其他实施的范围之内。
警告未加以防护的设备 不得将此软件及相关自动化设备用在不具有作业点防护的设备上。 在操作期间,不得将手放入机器。不遵循上述说明可能导致人员伤亡或设备损坏。
14 33003691 10/2019
启动与测试安装之后,在使用电气控制与自动化设备进行常规操作之前,应当由合格的工作人员对系统进行一次启动测试,以验证设备正确运行。安排这种检测非常重要,而且应该提供足够长的时间来执行彻底并且令人满意的测试。
执行设备文档中所建议的所有启动测试。保存所有设备文档以供日后参考使用。必须同时在仿真与真实的网络境中进行软件测试。按照地方法规(例如:依照美国 National Electrical Code)验证所完成的系统无任何短路且未安装任何临时接地线。如果必须进行高电位电压测试,请遵循设备文档中的建议,防止设备意外损坏。在对设备通电之前: 从设备上拆下工具、仪表以及去除碎片。 关闭设备柜门。 从输入电源线中拆除所有的临时接地线。 执行制造商建议的所有启动测试。
操作与调节下列预防措施来自于NEMA Standards Publication ICS 7.1-1995(以英文版本为准): 无论在设计与制造设备或者在选择与评估部件时有多谨慎,如果对此类设备造作不当,将会导
致危险出现。 有时会因为对设备调节不当而导致设备运行不令人满意或不安全。在进行功能调节时,始终以
制造商的说明书为向导。进行此类调节的工作人员应当熟悉设备制造商的说明书以及与电气设备一同使用的机器。
操作人员应当只能进行操作人员实际所需的运行调整。应当限制访问其他控件,以免对运行特性进行擅自更改。
警告设备操作危险 验证已经完成所有安装与设置步骤。 在执行运行测试之前,将所有元器件上用于运送的挡块或其他临时性支撑物拆下。 从设备上拆下工具、仪表以及去除碎片。不遵循上述说明可能导致人员伤亡或设备损坏。
33003691 10/2019 15
16 33003691 10/2019
关于本书
概览
文档范围本文档描述先期库中的功能和功能块。注意: 此库中的功能和功能块仅用于从 Concept 用户程序和 PL7 用户程序转换。即使 Control Expert 的以后版本仍将继续完全支持此先期库,也不应使用它所包含的功能和功能块创建新的用户程序。
有效性说明此文档适用于 EcoStruxure™ Control Expert 14.1 或更高版本。
33003691 10/2019 17
相关文档
您可以在我们的网站 www.schneider-electric.com/en/download下载这些技术出版物和其他技术信息。
文档标题 参考号EcoStruxure™ Control Expert 程序语言和结构参考手册 35006144(英语)、
35006145(法语)、35006146(德语)、35013361(意大利语)、35006147(西班牙语)、35013362(简体中文)
EcoStruxure™ Control Expert, 操作模式 33003101(英语)、33003102(法语)、33003103(德语)、33003104(西班牙语)、33003696(意大利语)、33003697(简体中文)
EcoStruxure™ Control Expert, 系统位和系统字参考手册 EIO0000002135(英语)、EIO0000002136(法语)、EIO0000002137(德语)、EIO0000002138(意大利语)、EIO0000002139(西班牙语)、EIO0000002140(简体中文)
EcoStruxure™ Control Expert 标准块库 33002519(英语)、33002520(法语)、33002521(德语)、33003678(意大利语)、33002522(西班牙语)、33003679(简体中文)
18 33003691 10/2019
EcoStruxure™ Control Expert一般信息33003691 10/2019
一般信息
第I部分一般信息
概述本节包含了与废弃库有关的一般信息。注意: 有关系统对象(%S 和 %SW)的详细说明,请参阅 EcoStruxure™ Control Expert, 系统位和系统字参考手册。
本部分包含了哪些内容?本部分包括以下各章:
章 章节标题 页1 块类型及其应用 212 各种硬件平台上的功能块的可用性 313 其他库中描述的原始功能的列表 37
33003691 10/2019 19
一般信息
20 33003691 10/2019
EcoStruxure™ Control Expert块类型及其应用33003691 10/2019
块类型及其应用
第1章块类型及其应用
概览本章说明各种块类型及其应用。
本章包含了哪些内容?本章包含了以下主题:
主题 页功能块类型 22FFB 结构 24EN 和 ENO 27
33003691 10/2019 21
块类型及其应用
功能块类型
功能块类型Control Expert中使用了不同的功能块类型。功能块类型统称为 FFB。以下列出了各种功能块类型: 基本功能 (EF) 基本功能块 (EFB) 导出的功能块 (DFB) 过程注意: 运动功能块在 Quantum 平台上不可用。
基本功能基本功能 (EF) 没有内部状态且只有一个输出。如果输入值相同,则执行该功能的输出值也相同,例如,每次执行两个值相加后都能得到相同的结果。在图形语言(FBD 和 LD)中,基本功能用包含多个输入和一个输出的块结构表示。输入显示在块结构的左侧,而输出显示在功能块结构的右侧。功能的名称(即功能类型)则显示在块结构的中央。对于某些基本功能,输入值的数量可以增加。注意: Unity Pro 是版本 13.1 或更高版本的 Control Expert 的原名。
注意: 对于 Unity Pro V4.0 和及更早版本,禁用 EF (EN=0) 会导致连接到其输入/输出的链路发生复位。请不要使用链路来传输信号状态。必须有一个变量连接到 EF 的输出,并且必须用于连接该元素的输出。对于 Unity Pro V4.1 及更高版本,即使通过菜单工具程序语言 → 公共 → 激活选项 → 保持禁用的 EF 上的输出连接 (EN=0) 来禁用 EF,您也能保持输出链路。
基本功能块基本功能块 (EFB) 具有内部状态。如果输入值不变,每次执行的输出值可以不同。例如,计数器的输出值是递增的。在图形语言(FBD 和 LD)中,基本功能块用包含多个输入和多个输出的块结构表示。输入显示在块结构的左侧,而输出显示在功能块结构的右侧。功能块的名称(即功能类型)则显示在块结构的中央。实例名称显示在块结构的上方。
小心意外的设备行为对于 Unity Pro V4.0 及更早版本,当您的应用依赖于 EF 的持久性输出数据时,请勿使用链路连接功能块输出。不遵循上述说明可能导致人身伤害或设备损坏。
22 33003691 10/2019
块类型及其应用
导出的功能块导出的功能块 (DFB) 具有与基本功能块相同的属性。该功能块由用户采用编程语言 FBD、LD、IL 和/或 ST 创建。
过程过程是带有若干输出的功能。它们没有内部状态。与基本功能的唯一区别是,过程可以有多个输出且支持 VAR_IN_OUT 数据类型的变量。过程不返回值。过程是对 IEC 61131-3 的补充,且必须显式启用。过程与基本功能之间并没有明显的区别。注意: Unity Pro 是版本 13.1 或更高版本的 Control Expert 的原名。
注意: 对于 Unity Pro V4.0 和及更早版本,禁用 EF (EN=0) 会导致连接到其输入/输出的链路发生复位。请不要使用链路来传输信号状态。必须有一个变量连接到 EF 的输出,并且必须用于连接该元素的输出。对于 Unity Pro V4.1 及更高版本,即使通过菜单工具程序语言 → 公共 → 激活选项 → 保持禁用的 EF 上的输出连接 (EN=0) 来禁用 EF,您也能保持输出链路。
小心意外的设备行为对于 Unity Pro V4.0 及更早版本,当您的应用依赖于 EF 的持久性输出数据时,请勿使用链路连接功能块输出。不遵循上述说明可能导致人身伤害或设备损坏。
33003691 10/2019 23
块类型及其应用
FFB 结构
结构每个 FFB 均由操作(FFB 的名称)、操作所需的操作数(形式参数和实际参数)以及基本功能块/导出的功能块的实例名称构成。在 FBD 编程语言中调用功能块:
小心应用程序的意外行为请勿多次调用一个 PLC 循环内的同一个功能块实例不遵循上述说明可能导致人身伤害或设备损坏。
24 33003691 10/2019
块类型及其应用
在 ST 编程语言中正式调用功能块:
操作操作用于确定使用 FFB 执行的功能,例如移位寄存器,转换操作等。
操作数操作数用于指定与操作一起执行的内容。在 FFB 中,操作数由形式参数和实际参数构成。
形式参数/实际参数需要通过输入和输出将值传输给 FFB 或从 FFB 传输值。这些输入/输出称为形式参数。对象链接到形式参数,这些对象中包含当前的过程状态。它们称为实际参数。在程序运行时,来自过程的值通过实际参数传输给 FFB,处理之后再次输出。 实际参数的数据类型必须与输入/输出(形式参数)的数据类型匹配。唯一的例外是一般输入/输出,其数据类型由实际参数决定。如果实际参数由数值构成,则会为功能块选择合适的数据类型。
IL/ST 中的 FFB 调用在文本语言 IL 和 ST 中,可以采用正式和非正式的形式调用 FFB。关于详情,请参阅章节 编程语言 (参见 EcoStruxure™ Control Expert, 程序语言和结构, 参考手册)。正式功能调用示例:out:=LIMIT (MN:=0, IN:=var1, MX:=5);
非正式功能调用示例:out:=LIMIT (0, var1, 5);
注意: EN 和 ENO 只能用在正式调用中。
33003691 10/2019 25
块类型及其应用
VAR_IN_OUT 变量FFB 常用于在输入处(输入变量)读取变量,然后处理该变量并输出同一变量更改后的值(输出变量)。这种特殊类型的输入/输出变量也称为 VAR_IN_OUT 变量。在图形语言(FBD 和 LD)中,输入和输出变量通过一条线链接在一起,表明它们是一体的。在 FBD 中,包含 VAR_IN_OUT 变量的功能块:
在 ST 中,包含 VAR_IN_OUT 变量的功能块:MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT,
OUT1=>Output1, OUT2=>Output2);
在使用包含 VAR_IN_OUT 变量的 FFB 时,必须注意以下几点: 必须为 VAR_IN_OUT 输入分配一个变量。 不能将数值或常量赋给 VAR_IN_OUT 输入/输出。 以下限制适用于图形语言(FBD 和 LD): 在使用图形连接时,VAR_IN_OUT 输出只能与 VAR_IN_OUT 输入连接。 VAR_IN_OUT 输入/输出只能与一个图形链接相连接。 VAR_IN_OUT 输入和 VAR_IN_OUT 输出可以与不同的变量/变量组件相连接。在这种情况下,输入
上的变量/变量组件的值将被复制到输出变量/变量组件。 取反不能用在 VAR_IN_OUT 输入/输出上。 VAR_IN_OUT 输出不能采用变量/地址和图形连接的组合。
26 33003691 10/2019
块类型及其应用
EN 和 ENO
描述可以为 FFB 配置 EN 输入和 ENO 输出。如果调用 FFB 时 EN 的值等于“0”,将不执行 FFB 所定义的算法,并将 ENO 设置为“0”。如果调用 FFB 时 EN 的值为“1”,则会执行 FFB 所定义的算法。算法成功执行之后,ENO 的值将设置为“1”。如果在执行这些算法的过程中检测到某些特定错误情况,则将 ENO 设置为“0”。如果 EN 引脚未赋值,则在调用 FFB 时,会执行 FFB 所定义的算法(与 EN 等于“1”时的情况相同)。请参阅维护已禁用的 EF 上的输出链接 (参见 EcoStruxure™ Control Expert, 操作模式)。如果成功执行了算法,那么将 ENO 的值设置为“1”,另外将 ENO 设置为“0”。如果将 ENO 设置为“0”(这是由于 EN=0、执行过程中检测到错误情况或算法执行失败导致的): 功能块 只有一个链路作为输出参数的功能块中的 EN/ENO:
如果 FunctionBlock_1 的 EN 设置为“0”,则 FunctionBlock_1 的输出连接 OUT 将保持上次正确执行循环中的状态。
具有一个变量和一个链路作为输出参数的功能块中的 EN/ENO:
如果 FunctionBlock_1 的 EN 设置为“0”,则 FunctionBlock_1 的输出连接 OUT 将保持上次正确执行循环中的状态。同一个引脚上的变量 OUT1,可以保持之前的状态,也可以在不影响连接的情况下从外部进行更改。变量和链路将分开保存。
33003691 10/2019 27
块类型及其应用
功能/过程注意: Unity Pro 是版本 13.1 或更高版本的 Control Expert 的原名。
注意: 对于 Unity Pro V4.0 和及更早版本,禁用 EF (EN=0) 会导致连接到其输入/输出的链路发生复位。请不要使用链路来传输信号状态。必须有一个变量连接到 EF 的输出,并且必须用于连接该元素的输出。对于 Unity Pro V4.1 及更高版本,即使通过菜单工具程序 语言 → 公共 → 激活选项 → 保持禁用的 EF 上的输出连接 (EN=0) 来禁用 EF,您也能保持输出链路。如 IEC61131-3 中所定义,未定义已禁用功能(EN 输入设置为“0”)的输出。(这同样适用于过程。) 此处对这种情况下的输出状态做出了解释: 带有功能/过程(仅将一个链路作为输出参数)的 EN/ENO 处理:
如果 Function/Procedure_1 的 EN 设置为 “0”,则 Function/Procedure_1 输出连接 OUT 也设置为“0”。
具有一个变量和一个链路作为输出参数的功能块中的 EN/ENO:
如果 Function/Procedure_1 的 EN 设置为 “0”,则 Function/Procedure_1 输出连接 OUT 也设置为“0”。同一个引脚上的变量 OUT1,可以保持之前的状态,也可以在不影响连接的情况下从外部进行更改。变量和链路将分开保存。
FFB 的输出行为与调用 FFB 时是否未使用 EN/ENO 还是 EN=1 无关。
小心意外的设备行为对于 Unity Pro V4.0 及更早版本,当您的应用依赖于 EF 的持久性输出数据时,请勿使用链路连接功能块输出。不遵循上述说明可能导致人身伤害或设备损坏。
28 33003691 10/2019
块类型及其应用
有条件/无条件 FFB 调用每个 FFB 都可以被“无条件”或“有条件”调用。条件通过预先链接输入 EN 来实现。 EN 已连接
有条件调用(仅当 EN = 1 时才处理 FFB) EN 已显示、隐藏并标记为 TRUE,或已显示但未占用
无条件调用(将 FFB 和 EN 分开处理)注意: 对于已禁用的带有内部时间功能(如 DELAY)的功能块 (EN = 0),时间看上去始终保持运行,因为此时间是使用系统时钟计算得出的,因而与程序循环和功能块释放无关。
IL 和 ST 注意事项对于正式的 FFB 调用,EN 和 ENO 只能用在文本语言中,如:MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2,ENO=>error, OUT1=>result1, OUT2=>result2);
为 ENO 分配变量时必须使用操作符 =>。EN 和 ENO 不能用于非正式调用。
小心意外的应用程序设备在设备运行时,请勿禁用带有内部时间功能的功能块。不遵循上述说明可能导致人身伤害或设备损坏。
33003691 10/2019 29
块类型及其应用
30 33003691 10/2019
EcoStruxure™ Control Expert块的可用性33003691 10/2019
各种硬件平台上的功能块的可用性
第2章 各种硬件平台上的功能块的可用性
各种硬件平台上的功能块可用性
简介并非所有功能块在所有硬件平台上都可用。可参见下表了解适用于您所在的硬件平台的功能块。注意: 此库中的功能和功能块并未在 IEC 61131-3 中定义。
CLC功能块的可用性:
功能块名称 功能块类型 M340 M580 Quantum Momentum Premium 来源DELAY EFB + + + + + ConceptINTEGRATOR1 EFB + + + + + ConceptLAG1 EFB + + + + + ConceptLEAD_LAG1 EFB + + + + + ConceptLIMV EFB + + + + + ConceptPI1 EFB + + + + + ConceptPID1 EFB + + + + + ConceptPIDP1 EFB + + + + + ConceptSMOOTH_RATE EFB + + + + + ConceptTHREE_STEP_CON1 EFB + + + + + ConceptTHREEPOINT_CON1 EFB + + + + + ConceptTWOPOINT_CON1 EFB + + + + + Concept
图例:+ 是 - 否
33003691 10/2019 31
块的可用性
CLC_PRO功能块的可用性:
功能块名称 功能块类型 M340 M580 Quantum Momentum Premium 来源ALIM EFB + + + + + ConceptCOMP_PID EFB + + + + + ConceptDEADTIME EFB + + + + + ConceptDERIV EFB + + + + + ConceptFGEN EFB + + + + + ConceptINTEG EFB + + + + + ConceptLAG EFB + + + + + ConceptLAG2 EFB + + + + + ConceptLEAD_LAG EFB + + + + + ConceptPCON2 EFB + + + + + ConceptPCON3 EFB + + + + + ConceptPD_OR_PI EFB + + + + + ConceptPDM EFB + + + + + ConceptPI EFB + + + + + ConceptPID EFB + + + + + ConceptPID_P EFB + + + + + ConceptPIP EFB + + + + + ConceptPPI EFB + + + + + ConceptPWM EFB + + + + + ConceptQPWM EFB + + + + + ConceptSCON3 EFB + + + + + ConceptVLIM EFB + + + + + Concept
图例:+ 是- 否
32 33003691 10/2019
块的可用性
扩展/兼容性功能块的可用性:
功能块名称 功能块类型 M340 M580 Quantum Momentum Premium 来源ADD_DT_PL7 EF + - - + + PL7ADD_TOD_PL7 EF + - - + + PL7AKF_FL EFB + + + + + ConceptAKF_TA EFB + + + + + ConceptAKF_TE EFB + + + + + ConceptAKF_TI EFB + + + + + ConceptAKF_TS EFB + + + + + ConceptAKF_TV EFB + + + + + ConceptAKF_ZR EFB + + + + + ConceptAKF_ZV EFB + + + + + ConceptAKF_ZVR EFB + + + + + ConceptAND_ARINT_INT EF + - + + + PL7AND_ARDINT_DINT EF + - + + + PL7AND_*** EF + - + + + PL7COMPARE 过程 + + + + TSX P 57 5• PL7DATE_DINT_TO_STRING EF + - - + + PL7DAY_OF_WEEK EF + - - + + PL7DELTA_D EF + - - + + PL7DELTA_DT EF + - - + + PL7DELTA_TOD EF + - - + + PL7DOWN_PL7_COUNTER 过程 - - - - + PL7DOWN_PL7_TOF 过程 - - - - + PL7DOWN_PL7_TON 过程 - - - - + PL7DOWN_PL7_TP 过程 - - - - + PL7DT_ARINT_TO_STRING EF + - - + + PL7END 过程 + + 仅 140
CPU 6xx xx+ + PL7
FIFO EFB + + + + + ConceptFPULSOR 过程 + + - + + PL7FSTEP_PL7_DRUM 过程 - - - - + PL7FTOF 过程 - - - - + PL7FTON 过程 - - - - + PL7
33003691 10/2019 33
块的可用性
FTP 过程 - - - - + PL7GET_3X EF - - + - - ConceptGET_4X EF + - + + + ConceptGET_BIT EF + + + + + ConceptGET_PL7_REGISTER_255 过程 - - - - + PL7GET_PL7_REGISTER_32 过程 - - - - + PL7HIGH_INT EF + + + + + PL7IEC_BMDI 过程 - - + - - ConceptIEC_BMDI_M 过程 - - - + - ConceptLIFO EFB + + + + + ConceptLOW_INT EF + + + + + PL7MUX_DINTARR_125 EF + + + + + ConceptNOT_ARINT EF + + + + + PL7NOT_ARDINT EF + + + + + PL7NOT_INT EF + + + + + PL7NOT_DINT EF + + + + + PL7OR_ARINT_INT EF + + + + + PL7OR_ARDINT_DINT EF + + + + + PL7OR_*** EF + + + + + PL7PL7_3_TIMER EFB - - - - + PL7PL7_COUNTER EFB - - - - + PL7PL7_DRUM EFB - - - - + PL7PL7_MONOSTABLE EFB - - - - + PL7PL7_REGISTER_255 EFB - - - - + PL7PL7_REGISTER_32 EFB - - - - + PL7PL7_TOF EFB - - - - + PL7PL7_TON EFB - - - - + PL7PL7_TP EFB - - - - + PL7PRESET_PL7_3_TIMER 过程 - - - - + PL7PRESET_PL7_COUNTER 过程 - - - - + PL7PUT_4X 过程 + - + + + ConceptPUT_PL7_REGISTER_255 过程 - - - - + PL7PUT_PL7_REGISTER_32 过程 - - - - + PL7R_INT_WORD EF + + + + + Concept
功能块名称 功能块类型 M340 M580 Quantum Momentum Premium 来源
34 33003691 10/2019
块的可用性
R_UINT_WORD EF + + + + + ConceptREAD_PCMCIA 过程 - - 仅 140
CPU 6xx xx- + PL7
R2T_*** EFB + + + + + ConceptRESET_PL7_COUNTER 过程 - - - - + PL7RESET_PL7_DRUM 过程 - - - - + PL7RESET_PL7_REGISTER_255 过程 - - - - + PL7RESET_PL7_REGISTER_32 过程 - - - - + PL7ROL_*** EF + + + + + PL7ROR_*** EF + + + + + PL7ROR1_ARB 过程 + + + + + PL7RRTC 过程 + + - + + PL7SCOUNT 过程 + + + + + PL7SET_BIT EF + + + + + ConceptSET_PCMCIA 过程 - - + - + PL7SHL_*** EF + + + + + PL7SHL_RBIT_*** 过程 + + + + + PL7SHR_RBIT_*** 过程 + + + + + PL7SHRZ_*** EF + + + + + PL7SHRZ_RBIT_*** 过程 + + + + + PL7SRCH EFB + + + + + ConceptSTART_PL7_3_TIMER 过程 - - - - + PL7START_PL7_MONOSTABLE 过程 - - - - + PL7START_PL7_TOF 过程 - - - - + PL7START_PL7_TON 过程 - - - - + PL7START_PL7_TP 过程 - - - - + PL7STOP_PL7_3_TIMER 过程 - - - - + PL7STR_ROUND 过程 + + + + + PL7SUB_***_PL7 EF + - - + + PL7SYSSTATE EFB + + + + + ConceptT2T EFB + + + + + ConceptTIME_DINT_TO_STRING EF + - - + + PL7TOD_DINT_TO_STRING EF + - - + + PL7TRANS_TIME EF + + - + + PL7UP_PL7_COUNTER 过程 - - - - + PL7
功能块名称 功能块类型 M340 M580 Quantum Momentum Premium 来源
33003691 10/2019 35
块的可用性
UP_PL7_DRUM 过程 - - - - + PL7W_INT_REAL EF + + + + + ConceptW_UINT_REAL EF + + + + + ConceptWRITE_PCMCIA 过程 - - 仅 140
CPU 6xx xx- + PL7
WRTC 过程 + + - + + PL7XOR_ARINT_INT EF + - + + + PL7XOR_ARDINT_DINT EF + - + + + PL7XOR_*** EF + - + + + PL7
图例:+ 是- 否
功能块名称 功能块类型 M340 M580 Quantum Momentum Premium 来源
36 33003691 10/2019
EcoStruxure™ Control Expert其他库中描述的原始功能的列表33003691 10/2019
其他库中描述的原始功能的列表
第3章其他库中描述的原始功能的列表
功能摘要
概览尽管某些功能属于原始库,但在常规库的文档中仍对这些功能进行了描述。 下表对这些功能进行了总结,并指出了人们在使用 Control Expert访问它们时可遵循的功能系列与这些功能在常规库的文档描述中所属的功能系列之间的对应关系。
使用原始功能此库包括来自以前软件版本的功能。保留这些功能可以转换由Control Expert以外的软件产品创建的应用程序,并使用户能够继续像以前一样进行编程。在大多数情况下,功能是特定于某个 API 范围的。不过,应该注意这些功能不符合 IEC 61131-3 规范,而且其中某些功能有相应的 IEC 功能。因此,建议不要使用此库来创建可在各 PLC 之间传输的程序模块。
摘要表下表显示了过时库的不同功能,这些功能在常规库中进行了描述:
功能 使用 Control Expert访问此功能时所遵循的系列
此功能在文档描述中所属的系列
AND_ARDINT_DINT 扩展/兼容性 数组AND_ARINT_INT 扩展/兼容性 数组AND_ARDINT 扩展/兼容性 数组AND_ARINT 扩展/兼容性 数组AND_DINT 扩展/兼容性 逻辑AND_INT 扩展/兼容性 逻辑NOT_DINT 扩展/兼容性 逻辑NOT_INT 扩展/兼容性 逻辑NOT_ARDINT 扩展/兼容性 数组NOT_ARINT 扩展/兼容性 数组OR_ARDINT_DINT 扩展/兼容性 数组OR_ARINT_INT 扩展/兼容性 数组OR_ARDINT 扩展/兼容性 数组
33003691 10/2019 37
其他库中描述的原始功能的列表
有关这些功能的更多详细信息,请参阅 EcoStruxure™ Control Expert 标准块库。
OR_ARINT 扩展/兼容性 数组OR_DINT 扩展/兼容性 逻辑OR_INT 扩展/兼容性 逻辑ROL_DINT 扩展/兼容性 逻辑ROL_INT 扩展/兼容性 逻辑ROR_DINT 扩展/兼容性 逻辑ROR_INT 扩展/兼容性 逻辑SHL_DINT 扩展/兼容性 逻辑SHL_INT 扩展/兼容性 逻辑XOR_ARDINT_DINT 扩展/兼容性 数组XOR_ARINT_INT 扩展/兼容性 数组XOR_ARDINT 扩展/兼容性 数组XOR_ARINT 扩展/兼容性 数组XOR_DINT 扩展/兼容性 逻辑XOR_INT 扩展/兼容性 逻辑
功能 使用 Control Expert访问此功能时所遵循的系列
此功能在文档描述中所属的系列
38 33003691 10/2019
EcoStruxure™ Control ExpertCLC33003691 10/2019
CLC
第II部分CLC
概述本部分描述 CLC 系列中的基本功能和基本功能块。
本部分包含了哪些内容?本部分包括以下各章:
章 章节标题 页4 DELAY:延迟时间设备 415 INTEGRATOR1:带限制的积分器 476 LAG1:一阶延迟元素 537 LEAD_LAG1:带滤波功能的 PD 设备 598 LIMV:一阶限速器 679 PI1:PI 控制器 73
10 PID1:PID 控制器 8311 PIDP1:具有并行结构的 PID 控制器 9712 SMOOTH_RATE:带滤波功能的微分器 10913 THREE_STEP_CON1:三点步进控制器 11514 THREEPOINT_CON1:三点控制器 12315 TWOPOINT_CON1:两点控制器 131
33003691 10/2019 39
CLC
40 33003691 10/2019
EcoStruxure™ Control ExpertDELAY33003691 10/2019
DELAY:延迟时间设备
第4章DELAY:延迟时间设备
简介本章描述 DELAY 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 42操作模式 45功能块的行为示例 46
33003691 10/2019 41
DELAY
说明
功能描述使用此功能块,输入信号会按延迟时间进行延迟。功能块将信号 X 延迟 T_DELAY 的延迟时间后,该信号才再次出现在 Y 处。该功能块集成了一个可容纳 128 个元素(X 值)的延迟缓冲区,这意味着在 T_DELAY 的时间间隔内可存储 128 个 X 值。以这种方式使用缓冲区可使它与操作模式保持一致。无论系统是冷启动还是热启动,Y 的值都保持不变。内部值将设置为 X 的值。在延迟时间 T_DELAY 发生更改或系统冷启动/热启动后,输出 READY 将设置为“0”。这表示:缓冲区由于为空而未就绪。该功能块具有以下操作模式:手动、暂停和自动模式。可以将 EN 和 ENO 配置为附加参数。注意: 即使通过 EN 参数禁用了块,延迟时间仍继续运行,因为块根据系统时钟计算其时间微分。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
42 33003691 10/2019
DELAY
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL DELAY_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputValue, T_DELAY:=DelayTime, YMAN:=ManualControl_Y_Value, Y=>Output, READY=>InternalBufferFlag)
在 ST 中的表示形式表示形式:DELAY_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputValue, T_DELAY:=DelayTime, YMAN:=ManualControl_Y_Value, Y=>Output, READY=>InternalBufferFlag) ;
参数说明输入参数描述:
参数 数据类型 说明MAN BOOL “1”= 手动操作模式HALT BOOL “1”= 暂停模式X REAL 输入值T_DELAY TIME 延迟时间YMAN REAL 手动操作值
33003691 10/2019 43
DELAY
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明Y REAL 输出READY BOOL “1”= 内部缓冲区已满
“0”= 内部缓冲区未满(例如,热/冷启动后或延迟时间更改后)
44 33003691 10/2019
DELAY
操作模式
选择操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择。
自动操作模式在自动模式中,功能块根据下列规则执行操作:
自动模式的示例示例中接受下列值:循环时间 = 100 毫秒T_DELAY = 10 秒tin = T_DELAY / 128 = 78 毫秒由于读取时间 tin 短于循环时间,每个 X 值都传送到缓冲区。第四次执行功能块时(即 400 毫秒后),X 值保存两次而非一次(像 3 x 78 = 312 且 4 x 78 = 390)。
手动模式在手动模式中,手动值 YMAN 始终传送到控制输出 Y。内部缓冲区装满手动值 YMAN。缓冲区标记为已满 (READY =1)。
暂停模式在暂停模式中,输出 Y 将保留 后一次计算的值。内部缓冲区仍如同在自动模式中一样继续操作。
操作模式 MAN HALT
自动 0 0手动模式 1 0 或 1暂停 0 1
如果... 则...当前的 X 值传送到缓冲区,缓冲区中 旧的 X 值放置在输出 Y 上。如果循环时间大于 T_DELAY / 128,则分辨率将小于 128,这会导致使某些 X 值双重存储的系统错误。(请参阅下面的示例)。并非所有的 X 值都可以存储在缓冲区中。在这种情况下,在某些循环中将不保存 X 值,而 Y 在这些循环中保持不变。
33003691 10/2019 45
DELAY
功能块的行为示例
示例下图显示了该功能块的行为示例。输入 X 的值变化(从一个值变为另一个值)遵从斜坡函数。延迟了 T_DELAY 延迟时间后,X 值显示在 Y 上。DELAY 功能块图
46 33003691 10/2019
EcoStruxure™ Control Expert INTEGRATOR133003691 10/2019
INTEGRATOR1:带限制的积分器
第5章INTEGRATOR1:带限制的积分器
简介本章描述 INTEGRATOR1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 48详细描述 51
33003691 10/2019 47
INTEGRATOR1
说明
功能描述该功能块复制带限制的积分器。该功能块具有以下属性: 手动、暂停和自动模式 自动模式中的操作变量限制注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
输出 Y 的公式为:
大小的含义
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
变量 说明上一个循环的输入 X 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
48 33003691 10/2019
INTEGRATOR1
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL INTEGRATOR1_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputVariable, GAIN:=IntegralGain, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualControlLimit, Y=>Output, QMAX=>Y_AtUpperLimit, QMIN=>Y_AtLowerLimit)
33003691 10/2019 49
INTEGRATOR1
在 ST 中的表示形式表示形式:INTEGRATOR1_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputVariable, GAIN:=IntegralGain, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualControlLimit, Y=>Output, QMAX=>Y_AtUpperLimit, QMIN=>Y_AtLowerLimit) ;
参数说明输入参数描述:
输出参数描述:
运行时错误如果 YMAN < YMIN,则会出现一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式暂停 BOOL “1”= 暂停模式X REAL 输入变量GAIN REAL 积分增益YMAX REAL 上限YMIN REAL 下限YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出QMAX BOOL “1”= 输出 Y 已达到上限QMIN BOOL “1”= 输出 Y 已达到下限
50 33003691 10/2019
INTEGRATOR1
详细描述
参数设置该功能块的参数赋值是通过确定积分 GAIN 以及输出 Y 的界限值 YMAX 和 YMIN 来实现的。限制 YMAX 和 YMIN 将输出限制在规定范围内。因此 YMIN ≤ Y ≤ YMAX。标记 QMAX 和 QMIN 已达到限制或者输出信号正受到限制。 如果 Y ≥ YMAX,则 QMAX = 1 如果 Y ≤ YMIN,则 QMIN = 1
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择:
示例输入信号是通过时间集成的。如果输入 X 上有跳转,则输出将根据斜坡函数而增加(对于正 X 值)或减少(对于负 X 值)。Y 始终在 YMAX 和 YMIN 之间;如果 Y 等于 YMAX 或 YMIN,这将会在 QMAX 或 QMIN 中相应出现。它显示积分器跳转响应:
操作模式 MAN HALT 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。但是,控制输出受
YMAX 和 YMIN 的限制。暂停 0 1 输出 Y 将保留 后一次计算的值。
33003691 10/2019 51
INTEGRATOR1
52 33003691 10/2019
EcoStruxure™ Control ExpertLAG133003691 10/2019
LAG1:一阶延迟元素
第6章LAG1:一阶延迟元素
简介本章描述 LAG1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 54详细描述 57
33003691 10/2019 53
LAG1
说明
功能描述该功能块表示一阶延迟元素。该功能块包含以下操作模式: 手动模式 暂停 自动注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
计算公式为:
大小的含义
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
变量 说明上一个循环的输入 X 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
54 33003691 10/2019
LAG1
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL LAG1_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputValue, GAIN:=GainFactor, LAG:=DelayTimeConstant, YMAN:=ManualControlValue, Y=>Output)
33003691 10/2019 55
LAG1
在 ST 中的表示形式表示形式:LAG1_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputValue, GAIN:=GainFactor, LAG:=DelayTimeConstant, YMAN:=ManualControlValue, Y=>Output) ;
参数说明输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式暂停 BOOL “1”= 暂停模式X REAL 输入值GAIN REAL 增益系数LAG TIME 延迟时间常数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出
56 33003691 10/2019
LAG1
详细描述
参数设置该功能块的参数设置是通过指定 GAIN 系数以及设置延迟时间常数 LAG 的参数来实现的。输入 X 的单位跳转(输入 X 从 0 到 1.0 的跳转)遵从输出 Y 并具有一定的延迟。通过一个指数函数
输出 Y 将接近于值 。
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择:
示例下图显示 LAG 设备的跳转响应的示例。输入 X 跳转到一个新值,输出 Y 遵从输入 X 的指数函数。功能块 LAG1 的跳转响应(如果 GAIN = 1)
操作模式 MAN HALT 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。
33003691 10/2019 57
LAG1
58 33003691 10/2019
EcoStruxure™ Control ExpertLEAD_LAG133003691 10/2019
LEAD_LAG1:带滤波功能的 PD 设备
第7章LEAD_LAG1:带滤波功能的 PD 设备
简介本章描述 LEAD_LAG1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 60详细描述 63功能块 LEAD_LAG1 的示例 64
33003691 10/2019 59
LEAD_LAG1
说明
功能描述该功能块用作带有后续滤波功能的 PD 轮廓。该功能块具有以下属性: 可定义的 D 组件延迟 手动、暂停和自动操作模式注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
计算公式为:
大小的含义
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
变量 说明上一个循环的输入 X 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
60 33003691 10/2019
LEAD_LAG1
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL LEAD_LAG1_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=Input, GAIN:=GainFactor, LEAD:=DifferentialTimeConstant, LAG:=DelayTimeConstant, YMAN:=ManualControlValue, Y=>Output)
33003691 10/2019 61
LEAD_LAG1
在 ST 中的表示形式表示形式:LEAD_LAG1_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=Input, GAIN:=GainFactor, LEAD:=DifferentialTimeConstant, LAG:=DelayTimeConstant, YMAN:=ManualControlValue, Y=>Output) ;
参数说明输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式HALT BOOL “1”= 暂停模式X REAL 输入GAIN REAL 增益系数LEAD TIME 微分时间常数LAG TIME 延迟时间常数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出
62 33003691 10/2019
LEAD_LAG1
详细描述
参数设置该功能块的参数赋值是通过定义 GAIN 系数、微分时间常数 LEAD 的值和延迟时间常数 LAG 的值来实现的。对于非常短的采样时间和输入 X 的单位跳转(当输入 X 为 0 到 1.0 的跳转),输出 Y 将跳转到值
(理论值 - 实际上稍微小些,因为采样时间并非无限小),它使用时间常数 LAG 可进一步接近值 。
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择:
操作模式 MAN HALT 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。
33003691 10/2019 63
LEAD_LAG1
功能块 LEAD_LAG1 的示例
示例概述以下各图演示了如下示例: LEAD = LAG
LEAD=LAG * 0.5,GAIN = 1
LEAD/LAG = 2,GAIN = 1
LEAD = LAG
这些功能块的行为与乘数为 GAIN 的纯乘法块相似。功能块 LEAD_LAG1(当 LEAD = LAG 时)
64 33003691 10/2019
LEAD_LAG1
LEAD=LAG * 0.5,GAIN = 1在这种情况下,输出 Y 跳转到结束值的一半以便使用延迟时间常数 lag (GAIN * X) 达到结束值。功能块 LEAD_LAG1(当 LEAD/LAG = 0.5 且 GAIN = 1 时)
LEAD/LAG = 2,GAIN = 1在这种情况下,输出 Y 跳转到结束值的两倍以便使用延迟时间常数 LAG (GAIN * X) 达到结束值。功能块 LEAD_LAG1(当 LEAD/LAG = 2 且 GAIN = 1 时)
33003691 10/2019 65
LEAD_LAG1
66 33003691 10/2019
EcoStruxure™ Control ExpertLIMV33003691 10/2019
LIMV:一阶限速器
第8章LIMV:一阶限速器
简介本章描述 LIMV 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 68详细描述 71
33003691 10/2019 67
LIMV
说明
功能描述该功能块生成具有操作变量限制的一阶限速器。将输入变量 IN 的梯度限制为预定义的 RATE 值。此外,将通过 YMAX 和 YMIN 限制输出 Y。这就允许该功能块将信号调整为技术上受限的速度和来自控制元素的限制。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 手动、暂停和自动操作模式 自动模式中的操作变量限制
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
68 33003691 10/2019
LIMV
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL LIMV_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=Input, RATE:=MaximumRateOfChange, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualControlValue, Y=>Output, QMAX=>Y_AtUpperLimit, QMIN=>Y_AtLowerLimit)
在 ST 中的表示形式表示形式:LIMV_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=Input, RATE:=MaximumRateOfChange, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualControlValue, Y=>Output, QMAX=>Y_AtUpperLimit, QMIN=>Y_AtLowerLimit) ;
33003691 10/2019 69
LIMV
参数说明输入参数描述:
输出参数描述:
运行时错误如果 YMAX < YMIN,则会出现一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式暂停 BOOL “1”= 暂停模式X REAL 输入RATE REAL 大上限( 大值 x’)YMAX REAL 上限YMIN REAL 下限YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出QMAX BOOL “1”= 输出 Y 已达到上限QMIN BOOL “1”= 输出 Y 已达到下限
70 33003691 10/2019
LIMV
详细描述
参数设置该功能块的参数赋值是通过确定 大速度 RATE 以及输出 Y 的界限值 YMAX 和 YMIN 来实现的。 大速度 rate 指示输出在一秒内可能更改的量。将为参数 RATE 计算该量。如果 RATE = 0,则 Y = X。限制 YMAX 和 YMIN 将输出限制在规定范围内。因此 YMIN ≤ Y ≤ YMAX。输出 QMAX 和 QMIN 已达到限制或者输出信号正受到限制。 如果 Y ≥ YMAX,则 QMAX = 1 如果 Y ≤ YMIN,则 QMIN = 1
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择:
操作模式 MAN HALT 含义自动 0 0 Y 的当前值将不断地计算并输出。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。但是,控制
输出受 YMAX 和 YMIN 的限制。暂停 0 1 输出 Y 将保留 后一次计算的值。
33003691 10/2019 71
LIMV
示例该功能块跟踪输入 X 在速度发生 大变化时的跳转。输出 Y 在暂停模式下保持停止状态,以便随后从它停止的位置继续前进。同样,通过 YMAX 和 YMIN 以及相关消息 QMAX 和 QMIN,可以明显地看到输出 Y 的限制。LIMV 的动态行为:
72 33003691 10/2019
EcoStruxure™ Control ExpertPI133003691 10/2019
PI1:PI 控制器
第9章PI1:PI 控制器
简介本章描述 PI1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 74公式 78参数设置 79操作模式 80PI1 控制器的示例 81
33003691 10/2019 73
PI1
说明
功能描述该功能块表示一个简单的 PI 控制器。系统偏差 ERR 由设定点 SP 和受控变量 PV 之间的差异得出。此偏差 ERR 会导致操作变量 Y 发生更改。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 手动、暂停和自动操作模式 手动和自动之间无冲击转换 操作变量限制 Anti-Windup 复位 仅对活动 I 组件采用 Anti-windup 方法
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
74 33003691 10/2019
PI1
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 75
PI1
在 IL 中的表示形式表示形式:CAL PI1_Instance (MAN:=ManualMode, HALT:=HaltMode, SP:=SetpointValueInput, PV:=ProcessVariable, GAIN:=ProportionalRate, TI:=ResetTime, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualValue, Y=>ManipulatedVariable, ERR=>OutputSystemDeviation, QMAX=>Y_Reached_YMAX, QMIN=>Y_Reached_YMIN)
在 ST 中的表示形式表示形式:PI1_Instance (MAN:=ManualMode, HALT:=HaltMode, SP:=SetpointValueInput, PV:=ProcessVariable, GAIN:=ProportionalRate, TI:=ResetTime, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualValue, Y=>ManipulatedVariable, ERR=>OutputSystemDeviation, QMAX=>Y_Reached_YMAX, QMIN=>Y_Reached_YMIN) ;
参数说明输入参数描述:
输出参数描述:
参数 数据类型 说明MAN BOOL "1": 手动模式HALT BOOL "1": 暂停模式SP REAL 设定点输入PV REAL 受控变量(过程变量)GAIN REAL 比例作用系数(增益)TI TIME 积分时间 YMAX REAL 上限YMIN REAL 下限YMAN REAL 手动值
参数 数据类型 说明Y REAL 操作变量ERR REAL 输出系统偏差QMAX BOOL “1”= 输出 Y 已达到上限QMIN BOOL “1”= 输出 Y 已达到下限
76 33003691 10/2019
PI1
运行时错误如果 YMAX < YMIN,则会出现一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
33003691 10/2019 77
PI1
公式
转换函数转换函数为:
通过设置 TI = 0 可禁用 I 组件。
计算公式计算公式为:
输出信号 Y输出信号 Y 为:
I 组件是根据梯形规则得出的。
公式变量说明公式变量的含义如下表所示:
变量 含义当前采样时间
系统偏差 (SP - PV)
上一个采样步中的系统偏差值
YI I 组件YP P 组件
78 33003691 10/2019
PI1
参数设置
结构图以下是 PI1 控制器的结构图:
参数设置PI1 控制结构显示在结构图, 第 79 页中。设置功能块的参数时首先设置基本的 PI 参数:比例作用系数 GAIN 和复位时间 TI。限制 YMAX 和 YMIN 将输出限制在规定范围内。因此 YMIN ≤ Y ≤ YMAX。标记 QMAX 和 QMIN 已达到限制或者输出信号正受到限制。 如果 Y ≥ YMAX,则 QMAX = 1 如果 Y ≤ YMIN,则 QMIN = 1
操作变量限制对各组件求和得到的操作变量进行限制,使:YMIN ≤ Y ≤ YMAX
Anti-Windup 复位如果出现操作变量的限制,则 Anti-windup 复位应确保积分组件"不能失控"。仅当未禁用控制器的 I 组件时才实施 Anti-windup 方法。Anti-windup 限制与对操作变量的限制相同。Anti-windup 复位方法修正 I 组件,以使:YMIN - YP ≤ YI ≤ YMAX - YP
33003691 10/2019 79
PI1
操作模式
选择操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择。
自动操作模式在自动模式中,控制输出 Y 是通过闭合回路控制并根据受控变量 PV 和引用变量 SP 确定的。操作变量受 YMAX 和 YMIN 的限制。该控制界限也是对 Anti-windup 复位的限制。由于输出 Y 可取 YMAX 和 YMIN 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。不过,如果要求从自动转换到手动是无冲击的,则存在两种可能,这将作为 PID1 控制器 (参见第 92 页)的示例进行说明。
手动模式在手动模式中,手动操作值 YMAN 将直接传递给控制输出 Y。但是,操作变量受 YMAX 和 YMIN 的限制。在操作内部变量时,将保证控制器能够无冲击从手动地转换到自动(在启用了 I 组件的情况下)。该控制界限也是对 Anti-windup 复位的限制
暂停模式在暂停模式中,控制输出保持不变;功能块不影响控制输出 Y,即 Y = Y(旧值)。在操作内部变量时,将保证组件总数相当于操作变量,因此允许控制器从其当前位置平稳地驱动。该控制界限也是对 Anti-windup 复位的限制。
操作模式 MAN HALT
自动 0 0手动模式 1 1 或 0暂停 0 1
80 33003691 10/2019
PI1
PI1 控制器的示例
示例PI1 控制器的跳转响应作为一个示例显示在下面的图 (参见第 81 页)中。在图的第一部分中可以看到功能块对 MAN 操作模式的响应:输出 Y 跳转到 YMAN 值。图的第二部分显示自动模式(MAN = 0 且 HALT= 0)中在具有正 ERR 系统偏差和负 ERR 系统偏差的情况下功能块的反应。对于恒定正系统偏差,Y 以斜坡状向上移动,直到达到输出的上限才停止。随后输出受 YMAX 值的限制。该限制在 QMAX 输出中表示。然后系统偏差跳转到其绝对值大于上一个正值的负值。输入跳转到值 );通过 P 组件,Y 中接着出现斜坡状的下降。梯度
的绝对值大于上一个正系统偏差下的梯度。这可归结于系统偏差的当前绝对值较大。
PI1 控制器的跳转响应PI1 控制器的跳转响应显示
33003691 10/2019 81
PI1
82 33003691 10/2019
EcoStruxure™ Control ExpertPID133003691 10/2019
PID1:PID 控制器
第10章PID1:PID 控制器
简介本章描述 PID1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 84PID1 功能块结构图 89为 PID1 控制器设置参数 90操作模式 92详细的公式 94
33003691 10/2019 83
PID1
说明
功能描述该功能块生成一个 PID 控制器。系统偏差 ERR 由引用变量 SP 和受控变量 PV 之间的差异得出。此偏差 ERR 会导致操作变量 Y 发生更改。
初始化要求该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。
可以将 EN 和 ENO 配置为附加参数。为了使控制器的比例部分行为正确,在每次热启动或冷启动之后至少一个扫描周期内,必须将积分动作复位(将输入系数 EN_I 设为零)。如果在初始化时将积分动作系数 EN_I 设为非零值,该功能模块将不含比例部分,作为 I 或 ID 控制器使用。
属性该功能块具有以下属性: 实际 PID 控制器带有独立的 GAIN、TI 和 TD 设置 手动、暂停和自动操作模式 手动和自动之间无冲击转换 自动模式中的操作变量限制 分别启用 P、I 和 D 组件 Anti-Windup 复位 仅对活动 I 组件采用 Anti-windup 方法 可定义的 D 组件延迟 D 组件可与受控变量 PV 或系统偏差 ERR 连接
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
84 33003691 10/2019
PID1
传输功能传输功能为:
变量的说明:
在 FBD 中的表示形式表示形式:
变量 说明YD D 组件(仅当 EN_D = 1 时)YI I 组件(仅当 EN_I = 1 时)YP P 组件(仅当 EN_P = 1 时)
33003691 10/2019 85
PID1
在 LD 中的表示形式表示形式:
86 33003691 10/2019
PID1
在 IL 中的表示形式表示形式:CAL PID1_Instance (MAN:=ManualMode, HALT:=HaltMode, SP:=SetpointValueInput, PV:=ProcessVariable, BIAS:=DisturbanceInput, EN_P:=P_Portion_On, EN_I:=I_Portion_On, EN_D:=D_Portion_On, D_ON_X:=D_PortionValueFlag, GAIN:=ProportionalRate, TI:=ResetTime, TD:=DerivativeActionTime, TD_LAG:=LagTimeD_Portion, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualValue, Y=>ManipulatedVariable, ERR=>OutputSystemDeviation, QMAX=>Y_Reached_YMAX, QMIN=>Y_Reached_YMIN)
在 ST 中的表示形式表示形式:PID1_Instance (MAN:=ManualMode, HALT:=HaltMode, SP:=SetpointValueInput, PV:=ProcessVariable, BIAS:=DisturbanceInput, EN_P:=P_Portion_On, EN_I:=I_Portion_On, EN_D:=D_Portion_On, D_ON_X:=D_PortionValueFlag, GAIN:=ProportionalRate, TI:=ResetTime, TD:=DerivativeActionTime, TD_LAG:=LagTimeD_Portion, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualValue, Y=>ManipulatedVariable, ERR=>OutputSystemDeviation, QMAX=>Y_Reached_YMAX, QMIN=>Y_Reached_YMIN) ;
参数说明 输入参数描述:
参数 数据类型 说明MAN BOOL "1": 手动模式HALT BOOL "1": 暂停模式SP REAL 设定点输入PV REAL 受控变量(过程变量)BIAS REAL 干扰输入EN_P BOOL "1": P 组件处于活动状态
EN_I1 BOOL "1": I 组件处于活动状态
EN_D BOOL "1": D 组件处于活动状态D_ON_X BOOL "1": D 组件与受控变量相关
"0": D 组件与系统偏差相关GAIN REAL 比例作用系数(增益)TI TIME 积分时间TD TIME 微分时间TD_LAG TIME D 组件的延迟YMAX REAL 上限YMIN REAL 下限YMAN REAL 手动操作值
33003691 10/2019 87
PID1
1请参阅 初始化要求 (参见第 84 页)。输出参数描述:
运行时错误如果 YMAX < YMIN,则会出现一条错误消息。注意: 有关所有功能块代码和值的列表,请参见Tables of Error Codes for the Obsolete Library (参见第 586 页)。
参数 数据类型 说明ERR REAL 输出系统偏差Y REAL 操作变量QMAX BOOL “1”= 输出 Y 已达到上限QMIN BOOL “1”= 输出 Y 已达到下限
88 33003691 10/2019
PID1
PID1 功能块结构图
结构图以下是 PID1 功能块的结构图:
33003691 10/2019 89
PID1
为 PID1 控制器设置参数
参数设置PID1 控制结构显示在结构图, 第 89 页中。功能块参数设置 初是由纯 PID 参数(即比例作用系数 GAIN、复位时间 TI 和微分时间 TD)执行的。D 组件按时间 TD_LAG 延迟。TD/TD_LAG 的比率称为微分增益 VD。D 组件可由系统偏差 ERR (D_ON_X = 0) 或受控变量 PV (D_ON_X = 1) 得出。如果 D 组件由受控变量 PV 确定,则当引用变量发生波动(输入 SP 中发生变化)时,D 组件将无法引起跳转。通常,D 组件仅影响干扰和过程差异。
控制方向反转通过反转 GAIN 的符号可以反转控制器的行为。GAIN 为正值将导致正错误变量的输出值增加。GAIN 为负值将导致正错误变量的输出值减少。
操作变量限制限制 YMAX 和 YMIN 将输出限制在规定范围内。因此 YMIN ≤ Y ≤ YMAX。标记 QMAX 和 QMIN 已达到限制或者输出信号正受到限制。 如果 Y ≥ YMAX,则 QMAX = 1 如果 Y ≤ YMIN,则 QMIN = 1为了限制操作变量,上限 YMAX 应大于下限 YMIN。
Anti-Windup 复位如果发生了操作变量限制,则 Anti-windup 复位应确保积分组件不能超出所有限制。仅当未禁用控制器的 I 组件时才实施 Anti-windup 方法。Anti-windup 限制与对操作变量的限制相同。Anti-windup 方法忽略 D 组件,以避免通过 Anti-windup 方法屏蔽 D 组件的峰值。Anti-windup 复位方法按以下方式修正 I 组件,即:
90 33003691 10/2019
PID1
选择控制类型存在多种控制器类型,可以通过 EN_P、EN_I 和 EN_D 参数进行选择。
通过使 TI = 0 也可以禁用 I 组件。
控制器类型 EN_P EN_I EN_D
P 控制器 1 0 0PI 控制器 1 1 0PD 控制器 1 0 1PID 控制器 1 1 1I 控制器 0 1 0
33003691 10/2019 91
PID1
操作模式
选择操作模式存在三种操作模式,可以通过 MAN 和 HALT 参数进行选择:
自动操作模式在自动模式中,被控变量 Y 根据控制变量 PV 和引用变量 SP 通过离散 PID 闭环控制算法进行确定。被控变量受YMAX 和 YMIN 限制。该控制也是 Anti-windup 复位的限制。
手动模式在手动模式下,手动控制的值 YMAN 直接传递至控制输出 Y。但控制输出受 YMAX 和 YMIN 限制。将采用适当方式处理内部变量,使控制器可以无扰动地从手动转换到自动(启用 I 分量)。该控制也是 Anti-windup 复位的限制。在此操作模式中,D 组件自动设置为 0。
暂停模式在暂停模式中,控制输出保持不变;功能块不影响控制输出 Y,即 Y = Y(旧值)。在操作内部变量时,将保证组件总数相当于控制输出,从而使控制器可以从其当前位置平稳地驱动(当启用 I 组件时)。该控制也是 Anti-windup 复位的限制。在此操作模式中,D 组件自动设置为 0。
从自动切换到手动由于输出 Y 可取 YMAX 和 YMIN 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。不过,如果要求无冲击地从自动转换为手动,则有两种可能: 借助 MOVE 功能进行切换 借助限速器功能块 LIMV 进行切换
操作模式 MAN HALT
自动 0 0手动模式 1 0 或 1暂停 0 1
92 33003691 10/2019
PID1
通过 MOVE 进行切换使用 MOVE 功能将 YMAN 的值设置为 Y 的值:
注意: 选择这种显示类型仅仅是为了易于理解。用虚线表示的链接无法通过编程设置为链接(链接对象),因为它们形成了未授权的(在Control Expert中)回路。在编程中,必须使用变量创建链接。仅当 PID 控制器处于自动模式或暂停模式 (MAN = 0) 中时才能执行 MOVE 功能。如果只发生一次从自动到手动的转换,则由于在此循环中 YMAN 的值等于 Y 的值,因此该转换是无冲击的。在手动模式中 YMAN 的值可以缓慢地变化。
通过 LIMV 进行切换如果您不希望修改 YMAN(例如,因为它是一个常数),则必须使用限速器(功能块 LIMV (参见第 67 页))来替换前面的解决方案:
注意: 选择这种显示类型仅仅是为了易于理解。用虚线表示的链接无法通过编程设置为链接(链接对象),因为它们形成了未授权的(在Control Expert中)回路。在编程中,必须使用变量创建链接。仅当 PID 控制器处于自动模式或暂停模式 (MAN = 0) 中时才能执行 MOVE 功能。如果只发生一次从自动到手动的转换,则由于在此循环中(PID1 的)YMAN 值等于Y 值(PID1 的),所以该转换是无冲击的。从调整值 (RATE) 开始的 PID1 控制器 YMAN 值与从下一个循环开始的实际手动值(在 LIMV 上)进行了比较。
33003691 10/2019 93
PID1
详细的公式
公式变量说明变量在以下公式中的含义:
操作变量操作变量由具体取决于操作模式的各个项组成:
对各组件求和得到的操作变量进行限制,使:
控件组件的计算概述下面概述了与输入 EN_P、EN_I 和 EN_D 相关的各个控件组件的不同计算: 手动、暂停和自动模式的 P 组件 YP 自动模式的 I 组件 YI 手动和暂停模式的 I 组件 YI 自动模式的 D 组件 YD 手动和暂停模式的 D 组件 YD
变量 含义当前循环和上一个循环之间的时间微分
系统偏差 (SP - PV)
当前采样步中的系统偏差值
上一个采样步中的系统偏差值
BIAS 干扰变量当前采样步中的受控变量值
上一个采样步中的受控变量值
Y 当前输出(暂停模式)或 YMAN(手动模式)YD D 组件YI I 组件YP P 组件
94 33003691 10/2019
PID1
所有操作模式的 P 组件 YP手动、暂停和自动模式的 YP 按如下方式计算:当 EN_P = 1 时,计算公式为:
当 EN_P = 0 时,计算公式为:
自动模式的 I 组件 YI自动模式的 YI 按如下方式计算:当 EN_I = 1 时,计算公式为:
当 EN_I = 0 时,计算公式为:
I 组件是根据梯形规则得出的。
手动和暂停模式的 I 组件 YI手动、暂停和自动模式的 YI 按如下方式计算:当 EN_I = 1 时,计算公式为:
当 EN_I = 0 时,计算公式为:
自动模式的 D 组件 YD 自动模式和级联模式的 YD 按如下方式计算:当 EN_D = 1 且 D_ON_X = 0 时,计算公式为:
当 EN_D = 1 且 D_ON_X = 1 时,计算公式为:
当 EN_P = 0 时,计算公式为:
33003691 10/2019 95
PID1
手动和暂停模式的 D 组件 YD手动、暂停和自动模式的 YD 按如下方式计算:YD = 0
96 33003691 10/2019
EcoStruxure™ Control ExpertPID_P133003691 10/2019
PIDP1:具有并行结构的 PID 控制器
第11章PIDP1:具有并行结构的 PID 控制器
概览本章描述 PIDP1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 98为 PIDP1 控制器设置参数 103操作模式 105详细的公式 106
33003691 10/2019 97
PID_P1
说明
功能描述该功能块复制并行结构的 PID 控制器。系统偏差 ERR 由设定点 SP 和受控变量 PV 之间的差异得出。此偏差 ERR 会导致操作变量 Y 发生更改。
初始化要求该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。
可以将 EN 和 ENO 配置为附加参数。 为了使控制器的比例部分行为正确,在每次热启动或冷启动之后的至少一个扫描周期内,必须将积分动作复位(将输入系数 KI 设为零)。如果在初始化时将积分动作系数 KI 设为非零值,该功能模块将不含比例部分,作为 I 或 ID 控制器使用。
属性该功能块具有以下属性: PID 控制器为纯并行结构 可分别启用每个 P、I 和 D 组件 在自动模式中限制控制界限 仅对活动 I 组件采用 Anti-windup 方法 Anti-Windup 复位 手动、暂停和自动操作模式 手动和自动之间无冲击转换 D 组件可与输入变量 PV 或系统偏差 ERR 连接 D 组件具有可变延迟
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
98 33003691 10/2019
PID_P1
传输功能传输功能为:
变量的说明:
在 FBD 中的表示形式表示形式:
变量 说明YD D 组件YI I 组件YP P 组件
33003691 10/2019 99
PID_P1
在 LD 中的表示形式表示形式:
100 33003691 10/2019
PID_P1
在 IL 中的表示形式表示形式:CAL PIDP1_Instance (MAN:=ManualMode, HALT:=HaltMode, SP:=SetpointValueInput, PV:=ProcessVariable, BIAS:=DisturbanceInput, D_ON_X:=D_PortionValueFlag, REVERS:=OutputReversed, KP:=ProportionalRate, KI:=IntegralRate, KD:=DifferentiationRate, TD_LAG:=LagTimeD_Portion, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualValue, Y=>ManipulatedVariable, ERR=>OutputSystemDeviation, QMAX=>Y_Reached_YMAX, YMIN=>Y_Reached_YMIN)
在 ST 中的表示形式表示形式:PIDP1_Instance (MAN:=ManualMode, HALT:=HaltMode, SP:=SetpointValueInput, PV:=ProcessVariable, BIAS:=DisturbanceInput, D_ON_X:=D_PortionValueFlag, REVERS:=OutputReversed, KP:=ProportionalRate, KI:=IntegralRate, KD:=DifferentiationRate, TD_LAG:=LagTimeD_Portion, YMAX:=UpperControlLimit, YMIN:=LowerControlLimit, YMAN:=ManualValue, Y=>ManipulatedVariable, ERR=>OutputSystemDeviation, QMAX=>Y_Reached_YMAX, YMIN=>Y_Reached_YMIN) ;
参数说明输入参数描述:
参数 数据类型 说明MAN BOOL "1": 手动模式HALT BOOL "1": 暂停模式
SP1 REAL 设定点输入
PV1 REAL 输入变量
BIAS REAL 干扰输入D_ON_X BOOL 1: D 组件与受控变量有关
0: D 组件与系统偏差有关REVERSE BOOL 1: 输出已反转KP REAL 比例作用系数(增益)
KI1 REAL 积分作用系数
KD REAL 微分时间常数TD_LAG TIME D 组件的延迟YMAX REAL 上限YMIN REAL 下限YMAN REAL 手动操作值
33003691 10/2019 101
PID_P1
1请参阅 初始化要求 (参见第 98 页)。输出参数描述:
运行时错误如果 YMAX < YMIN,则会出现一条错误消息。注意: 有关所有功能块代码和值的列表,请参见Tables of Error Codes for the Obsolete Library (参见第 584 页)。
参数 数据类型 说明Y REAL 操作变量ERR REAL 系统偏差QMAX BOOL 1 = Y 已达到控制上限QMIN BOOL 1 = Y 已达到控制下限
102 33003691 10/2019
PID_P1
为 PIDP1 控制器设置参数
结构图以下是 PIDP1 功能块的结构图:
设置参数PIDP1 控制结构显示在结构图中。设置 PIDP1 控制器的参数时首先设置纯 PID 参数(即比例作用系数 KP、积分作用系数 KI 和微分率 KD)。通过将相应的输入(KP、KI 或 KD)设置为 0,可以分别禁用 P、I 和 D 组件。D 组件按时间常数 TD_LAG 延迟。D 组件可以根据系统偏差 ERR (D_ON_X = 0) 或受控变量 PV (D_ON_X = 1) 得出。如果 D 组件由受控变量 PV 确定,则当引用变量发生波动(输入 SP 中发生变化)时 D 组件将无法引起跳转。通常,D 组件仅影响干扰和过程差异。
控制方向反转通过将输入 REVERSE 设置为 1,可以反转控制器的行为。REVERSE = 0 将导致存在正干扰时输出值增加。REVERSE = 1 将导致存在正干扰时输出值降低。
33003691 10/2019 103
PID_P1
操作变量限制限制 YMAX 和 YMIN 将输出限制在规定范围内。因此 YMIN ≤ Y ≤ YMAX。标记 QMAX 和 QMIN 已达到限制或者输出信号正受到限制。 如果 Y ≥ YMAX,则 QMAX = 1 如果 Y ≤ YMIN,则 QMIN = 1为了限制操作变量,上限 YMAX 应大于下限 YMIN。
Anti-Windup 复位如果发生了操作变量限制,则 Anti-windup 复位应确保积分组件不能超出所有限制。仅当未禁用控制器的 I 组件时才实施 Antiwindup 方法。Anti-windup 限制与对操作变量的限制相同。Anti-windup 方法忽略 D 组件,以避免通过 Anti-windup 方法屏蔽 D 组件的峰值。Anti-windup 复位方法按以下方式修正 I 组件,即:
选择控制类型可以通过参数 KP、KI 和 KD 在多个控制器类型中进行选择:
控制器类型 KP KI KD
P 控制器 > 0 = 0 = 0PI 控制器 > 0 > 0 = 0PD 控制器 > 0 = 0 > 0PID 控制器 > 0 > 0 > 0I 控制器 = 0 > 0 = 0
104 33003691 10/2019
PID_P1
操作模式
选择操作模式存在三种操作模式,可以通过 MAN 和 HALT 参数进行选择:
自动操作模式在自动模式中,控制输出 Y 是通过离散 PID 闭合回路控制算法并根据受控变量 PV 和引用变量 SP 确定的。控制输出受 YMAX 和 YMIN 的限制。该控制界限也是对 Anti-windup 复位的限制。由于输出 Y 可取 YMAX 和 YMIN 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。尽管如此,如果要求从自动到手动的转换是无冲击的,则对于 PID1 控制器 (参见第 92 页)存在两种典型的可能。
手动模式在手动模式中,手动操作值 YMAN 将直接传送给控制输出 Y。但是,控制输出受 YMAN 和 YMIN 的限制。在操作内部变量时,将保证控制器能够无冲击地从手动转换为自动(在启用了 I 组件的情况下)。该控制界限也是对 Anti-windup 复位的限制。在此操作模式中,D 组件自动设置为 0。
暂停模式在暂停模式中,控制输出保持不变;功能块不影响控制输出 Y,即 Y = Y(旧值)。在操作内部变量时,将保证组件总数相当于控制输出,从而使控制器可以从其当前位置平稳地驱动(当启用 I 组件时)。该控制界限也是对 Anti-windup 复位的限制。在此操作模式中,D 组件自动设置为 0。
操作模式 MAN HALT
自动 0 0手动模式 1 0 或 1暂停 0 1
33003691 10/2019 105
PID_P1
详细的公式
公式变量说明变量在公式中的含义:
操作变量操作变量由不同的项组成:
对各组件求和得到的操作变量进行限制,使:
系统偏差系统偏差将按如下方式计算:
变量 描述当前循环和上一个循环之间的时间微分
系统偏差 (SP-PV)
当前采样步中的系统偏差值
上一个采样步中的系统偏差值
BIAS 干扰变量当前采样步中的受控变量值
上一个采样步中的受控变量值
Y 当前输出(暂停模式)或 YMAN(手动模式)YD D 组件YI I 组件YP P 组件
如果... 则...REVERSE = 0 ERR = SP - PVREVERSE = 1 ERR = PV - SP
106 33003691 10/2019
PID_P1
控件组件的计算概述下面概述了与增益 KP、KI 和 KD 相关的各个控件组件的不同计算: 手动、暂停、和自动模式的 P 组件 YP 自动模式的 I 组件 YI 手动和暂停模式的 I 组件 YI 自动模式的 D 组件 YD 手动和暂停模式的 D 组件 YD
所有操作模式的 P 组件 YP手动、暂停和自动模式的 YP 按如下方式计算:
自动模式的 I 组件 YI自动模式的 YI 按如下方式计算:当 KI > 0 时,计算公式为:
当 KI = 0 时,计算公式为:
I 组件是根据梯形规则得出的。
手动和暂停模式的 I 组件 YI手动、暂停和自动模式的 YI 按如下方式计算:当 KI > 0 时,计算公式为:
当 KI = 0 时,计算公式为:
33003691 10/2019 107
PID_P1
自动模式的 D 组件 YD 自动模式和级联模式的 YD 按如下方式计算:当 KD > 0 且 D_ON_X = 0 时,计算公式为:
当 KD > 0 且 D_ON_X = 1 时,计算公式为:
当 KD = 0 时,计算公式为:
手动和暂停模式的 D 组件 YD手动、暂停和自动模式的 YD 按如下方式计算:
108 33003691 10/2019
EcoStruxure™ Control ExpertSMOOTH_RATE33003691 10/2019
SMOOTH_RATE:带滤波功能的微分器
第12章SMOOTH_RATE:带滤波功能的微分器
简介本章描述 SMOOTH_RATE 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 110SMOOTH_RATE 功能块的公式 113详细描述 114
33003691 10/2019 109
SMOOTH_RATE
说明
功能描述功能块是一个微分元素,它具有与延迟时间常数 LAG 相关的延迟输出 Y。该功能块包含以下操作模式: 手动模式 暂停 自动注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
110 33003691 10/2019
SMOOTH_RATE
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL SMOOTH_RATE_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputVariable, GAIN:=DifferentialGain, LAG:=DelayTimeConstant, YMAN:=ManualControlValue, Y=>DifferentiatorOutputWithDelay)
在 ST 中的表示形式表示形式:SMOOTH_RATE_Instance (MAN:=ManualMode, HALT:=HaltMode, X:=InputVariable, GAIN:=DifferentialGain, LAG:=DelayTimeConstant, YMAN:=ManualControlValue, Y=>DifferentiatorOutputWithDelay) ;
33003691 10/2019 111
SMOOTH_RATE
参数说明 输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式HALT BOOL “1”= 暂停模式X REAL 输入变量GAIN REAL 差分的增益LAG TIME 延迟时间常数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 带滤波功能的输出微分单位
112 33003691 10/2019
SMOOTH_RATE
SMOOTH_RATE 功能块的公式
传输功能Y 的转换函数是:
输出 Y输出 Y 由以下公式计算:
公式变量的说明变量在上述公式中的含义:
变量 含义dt 是当前循环和上一个循环之间的时间差分
当前循环的输入 X 的值
上一个循环的输入 X 的值
上一个循环的输入 Y 的值
33003691 10/2019 113
SMOOTH_RATE
详细描述
参数设置功能块的参数赋值是通过定义 GAIN、微分器和时间常数 LAG(输出 Y 延迟的时间)来执行的。对于在 X 输入处非常短的采样时间和单位跳转(输入 X 从 0 跳转到 1.0),输出 Y 将跳转到值 GAIN(理论上如此 - 但实际要相对较小,原因是采样时间不能无限小),然后经过延迟时间常数 LAG 后返回到 0。
操作模式功能块 SMOOTH_RATE 包含 3 种操作模式:自动、手动和暂停。通过输入 MAN 和 HALT 选择操作模式:
示例下图显示当 GAIN = 1 且 LAG = 10 秒时功能块 SMOOTH_RATE 的跳转响应:
操作模式 MAN HALT 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 输入 YMAN 将直接传送到输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。
114 33003691 10/2019
EcoStruxure™ Control ExpertTHREE_STEP_CON133003691 10/2019
THREE_STEP_CON1:三点步进控制器
第13章THREE_STEP_CON1:三点步进控制器
简介本章描述 THREE_STEP_CON1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 116详细描述 119
33003691 10/2019 115
THREE_STEP_CON1
说明
功能描述该功能块复制一个三点步进控制器,并且由于动态反馈路径而表现出与 PD 类似的行为。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性功能块 THREE_STEP_CON1 具有以下属性: 复位和自动操作模式 一个内部反馈路径(一阶延迟)
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
116 33003691 10/2019
THREE_STEP_CON1
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL THREE_STEP_CON1_Instance (R:=ResetMode, SP:=SetPointInput, PV:=ProcessVariable, GAIN:=ProportionalRate, TI:=ResetTime, T_PROC:=NominalControllerTime, HYS:=Hysteresis, DB:=Deadband, Y_POS=>PosControlVarAt_ERR_EFF, Y_NEG=>NegControlVarAt_ERR_EFF, ERR_EFF=>EffectiveError)
在 ST 中的表示形式表示形式:THREE_STEP_CON1_Instance (R:=ResetMode, SP:=SetPointInput, PV:=ProcessVariable, GAIN:=ProportionalRate, TI:=ResetTime, T_PROC:=NominalControllerTime, HYS:=Hysteresis, DB:=Deadband, Y_POS=>PosControlVarAt_ERR_EFF, Y_NEG=>NegControlVarAt_ERR_EFF, ERR_EFF=>EffectiveError) ;
33003691 10/2019 117
THREE_STEP_CON1
参数说明 输入参数描述:
输出参数描述:
运行时错误当 HYS > 2 * DB 时,返回一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
警告在出现下列情况时将返回一个警告:
注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明R BOOL "1": 复位模式SP REAL 设定点输入PV REAL 实际值输入GAIN REAL 比例作用系数(增益)TI TIME 积分时间T_PROC TIME 受控值的标称驱动时间HYS REAL 三点开关的滞后值DB REAL 死区
参数 数据类型 说明ERR_EFF REAL 有效切换值Y_POS BOOL “1”= 输出 ERR_EFF 的正操作变量Y_NEG BOOL “1”= 输出 ERR_EFF 的负操作变量
如果... 则...GAIN ≤ 0 控制器运行时没有反馈。TI = 0 控制器运行时没有反馈。T_PROC = 0 控制器运行时,其预定值 T_PROC = 60 秒。
118 33003691 10/2019
THREE_STEP_CON1
详细描述
控制器结构三点控制器的结构:
变量 Y 对输出 Y_POS 和 Y_NEG 的决定作用:
变量 K 的含义:
如果... 则...Y = 1 Y_POS = 1
Y_NEG = 0Y = 0 Y_POS = 0
Y_NEG = 0Y = -1 Y_POS = 0
Y_NEG = 1
33003691 10/2019 119
THREE_STEP_CON1
三点控制器的原理实际的三点控制器将添加一个动态反馈路径(PT1 元素)。通过适当地选择这些反馈元素的时间常数 TI 和 T_PROC,三点控制器的行为将随 PID 控制器的行为变化而相应地变化。三点控制器的原理
参数 GAIN 必须 > 0
死区参数 DB 确定输出 Y_POS 和 Y_NEG 的操作点。如果有效切换值 ERR_EFF = SP - PV - XR 为正且大于 DB,则 Y_POS 输出将从"0"切换到"1"。如果有效切换值 ERR_EFF 为负且大于 DB,则输出 Y_NEG 将从"0"切换到"1"。参数 DB 通常设置为 大控制范围( 大 (SP - PV))的 1%。注意: 该数量是根据 DB 死区计算的!
滞后值参数 HYS 指示切换滞后值。在输出 Y_POS (Y_NEG) 复位为"0"之前,必须从控制点 DB 传出的有效切换值 ERR_EFF 中减去此滞后值。图"三点控制器的原理, 第 120 页"说明了 Y_POS 和 Y_NEG(具体取决于有效切换值 ERR_EFF)与参数 DB 和 HYS 之间的联系。参数 HYS 通常设置为 大控制范围( 大 (SP - PV))的 0.5%。注意: 该数量是根据 HYS 滞后值计算的!
错误时间常数的行为如果时间常数 TI = 0,或者比例作用系数 GAIN ≤ 0(配置错误),该功能块仍将继续运行。但是,功能反馈路径被禁用,因此,该功能块作为常规的三点开关运行。如果时间常数 T_PROC = 0(配置错误),该功能块仍将继续运行。在这种情况下,T_PROC 设置为预设值,即 T_PROC = 60 秒(60 000 毫秒)。
120 33003691 10/2019
THREE_STEP_CON1
操作模式存在两种操作模式,可以通过 R 参数输入进行选择:
操作模式 R 含义自动 0 该功能块将按以上所述进行处理。复位 1 反馈元素的内部值设置为 SP - PV。输出 Y_POS 和 Y_NEG 都设
置为"0"。
33003691 10/2019 121
THREE_STEP_CON1
122 33003691 10/2019
EcoStruxure™ Control ExpertTHREEPOINT_CON133003691 10/2019
THREEPOINT_CON1:三点控制器
第14章THREEPOINT_CON1:三点控制器
简介本章描述 THREEPOINT_CON1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 124详细描述 128
33003691 10/2019 123
THREEPOINT_CON1
说明
功能描述该功能块得到一个三点控制器,该控制器通过两个动态反馈路径维护与 PID 类似的行为。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性功能块 THREEPOINT_CON1 包含以下属性: 手动、暂停和自动操作模式 两个内部反馈路径(一阶延迟)
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
124 33003691 10/2019
THREEPOINT_CON1
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL THREEPOINT_CON1_Instance (MAN:=ManualMode, HALT:=HaltMode,SP:=SetPointInput, PV:=ProcessVariableInput, GAIN:=FeedbackGain, LAG_NEG:=RapidFeedbackTimeConstant, LAG_POS:=SlowFeedbackTimeConstant, HYS:=HysteresisThreePositionSwitch, DB:=Deadband, XF_MAN:=FeedbackResetFactor, YMAN_POS:=ManualControlOutputForY_POS, YMAN_NEG:=ManualControlOutputForY_NEG, Y_POS=>PosManipulation, Y_NEG=>NegManipulation, ERR_EFF=>EffectiveError)
33003691 10/2019 125
THREEPOINT_CON1
在 ST 中的表示形式表示形式:THREEPOINT_CON1_Instance (MAN:=ManualMode, HALT:=HaltMode,SP:=SetPointInput, PV:=ProcessVariableInput, GAIN:=FeedbackGain, LAG_NEG:=RapidFeedbackTimeConstant, LAG_POS:=SlowFeedbackTimeConstant, HYS:=HysteresisThreePositionSwitch, DB:=Deadband, XF_MAN:=FeedbackResetFactor, YMAN_POS:=ManualControlOutputForY_POS, YMAN_NEG:=ManualControlOutputForY_NEG, Y_POS=>PosManipulation, Y_NEG=>NegManipulation, ERR_EFF=>EffectiveError) ;
参数说明 输入参数描述:
输出参数描述:
运行时错误当 HYS > 2 * DB 时,则会返回一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式HALT BOOL “1”= 暂停模式SP REAL 设定点输入PV REAL 实际值输入GAIN REAL 反馈增益(反馈参数集)LAG_NEG TIME 快速反馈的时间常数(反馈参数集)LAG_POS TIME 慢速反馈的时间常数(反馈参数集)HYS REAL 三点开关的滞后值DB REAL 死区XF_MAN REAL 百分数形式的反馈路径复位值(-100 到 100)YMAN_POS BOOL Y_POS 的手动操作YMAN_NEG BOOL Y_NEG 的手动操作
参数 数据类型 说明Y_POS BOOL “1”= 输出 ERR_EFF 的正操作变量Y_NEG BOOL “1”= 输出 ERR_EFF 的负操作变量ERR_EFF REAL 有效切换值
126 33003691 10/2019
THREEPOINT_CON1
警告在出现下列情况时将返回一个警告:
注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
如果... 则...LAG_NEG = 0 且 LAG_POS > 0 控制器运行时就像对时间常数 LAG_POS 只有一个正
反馈一样。LAG_POS < LAG_NEG > 0 控制器运行时就像对时间常数 LAG_NEG 只有一个负
反馈一样。XF_MAN < -100 或 XF_MAN > 100 控制器运行时没有内部反馈路径。
33003691 10/2019 127
THREEPOINT_CON1
详细描述
控制器结构三点控制器的结构:
变量 Y 对输出 Y_POS 和 Y_NEG 的决定作用:
如果... 则...Y = 1 Y_POS = 1
Y_NEG = 0Y = 0 Y_POS = 0
Y_NEG = 0Y = -1 Y_POS = 0
Y_NEG = 1
128 33003691 10/2019
THREEPOINT_CON1
三点控制器的原理实际的三点控制器将添加两个动态反馈(PT1 元素)。通过适当地选择这些反馈元素的时间常数,三点控制器的行为将随 PID 控制器的行为变化而相应地变化。三点控制器的原理
参数 GAIN 必须 > 0注意: XF_MAN(从 -100% 到 100% 的百分比)的输入必须在 -100 到 100 的范围内(包括 -100 和 100)!
内部反馈路径该功能块具有内部反馈路径的参数集,由反馈增益 GAIN 以及反馈时间常数 LAG_NEG 和 LAG_POS 组成。下表提供了有关它的更准确的信息:
死区DB 参数确定输出 Y_POS 和 Y_NEG 的操作点。如果有效切换值 ERR_EFF 为正且大于 DB,则输出 Y_POS 将从"0"切换到"1"。如果有效切换值 ERR_EFF 为负且大于 DB,则输出 Y_NEG 将从"0"切换到"1"。参数 DB 通常设置为 大控制范围( 大 SP - PV)的 1%。注意: 该数量是根据 DB 死区计算的!
反馈 LAG_NEG LAG_POS
3 点行为(没有反馈) = 0 = 0负反馈 > 0 = 0负反馈 + 正反馈 > 0 > LAG_NEG警告、重新生成(负反馈,具有 LAG_POS) = 0 > 0警告、重新生成(正反馈已关闭) > LAG_POS > 0
33003691 10/2019 129
THREEPOINT_CON1
滞后值参数 HYS 指示切换滞后值。在输出 Y_POS (Y_NEG) 复位为"0"之前,必须从控制点 DB 传出的有效切换值 ERR_EFF 中减去此滞后值。图"三点控制器的原理, 第 129 页"说明了 Y_POS 和 Y_NEG(具体取决于有效切换值 ERR_EFF)与参数 DB 和 HYS 之间的联系。参数 HYS 通常设置为 大控制范围( 大 (SP - PV))的 0.5%。注意: 该数量是根据 HYS 滞后值计算的!
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择。
操作模式 MAN HALT 含义自动 0 0 该功能块将按以上所述进行处理。手动模式 1 0 或 1 输出 Y_POS 和 Y_NEG 分别设置为值 YMAN_POS 和 YMAN_NEG。优先级
逻辑 Y_NEG 优先于 Y_POS,从而防止同时设置这两个输出。xf1 和 xf2 是通过以下公式计算的:
暂停 0 1 输出 Y_POS 和 Y_NEG 分别保留它们 后一次计算的值。xf1 和 xf2 设置为 GAIN * Y。
130 33003691 10/2019
EcoStruxure™ Control ExpertTWOPOINT_CON133003691 10/2019
TWOPOINT_CON1:两点控制器
第15章TWOPOINT_CON1:两点控制器
简介本章描述 TWOPOINT_CON1 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 132详细描述 136
33003691 10/2019 131
TWOPOINT_CON1
说明
功能描述该功能块得到一个两点控制器,该控制器通过两个动态反馈路径维护与 PID 类似的行为。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性功能块 TWOPOINT_CON1 具有以下属性: 手动、暂停和自动操作模式 两个内部反馈路径(一阶延迟)
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
132 33003691 10/2019
TWOPOINT_CON1
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL TWOPOINT_CON1_Instance (MAN:=ManualMode, HALT:=HaltMode,SP:=SetPointInput, PV:=ProcessVariable, K:=FeedbackGain, LAG_NEG:=RapidFeedbackTimeConstant, LAG_POS:=SlowFeedbackTimeConstant, DB:=HysteresisOfTwoPosSwitch, XF_MAN:=FeedbackResetValue, YMAN:=ManualValueForERR_EFF, Y=>OutputControlFlag, ERR_EFF=>EffectiveError)
33003691 10/2019 133
TWOPOINT_CON1
在 ST 中的表示形式表示形式:TWOPOINT_CON1_Instance (MAN:=ManualMode, HALT:=HaltMode,SP:=SetPointInput, PV:=ProcessVariable, K:=FeedbackGain, LAG_NEG:=RapidFeedbackTimeConstant, LAG_POS:=SlowFeedbackTimeConstant, DB:=HysteresisOfTwoPosSwitch, XF_MAN:=FeedbackResetValue, YMAN:=ManualValueForERR_EFF, Y=>OutputControlFlag, ERR_EFF=>EffectiveError) ;
参数说明 输入参数描述:
输出参数描述:
运行时错误当 HYS > 2 * DB 时,返回一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
参数 数据类型 说明MAN BOOL “1”= 手动操作模式HALT BOOL “1”= 暂停模式SP REAL 设定点输入PV REAL 实际值输入K REAL 反馈升压LAG_NEG TIME 快速反馈的时间常数LAG_POS TIME 慢速反馈的时间常数DB REAL 两点开关的滞后值XF_MAN REAL 百分数形式的反馈的复位值 (0 – 100)YMAN BOOL “1”= ERR_EFF 的手动值
参数 数据类型 说明Y BOOL “1”= 输出操作的变量ERR_EFF REAL 有效切换值
134 33003691 10/2019
TWOPOINT_CON1
警告在出现下列情况时将返回一个警告:
注意: 有关所有功能块错误代码和值的列表,请参见CLC, 第 584 页。
如果... 则...LAG_NEG = 0 且 LAG_POS > 0 控制器运行时就像对时间常数 LAG_POS 只有一个正反馈一样。LAG_POS < LAG_NEG > 0 控制器运行时就像对时间常数 LAG_NEG 只有一个负反馈一样。XF_MAN < 0 或 XF_MAN > 100 控制器运行时没有内部反馈路径。
33003691 10/2019 135
TWOPOINT_CON1
详细描述
控制器结构两点控制器的结构:
两点控制器的原理实际的两点控制器将添加两个动态反馈路径(PT1 元素)。通过适当地选择这些反馈元素的时间常数,两点控制器的行为将随 PID 控制器的行为变化而相应地变化。两点控制器的原理:
136 33003691 10/2019
TWOPOINT_CON1
所选的反馈增益 K 必须大于零!XF_MAN(从 0 到 100% 的百分数)的输入必须在 0 到 100 的范围内(包括 0 和 100)!
内部反馈路径反馈参数集由反馈增益 K 以及反馈时间常数 LAG_NEG 和 LAG_POS 组成,并实现了两点控制器的广泛使用。下表提供了有关它的更准确的信息:
滞后值参数 DB 指示切换滞后值。在输出 Y 复位为"0"之前,必须从控制点 DB/2 传出的有效切换值 ERR_EFF 中减去此滞后值。图"两点控制器的原理, 第 136 页"中清楚地说明了输出 Y(具体取决于有效切换值 ERR_EFF)与参数 DB 之间的关系。参数 DB 通常设置为 大控制范围 [ 大(SP - PV)] 的 1%。
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择。
反馈 LAG_NEG LAG_POS
2 点行为(没有反馈) = 0 = 0负反馈 > 0 = 0负反馈 + 正反馈 > 0 > LAG_NEG警告、重新生成(负反馈,具有 LAG_POS) = 0 > 0警告、重新生成(正反馈已关闭) > LAG_POS > 0
操作模式 MAN HALT 含义自动 0 0 该功能块将按以上所述进行处理。手动模式 1 0 或 1 输出 Y 设置为 YMAN 值。
xf1 和 xf2 是通过以下公式计算的:
暂停 0 1 输出 Y 保留 后一次计算的值。xf1 和 xf2 设置为 GAIN * Y。
33003691 10/2019 137
TWOPOINT_CON1
138 33003691 10/2019
EcoStruxure™ Control ExpertCLC_PRO33003691 10/2019
CLC_PRO
第III部分CLC_PRO
概述本部分描述 CLC_PRO 系列中的基本功能和基本功能块。
本部分包含了哪些内容?本部分包括以下各章:
章 章节标题 页16 ALIM:限速器:二阶 14117 COMP_PID:复杂 PID 控制器 14718 DEADTIME:延迟时间设备 16719 DERIV:带滤波功能的微分器 17320 FGEN:功能发生器 18121 INTEG:带限制的积分器 19722 LAG:一阶延迟元素 20323 LAG2:二阶延迟元素 20924 LEAD_LAG:带滤波功能的 PD 设备 21725 PCON2:两点控制器 22526 PCON3:三点控制器 23327 PD_OR_PI:结构转换 PD/PI 控制器 24128 PDM:脉冲持续时间调制 25329 PI:PI 控制器 26330 PID:PID 控制器 27331 PID_P:具有并行结构的 PID 控制器 28732 PIP:PIP 级联控制器 29933 PPI:PPI 级联控制器 31134 PWM:脉宽调制 32335 QPWM:脉宽调制(简单) 33336 SCON3:三点步进控制器 34137 VLIM:一阶限速器 349
33003691 10/2019 139
CLC_PRO
140 33003691 10/2019
EcoStruxure™ Control ExpertALIM33003691 10/2019
ALIM:限速器:二阶
第16章ALIM:限速器:二阶
简介本章描述 ALIM 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 142详细描述 145
33003691 10/2019 141
ALIM
说明
功能描述此功能块生成二阶限速器。此功能块单独包括下列属性: 手动、暂停和自动操作模式 输出限制注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
142 33003691 10/2019
ALIM
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL ALIM_Instance (X:=Input, MODE:=OperatingMode, PARA:=Parameter, YMAN:=ManualManipulatedY, Y=Output)
在 ST 中的表示形式表示形式:ALIM_Instance (X:=Input, MODE:=OperatingMode, PARA:=Parameter, YMAN:=ManualManipulatedY, Y:=Output) ;
ALIM 参数描述输入参数描述:
输入/输出参数描述:
参数 数据类型 说明X REAL 输入MODE Mode_MH 操作模式PARA Para_ALIM 参数YMAN REAL 输出 Y 的手动值
参数 数据类型 说明Y REAL 输出
33003691 10/2019 143
ALIM
Mode_MH 参数描述数据结构描述:
Para_ALIM 参数描述数据结构描述:
运行时错误如果满足以下条件,则返回一条错误消息: 输入 YMAN 或 X 中存在无效的浮点数 max_a 或 max_v ≤ 0注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
元素 数据类型 说明max_v REAL 大速度( 大 x’)
单位:1/[s]max_a REAL 大加速度( 大 x’’)
单位:
144 33003691 10/2019
ALIM
详细描述
参数设置通过确定 大速度 max_v 和 大加速度 max_a 可以设置该功能块的参数。 大速度指定一秒内输出 Y 可以更改的量。 大加速度指定输出 Y 可以更改的 大量。Y 的值遵从 X 的值变化,但受到 大速度和 大加速度的限制。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
示例此图显示了该功能块的动态行为及在暂停操作模式下的反应:
输入 X 上的跳转导致功能块加速输出 Y 的增长。输出 Y 按照为 max_a 参数设置的值加速。如果速度达到 max_v 值,则停止加速,但是输出 Y 继续遵从输入 X 的变化, 大速度为 max_v(参见此图中部的直向部分)。如果输出 Y 的值与输入信号值足够接近,则输出将以 -max_a 的负增速反向制动,这样输出就不是突然停止,而是平缓地接近终点。
操作模式 man halt 含义自动 0 0 将不断地计算和输出 Y 的新值。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再
更改,但是用户可以覆盖它。
33003691 10/2019 145
ALIM
146 33003691 10/2019
EcoStruxure™ Control ExpertCOMP_PID33003691 10/2019
COMP_PID:复杂 PID 控制器
第17章COMP_PID:复杂 PID 控制器
简介本章描述 COMP_PID 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 148复杂 PID 控制器结构图 154设置 COMP_PID 控制器的参数 155COMP_PID 的 Anti-windup 157COMP_PID 的控制器类型选择 158无冲击切换操作模式 159选择 COMP_PID 的操作模式 162详细的公式 164
33003691 10/2019 147
COMP_PID
说明
功能描述此功能块表示一个复杂 PID 控制器,其设计特别包括了级联处理。控制结构显示在结构图, 第 154 页中。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 实际 PID 控制器带有独立 gain、ti、td 设置 手动、暂停、自动、级联、复位、手动值操作模式跟踪 手动操作的速度限制 可调整的手动操作值跟踪 引用变量的速度限制 手动和自动之间无冲击转换 操作变量限制 无冲击且可独立连接的 P、I 和 D 组件 无冲击增益修改 选择 Anti-windup 复位和 Anti-windup 暂停 根据控制界限替换 Anti-windup 限制 仅对活动 I 组件采用 Anti-windup 方法 可定义的 D 组件延迟 D 组件可与受控变量 PV 或系统偏差 ERR 连接 带增益衰减的死区 外部操作点(P 操作、PD 操作和 D 操作中) 选择冲击/无冲击手动/自动切换
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
148 33003691 10/2019
COMP_PID
传输功能传输功能为:
变量的说明:
在 FBD 中的表示形式表示形式:
变量 说明YD D 组件(仅当 en_d = 1 时)YI I 组件(仅当 en_i = 1 时)YP P 组件(仅当 en_p = 1 时)
33003691 10/2019 149
COMP_PID
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL COMP_PID_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, SP_CAS:=CascadeReferenceVariable, MODE:=OperatingModes, PARA:=Parameters, YMAN:=ManuallyManipulatedValue, YRESET:=Y_ResetValue, FEED_FWD:=DisturbanceInput, OFF:=OffsetFor_P_PD_Operation, Y:=ManipulatedVariable, SP_CAS_N:=CascadeReferenceVariable, YMAN_N:=ManuallyManipulatedValue, OFF_N:=OffsetFor_P_PD_Operation, ERR=>SystemDeviation, STATUS=>OutputStatus)
150 33003691 10/2019
COMP_PID
在 ST 中的表示形式表示形式:COMP_PID_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, SP_CAS:=CascadeReferenceVariable, MODE:=OperatingModes, PARA:=Parameters, YMAN:=ManuallyManipulatedValue, YRESET:=Y_ResetValue, FEED_FWD:=DisturbanceInput, OFF:=OffsetFor_P_PD_Operation, Y:=ManipulatedVariable, OFF_N:=OffsetFor_P_PD_Operation, ERR=>SystemDeviation, STATUS=>OutputStatus) ;
COMP_PID 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
参数 数据类型 说明SP REAL 引用变量PV REAL 受控变量SP_CAS REAL 级联引用变量MODE Mode_COMP_PID 操作模式PARA Para_COMP_PID 参数YMAN REAL 手动操作值YRESET REAL 操作变量复位值FEED_FWD REAL 干扰输入OFF REAL P/PD 操作偏移
参数 数据类型 含义Y REAL 操作变量SP_CAS_N REAL 级联引用变量YMAN_N REAL 手动操作值OFF_N REAL P/PD 操作偏移
参数 数据类型 说明ERR REAL 系统偏差STATUS Stat_COMP_PID 输出状态
33003691 10/2019 151
COMP_PID
Mode_COMP_PID 参数描述数据结构描述
Para_COMP_PID 参数描述数据结构描述
元素 数据类型 说明r BOOL "1": 复位模式man BOOL "1": 手动模式halt BOOL "1": 暂停模式cascade BOOL "1": 级联模式en_p BOOL "1": P 组件处于活动状态en_i BOOL "1": I 组件处于活动状态en_d BOOL "1": D 组件d_on_pv BOOL "1": D 组件与受控变量相关
"0": D 组件与系统偏差相关halt_aw BOOL "1": Anti-windup 暂停
"0": Anti-Windup 复位bump BOOL "0": 无冲击切换操作模式ymanc BOOL "1": YMAN 跟踪
元素 数据类型 说明gain REAL 比例作用系数(增益)ti TIME 积分时间 td TIME 微分时间 td_lag TIME D 组件延迟时间 db REAL 死区 gain_red REAL 死区中的增益衰减 (db) rate_sp REAL 设定点速度 (SP) [1/s] rate_man REAL 手动操作速度值 (YMAN) [1/s] ymax REAL Y 的上阈值 ymin REAL Y 的下阈值 delt_aw REAL 限制 Anti-windup 的扩展
152 33003691 10/2019
COMP_PID
Stat_COMP_PID 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 PV 中存在未授权的浮点数 gain_red > 1 或 gain_red < 0 db < 0 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明st_r BOOL "1": COMP_PID 处于复位模式 st_man BOOL "1": COMP_PID 处于手动模式 st_halt BOOL "1": COMP_PID 处于暂停模式 st_auto BOOL "1": COMP_PID 处于自动模式 st_cascade BOOL "1": COMP_PID 处于级联模式 st_max BOOL "1": Y ≥ Para_COMP_PID.ymax st_min BOOL "1": Y ≤ Para_COMP_PID.ymin
33003691 10/2019 153
COMP_PID
复杂 PID 控制器结构图
结构图下图是 COMP_PID 控制器的结构图:
154 33003691 10/2019
COMP_PID
设置 COMP_PID 控制器的参数
设置参数COMP_PID 控制结构显示在结构图, 第 154 页中。设置功能块参数 初是由纯 PID 参数(即比例作用系数 gain、复位时间 ti 和微分时间 td)执行的。D 组件按时间 td_lag 延迟。td/td_lag 比率称为微分增益,通常在 3 和 10 之间选择。D 组件可能取决于系统偏差 ERR(d_on_pv ="0")或受控变量 PV(d_on_pv ="1")。如果 D 组件由受控变量 PV 确定,则当引用变量发生波动(输入 SP 中发生变化)时,D 组件将无法导致跳转。通常,D 组件仅影响干扰和过程差异。注意: EFB 有 3 个 I/O 参数(SP_CAS、OFF、YMAN),它们由功能本身在级联模式下更新。为在级联模式使用该功能块,必须通过变量在这些输入和相应的输出(SP_CAS_N、OFF_N、YMAN_N)之间建立连接。
控制方向反转通过反转 gain 的符号可以反转控制器的行为。gain 为正值会导致操作变量在存在正干扰时上升。gain 为负值会导致操作变量在存在正干扰时下降。
获得系统偏差在级联模式中,ERR 系统偏差由 SP_CAS 和 PV 得出: sp_intern = SP_CAS ERR = sp_intern - PV自动模式中的系统偏差由 sp_intern 和 PV 得出,由此通过限速器将 sp_intern 设置为参数 SP 的值。内部引用变量 sp_intern 以参数 rate_sp(1 单位/秒)中指定的速度、按照斜坡类型的形式被驱动到 SP 参数值。将为参数 rate_sp 计算数量。如果 rate_sp = 0,SP 的限速器的功能将被禁用。SP 直接传送给 sp_intern。在复位、手动和暂停模式中,系统偏差由参数 cascade 的条件确定。如果 cascade = 1,则 sp_intern 设置为 PV 参数值且 ERR 设置为 0。如果 cascade = 0 且设置是无冲击操作 (bump = 0),则 sp_intern 设置为 SP 参数值。否则 (bump = 1),还将 sp_intern 设置为 PV 参数值。
小系统偏差值的增益衰减参数 db 确定以下死区的大小:在该死区中,比例作用系数 gain 无效,有效参数为按 gain_red 参数衰减的比例作用系数。参数 db 对系统偏差 ERR = SP - PV 有影响,其影响形式如死区的表示形式, 第 156 页图中所示。小的受控变量干扰或测量噪声导致的多余执行器加载可以由死区减少。输入正的 db 参数。为 gain_red 输入 0 到 1 之间的值。
33003691 10/2019 155
COMP_PID
手动值 YMAN 的跟踪启用手动跟踪模式后 (ymanc = 1),如果处于自动模式或级联模式中,将跟踪输入 YMAN 并将其值反映到操作变量值 Y 中,这表示:YMAN = Y。如果禁用了手动跟踪模式 (ymanc = 0),则 YMAN 值保持不变。
死区的表示形式死区:
1 梯度 12 梯度 gain_red
操作变量限制限制 ymax 和 ymin 使操作变量保持在规定范围内。因此 ymin ≤ Y ≤ ymax。元素 st_qmax 和 st_min 表示操作变量已经达到限制,从而被封顶: st_max = 1(如果 Y ≥ ymax) st_min = 1(如果 Y ≤ ymin)。为了限制操作变量,上限 ymax 应大于下限 ymin。
156 33003691 10/2019
COMP_PID
COMP_PID 的 Anti-windup
定义Anti-windup 方法可确保积分组件在某个控制界限受限时间太长时,该积分组件不会增长过多而导致控制器锁定。仅对控制器的活动 I 组件执行 Anti-windup 方法。缺省情况下,对 Anti-windup 方法的限制是控制器的操作变量 (delt_aw = 0)。参数 delt_aw 可用于增加 (delt_aw > 0) 或减少 (delt_aw < 0) 与控制界限 (ymax, ymin) 有关的限制。因此,用于 Anti-windup 方法的限制包括: AWMAX = ymax + delt_aw AWMIN = ymin - delt_aw。通过取代与控制界限有关的 Anti-Windup 限制(特别是非常嘈杂的信号),可以停止让操作变量 Y 从控制界限(D 组件对干扰的影响)中重复"跳出"并随后返回限制位置(系统偏差 ERR ≠ 0 对 I 组件的影响)。如果这些控制界限对 Anti-windup 方法同时有影响,请选择参数 delt_aw = 0。通过利用负的 delt_aw 值,可以保持 Anti-windup 限制小于控制界限(这对 Anti-windup 暂停很有用)。
Anti-windup 复位 (halt_aw = 0)Anti-windup 方法忽略 D 组件,以避免通过 Anti-windup 方法屏蔽 D 组件的峰值。Anti-windup 复位方法修正 I 组件,以使:AWMIN ≤ YP + FEED_FWD + YI ≤ AWMAX。
Anti-windup 暂停 (halt_aw = 1)Anti-windup 方法仅考虑 I 组件。如果启用了 Anti-windup 暂停和 I 组件,Anti-windup 暂停方法将修正 I 组件,以便:AWMIN ≤ YI ≤ AWMAX。参数 rate_sp 和 rate_man 表示手动值 SP 和 YMAN 的限速器(另请参阅功能块 VLIM)。0 值禁用相应限速器的功能(分别为 rate_sp = 0 或 rate_man = 0)。随后使用 SP 和 YMAN 值且没有延迟。
33003691 10/2019 157
COMP_PID
COMP_PID 的控制器类型选择
控制器类型有四种不同的控制器类型,它们可通过参数 en_p、en_i 和 en_d 选择。
在 ti = 0 时,也可以禁用 I 组件。在 td = 0 时,也可以禁用由 D 组成。
OFF 参数的影响如果启用了 I 组件 (en_i = 1),则操作变量 Y 就根据组件 YP、YI、YD 和 FEED_FWD 的总和确定。如果启用了 I 组件,在计算时将不考虑偏移。但是,如果禁用了 I 组件 (en_i = 0),则操作变量就根据组件 YP、YD 和 FEED_FWD 以及偏移 OFF 的总和确定。注意: OFF 参数仅适用于 P、D 或 PD 控制器。
控制器类型 en_p en_i en_d
P 控制器 1 0 0PI 控制器 1 1 0PD 控制器 1 0 1PID 控制器 1 1 1I 控制器 0 1 0
158 33003691 10/2019
COMP_PID
无冲击切换操作模式
切换的方法实现各种组件(P、I、D)的无冲击开/关切换。
对所连接的 I 组件进行无冲击切换如果 P 组件处于连接/断开连接状态,则内部 I 组件将由 P 组件修正。这样,即使系统偏差不为 0,P 组件的连接/断开连接也都是无冲击的。如果 D 组件处于断开连接状态,则内部 I 组件将接管剩余的 D 组件。如果 D 组件处于连接状态,它将设置为 0。
断开连接的 D 组件的无冲击切换仅在参数 bump = 0 时,才对断开连接的 D 组件进行无冲击切换。在这种情况下,使用 OFF 参数来实现无冲击切换。如果 P 组件处于连接/断开连接状态,则 OFF 参数的值将由 P 组件修正。这样,即使系统偏差不为 0,P 组件的连接/断开连接也都是无冲击的。如果 D 组件处于断开连接状态,则剩余的 D 组件将添加到 OFF 参数值中。如果 D 组件处于连接状态,它将设置为 0(OFF 保持不变)。
无冲击切换 I 组件仅在参数 bump = 0 时,才对 I 组件进行无冲击断开连接操作。在这种情况下,使用 OFF 参数以及内部 I 组件 (YI) 进行无冲击切换。
从 PI(D) 控制器到 P(D) 控制器的无冲击切换从 PI(D) 控制器到 P(D) 控制器的无冲击切换是基于 PI(D) 控制器已经到达某个静态条件这一假设的。在这种情况下,进程处于空闲状态。此时 I 组件有一个特定值。为了允许立即无冲击切换到 P(D),由 I 组成的 PI(D) 控制器必须充当 PD 控制器操作点(偏移),这样切换可以在没有均衡过程(新的瞬时条件)的情况下进行。基于以上考虑,在无冲击断开 I 组件的连接时,将保证 OFF 参数能够检索其值。操作变量 Y 的值取决于 en_i:
如果... 则...en_i = 1 Y = YP + YI + YD + FEED_FWDen_i = 0 Y = YP + OFF + YD + FEED_FWD
33003691 10/2019 159
COMP_PID
启动 I 组件I 组件启用基于类似的考虑。内部 I 组件设置为 OFF 参数值。这就允许在没有引起均衡过程的情况下连接 I 组件。注意: 如果 OFF 参数是由以前的一个功能块(EFB 或 DFB 输出,如 MOVE)计算的,则对无冲击切换的修正将变为无效( 迟是在编辑此功能块时)。
D 组件的无冲击切换示例为了通过用户程序实现无冲击 P(D) 控制器切换以及 OFF 参数修改,下面的示例可充当起始点。
在此示例中,通过斜坡形式的限速器 VLIM 并使用 pvlim.rate 中提供的速度,将 OFF 参数设置为 new_off 变量值。
对示例的说明在此示例中,要特别注意 off 变量在 VLIM 的 YMAN 输入以及在 VLIM 的 Y 输出处的使用,并且注意 VLIM 的输出与 COMP_PID 的 OFF 输入的链接。VLIM 的 Y 输出与 COMP_PID 的 OFF 输入之间的链接导致 VLIM 功能块在 COMP_PID 功能块之前处理(这是进行正确操作的先决条件)。只要在 VLIM 中启用了手动模式 (mvlim.man = 1),VLIM 功能块的手动值就会传送到 COMP_PID OFF 参数。COMP_PID 功能块现在能够修改变量的内容以进行无冲击处理。在下一次循环中,这个修改后的值即可在 VLIM 功能块的 YMAN 输入中使用。在适当的时间,VLIM 功能块中的手动模式可以被禁用,并且功能块以斜坡形式增加 off 变量的值,使其从它的当前值升高到 new_off 的当前值。在上述示例中,手动模式的启用是在功能块 OR 中控制的。只要 COMP_PID 连接到了 I 组件 (mkpid.en_i = 1),VLIM 功能块就仍处于手动模式。注意: 如果 mkpid.en_i = 1,在计算 COMP_PID 输出时将不考虑 COMP_PID 的 OFF 参数。在上述示例中,为了将 off 更改为 new_off,OR 功能块需要另一个条件:变量 change_off 必须为 1。
160 33003691 10/2019
COMP_PID
增益的无冲击更改对比例作用系数 gain 的修改是无冲击的。由于处于操作模式的连接/断开连接状态下,这要求执行一个内部修正。如果 I 组件处于连接状态(en_i = 1 且 ti > 0),则内部 I 组件将由增益修改所导致的预期 P 组件跳转进行修正。如果 I 组件处于断开连接状态,则 OFF 参数中的值将由预期的 P 组件跳转进行修正(如果 bump = 0)。如果 bump = 1,则 OFF 不被修改,并且 P(D) 控制器增益变化导致均衡过程。
33003691 10/2019 161
COMP_PID
选择 COMP_PID 的操作模式
操作模式存在五种操作模式,可以从 r、man、halt 和 cascade 中进行选择。
自动模式和级联模式在自动模式中,操作变量 Y 是通过离散量 PID 闭合回路控制算法并根据受控变量 X 和引用变量 SP 确定的。在级联模式中,操作变量 Y 是通过离散量 PID 闭合回路控制算法并根据受控变量 X 和引用变量 SP_CAS 确定的。这两种操作模式(自动和级联)之间的区别仅在外部表现为它们对引用变量 SP 的用法不同。SP_CAS 用于级联操作模式,而 SP 用于所有其他操作模式(具有速度限制)。SP_CAS 变量仅在级联模式中为输入,它在所有其他模式中都为输出。在 SP_CAS 中,如果处于复位、手动、暂停或自动模式下以及启动过程中,则 X 变量将返回给主控制器,从而可以进行诸如从固定设定点控制到级联控制的无冲击切换。在这两种操作模式中,操作变量 Y 受 ymax 和 ymin 的限制。可以使用参数 delt_aw 扩展 Anti-windup 方法的控制界限。
手动模式在手动模式中,手动操作值 YMAN 传送给具有限速器的操作变量 Y。通过使用参数 rate_man 中设置的速率(单位 1/秒),将操作变量 Y 设置为斜坡形式的 YMAN 参数值。将为参数 rate_man 计算数量。如果 rate_man = 0,YMAN 的限速器的功能将被禁用。YMAN 直接传送给操作变量。操作变量受 ymax 和 ymin 的限制。操作内部变量的方式使控制器从手动转换为自动(启用了 I 组件)可以是无冲击的。Anti-windup 方法的设计与在自动模式下无异。在此操作模式中,D 组件自动设置为 0。
复位模式在复位模式中,复位值 YRESET 将直接传送给操作变量 Y。操作变量受 ymax 和 ymin 的限制。操作内部变量的方式使控制器从手动转换为自动(启用了 I 组件)可以是无冲击的。Anti-windup 方法的执行与在自动模式下无异。
操作模式 r man halt cascade
复位 1 1 或 0 1 或 0 1 或 0手动模式 0 1 1 或 0 1 或 0暂停 0 0 1 1 或 0级联 0 0 0 1自动 0 0 0 0
162 33003691 10/2019
COMP_PID
暂停模式在暂停模式中,控制输出保持不变,即功能块不更改操作变量 Y。操作内部变量的方式使控制器可以从其当前位置平稳驱动。操作变量限制和 Anti-windup 方法与在自动模式下相同。暂停模式还用于使外部操作设备调整控制输出 Y,由此控制器的内部组件就有机会连续对外部影响做出反应。在此操作模式中,D 组件自动设置为 0。
非无冲击操作 (bump = 0)非无冲击操作的定义是:在操作模式切换(例如从手动切换为自动)的过程中,由于操作变量 Y 中的 P 组件,控制器发生跳转。根据控制器的使用范围,只要系统偏差不等于 0,在进行切换(例如从手动切换到自动)时,控制器可进行操作变量的跳转类型修正。跳转高度对应于控制器的 P 组件,并且为:
无冲击操作 (bump = 1)无冲击操作的定义是:在操作模式切换的过程中,控制器不会在操作变量 Y 中产生中断。即它应该正好从上次所处的同一位置继续运行。在此操作模式中,内部 I 组件由组成它的 P 来修正。如果没有启用任何 I 组件,则无冲击操作将通过跟踪操作点 OFF 完成,这样,即使系统偏差不等于 0,控制器仍可在操作模式更改过程中继续运行而没有任何冲击。
33003691 10/2019 163
COMP_PID
详细的公式
公式变量说明变量在以下公式中的含义:
操作变量操作变量由具体取决于操作模式的各个项组成:
对各组件求和得到的操作变量进行限制,使:
控件组件的计算概述下面概述了与元素 en_p、en_i 和 en_d 相关的各个控件组件的不同计算: 手动、暂停、自动和级联模式的 P 组件 YP 自动模式的 I 组件 YI 手动和暂停模式的 I 组件 YI 自动和级联模式的 D 组件 YD 手动和暂停模式的 D 组件 YD
变量 含义当前循环和上一个循环之间的时间微分
当前内部得出的系统偏差
当前采样步中的系统偏差值
上一个采样步中的系统偏差值
FEED_FWD 干扰(仅出现在 P、D 或 PD 控制器中)OFF 偏移
当前采样步中的受控变量值
上一个采样步中的受控变量值
Y 当前输出(暂停模式)或 YMAN(手动模式)YD D 组件(仅当 en_d = 1 时)YI I 组件(仅当 en_i = 1 时)YP P 组件(仅当 en_p = 1 时)
164 33003691 10/2019
COMP_PID
所有操作模式的 P 组件 YP手动、暂停、自动和级联模式的 YP 按如下方式计算:当 en_p = 1 时,计算公式为:
当 en_p = 0 时,计算公式为:
自动模式的 I 组件 YI自动模式的 YI 按如下方式计算:当 en_i = 1 时,计算公式为:
当 en_i = 0 时,计算公式为:
I 组件是根据梯形规则得出的。
手动和暂停模式的 I 组件 YI手动、暂停和自动模式的 YI 按如下方式计算:当 en_i = 1 时,计算公式为:
当 en_i = 0 时,计算公式为:
33003691 10/2019 165
COMP_PID
自动和级联模式的 D 组件 YD 自动模式和级联模式的 YD 按如下方式计算:当 en_d = 1 且 d_on_pv = 0 时,计算公式为:
当 en_d = 1 且 d_on_pv = 1 时,计算公式为:
当 en_d = 0 时,计算公式为:
手动和暂停模式的 D 组件 YD手动、暂停和自动模式的 YD 按如下方式计算:
166 33003691 10/2019
EcoStruxure™ Control ExpertDEADTIME33003691 10/2019
DEADTIME:延迟时间设备
第18章DEADTIME:延迟时间设备
简介本章描述 DEADTIME 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 168操作模式 171功能块的行为示例 172
33003691 10/2019 167
DEADTIME
说明
功能描述使用此功能块,输入信号会延迟一段时间,即所谓的延迟时间。功能块将信号 X 延迟 T_DELAY 的延迟时间后,该信号才再次出现在 Y 处。功能块使用一个 128 元素延迟缓冲区来保存 X 值的序列,即在 T_DELAY 时间内延迟了 128 个离散 X 值。以这种方式使用缓冲区可使它与操作模式保持一致。无论系统是冷启动还是热启动,Y 的值都保持不变。内部值将设置为 X 的值。在延迟时间 T_DELAY 发生更改或系统冷启动/热启动后,输出 READY 将设置为“0”。这表示:缓冲区为空且未就绪。该功能块具有以下操作模式: 手动模式 暂停 自动可以将 EN 和 ENO 配置为附加参数。注意: 即使通过 EN 参数禁用了块,延迟时间仍继续运行,因为块根据系统时钟计算其时间微分。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
公式传输功能为:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
168 33003691 10/2019
DEADTIME
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL DEADTIME_Instance (X:=InputValue, MODE:=OperatingModes, T_DELAY:=DeadTime, YMAN:=ManualManipulatedValue, Y=>Output, READY=>InternalBufferFlag)
在 ST 中的表示形式表示形式:DEADTIME_Instance (X:=InputValue, MODE:=OperatingModes, T_DELAY:=DeadTime, YMAN:=ManualManipulatedValue, Y=>Output, READY=>InternalBufferFlag) ;
33003691 10/2019 169
DEADTIME
DEADTIME 参数描述输入参数描述:
输出参数描述:
Mode_MH 参数描述数据结构描述
运行时错误当输入 YMAN 或 X 中存在无效的浮点数时,返回一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明X REAL 输入值MODE Mode_MH 操作模式T_DELAY TIME 延迟时间YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出READY BOOL “1”= 内部缓冲区已满
“0”= 内部缓冲区未满(例如,热/冷启动后或延迟时间更改后)
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
170 33003691 10/2019
DEADTIME
操作模式
选择操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
自动操作模式在自动模式中,功能块根据下列规则执行操作:
自动模式的示例示例中接受下列值:循环时间 = 100 毫秒T_DELAY = 10 秒tin = T_DELAY / 128 = 78 毫秒由于读取时间 tin 短于循环时间,每个 X 值都传送到缓冲区。第四次执行功能块时(即 400 毫秒后),X 值保存两次而非一次(像 3 x 78 = 312 且 4 x 78 = 390)。
手动模式在手动模式中,手动值 YMAN 始终传送到控制输出 Y。内部缓冲区装满手动值 YMAN。缓冲区标记为已满 (READY =1)。
暂停模式在暂停模式中,输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。内部缓冲区仍如同在自动模式中一样继续操作。
操作模式 man halt
自动 0 0手动模式 1 0 或 1暂停 0 1
如果... 则...
扫描时间 > 当前的 X 值传送到缓冲区,而缓冲区中 旧的 X 值会放置在输出 Y 上。如果扫描时间多于 T_DELAY / 128,则分辨率将小于 128,从而导致系统错误,即某些 X 值是双重存储的(请参阅下面的示例)。
扫描时间 < 并非所有的 X 值都可以存储在缓冲区中。在这种情况下,在某些循环中不保存 X 值。在完成 T_DELAY 后,输出 Y 可能在两个(或更多)连续循环中相应地保持不变。
33003691 10/2019 171
DEADTIME
功能块的行为示例
示例下图显示了该功能块行为的示例。输入 X 的值变化(从一个值变为另一个值)遵从斜坡函数。延迟了 T_DELAY 延迟时间后,X 值显示在 Y 上。DEADTIME 功能块图
172 33003691 10/2019
EcoStruxure™ Control ExpertDERIV33003691 10/2019
DERIV:带滤波功能的微分器
第19章DERIV:带滤波功能的微分器
简介本章描述 DERIV 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 174公式 177详细描述 178功能块示例 179
33003691 10/2019 173
DERIV
说明
功能描述功能块是一个微分元素,它具有与延迟时间常数 lag 相关的延迟输出 Y。该功能块包含以下操作模式:手动、暂停和自动模式。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
174 33003691 10/2019
DERIV
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL DERIV_Instance (X:=InputVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedValue, Y:=DifferentiatorOutput)
在 ST 中的表示形式表示形式:DERIV_Instance (X:=InputVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedValue, Y:=DifferentiatorOutput) ;
DERIV 参数描述输入参数描述:
输入/输出参数描述:
参数 数据类型 说明X REAL 输入变量MODE Mode_MH 操作模式PARA Para_DERIV 参数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 带滤波功能的输出微分单位
33003691 10/2019 175
DERIV
Mode_MH 参数描述数据结构描述
Para_DERIV 参数描述数据结构描述
运行时错误当输入 YMAN 或 X 中存在无效的浮点数时,返回一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 差分的增益lag TIME 延迟时间常数
176 33003691 10/2019
DERIV
公式
转换函数Y 的转换函数是:
Y 的计算公式Y 的计算公式是:
特殊情况:lag =0它相当于在没有一阶时间限制器的情况下计算纯微分。在这种情况下,转换函数为:
计算公式为:
大小的含义公式中各个数值大小的含义如下所示:
变量 含义当前循环的输入 X 值
上一个循环的输入 X 值
上一个循环的输出 Y 值
是当前循环和上一个循环之间的时间微分
33003691 10/2019 177
DERIV
详细描述
参数设置功能块的参数赋值受确定的 gain、微分器和时间常数 lag(输出 Y 按此参数的值延迟)的影响。对于非常短的采样时间和输入 X 单位步(输入 X 从 0 跳转到 1.0),输出 Y 将跳转到值 gain(理论上如此 - 但实际要稍小,因为采样时间并非无限小),然后使用延迟时间常数 lag 返回到 0。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
操作模式 man halt 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 输入 YMAN 将直接传送到输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。
178 33003691 10/2019
DERIV
功能块示例
DERIV 示例下面的示例显示 DERIV 功能块的阶跃响应。当 gain = 1 和 lag = 10 秒的跳转响应
33003691 10/2019 179
DERIV
180 33003691 10/2019
EcoStruxure™ Control ExpertFGEN33003691 10/2019
FGEN:功能发生器
第20章FGEN:功能发生器
简介本章描述 FGEN 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 182参数设置 185函数选择 186函数定义 187各函数的图表 190特殊情况 194时序图 195
33003691 10/2019 181
FGEN
说明
功能描述功能块 FGEN 表示一个函数发生器。该功能块将在 Y 输出中生成一个信号形式,此输出是在数据结构 Para_FGEN 中定义的。该功能块可以是级联的,也就是说,如果使用了其中的一些 EFB,则可以创建各种信号形式并且它们彼此重叠。可以生成以下 8 种不同的信号形式: 跳转函数 斜坡函数 Delta 函数 锯齿波函数 方波函数 梯形波函数 正弦函数 随机数注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
182 33003691 10/2019
FGEN
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL FGEN_Instance (R:=ResetFlag, START:=StartFlag, PARA:=Parameter, YOFF:=Output_Y_Offset, Y=>FunctionGeneratorOutput, ACTIVE=>FunctionGeneratorActiv, N=>NumberOfPeriods)
在 ST 中的表示形式表示形式:FGEN_Instance (R:=ResetFlag, START:=StartFlag, PARA:=Parameter, YOFF:=Output_Y_Offset, Y=>FunctionGeneratorOutput, ACTIVE=>FunctionGeneratorActiv, N=>NumberOfPeriods) ;
FGEN 参数描述输入参数描述:
参数 数据类型 说明R BOOL 1: 复位START BOOL 1: 启动函数发生器PARA Para_FGEN 参数YOFF REAL 输出 Y 的偏移
33003691 10/2019 183
FGEN
输出参数描述:
Para_FGEN 参数描述数据结构描述
运行时错误有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明Y REAL 函数发生器输出ACTIVE BOOL ACTIVE = 1:函数发生器处于活动状态N INT 自启动起的间隔数
元素 数据类型 说明func_no INT 发生器函数选择 (1-8)amplitude REAL 函数幅度halfperiod TIME 半循环持续时间t_off TIME 空闲时间常数t_rise TIME 上升时间常数t_acc TIME 滤波时间unipolar BOOL “1”= 信号单极
“0”= 信号双极
184 33003691 10/2019
FGEN
参数设置
复位参数 R 代表 RESET(复位)。如果设置了此参数 (R = 1),则所有正在运行的函数将立即终止,并且输出 Y 转至参数 YOFF(偏移)的值。同时循环计数器 N 也复位到 0,并且 ACTIVE 返回"0"。
启动函数发生器。参数 START (START = 1) 启动用数据结构定义的函数。输出 N 将从每个新循环开始递增。如果参数 START 返回"0",则所选函数的活动循环运行至完成。只要函数正在运行,输出 ACTIVE 就是"1"。如果该周期结束,输出 ACTIVE 也会复位到"0"。
偏移函数发生器产生的波形具有参数 amplitude 的值的幅度,即对于双极操作 (unipolar = "0") ,值的范围从 -amplitude 到 amplitude;对于单极操作 (unipolar = "1"),值的范围从 0 到 amplitude。可以通过参数 YOFF 将波形值从 0 参考点移开。注意: 如果另一个函数发生器的输出应用于参数 YOFF,则由这两个函数产生的波形将重叠。
上升时间 t_rise上升时间 t_rise 只适用于"斜坡"函数和"梯形波"函数。在"锯齿波"函数中,上升时间由 halfperiod - t_off 确定。对于"delta"函数,上升时间为 0.5 * (halfperiod - t_off)。
33003691 10/2019 185
FGEN
函数选择
选择函数发生器可以产生的函数总共有 8 个。函数选择是通过 func_no 完成的。在函数更改时,上次选择的正在运行的函数仍继续运行到完成。允许使用下列函数编号:
func_no 函数1 跳转2 斜坡3 锯齿波4 Delta5 方波6 梯形波7 正弦8 随机数
186 33003691 10/2019
FGEN
函数定义
定义函数完全是在数据结构 Para_FGEN 中定义的。首先,必须确定波形(请参阅函数选择, 第 186 页)。梯形波(Delta、锯齿波、方波)单极/双极选择作为定义的基本类型。
函数幅度在参数 amplitude 中确定。应该注意,此声明适用于单极操作。双极操作中的幅度是双倍的,并且由 amplitude 和 -amplitude 组成。参数 halfperiod 定义半循环持续时间。参数 t_off 定义空闲时间。所以,函数的半循环是指 halfperiod - t_off 时间范围内的输出。在定义梯形波函数时还需要上升时间 t_rise。上升时间是指信号从 0 加速到 amplitude 的这段时间。该时间同时也是信号从 amplitude 下降到 0 所需的时间。
对函数"滤波"如果斜坡形式的函数有上升或下降,则始终先对 陡处进行转换。在此情况下梯度不为常量。使用"滤波"后可以得到平滑的上升和下降,即斜坡变为 S 曲线。
33003691 10/2019 187
FGEN
对函数"滤波"
然后将该函数分为三段。段 I 从 0 直接"加速"。段 II 使用段 I 末端处达到的速度继续前进。在段 III 中,使用段 I 中的加速度减速,这样就平稳地到达终点。段的大小可由用户定义。定义的方法是通过指定 t_acc 和 t_rise。采用下列公式计算相关的加速度:
其中
且
这表示:
注意: 滤波功能仅由"斜坡"、"锯齿波"、"Delta"和"梯形波"函数使用。"跳转"、"方波"和"正弦"函数不是"可滤波"函数。
188 33003691 10/2019
FGEN
单个参数的用法参数在各种函数中的用法。
函数图可以在各函数的图表, 第 190 页
单极操作unipolar 参数定义所选的函数应作为单极函数还是双极函数输出。应特别注意,单极操作中循环仍具有 2 个"单极"半波的特征。
改变函数参数在当前正执行的循环中,所有函数参数都可能被更改。但是,所做的任何更改在循环完成后才会生效。例如,如果在正运行的循环中更改了空闲时间 t_off,但它仅在启动下一次循环时才会应用。
更改函数如果在当前正执行的循环中更改了参数 func_no,则它也将在上一个所选函数的循环完成后才会生效。然后启动新函数。此操作会将指示周期数的循环计数器 N 复位到 0。
函数 amplitude halfperiod t_off t_rise t_acc unipolar
跳转 X斜坡 X X X锯齿波 X X X halfperiod - t_acc X Xdelta X X X ((halfperiod - t_acc)/2 X X方波 X X X X梯形波 X X X X X X正弦 X X X X随机数 X X
33003691 10/2019 189
FGEN
各函数的图表
跳转函数跳转函数的表示形式
斜坡函数斜坡函数的表示形式
190 33003691 10/2019
FGEN
锯齿波函数锯齿波函数的表示形式
Delta 函数Delta 函数的表示形式
33003691 10/2019 191
FGEN
方波函数方波函数的表示形式
梯形波函数梯形波函数的表示形式
192 33003691 10/2019
FGEN
正弦函数正弦函数的表示形式
33003691 10/2019 193
FGEN
特殊情况
跳转函数对于"跳转"函数,输出转到值 Y = YOFF(如果 START = 0)和值 Y = YOFF + amplitude(如果 START = 1)设置时间规格(t_off、t_rise、t_acc)在此函数中不起作用。对于输入 START 的每个新的 0 → 1 转换,输出 N 都会递增。此函数仅在单极操作中运行。因此,参数 unipolar 必须非显式地设置为 1。
斜坡函数在"斜坡"函数中,输出 Y 从 YOFF 斜线上升到 YOFF + amplitude。当 START 保持为 1 时,则输出 Y 保持为值 YOFF + amplitude。如果 START 返回 0,则输出 Y 跳转回值 YOFF。上升由 t_rise 时间和 t_acc 时间决定。从 Y = YOFF 上升到 Y = YOFF + amplitude 需要的时间由 t_rise 指定。t_acc 可以影响"滤波"。对于输入 START 的每个新的 0 → 1 转换,输出 N 都会递增。此函数仅在单极操作中运行。因此,参数 unipolar 必须非显式地设置为 1。
随机数在"随机数"函数中,输出 Y 设置为在YOFF ≤ Y ≤ YOFF + amplitude(在单极操作中)和YOFF - amplitude ≤Y ≤ YOFF + amplitude(在双极操作中)之间"偶然"产生的一个数字.时间规格(t_off、t_rise、t_acc)在此函数中不起作用。对于输入 START 的每个新的 0 → 1 转换,输出 N 都会递增。
194 33003691 10/2019
FGEN
时序图
双极操作以下参数规格表示双极操作中的各种函数:
双极操作
单极操作以下参数规格表示单极操作中的各种函数:
参数 规格amplitude 1halfperiod 10t_off 2t_rise 2t_acc 0unipolar 0
参数 规格amplitude 1halfperiod 10t_off 2t_rise 2t_acc 0unipolar 1
33003691 10/2019 195
FGEN
单极操作
梯形波函数以下参数规格表示梯形波函数:
梯形波函数
参数 规格amplitude 1halfperiod 10t_off 1t_rise 4t_acc 1.5
196 33003691 10/2019
EcoStruxure™ Control ExpertINTEG33003691 10/2019
INTEG:带限制的积分器
第21章INTEG:带限制的积分器
简介本章描述 INTEG 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 198详细描述 202
33003691 10/2019 197
INTEG
说明
功能描述该功能块复制带限制的积分器。该功能块具有以下属性: 手动、暂停和自动操作模式 自动模式中的操作变量限制注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
计算公式为:
大小的含义
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
变量 说明上一个循环的输入 X 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
198 33003691 10/2019
INTEG
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL INTEG_Instance (X:=InputVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedValue, Y:=Output, STATUS=>Output_Y_Status)
在 ST 中的表示形式表示形式:INTEG_Instance (X:=InputVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedValue, Y:=Output, STATUS=>Output_Y_Status) ;
33003691 10/2019 199
INTEG
INTEG 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
Mode_MH 参数描述数据结构描述
Para_INTEG 参数描述数据结构描述
参数 数据类型 说明X REAL 输入变量MODE Mode_MH 操作模式PARA Para_INTEG 参数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出
参数 数据类型 说明STATUS Stat_MAXMIN 输出状态
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 积分增益(单位/秒)ymax REAL 上限ymin REAL 下限
200 33003691 10/2019
INTEG
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 YMAN 或 X 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明qmin BOOL "1" = Y 已达到控制下限qmax BOOL "1" = Y 已达到控制上限
33003691 10/2019 201
INTEG
详细描述
参数设置功能块的参数赋值通过确定积分 gain 以及输出 Y 的界限值 ymax 和 ymin 来实现。ymax 和 ymin 值将输出限制在规定范围内。因此 ymin ≤ Y ≤ ymax如果达到了阈值或者输出信号受到限制,这将由 qmax 和 qmin 来指示。 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
示例输入信号是通过时间集成的。如果输入 X 上有跳转,则输出将根据斜坡函数而增加(对于正 X 值)或减少(对于负 X 值)。Y 始终在 ymax 和 ymin 之间;如果 Y 等于 ymax 或 ymin,这将会在 qmax 或 qmin 中相应出现。积分器跳转响应的表示形式
操作模式 man halt 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。但是,控制输出受 ymax 和 ymin 的限制。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。
202 33003691 10/2019
EcoStruxure™ Control ExpertLAG33003691 10/2019
LAG:一阶延迟元素
第22章LAG:一阶延迟元素
简介本章描述 LAG 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 204详细描述 207
33003691 10/2019 203
LAG
说明
功能描述该功能块表示一阶延迟元素(低通)该功能块包含以下操作模式: 手动模式 暂停 自动注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
计算公式为:
大小的含义
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
变量 说明上一个循环的输入 X 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
204 33003691 10/2019
LAG
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL LAG_Instance (X:=InputValue, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedValue, Y:=Output)
在 ST 中的表示形式表示形式:LAG_Instance (X:=InputValue, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedValue, Y:=Output) ;
33003691 10/2019 205
LAG
LAG 参数描述输入参数描述:
输入/输出参数描述:
Mode_MH 参数描述数据结构描述
Para_LAG 参数描述数据结构描述
运行时错误有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明X REAL 输入值MODE Mode_MH 操作模式PARA Para_LAG 参数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 增益系数lag TIME 延迟时间常数
206 33003691 10/2019
LAG
详细描述
参数设置该功能块的参数设置是通过指定 gain 系数和为延迟时间常数 lag 设置参数来实现的。输入 X 的单位跳转(输入 X 从 0 到 1.0 的跳转)遵从输出 Y 并具有一定的延迟。通过一个指数函数
输出 Y 将接近于值 。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
示例下图显示功能块的跳转响应的示例。输入 X 跳转到一个新值,输出 Y 遵从输入 X 的指数函数。功能块 LAG 的跳转响应(如果 gain = 1)
操作模式 man halt 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。
33003691 10/2019 207
LAG
208 33003691 10/2019
EcoStruxure™ Control ExpertLAG233003691 10/2019
LAG2:二阶延迟元素
第23章LAG2:二阶延迟元素
简介本章描述 LAG2 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 210详细描述 214时序图 215
33003691 10/2019 209
LAG2
说明
功能描述该功能块 LAG2 表示二阶延迟元素。该功能块包含以下操作模式: 手动模式 暂停 自动注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
计算公式为:
其中
和
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
210 33003691 10/2019
LAG2
大小的含义
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
变量 说明上一个循环的输出 Y 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
33003691 10/2019 211
LAG2
在 IL 中的表示形式表示形式:CAL LAG2_Instance (X:=Input, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulated_Y_Value, Y:=Output)
在 ST 中的表示形式表示形式:LAG2_Instance (X:=Input, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulated_Y_Value, Y:=Output) ;
LAG2 参数描述输入参数描述:
输入/输出参数描述:
Mode_MH 参数描述数据结构描述
Para_LAG2 参数描述数据结构描述
参数 数据类型 说明X REAL 输入值MODE Mode_MH 操作模式PARA Para_LAG2 参数YMAN REAL 输出的手动操作值
参数 数据类型 说明Y REAL 输出
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 增益系数dmp REAL 阻尼freq REAL 自然频率
212 33003691 10/2019
LAG2
运行时错误有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
33003691 10/2019 213
LAG2
详细描述
参数设置该功能块的参数赋值是通过确定 gain 系数、阻尼 dmp 的值和自然频率 freq 的值来实现的。阻尼 dmp 和自然频率 freq 必须具有正值。输出 Y 遵从输入 X 的跳转,形式为阻尼振动。非阻尼振动的周期为 T = 1/freq。如果阻尼值 dmp < 1,则对阻尼振动进行引用。如果阻尼值 ≥ 1,则对非共振的行为(即没有振动)进行引用;在这种情况下,输出遵从输入的方式与 2 LAG 功能块(是连续切换的)相同。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
操作模式 man halt 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。
214 33003691 10/2019
LAG2
时序图
概述以下各图显示 LAG2 设备在参数变化时的跳转响应示例。
阻尼 dmp = 1对于 dmp = 1 的阻尼,输出 Y 遵从输入 X 并具有一个非周期性的动作。
阻尼 dmp = 0.5对于 dmp = 0.5 的阻尼,输出 Y 遵从输入 X 并具有一个阻尼的周期性动作。
33003691 10/2019 215
LAG2
阻尼 dmp = 0.2对于 dmp = 0.2 的阻尼,很明显,跳转响应很少阻尼。
216 33003691 10/2019
EcoStruxure™ Control ExpertLEAD_LAG33003691 10/2019
LEAD_LAG:带滤波功能的 PD 设备
第24章LEAD_LAG:带滤波功能的 PD 设备
简介本章描述 LEAD_LAG 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 218详细描述 221功能块 LEAD_LAG 的示例 222
33003691 10/2019 217
LEAD_LAG
说明
功能描述该功能块使用以下低通过滤器实施 PD 元素。该功能块具有以下属性: 可定义的 D 组件延迟 手动、暂停和自动操作模式注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
公式传输功能为:
计算公式为:
大小的含义
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
变量 说明上一个循环的输入 X 的值
上一个循环的输出 Y 的值
dt 是当前循环和上一个循环之间的时间差分
218 33003691 10/2019
LEAD_LAG
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL LEAD_LAG_Instance (X:=Input, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualControlValue, Y:=Output)
在 ST 中的表示形式表示形式:LEAD_LAG_Instance (X:=Input, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualControlValue, Y:=Output) ;
33003691 10/2019 219
LEAD_LAG
LEAD_LAG 参数描述输入参数描述:
输入/输出参数描述:
Mode_MH 参数描述数据结构描述
Para_LEAD_LAG 参数描述数据结构描述
运行时错误当输入 YMAN 或 X 中存在无效的浮点数时,返回一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明X REAL 输入MODE Mode_MH 操作模式PARA Para_LEAD_LAG 参数YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 输出
元素 数据类型 说明man BOOL “1”= 手动操作模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 增益系数lead TIME 微分时间常数lag TIME 延迟时间常数
220 33003691 10/2019
LEAD_LAG
详细描述
参数设置该功能块的参数赋值是通过确定 gain 系数、微分时间常数 lead 的值和延迟时间常数 lag 的值来实现的。对于非常短的采样时间和输入 X 的单位跳转(当输入 X 为 0 到 1.0 的跳转),输出 Y 将跳转到值
(理论值 - 实际上稍微小些,因为采样时间并非无限小),它使用时间常数 lag 来接近值 。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
操作模式 man halt 含义自动 0 0 功能块按"参数设置"中所述操作。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。
33003691 10/2019 221
LEAD_LAG
功能块 LEAD_LAG 的示例
示例概述以下各图演示了如下示例: lead = lag
lead=lag * 0.5,gain = 1
lead/lag = 2,gain = 1
lead = lag
这些功能块的行为与乘数为 gain 的纯乘法块相似。功能块 LEAD_LAG(当 lead = lag 时)
222 33003691 10/2019
LEAD_LAG
lead=lag * 0.5,gain = 1在这种情况下,输出 Y 跳转到结束值的一半以便使用延迟时间常数 lag (gain * X) 达到结束值。功能块 LEAD_LAG(当 lead/lag = 0.5 且 gain = 1 时)
lead/lag = 2,gain = 1在这种情况下,输出 Y 跳转到结束值的两倍以便使用延迟时间常数 lag (gain * X) 达到结束值。功能块 LEAD_LAG(当 lead/lag = 2 且 gain = 1 时)
33003691 10/2019 223
LEAD_LAG
224 33003691 10/2019
EcoStruxure™ Control ExpertPCON233003691 10/2019
PCON2:两点控制器
第25章PCON2:两点控制器
简介本章描述 PCON2 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 226详细描述 230
33003691 10/2019 225
PCON2
说明
功能描述该功能块得到一个两点控制器,该控制器通过两个动态反馈路径维护与 PID 类似的行为。可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 手动、暂停和自动操作模式 两个内部反馈路径(一阶延迟)
在 FBD 中的表示形式表示形式:
226 33003691 10/2019
PCON2
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PCON2_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulated_ERR_EFF, Y=>ManipulatedOutput, ERR_EFF=>EffectiveError)
在 ST 中的表示形式表示形式:PCON2_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulated_ERR_EFF, Y=>ManipulatedOutput, ERR_EFF=>EffectiveError) ;
33003691 10/2019 227
PCON2
PCON2 参数描述输入参数描述:
输出参数描述:
Mode_MH 参数描述数据结构描述
Para_PCON2 参数描述数据结构描述
参数 数据类型 说明SP REAL 设定点输入PV REAL 实际值输入MODE Mode_MH 操作模式PARA Para_PCON2 参数YMAN BOOL “1”= ERR_EFF 的手动值
参数 数据类型 说明Y BOOL “1”= 输出操作的变量ERR_EFF REAL 有效切换值
元素 数据类型 说明man BOOL “1”= 手动模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 反馈升压lag_neg TIME 快速反馈的时间常数lag_pos TIME 慢速反馈的时间常数hys REAL 两点开关的滞后值xf_man REAL 百分数形式的反馈的复位值 (0 – 100)
228 33003691 10/2019
PCON2
运行时错误在下列情况下,将给出警告:
注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
原因 控制器的行为lag_neg = 0 且 lag_pos > 0 控制器运行时就像对时间常数 lag_pos 只有一个负反馈一样。lag_pos < lag_neg > 0 控制器运行时就像对时间常数 lag_neg 只有一个负反馈一样。xf_man < 0 或 xf_man > 100 控制器运行时没有内部反馈路径。
33003691 10/2019 229
PCON2
详细描述
控制器结构两点控制器的结构:
两点控制器的原理实际的两点控制器将添加 2 个动态反馈路径(PT1 元素)。通过适当地选择反馈元素的时间常数,两点控制器维护与 PID 控制器的行为对应的动态行为。
230 33003691 10/2019
PCON2
反馈反馈参数集由反馈 gain 以及反馈时间常数 lag_neg 和 lag_pos 组成,它实现了两点控制器的广泛使用。下表提供了有关它的更准确的信息:
将反馈 gain 设置为大于零!输入 0 和 100 之间的 xf_man(表示 0% 到 100%)值!
滞后值参数 hys 指示开关滞后值。在输出 Y 复位为"0"之前,必须从控制点 hys/2 传出的有效切换值 ERR_EFF 中减去此滞后值。输出 Y 的相关性取决于有效的切换值 ERR_EFF 和参数 hys,这种相关性在图两点控制器的原理, 第 230 页中可以很清楚地看出。hys 参数的值通常设置为 大控制区域 [max.(SP - PV] 的 1%。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
反馈 lag_neg lag_pos
2 点行为(没有反馈) = 0 = 0负反馈 > 0 = 0负反馈 + 正反馈 > 0 > lag_neg警告、重新生成(负反馈具有 lag_pos) = 0 > 0警告、重新生成(正反馈已关闭) > lag_pos > 0
操作模式 man halt 含义自动 0 0 该功能块将按以上所述进行处理。手动模式 1 0 或 1 输出 Y 设置为值 YMAN。xfl 和 xf2 使用以下公式计算:
xf1 = xf_man * gain /100xf2 = xf_man * gain /100
暂停 0 1 输出 Y 将保留 后一次计算的值。xf1 和 xf2 设置为 gain * Y。
33003691 10/2019 231
PCON2
232 33003691 10/2019
EcoStruxure™ Control ExpertPCON333003691 10/2019
PCON3:三点控制器
第26章PCON3:三点控制器
简介本章描述 PCON3 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 234详细描述 237运行时错误 240
33003691 10/2019 233
PCON3
说明
功能描述该功能块得到一个三点控制器,该控制器通过两个动态反馈路径维护与 PID 类似的行为。可以将 EN 和 ENO 配置为附加参数。
属性功能块 PCON3 包含以下属性: 手动、暂停和自动操作模式 两个内部反馈路径(一阶延迟)
在 FBD 中的表示形式表示形式:
234 33003691 10/2019
PCON3
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PCON3_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN_POS:=ManManipulated_Y_POS, YMAN_NEG:=ManManipulated_Y_NEG, Y_POS=>PosManipulated_ERR_EFF, Y_NEG=>NegManipulated_ERR_EFF, ERR_EFF=>EffectiveError)
在 ST 中的表示形式表示形式:PCON3_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN_POS:=ManManipulated_Y_POS, YMAN_NEG:=ManManipulated_Y_NEG, Y_POS=>PosManipulated_ERR_EFF, Y_NEG=>NegManipulated_ERR_EFF, ERR_EFF=>EffectiveError) ;
33003691 10/2019 235
PCON3
PCON3 参数描述输入参数描述:
输出参数描述:
Mode_MH 参数描述数据结构描述
Para_PCON3 参数描述数据结构描述
运行时错误有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明SP REAL 设定点输入PV REAL 实际值输入MODE Mode_MH 操作模式PARA Para_PCON3 参数YMAN_POS BOOL Y_POS 的手动操作YMAN_NEG BOOL Y_NEG 的手动操作
参数 数据类型 说明Y_POS BOOL “1”= 输出 ERR_EFF 的正操作变量Y_NEG BOOL “1”= 输出 ERR_EFF 的负操作变量ERR_EFF REAL 有效切换值
元素 数据类型 说明man BOOL “1”= 手动模式halt BOOL “1”= 暂停模式
元素 数据类型 说明gain REAL 反馈增益(反馈参数集)lag_neg TIME 快速反馈的时间常数(反馈参数集)lag_pos TIME 慢速反馈的时间常数(反馈参数集)hys REAL 三点开关的滞后值db REAL 死区xf_man REAL 百分数形式的反馈的复位值 (0 – 100)
236 33003691 10/2019
PCON3
详细描述
控制器结构三点控制器的结构:
因此:
如果... 则...Y = 1 Y_POS = 1
Y_NEG = 0Y = 0 Y_POS = 0
Y_NEG = 0Y = -1 Y_POS = 0
Y_NEG = 1
33003691 10/2019 237
PCON3
三点控制器的原理实际的三点控制器将添加 2 个动态反馈路径(PT1 元素)。通过适当地选择反馈元素的时间常数,三点控制器维护与 PID 控制器的动态行为对应的行为。
反馈该功能块具有内部反馈路径的参数序列,由反馈 gain 以及复位时间常数 lag_neg 和 lag_pos 组成。下表提供了有关它的更准确的信息:
参数 gain 必须 > 0该量将根据滞后值 hys 和死区 db 进行解析!对于 xf_man(表示 -100 到 100%),要输入 -100 和 100 之间的值!
死区参数 db 设置输出 Y_POS 和 Y_NEG 的连接点。如果有效切换值 ERR_EFF 为正并且大于 db,则输出 Y_POS 将从"0"切换为"1"。如果有效切换值 ERR_EFF 为负并且小于 db,则输出 Y_NEG 将从"0"切换为"1"。db 参数的值通常设置为 大控制区域( 大 SP - PV)的 1%。
反馈 lag_neg lag_pos
3 点行为(没有反馈) = 0 = 0负反馈 > 0 = 0负反馈 + 正反馈 > 0 > lag_neg警告、重新生成(负反馈具有 lag_pos) = 0 > 0警告、重新生成(正反馈已关闭) > lag_pos > 0
238 33003691 10/2019
PCON3
滞后值参数 hys 指示开关滞后值。在输出 Y_POS (Y_NEG) 复位为"0"之前,必须从控制点 db 传出的有效切换值 ERR_EFF 中减去此滞后值。图三点控制器的原理, 第 238 页说明了 Y_POS 和 Y_NEG(具体取决于有效切换值 ERR_EFF)与参数 db 和 hys 之间的联系。hys 参数的值通常设置为 大控制区域( 大 SP - PV)的 0.5%。
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
操作模式 man halt 含义自动 0 0 该功能块将按以上所述进行处理。手动模式 1 0 或 1 输出 Y_POS 和 Y_NEG 分别设置为值 YMAN_POS 和 YMAN_NEG。在这种情况下,
内置优先级逻辑 Y_NEG 优先于 Y_POS,从而禁止了同时设置这两个输出。xf1 和 xf2 是通过以下公式计算的:xf1 = xf_man * gain /100xf2 = xf_man * gain /100
暂停 0 1 在暂停模式下,输出 Y_POS 和 Y_NEG 都将保留 后一次计算的值。xf1 和 xf2 设置为 gain * Y。
33003691 10/2019 239
PCON3
运行时错误
错误消息如果 hys > 2 * db,将出现一条错误消息。
警告在下列情况下,将给出警告:
原因 控制器的行为lag_neg = 0 且 lag_pos > 0 控制器运行时就像对时间常数 lag_pos 只有一个负反馈一样。lag_pos < lag_neg > 0 控制器运行时就像对时间常数 lag_neg 只有一个负反馈一样。xf_man < 0 或 xf_man > 100 控制器运行时没有内部反馈路径。
240 33003691 10/2019
EcoStruxure™ Control ExpertPD_OR_PI33003691 10/2019
PD_OR_PI:结构转换 PD/PI 控制器
第27章PD_OR_PI:结构转换 PD/PI 控制器
简介本章描述 PD_OR_PI 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 242功能块 PD_OR_PI 的结构图 247详细描述 248详细的公式 250
33003691 10/2019 241
PD_OR_PI
说明
功能描述功能块 PD_OR_PI 可以像 PD 控制器或 PI 控制器一样正常运行。根据系统偏差 (SP - PV) 和指定的切换值,trig_err 将自动执行从 PD 控制器到 PI 控制器的结构转换以及从 PI 控制器到 PD 控制器的结构转换。 此 EFB 尤其适用于启动控制。启动该过程后,控制器将作为 P(D) 控制器,由此,受控变量将尽快达到已调整的引用变量值。即将达到给定的设定点值时,控制算法会转变,一个 I 组件确保剩余的控制偏差逐渐消失。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 具有独立 gain 和 ti 调整的 PI 控制器 具有独立 gain 和 ti 调整的 PD 控制器 自动模式中的操作变量限制 PI 操作中的 Anti-windup 复位 可定义的 D 组件延迟 手动、暂停和自动操作模式 手动和自动之间无冲击转换 PD 操作与 PI 操作之间自动无冲击转换
PI 控制器转换函数PI 控制器转换函数为:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
242 33003691 10/2019
PD_OR_PI
PD 控制器转换函数PD 控制器转换函数为:
在 FBD 中的表示形式表示形式:
33003691 10/2019 243
PD_OR_PI
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PD_OR_PI_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedVariable, FEED_FWD:=Disturbance, Y:=ManipulatedVariable, ERR=>SystemDeviation, STATUS=>StatusOfOutput_Y)
在 ST 中的表示形式表示形式:PD_OR_PI_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedVariable, FEED_FWD:=Disturbance, Y:=ManipulatedVariable, ERR=>SystemDeviation, STATUS=>StatusOfOutput_Y) ;
244 33003691 10/2019
PD_OR_PI
PD_OR_PI 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
Mode_MH 参数描述数据结构描述
参数 数据类型 说明SP REAL 设定点输入(引用变量)PV REAL 过程变量(受控变量)MODE Mode_MH 操作模式PARA Para_PD_or_PI 参数YMAN REAL 手动操作的变量FEED_FWD REAL 干扰变量
参数 数据类型 说明Y REAL 操作变量
参数 数据类型 说明ERR REAL 系统偏差STATUS Stat_MAXMIN 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式
33003691 10/2019 245
PD_OR_PI
Para_PD_PI 参数描述数据结构描述
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 PV 中存在未授权的浮点数 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明trig_err REAL PDPI 控制器的转换切换值gain_d REAL PD 控制器比例作用系数(增益)td TIME PD 控制器微分时间td_lag TIME PD 控制器微分时间的延迟gain_i REAL PI 控制器比例作用系数(增益)ti TIME PI 控制器复位时间ymax REAL 上限ymin REAL 下限
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
246 33003691 10/2019
PD_OR_PI
功能块 PD_OR_PI 的结构图
结构图以下是 PD_OR_PI 功能块的结构图:
33003691 10/2019 247
PD_OR_PI
详细描述
确定切换值功能块的参数设置从确定切换值 trig_err 开始。此参数确定功能块从 PD 操作自动更改为 PI 操作的时间。如果系统偏差 ERR = SP - PV 的绝对值小于切换值 trig_err,该控制器将自动从 PD 操作切换到 PI 操作。如果系统偏差 ERR 大于切换值 trig_err,该控制器将自动从 PI 操作切换到 PD 操作。这表示: PD 控制器:ERR > trig_err PI 控制器:ERR ≤ trig_err每个控制器类型都与一个参数集相关,该参数集也必须配置。控制算法转换实际上是从一个参数集到另一个参数集的切换。转换是无冲击的。
PD 控制器PD 控制器参数设置是通过配置比例作用系数 gain_d 和微分时间 td 来实现的。对于 PD 控制器操作,D 组件按时间常数值 td_lag 延迟。td/td_lag 比率称为微分增益,通常在 3 和 10 之间选择。D 组件由系统偏差 ERR 直接决定,这样对于引用变量波动(输入 SP 的偏差),将产生由 D 组件引起的跳转。通过设置 td = 0 可禁用 D 组件。
PI 控制器PI 控制器参数设置是通过配置比例作用系数 gain_i 和复位时间 ti 来实现的。通常,在使用 PD 算法的启动过程中设置的比例作用系数显著大于在使用 PI 算法的实际静止操作中设置的比例作用系数。通过指定两个独立的比例作用系数,可避免发生这种情况。通过设置 ti = 0 可禁用 I 组件。
操作变量限制限制 ymax 和 ymin 使操作变量保持在规定范围内。因此可以认定:ymin ≤ Y ≤ ymax输出 qmax 和 qmin 表示操作变量已达到了限制,因而受到了限制: 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1为了限制操作变量,上限 ymax 应大于下限 ymin。
248 33003691 10/2019
PD_OR_PI
Anti-Windup 复位如果 PI 控制算法处于活动状态时限制了操作变量,Anti-windup 复位应确保 I 组件"不能失控"。仅当 I 组件值不为 0 时才采用 Anti-windup 方法。Anti-windup 限制与对操作变量的限制相同。Anti-windup 复位方法修正了 I 组件,以便: YI ≥ ymin - gain_i * (SP - PV) - FEED_FWD YI ≤ ymax - gain_i * (SP - PV) - FEED_FWD
操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择:
操作模式 man halt 含义自动 0 0 操作变量输出 Y 通过离散量 PI 或 PD 闭合回路控制算法来确定,它取决于受控
变量 PV 和引用变量 SP。操作变量受 ymax 和 ymin 的限制。控制器输出限制还充当 Antiwindup 复位的限制。
手动模式 1 0 或 1 手动操作值 YMAN 将直接传送给操作变量 Y。操作变量受 ymax 和 ymin 的限制。这样操作内部变量时,控制器从手动转换为自动可以是无冲击的。
暂停 0 1 操作变量保持不变,该功能块不影响操作变量 Y。操作内部变量的方式使控制器可以从其当前位置平稳驱动。操作变量限制和 Antiwindup 方法就像在自动模式下一样。在允许外部操作员设备调整控制输出 Y 时,暂停模式也非常有用,因此,控制器的内部组件就有机会对外部影响连续作出反应。
33003691 10/2019 249
PD_OR_PI
详细的公式
公式变量说明变量在以下公式中的含义:
系统偏差系统偏差将按如下方式计算:
操作变量操作变量由具体取决于操作模式的各个项组成:
对各组件求和得到的操作变量进行限制,使:
变量 含义当前采样时间
系统偏差
上一个采样步中的系统偏差值
FEED_FWD 干扰变量Y 当前输出(暂停模式)或 YMAN(手动模式)YD D 组件
上一个采样步中的 D 组件值
YI I 组件上一个采样步中的 I 组件值
YP P 组件
250 33003691 10/2019
PD_OR_PI
控件组件的计算概述下面概述了与 trig_err 元素相关的控件组件的不同计算:
PI 控制器:所有操作模式的 YP 和 YD手动、暂停、自动和级联模式的 YP 和 YD 按如下方式计算:
PI 控制器:自动模式的 I 组件自动模式的 YI 按如下方式计算 (ti > 0):
I 组件是根据梯形规则得出的。
PI 控制器:手动和暂停模式的 I 组件 YI手动和暂停模式的 YI 按如下方式计算
PD 控制器:所有模式的 YP 和 YI手动、暂停和自动模式的 YP 和 YI 按如下方式计算
控制器类型 控制器组件PI 控制器 (ERR ≤ trig_err) 手动、暂停和自动模式的 YP 和 YD
自动操作模式的 YI手动和暂停操作模式的 YI
PD 控制器 (ERR> trig_err ) 手动、暂停和自动模式的 YP 和 YI自动模式的 YD手动和暂停操作模式的 YD
33003691 10/2019 251
PD_OR_PI
PD 控制器:自动模式的 D 组件自动模式的 YD 按如下方式计算:
PD 控制器:手动和暂停操作模式的 D 组件手动、暂停和自动模式的 YD 按如下方式计算:
252 33003691 10/2019
EcoStruxure™ Control ExpertPDM33003691 10/2019
PDM:脉冲持续时间调制
第28章PDM:脉冲持续时间调制
简介本章描述 PDM 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 254详细描述 258
33003691 10/2019 253
PDM
说明
使用功能块传动装置不仅要通过模拟量来驱动,还要通过二进制驱动信号来驱动。例如,模拟值到二进制输出信号的转换是通过脉冲宽度调制 (PWM) 或脉冲持续时间调制 (PDM) 实现的。经过调整的传动装置平均能量(传动装置能量)应与调制块的模拟量输入值 (IN) 一致。
功能描述功能块 PDM 将模拟值转换为数字输出信号。在功能块 PDM 中,将在一段取决于模拟值 X 的可变循环时间内输出恒定持续时间的 1 信号。已调整的平均能量相当于固定占空比 t_on 与可变循环时间周期的商。为使调整过的平均能量也相当于模拟量输入变量 IN,必须应用:
注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
关于传动装置驱动器的常规信息通常,二进制传动装置驱动器由两个布尔信号 Y_POS 和 Y_NEG 执行。在电机上,输出 Y_POS 相当于信号“顺时针旋转”,输出 Y_NEG 相当于信号“逆时针旋转”。对于烤箱,可以将输出 Y_POS 和 Y_NEG 当作“加热”和“冷却”。如果上述传动驱动器是电机,则有可能避免非自动锁定的变速箱超程,并在啮合信号后必然输出一个制动脉冲。为了保护电源设备,在开启 t_on 之后和制动脉冲 t_brake 之前,必须有一段暂停时间 t_pause 以避免短路。
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
254 33003691 10/2019
PDM
公式为确保正确运行,设置参数时应遵守以下规则:
和
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PDM_Instance (X:=InputVariable, R:=ResetMode, PARA:=Parameter, Y_POS=>Positive_X_ValueOutput, Y_NEG=>Negative_X_ValueOutput)
33003691 10/2019 255
PDM
在 ST 中的表示形式表示形式:PDM_Instance (X:=InputVariable, R:=ResetMode, PARA:=Parameter, Y_POS=>Positive_X_ValueOutput, Y_NEG=>Negative_X_ValueOutput) ;
PDM 参数描述输入参数描述:
输出参数描述:
Para_PDM 参数描述数据结构描述
参数 数据类型 说明X REAL 输入变量R BOOL 复位模式PARA Para_PDM 参数
参数 数据类型 说明Y_POS BOOL 正 X 值的输出Y_NEG BOOL 负 X 值的输出
元素 数据类型 说明t_on TIME 脉冲持续时间(以秒为单位)t_pause TIME 暂停时间(以秒为单位)t_brake TIME 制动时间(以秒为单位)pos_up_x REAL 正 X 值的上限pos_t_min TIME Y_POS 的 短循环时间(其中 x = pos_up_x)(以秒为单位)pos_lo_x REAL 正 X 值的下限pos_t_max TIME Y_POS 的 长循环时间(其中 x = pos_lo_x)(以秒为单位)neg_up_x REAL 负 X 值的上限neg_t_min TIME Y_NEG 的 短循环时间(其中 x = neg_up_x)(以秒为单位)neg_lo_x REAL 负 X 值的下限neg_t_max TIME Y_NEG 的 长循环时间(其中 x = neg_lo_x)(以秒为单位)
256 33003691 10/2019
PDM
运行时错误如果满足以下条件,则返回一条错误消息: |up_x| ≤ |lo_x| t_max ≤ t_min注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
33003691 10/2019 257
PDM
详细描述
功能块操作模式脉冲持续时间 t_on 确定输出 Y_POS 和 Y_NEG 信号分别为 1 的时间间隔。对于正输入信号 X,将设置输出 Y_POS;对于负输入信号 X,将设置输出 Y_NEG。仅一个输出信号可为 1。建议在驱动脉冲和制动脉冲之间有一个可自由定义的暂停时间(t_pause = 10 或 20 毫秒),从而可以保护电源设备(从而有可能阻止反平行连接的晶闸管同时点火)。在暂停时间 t_pause 后,可能有一个持续时间 t_brake 的制动脉冲跟踪输出脉冲持续时间。在暂停时间内这两个输出信号都为 0。在制动时间内,传送上一个脉冲的反向输出将变为 1 信号。暂停时间 t_pause = 20 毫秒 (t_pause =0.02) 相当于点火角控制中断了两个半波长。该暂停时间应保证有足够大的安全范围,以防止反平行晶闸管点火导致的各短路分别触发抑制器回路。此后的一个周期内,两个输出信号都为 0(延迟)。
周期
此延迟以及脉冲、暂停和制动时间组成了一个周期 ,它具体取决于 lo_x 和 t_min,按以下
公式进行计算:
下列内容适用于全部三种情况:
注意: (绝对)值仅根据参数 up_x (-pos/-neg) 和 lo_x (-pos/-neg) 来计算。
要求 公式 公式变量说明lo_x <> 0
lo_x = 0t_min > 0
lo_x = 0t_min = 0
要求 lo_x up_x t_min t_max
pos_lo_x pos_up_x pos_t_min pos_t_max
neg_lo_x neg_up_x neg_t_min neg_t_max
258 33003691 10/2019
PDM
循环时间参数 t_min(对于每个输出都有一个不同的值)提供 小周期,即从一个驱动脉冲的开始到下一个驱动脉冲开始前经过的时间间隔。当输入 X 超过值 up_x 时(此时每个信号都有一个不同的值),将显示此时间间隔。参数 t_max 对 大周期设置一个上限。如果输入在值 pos_lo_x 或 neg_lo_x 的下面经过,则驱动脉冲输出会终止,直到输入再次超过值 pos_lo_x 或 neg_lo_x。值 pos_lo_x 和 neg_lo_x 定义原则上什么是死区,在死区中功能块输出不能被激活。参数 (pos_t_min, pos_up_x) 和 (pos_t_max, pos_lo_x) 对于正输入信号 X 有效。将设置输出 Y_POS。参数 (neg_t_min, neg_up_x) 和 (neg_t_max, neg_lo_x) 对于负输入信号 X 有效。将设置输出 Y_NEG。
时间比率显示下图简要地说明了各个时间之间的比率:
时间间隔的相关因素输入变量 X 中的时间间隔的相关因素(在该时间间隔内,输出 Y_POS (Y_NEG) 信号为 1)显示在"X 对输出的决定作用, 第 260 页"图和"X 对输出的决定作用(特殊情况), 第 260 页"图上。
33003691 10/2019 259
PDM
X 对输出的决定作用下图显示了X 对输出的决定作用:
X 对输出的决定作用(特殊情况)下图显示了特殊情况 t_min = 0 且 lo_x = 0:
260 33003691 10/2019
PDM
操作模式在复位模式中 R = "1",将输出 Y_POS 和 Y_NEG 设置为 0 信号。内部计时器也经过标准化,以便该功能块开始传输 R=0,并在关联输出上输出新的 1 信号。
限制条件如果同时操作 PDM 功能块和 PID 控制器,选择 大周期 t_max 时要使其相当于 PID 控制器的扫描时间。这样就可以保证在周期时间内来自 PID 控制器的每个新的驱动信号都可得到完全处理。PDM 扫描时间 t_scan 应与周期和脉冲时间成比例。通过这种方法,可以确定可能 小的驱动脉冲。推荐使用以下比率:
33003691 10/2019 261
PDM
262 33003691 10/2019
EcoStruxure™ Control ExpertPI33003691 10/2019
PI:PI 控制器
第29章PI:PI 控制器
简介本章描述 PI 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 264公式 268参数设置 269操作模式 270PI 控制器的示例 271
33003691 10/2019 263
PI
说明
功能描述该功能块表示一个简单的 PI 控制器。系统偏差 ERR 由引用变量 SP 和受控变量 PV 之间的差异得出。此偏差 ERR 会导致操作变量 Y 发生更改。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 手动、暂停和自动操作模式 手动和自动之间无冲击转换 操作变量限制 Anti-windup 复位(仅对活动 I 组件进行)
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
264 33003691 10/2019
PI
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PI_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedVariable, Y:=ManipulatedVariable, ERR=>SystemDeviation, STATUS=>StatusOfOutput_Y)
在 ST 中的表示形式表示形式:PI_Instance (SP:=SetpointInput, PV:=ProcessVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualManipulatedVariable, Y:=ManipulatedVariable, ERR=>SystemDeviation, STATUS=>StatusOfOutput_Y) ;
33003691 10/2019 265
PI
PI 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
Mode_MH 参数描述数据结构描述
Para_PI 参数描述数据结构描述
参数 数据类型 说明SP REAL 设定点输入/引用变量PV REAL 过程变量/受控变量MODE Mode_MH 操作模式PARA Para_PI 参数YMAN REAL 手动值
参数 数据类型 说明Y REAL 操作变量
参数 数据类型 说明ERR REAL 系统偏差STATUS Stat_MAXMIN Y 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式
元素 数据类型 说明gain REAL 比例作用系数(增益)ti TIME 积分时间 ymax REAL 上限ymin REAL 下限
266 33003691 10/2019
PI
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 YMAN 或 X 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
33003691 10/2019 267
PI
公式
转换函数转换函数为:
计算公式计算公式为:
输出信号 Y输出信号 Y 为:
I 组件是根据梯形规则得出的。
公式变量说明公式变量的含义如下表所示:
变量 含义当前采样时间
系统偏差 (SP - PV)
上一个采样步中的系统偏差值
YI I 组件YP P 组件
268 33003691 10/2019
PI
参数设置
结构图下面是 PI 控制器的结构图:
参数设置PI 控制结构显示在结构图, 第 269 页。首选设置功能块的基本 PI 参数:比例操作系数 gain 和重置时间 ti。通过设置 ti = 0 可禁用 I 组件。值 ymax 和 ymin 将输出限制在规定范围内。因此 ymin ≤ Y ≤ ymax。输出 qmax 和 qmin 发出信号,通知输出已达到限值,并因此超过上限。 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1
操作变量限制达到组件操作变量总和限制后,如此:ymin ≤ Y ≤ ymax
Anti-Windup 复位如果达到操作变量限制,Antiwindup 复位应确保整体部件“无法发狂”。仅当未禁用控制器的 I 组件时才实施 Antiwindup 方法。Anti-windup 限制与对操作变量的限制相同。Anti-windup 复位措施纠正 I 组件,如此:ymin - YP ≤ YI ≤ ymax - YP
33003691 10/2019 269
PI
操作模式
选择操作模式存在三种操作模式,可以通过 man 和 halt 参数输入进行选择。
自动操作模式在自动模式中,控制输出 Y 是通过闭合回路控制并根据受控变量 PV 和引用变量 SP 确定的。操作变量受 ymax 和 ymin 的限制。控制界限也是对 Anti-windup 复位的限制。由于输出 Y 可取 yman 和 ymin 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。尽管存在这些问题,但如果要求从自动转换到手动是无冲击的,则对于 PID 控制器 (参见第 282 页)存在两种典型的可能。
手动模式在手动模式中,手动操作值 YMAN 将直接传递给控制输出 Y。但是,操作变量受 ymax 和 ymin 的限制。在操作内部变量时,将保证控制器能够无冲击地从手动切换到自动(在启用了 I 组件的情况下)。该控制界限也是对 Anti-windup 复位的限制
暂停模式在暂停模式中,控制输出保持不变;功能块不影响控制输出 Y,即 Y = Y(旧值)。在操作内部变量时,将保证组件总数相当于操作变量,因此允许控制器从其当前位置平稳地驱动。该控制界限也是对 Anti-windup 复位的限制。暂停模式对于允许外部操作员设备调整控制输出 Y 也很有用,由此控制器的内部组件就有机会连续响应外部影响。
操作模式 man halt
自动 0 0手动模式 1 1 或 0暂停 0 1
270 33003691 10/2019
PI
PI 控制器的示例
示例PI 控制器的跳转响应作为一个示例显示在下面的图 (参见第 271 页)中。在图的第一部分中可以看到功能块对 MAN 操作模式的响应:输出 Y 跳转到 YMAN 值。图的第二部分显示自动模式(MAN = 0 且 HALT= 0)中在具有正 ERR 系统偏差和负 ERR 系统偏差的情况下功能块的反应。对于恒定正系统偏差,Y 以斜坡状向上移动,直到达到输出的上限才停止。则 Y 受 ymax 值的限制。限制通过 qmax 来表示。然后系统偏差跳转到其绝对值大于上一个正值的负值。输入跳转到值 ;通过 P 组件,Y 中接着出现斜坡状的下降。梯度的
绝对值大于上一个正系统偏差下的梯度。这可归结于系统偏差的当前绝对值较大。
PI 控制器跳转响应PI 控制器的跳转响应的表示形式
33003691 10/2019 271
PI
272 33003691 10/2019
EcoStruxure™ Control ExpertPID33003691 10/2019
PID:PID 控制器
第30章PID:PID 控制器
简介本章描述 PID 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 274PID 功能块结构图 279为 PID 控制器设置参数 280操作模式 282详细的公式 284
33003691 10/2019 273
PID
说明
功能说明此功能块生成一个 PID 控制器。
初始化要求该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。
可以将 EN 和 ENO 配置为附加参数。为了使控制器的比例部分行为正确,在每次热启动或冷启动之后至少一个扫描周期内,必须将积分动作复位(将输入系数 en_i set 设为零)。如果在初始化时将积分动作系数 en_i 设为非零值,该功能模块将不含比例部分,作为 I 或 ID 控制器使用。
属性该功能块具有以下属性: 实际 PID 控制器带有独立 gain、ti、td 设置 手动、暂停和自动操作模式 手动和自动之间无冲击转换 自动模式中的操作变量限制 分别启用 P、I 和 D 组件 Anti-Windup 复位 仅对活动 I 组件采用 Anti-windup 方法 可定义的 D 组件延迟 D 组件可与受控变量 PV 或系统偏差 ERR 连接
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
274 33003691 10/2019
PID
传输功能传输功能为:
变量的说明:
在 FBD 中的表示形式表示形式:
变量 说明YD D 组件(仅当 en_d = 1 时)YI I 组件(仅当 en_i = 1 时)YP P 组件(仅当 en_p = 1 时)
33003691 10/2019 275
PID
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PID_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, MODE:=OperatingModes, PARA:=Parameter, FEED_FWD:=Disturbance, YMAN:=ManualManipulatedValue, Y:=ManipulatedVariable, ERR=>SystemDeviation, STATUS=>StatusOfOutput_Y)
在 ST 中的表示形式表示形式:PID_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, MODE:=OperatingModes, PARA:=Parameter, FEED_FWD:=Disturbance, YMAN:=ManualManipulatedValue, Y:=ManipulatedVariable, ERR=>SystemDeviation, STATUS=>StatusOfOutput_Y) ;
276 33003691 10/2019
PID
PID 参数说明输入参数说明:
输入/输出参数说明:
输出参数说明:
Mode_PID 参数说明数据结构说明
1请参阅 初始化要求 (参见第 274 页)。
参数 数据类型 说明SP REAL 引用变量PV REAL 受控变量MODE Mode_PID 操作模式PARA Para_PID 参数FEED_FWD REAL 干扰变量YMAN REAL 手动操作值
参数 数据类型 说明Y REAL 操作变量
参数 数据类型 说明ERR REAL 系统偏差STATUS Stat_MAXMIN Y 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式en_p BOOL "1": P 组件处于活动状态
en_i1 BOOL "1": I 组件处于活动状态
en_d BOOL "1": D 组件处于活动状态d_on_pv BOOL "1": D 组件与受控变量有关
"0": D 组件与系统偏差有关
33003691 10/2019 277
PID
Para_PID 参数说明数据结构说明
Stat_MAXMIN 参数说明数据结构说明
错误消息如果满足以下条件,则返回一条错误消息: 输入 YMAN 或 PV 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块代码和值的列表,请参见Tables of Error Codes for the Obsolete Library (参见第 586 页)。
元素 数据类型 说明gain REAL 比例作用系数(增益)ti TIME 积分时间td TIME 微分时间td_lag TIME D 组件的延迟ymax REAL 上限ymin REAL 下限
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
278 33003691 10/2019
PID
PID 功能块结构图
结构图以下是 PIDI 功能块的结构图:
33003691 10/2019 279
PID
为 PID 控制器设置参数
参数设置PID 控制结构显示在结构图, 第 279 页中。功能块参数设置 初是由纯 PID 参数(即比例作用系数 gain、复位时间 ti 和微分时间 td)执行的。D 组件按时间 td_lag 延迟。td/td_lag 比率称为微分增益,通常在 3 和 10 之间选择。D 组件可能取决于系统偏差 ERR (d_on_pv = "0") 或受控变量 PV (d_on_pv = "1")。如果 D 组件由受控变量 PV 确定,则当引用变量发生波动(输入 SP 中发生变化)时 D 组件将无法引起跳转。通常,D 组件仅影响干扰和过程差异。
控制方向反转通过反转 gain 的符号可以反转控制器的行为。gain 为正值将导致正错误变量的输出值增加。gain 为负值将导致正错误变量的输出值增加。
操作变量限制限制 ymax 和 ymin 将输出限制在规定范围内。因此 ymin ≤ Y ≤ ymax。输出 qmax 和 qmin 已达到界限值,即输出信号受到限制。 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1用于限制操作变量的上限 ymax 必须大于下限 ymin,否则功能块会报告一个错误且不能正常运行。
Anti-Windup 复位如果出现操作变量的限制,则 Anti-windup 复位应确保 I 组件"不能失控"。仅当未关闭控制器 I 组件时才采用 Anti-windup 方法。Anti-windup 限制与对操作变量的限制相同。Anti-windup 方法忽略 D 组件值,以避免 D 组件峰值错误地触发它。Anti-windup 方法按这种方式修正 I 组件以使:
280 33003691 10/2019
PID
选择控制类型存在四种不同的控制类型,可以通过元素 en_p、en_i 和 en_d 进行选择:
在 ti = 0 时,也可以禁用 I 组件。
控制器类型 en_p en_i en_d
P 控制器 1 0 0PI 控制器 1 1 0PD 控制器 1 0 1PID 控制器 1 1 1I 控制器 0 1 0
33003691 10/2019 281
PID
操作模式
选择操作模式存在三种操作模式,可以通过 man 和 halt 元素进行选择:
自动操作模式在自动模式中,操作变量 Y 是通过离散 PID 闭合回路控制算法并根据受控变量 PV 和引用变量 SP 确定的。操作变量受 ymax 和 ymin 的限制。该控制界限也是对 Anti-windup 复位的限制。
手动模式在手动模式中,手动操作值 YMAN 将直接传送给操作变量 Y。但是,操作变量受 ymax 和 ymin 的限制。在操作内部变量时,将保证控制器能够无冲击地从手动切换到自动(在启用了 I 组件的情况下)。该控制界限也是对 Anti-windup 复位的限制。在此操作模式中,D 组件自动设置为 0。
暂停模式在暂停模式中,控制输出保持不变;功能块不影响操作变量 Y,即 Y = Y(旧值)。跟踪内部大小时,将使控制器(在连接到 I 组件时)可以无冲击地从其当前位置继续运行。此控制界限也是对 Anti-windup 复位的限制。暂停模式对于通过外部操作设备来设置控制输出 Y 也很有用,由此可以在控制器内正确地跟踪内部组件。在此操作模式中,D 组件自动设置为 0。
从自动切换到手动由于输出 Y 可取 yman 和 ymin 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。不过,如果要求无冲击地从自动转换到手动,则有两种可能: 借助 MOVE 功能进行切换 借助功能块增加限制 VLIM 进行切换
操作模式 man halt
自动 0 0手动模式 1 0 或 1暂停 0 1
282 33003691 10/2019
PID
通过 MOVE 进行切换使用 MOVE 功能将 YMAN 的值设置为 Y 的值:
仅当 PID 控制器处于自动模式(Mode.man = 0)中时才执行 MOVE 功能。如果只发生一次从自动到手动的转换,则由于在此循环中 YMAN 的值等于 Y 的值,因此该转换是无冲击的。在手动模式中 YMAN 的值可以缓慢地变化。
通过 VLIM 进行切换如果不希望更改 YMAN(例如当它为常数时),则使用限速器(功能块 VLIM)可以实现以前的解决方案:
在自动模式 (MPID.man = 0) 中,限速器处于手动模式(MOVE 功能)中。这样,通过限速器手动值(VLIM 的 YMAN)可以将 PID 控制器手动值(PID 的 YMAN)设置为 PID 控制器的 Y 值。如果只发生一次从自动到手动的转换,则由于在此循环中(PID 的)YMAN 的值等于(PID 的)Y 的值,因此该转换是无冲击的。从调整值 (Para.rate) 开始的 PID 控制器 YMAN 值与从下一个循环开始的实际手动值(在 VLIM 上)进行比较。
33003691 10/2019 283
PID
详细的公式
公式变量说明变量在以下公式中的含义:
操作变量操作变量由具体取决于操作模式的各个项组成:
对各组件求和得到的操作变量进行限制,使:
控件组件的计算概述下面概述了与元素 en_p、en_i 和 en_d 相关的各个控件组件的不同计算: 手动、暂停、和自动模式的 P 组件 YP 自动模式的 I 组件 YI 手动和暂停模式的 I 组件 YI 自动模式的 D 组件 YD 手动和暂停模式的 D 组件 YD
变量 含义是当前循环和上一个循环之间的时间微分
系统偏差 (SP - PV)
当前采样步中的系统偏差值
上一个采样步中的系统偏差值
FEED_FWD 干扰变量当前采样步中的受控变量值
上一个采样步中的受控变量值
Y 当前输出(暂停模式)或 YMAN(手动模式)YD D 组件YI I 组件YP P 组件
284 33003691 10/2019
PID
所有操作模式的 P 组件 YP手动、暂停和自动模式的 YP 按如下方式计算当 en_p = 1 时,计算公式为:
当 en_p = 0 时,计算公式为:
自动模式的 I 组件 YI自动模式的 YI 按如下方式计算:当 en_i = 1 时,计算公式为:
当 en_i = 0 时,计算公式为:
I 组件是根据梯形规则得出的。
手动和暂停模式的 I 组件 YI手动、暂停和自动模式的 YI 按如下方式计算:当 en_i = 1 时,计算公式为:
当 en_i = 0 时,计算公式为:
33003691 10/2019 285
PID
自动模式的 D 组件 YD 自动模式和级联模式的 YD 按如下方式计算:当 en_d = 1 且 d_on_pv = 0 时,计算公式为:
当 en_d = 1 且 d_on_pv = 1 时,计算公式为:
当 en_d = 0 时,计算公式为:
手动和暂停模式的 D 组件 YD手动、暂停和自动模式的 YD 按如下方式计算:YD = 0
286 33003691 10/2019
EcoStruxure™ Control ExpertPID_P33003691 10/2019
PID_P:具有并行结构的 PID 控制器
第31章PID_P:具有并行结构的 PID 控制器
简介本章描述 PID_P 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 288为 PID_P 控制器设置参数 293操作模式 295详细的公式 296
33003691 10/2019 287
PID_P
说明
功能描述该功能块复制并行结构的 PID 控制器。系统偏差 ERR 由引用变量 SP 和受控变量 PV 之间的差异得出。此偏差 ERR 会导致操作变量 Y 发生更改。
初始化要求该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。
可以将 EN 和 ENO 配置为附加参数。为了使控制器的比例部分行为正确,在每次热启动或冷启动之后的至少一个扫描周期内,必须将积分动作复位(将输入系数 KI 设为零)。如果在初始化时将积分动作系数 KI 设为非零值,该功能模块将不含比例部分,作为 I 或 ID 控制器使用。
属性该功能块具有以下属性: PID 控制器为纯并行结构 P、I 和 D 组件具有独立增益 可分别启用每个 P、I 和 D 组件 在自动模式中限制控制界限 仅对活动 I 组件采用 Anti-windup 方法 Anti-Windup 复位 手动、暂停和自动操作模式 手动和自动之间无冲击转换 D 组件可与输入变量 PV 或系统偏差 ERR 连接 D 组件具有可变延迟
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
288 33003691 10/2019
PID_P
传输功能传输功能为:
变量的说明:
在 FBD 中的表示形式表示形式:
变量 说明YD D 组件YI I 组件YP P 组件
33003691 10/2019 289
PID_P
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PID_P_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualValue, FEED_FWD:=Disturbance, Y:=ManipulatedVariable, ERR=>OutputSystemDeviation, STATUS=>StatusOfOutput_Y)
在 ST 中的表示形式表示形式:PID_P_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualValue, FEED_FWD:=Disturbance, Y:=ManipulatedVariable, ERR=>OutputSystemDeviation, STATUS=>StatusOfOutput_Y) ;
290 33003691 10/2019
PID_P
PID_P 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
Mode_PID_P 参数描述数据结构描述
参数 数据类型 说明SP REAL 引用变量PV REAL 受控变量MODE Mode_PID_P 操作模式PARA Para_PID_P 参数YMAN REAL 手动操作值FEED_FWD REAL 干扰输入
参数 数据类型 说明Y REAL 操作变量
参数 数据类型 说明ERR REAL 系统偏差STATUS Stat_MAXMIN Y 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式d_on_pv BOOL "1": D 组件与受控变量有关
"0": D 组件与系统偏差有关reverse BOOL "1": 输出已反转
33003691 10/2019 291
PID_P
Para_PID_P 参数描述数据结构描述
1请参阅 初始化要求 (参见第 288 页)。
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 YMAN 或 X 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块代码和值的列表,请参见Tables of Error Codes for the Obsolete Library (参见第 586 页)。
元素 数据类型 说明kp REAL 比例作用系数(增益 = P 组件)
ki1 REAL 积分作用系数(增益 = I 组件)[1/秒]
kd REAL 微分率(增益 = D 组件)[秒]td_lag TIME D 组件的延迟ymax REAL 上限ymin REAL 下限
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
292 33003691 10/2019
PID_P
为 PID_P 控制器设置参数
结构图以下是 PIDP 功能块的结构图:
参数设置PID_P 控制结构显示在结构图, 第 293 页中。设置 PID_P 控制器的参数时首先设置纯 PID 参数(即比例作用系数 kp、积分作用系数 ki 和微分率 kd)。通过将相应的输入(kp、ki 或 kd)设置为 0,可以分别禁用 P、I 和 D 组件。D 组件按时间常数 td_lag 延迟。D 组件可能取决于系统偏差 ERR (d_on_pv = "0") 或受控变量 PV (d_on_pv = "1")。如果 D 组件由受控变量 PV 确定,则当引用变量发生波动(输入 SP 中发生变化)时 D 组件将无法引起跳转。通常,D 组件仅影响干扰和过程差异。
控制方向反转通过设置 reverse 输入可以反转控制器的行为。reverse = 0 使输出值随正干扰而增加。reverse = 1 使输出值随正干扰而降低。
33003691 10/2019 293
PID_P
操作变量限制限制 ymax 和 ymin 将输出限制在规定范围内。因此 ymin ≤ Y ≤ ymax。输出 qmax 和 qmin 已达到界限值,即输出信号受到限制。 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1用于限制操作变量的上限 ymax 必须大于下限 ymin,否则功能块会报告一个错误且不能正常运行。
Anti-Windup 复位如果发生了操作变量限制,则 Anti-windup 复位应确保积分组件不能超出所有限制。仅当未禁用控制器的 I 组件时才实施 Anti-windup 方法。Anti-windup 限制与对操作变量的限制相同。不考虑对 D 组件采用 Anti-windup 方法,因此 Anti-windup 方法不会屏蔽由 D 组件引起的峰值。Anti-windup 复位方法按以下方式修正 I 组件,即:
选择控制类型可以通过参数 kp、ki 和 kd 在多个控制器类型中进行选择:
控制器类型 kp ki kd
P 控制器 > 0 = 0 = 0PI 控制器 > 0 > 0 = 0PD 控制器 > 0 = 0 > 0PID 控制器 > 0 > 0 > 0I 控制器 = 0 > 0 = 0
294 33003691 10/2019
PID_P
操作模式
选择操作模式存在三种操作模式,可以通过 man 和 halt 元素进行选择:
自动操作模式在自动模式中,操作变量 Y 是通过离散 PID 闭合回路控制算法并根据受控变量 PV 和引用变量 SP 确定的。操作变量受 ymax 和 ymin 的限制。控制界限也是对 Anti-windup 复位的限制。由于输出 Y 可取 yman 和 ymin 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。尽管如此,如果要求从自动到手动的转换是无冲击的,则对于 PID 控制器 (参见第 282 页)存在两种典型的可能。
手动模式在手动模式中,手动操作值 YMAN 将直接传送给操作变量 Y。但是,操作变量受 ymax 和 ymin 的限制。在操作内部变量时,将保证控制器能够无冲击地从手动切换到自动(在启用了 I 组件的情况下)。该控制界限也是对 Anti-windup 复位的限制。在此操作模式中,D 组件自动设置为 0。
暂停模式在暂停模式中,控制输出保持不变;功能块不影响操作变量 Y,即 Y = Y(旧值)。在操作内部变量时,将保证控制器能够从其当前位置平稳地驱动(在启用了 I 组件的情况下)。此控制界限也是对 Anti-windup 复位的限制。暂停操作模式对于通过外部操作员设备设置控制输出 Y 也很有用,由此可以在控制器中正确地跟踪内部组件。在此操作模式中,D 组件自动设置为 0。
操作模式 man halt
自动 0 0手动模式 1 0 或 1暂停 0 1
33003691 10/2019 295
PID_P
详细的公式
公式变量说明变量在公式中的含义:
操作变量操作变量由不同的项组成:
对各组件求和得到的操作变量进行限制,使:
系统偏差系统偏差将按如下方式计算:如果 reverse = 0,则 ERR = SP - PV。如果 reverse = 1,则 ERR = PV - SP。
变量 含义是当前循环和上一个循环之间的时间微分
系统偏差 (SP - PV)
当前采样步中的系统偏差值
上一个采样步中的系统偏差值
FEED_FWD 干扰变量当前采样步中的受控变量值
上一个采样步中的受控变量值
Y 当前输出(暂停模式)或 YMAN(手动模式)YD D 组件YI I 组件YP P 组件
296 33003691 10/2019
PID_P
控件组件的计算概述下面概述了与增益 kp、ki 和 kd 相关的各个控件组件的不同计算: 手动、暂停、和自动模式的 P 组件 YP 自动模式的 I 组件 YI 手动和暂停模式的 I 组件 YI 自动模式的 D 组件 YD 手动和暂停模式的 D 组件 YD
所有操作模式的 P 组件 YP手动、暂停和自动模式的 YP 按如下方式计算:
自动模式的 I 组件 YI自动模式的 YI 按如下方式计算:当 ki > 0 时,计算公式为:
当 ki = 0 时,计算公式为:
I 组件是根据梯形规则得出的。
手动和暂停模式的 I 组件 YI手动、暂停和自动模式的 YI 按如下方式计算:当 ki > 0 时,计算公式为:
当 ki = 0 时,计算公式为:
33003691 10/2019 297
PID_P
自动模式的 D 组件 YD 自动模式和级联模式的 YD 按如下方式计算:当 kd > 0 且 d_on_pv = 0 时,计算公式为:
当 kd > 1 且 d_on_pv = 0 时,计算公式为:
当 kd = 0 时,计算公式为:
手动和暂停模式的 D 组件 YD手动、暂停和自动模式的 YD 按如下方式计算:
298 33003691 10/2019
EcoStruxure™ Control ExpertPIP33003691 10/2019
PIP:PIP 级联控制器
第32章PIP:PIP 级联控制器
简介本章描述 PIP 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 300PIP 功能块结构图 305为 PIP 级联控制器设置参数 306操作模式 308详细的公式 309
33003691 10/2019 299
PIP
说明
功能描述该功能块显示一个由 PI 主控制器和 P 子控制器组成的级联控制器。系统偏差 ERR 由引用变量 SP 和受控变量 PV 之间的差异得出。主控制器通过此系统偏差生成子控制器设定点值 SP2。由于 SP2 和 PV2 之间的差异,子控制器生成操作变量 Y。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: PI 为主控制器,P 为子控制器 操作变量限制 Anti-windup 复位(PI 控制器) 固定的设定点控制、手动、暂停和自动操作模式
传输功能控制器的转换函数如下所示:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
控制器 传输功能主控制器(PI 控制器)
子控制器(P 控制器)
300 33003691 10/2019
PIP
比例作用系数主控制器的比例作用系数由以下公式计算:
在 FBD 中的表示形式表示形式:
33003691 10/2019 301
PIP
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PIP_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, PV2:=AuxiliaryControlVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualValue, SP_FIX:=FixedValue, OFF:=Offset, Y:=ManipulatedVariable, ERR=>OutputSystemDeviation, SP2=>SubControllerSetpointValue, STATUS=>StatusOfOutput_Y)
在 ST 中的表示形式表示形式:PIP_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, PV2:=AuxiliaryControlVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualValue, SP_FIX:=FixedValue, OFF:=Offset, Y:=ManipulatedVariable, ERR=>OutputSystemDeviation, SP2=>SubControllerSetpointValue, STATUS=>StatusOfOutput_Y) ;
302 33003691 10/2019
PIP
PIP 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
Mode_PIP 参数描述数据结构描述
参数 数据类型 说明SP REAL 引用变量PV REAL 主控制器的受控变量PV2 REAL 子控制器的受控变量(辅助控制变量)MODE Mode_PIP 操作模式PARA Para_PIP 参数YMAN REAL (输出 Y 的)手动值SP_FIX REAL 固定值(引用变量用作子控制器的手动值)OFF REAL P 控制器的输出偏移
参数 数据类型 说明Y REAL 操作变量
参数 数据类型 说明ERR REAL 系统偏差SP2 REAL 子控制器设定点值STATUS Stat_MAXMIN Y 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式fix BOOL "1": 固定的设定点控制
33003691 10/2019 303
PIP
Para_PIP 参数描述数据结构描述
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 PV、PV2、YMAN 或 SP_FIX 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明gain1 REAL PI 控制器的比例作用系数(增益) ti TIME PI 控制器复位时间gain2 REAL P 控制器的比例作用系数(增益) ymax REAL 上限ymin REAL 下限
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
304 33003691 10/2019
PIP
PIP 功能块结构图
结构图以下是 PIP 功能块的结构图:
33003691 10/2019 305
PIP
为 PIP 级联控制器设置参数
结构图PIP 级联控制器的结构图
参数设置PIP 控制结构显示在结构图, 第 306 页中。首先通过纯 PI 参数(即比例修正值 gainl 和复位时间 ti)来设置该功能块的参数。通过设置 ti = 0 可禁用 I 组件。接着通过比例修正值 gain2 来设置 P 控制器的参数。
操作变量限制在子控制器的输出上发生操作变量限制,这表示:ymin ≤ Y ≤ ymax
306 33003691 10/2019
PIP
Anti-windup 复位(PI 控制器)如果发生了操作变量限制,则 Anti-windup 复位应确保主控制器的积分组件"不能超过所有限制"。仅当未禁用控制器的 I 组件时 (ti = 0) 才能使用 Anti-windup 方法。PI 主控制器的 Anti-windup 限制会根据子控制器的当前系统偏差以及 ymax 和 ymin 限制动态调整。如果发生了操作变量限制,积分组件将受到如下限制: 当达到上限时:
当达到下限时:
33003691 10/2019 307
PIP
操作模式
选择操作模式存在四种操作模式,可以通过元素 man、halt 和 fix 进行选择:
自动操作模式在自动模式中,控制输出 Y 是通过 PI 闭合回路控制并根据受控变量 PV、PV2 和引用变量 SP、SP2 确定的。控制输出受 ymax 和 ymin 的限制。由于输出 Y 可取 yman 和 ymin 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。尽管如此,如果要求从自动到手动的转换是无冲击的,则对于 PID 控制器 (参见第 282 页)存在两种典型的可能。
手动模式P 控制器在手动模式中运行。PI 控制器 I 组件的操作方式允许无冲击切换。在手动模式中,手动操作值 YMAN 将直接传送给控制输出 Y。但是,控制输出受 ymax 和 ymin 的限制。在跟踪主控制器的积分组件时,保证控制器(在连接到 I 组件时)能够无冲击地从手动切换为自动。
暂停模式在暂停模式中,控制输出保持不变;功能块不影响控制输出 Y,即 Y = Y(旧值)。暂停模式对于允许外部操作员设备调整控制输出 Y 也很有用。在操作内部组件时,保证控制器能够从其当前位置平稳驱动。不过,控制输出受 ymax 和 ymin 的限制。
固定的设定点控制在固定的设定点控制模式中,P 控制器在自动模式中运行而 PI 控制器在暂停模式中运行。固定的设定点 SP_FIX 直接传送到 PI 控制器的控制输出 Y1 (= SP2)。通过 ymax 和 ymin 来限制 PIP 控制器的控制输出 Y。在跟踪主控制器的积分组件时,保证控制器(在连接到 I 组件时)能够从固定的设定点控制模式平稳切换到自动模式。
操作模式 man halt fix
自动 0 0 0手动模式 1 0 或 1 0暂停 0 1 0固定的设定点控制 0 0 1
308 33003691 10/2019
PIP
详细的公式
公式变量说明变量在以下公式中的含义:
控件组件的计算概述下面概述了基于各个模式的控件组件和输出的不同计算: 自动模式中的 YI、Y 和 SP2 手动模式中的 YI、Y 和 SP2 手动模式中的 YI、Y 和 SP2 固定的设定点控制模式中的 YI、Y 和 SP2
自动操作模式级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
自动模式中主控制器的积分组件 Y1 由以下公式计算:
I 组件是根据梯形规则得出的。
变量 含义是当前循环和上一个循环之间的时间微分
系统偏差 (SP - PV)
当前采样步中的系统偏差值
上一个采样步中的系统偏差值
OFF P 控制器的输出偏移Y 操作变量Y1 主控制器的 YYI I 组件YP P 组件
33003691 10/2019 309
PIP
手动模式级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
手动模式中主控制器的积分组件 Y1 由以下公式计算:
暂停模式级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
暂停模式中主控制器的积分组件 Y1 由以下公式计算:
固定的设定点控制级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
固定的设定点控制模式中主控制器的积分组件 Y1 由以下公式计算:
310 33003691 10/2019
EcoStruxure™ Control ExpertPPI33003691 10/2019
PPI:PPI 级联控制器
第33章PPI:PPI 级联控制器
简介本章描述 PPI 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 312PPI 功能块结构图 317为 PPI 级联控制器设置参数 318操作模式 320详细的公式 321
33003691 10/2019 311
PPI
说明
功能描述该功能块显示一个由 P 主控制器和 PI 子控制器组成的级联控制器。系统偏差 ERR 由引用变量 SP 和受控变量 PV 之间的差异得出。主控制器通过此系统偏差生成子控制器设定点值 SP2。由于 SP2 和 PV2 之间的差异,子控制器生成操作变量 Y。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: P 为主控制器,PI 为子控制器 操作变量限制 Anti-windup 复位(PI 控制器) 固定的设定点控制、手动、暂停和自动操作模式
传输功能控制器的转换函数如下所示:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
控制器 传输功能主控制器(P 控制器)
子控制器(PI 控制器)
312 33003691 10/2019
PPI
比例作用系数比例作用系数由以下公式计算:
在 FBD 中的表示形式表示形式:
33003691 10/2019 313
PPI
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL PPI_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, PV2:=AuxiliaryControlVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualValue, SP_FIX:=FixedValue, OFF:=Offset, Y:=ManipulatedVariable, ERR=>OutputSystemDeviation, SP2=>SubControllerSetpointValue, STATUS=>StatusOfOutput_Y)
在 ST 中的表示形式表示形式:PPI_Instance (SP:=ReferenceVariable, PV:=ControlledVariable, PV2:=AuxiliaryControlVariable, MODE:=OperatingModes, PARA:=Parameter, YMAN:=ManualValue, SP_FIX:=FixedValue, OFF:=Offset, Y:=ManipulatedVariable, ERR=>OutputSystemDeviation, SP2=>SubControllerSetpointValue, STATUS=>StatusOfOutput_Y) ;
314 33003691 10/2019
PPI
PPI 参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
Mode_PPI 参数描述数据结构描述
参数 数据类型 说明SP REAL 主控制器的引用变量PV REAL 主控制器的受控变量PV2 REAL 子控制器的受控变量(辅助控制变量)MODE Mode_PPI 操作模式PARA Para_PPI 参数YMAN REAL (输出 Y 的)手动值SP_FIX REAL 固定值(引用变量用作子控制器的手动值)OFF REAL P 控制器的输出偏移
参数 数据类型 说明Y REAL 操作变量
参数 数据类型 说明ERR REAL 系统偏差SP2 REAL 子控制器设定点值STATUS Stat_MAXMIN Y 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式fix BOOL "1": 固定的设定点控制
33003691 10/2019 315
PPI
Para_PPI 参数描述数据结构描述
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 PV、PV2、YMAN 或 SP_FIX 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
元素 数据类型 说明gain1 REAL P 控制器的比例作用系数(增益) ti TIME PI 控制器复位时间gain2 REAL PI 控制器的比例作用系数(增益) ymax REAL 上限ymin REAL 下限
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
316 33003691 10/2019
PPI
PPI 功能块结构图
结构图以下是 PPI 功能块的结构图:
33003691 10/2019 317
PPI
为 PPI 级联控制器设置参数
结构图PPI 级联控制器的结构图
参数设置PPI 控制结构显示在结构图, 第 318 页中。首先通过比例修正值 (gain1) 和 P 控制器的输出偏移 (OFF) 来设置该功能块的参数。接着通过比例修正值 gain2 和复位时间 ti 来设置 PI 控制器的参数。通过设置 ti = 0 可禁用 I 组件。限制 ymax 和 ymin 将输出限制在规定范围内。输出 qmax 和 qmin 表示输出已达到限制,因而受到了限制。 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1
318 33003691 10/2019
PPI
操作变量限制对各组件求和得到的操作变量进行限制,使:ymin ≤ Y ≤ ymax
Anti-windup 复位(PI 控制器)如果发生了操作变量限制,则 Anti-windup 复位应确保主控制器的积分组件"不能超过所有限制"。仅当未禁用子控制器的 I 组件时才能使用 Anti-windup 方法。如果满足以下情况,则发生 Anti-windup 复位:Y ≥ ymax 或 Y ≤ ymin在此情况下:YI = Y - YP
33003691 10/2019 319
PPI
操作模式
选择操作模式存在四种操作模式,可以通过元素 man、halt 和 fix 进行选择:
自动操作模式在自动模式中,控制输出 Y 是通过 PI 闭合回路控制并根据受控变量 PV、PV2 和引用变量 SP、SP2 确定的。控制输出受 ymax 和 ymin 的限制。由于输出 Y 可取 yman 和 ymin 之间的任何值且 Y 在转换时直接转到 YMAN,因此从自动到手动的转换通常是有冲击的。尽管如此,如果要求从自动到手动的转换是无冲击的,则对于 PID 控制器 (参见第 282 页)存在两种典型的可能。
手动模式在手动模式中,手动操作值 YMAN 将直接传送给控制输出 Y。但是,控制输出受 ymax 和 ymin 的限制。在操作内部变量时,将保证控制器能够无冲击地从手动切换为自动(在启用了 I 组件的情况下)。
暂停模式在暂停模式中,控制输出保持不变;功能块不影响控制输出 Y,即 Y = Y(旧值)。暂停模式对于允许外部操作员设备调整控制输出 Y 也很有用。在操作内部组件时,保证控制器能够从其当前位置平稳驱动。不过,控制输出受 ymax 和 ymin 的限制。
固定的设定点控制在此操作模式中,固定的设定点 SP_FIX 直接传送到 PI 控制器的设定点输入 (SP2)。PI 控制器在自动模式中运行。
操作模式 man halt fix
自动 0 0 0手动模式 1 0 或 1 0暂停 0 1 0固定的设定点控制 0 0 1
320 33003691 10/2019
PPI
详细的公式
公式变量说明变量在以下公式中的含义:
主控制器输出主控制器的输出由以下公式计算:
控件组件的计算概述下面概述了基于各个模式的控件组件和输出的不同计算: 自动模式中的 YI 和 Y 手动模式中的 YI、Y 和 SP2 手动模式中的 YI、Y 和 SP2 固定的设定点控制模式中的 YI、YP、Y 和 SP2
自动操作模式级联控制器的输出信号 Y 为:
自动模式中子控制器的积分组件 Y1 由以下公式计算:
I 组件是根据梯形规则得出的。
变量 含义当前采样时间
系统偏差 (SP - PV)
系统偏差 (SP2-PV2)
上一个采样步中的系统偏差值
OFF P 控制器的输出偏移Y 操作变量YI I 组件YP P 组件
33003691 10/2019 321
PPI
手动模式级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
手动模式中子控制器的积分组件 Y1 由以下公式计算:
暂停模式级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
暂停模式中子控制器的积分组件 Y1 由以下公式计算:
固定的设定点控制级联控制器的输出信号 Y 为:
子控制器的输入信号 SP2 为:
固定的设定点控制模式中子控制器的积分组件 Y1 由以下公式计算:
比例作用系数 YP 由以下公式计算:
322 33003691 10/2019
EcoStruxure™ Control ExpertPWM33003691 10/2019
PWM:脉宽调制
第34章PWM:脉宽调制
简介本章描述 PWM 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 324详细描述 327PWM 功能块的示例 330
33003691 10/2019 323
PWM
说明
使用功能块传动装置不仅可以通过模拟量来驱动,还可以通过二进制驱动信号来驱动。例如,模拟值到二进制输出信号的转换是通过脉冲宽度调制 (PWM) 或脉冲持续时间调制 (PDM) 实现的。经过调整的传动装置平均能量(传动装置能量)应与调制块的模拟量输入值 (IN) 一致。
功能描述PWM 功能块用于为 Control Expert 将模拟值转换为数字输出信号。在脉冲宽度调制 (PWM1) 中,将在固定循环周期内输出与模拟值 X 成比例的可变持续时间的“1”信号。已调整的平均能量相当于切换持续时间 T_on 和循环时间 t_period 的系数。为使调整过的平均能量也相当于模拟量输入变量 IN,必须应用:
注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
关于传动装置驱动器的常规信息通常,二进制传动装置驱动器由两个二进制信号 Y_POS 和 Y_NEG 执行。在电机上,输出 Y_POS 相当于信号“顺时针旋转”,输出 Y_NEG 相当于信号“逆时针旋转”。对于烤箱,可以将输出 Y_POS 和 Y_NEG 当作“加热”和“冷却”。如果上述传动驱动器是电机,则有可能避免非自动锁定的变速箱超程,并在啮合信号后必然输出一个制动脉冲。为了保护电源设备,在打开 T_on 之后和输出制动脉冲 t_brake 之前,必须有一段暂停时间以避免短路。
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
324 33003691 10/2019
PWM
Y_POS 和 Y_NEG 的脉冲长度公式输出 Y_POS 和 Y_NEG 的脉冲长度 T_on 由以下等式计算:
参数设置规则为了正确操作,必须遵守下列规则:
只能根据参数 up_pos 和 up_neg 来计算值。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
输出 公式 条件Y_POS
Y_NEG
33003691 10/2019 325
PWM
在 IL 中的表示形式表示形式:CAL PWM_Instance (X:=InputVariable, R:=ResetMode, PARA:=Parameters, Y_POS=>Positive_X_ValueOutput, Y_NEG=>Negative_X_ValueOutput)
在 ST 中的表示形式表示形式:PWM_Instance (X:=InputVariable, R:=ResetMode, PARA:=Parameters, Y_POS=>Positive_X_ValueOutput, Y_NEG=>Negative_X_ValueOutput) ;
PWM 参数描述输入参数描述:
输出参数描述:
参数描述 Para_PWM数据结构描述
运行时错误有关所有功能块错误代码和值的列表,请参阅CLC_PRO, 第 586 页。
参数 数据类型 说明X REAL 输入变量R BOOL 复位模式(“1”= 复位)PARA Para_PWM 参数
参数 数据类型 说明Y_POS BOOL 正 X 值的输出Y_NEG BOOL 负 X 值输出
元素 数据类型 说明t_period TIME 周期长度t_pause TIME 暂停时间t_brake TIME 制动时间t_min TIME 小驱动脉冲时间(以秒为单位)t_max TIME 长驱动脉冲时间(以秒为单位)up_pos REAL 正 X 值的上限值up_neg REAL 上限值(负 X 值)
326 33003691 10/2019
PWM
详细描述
功能块操作模式周期确定有规律地(即以一个恒定的时隙模式)输出驱动脉冲(输出 Y_POS 或 Y_NEG 信号为 1)的时间。参数 t_min 指定 小脉冲长度,即输出 Y_POS 或 Y_NEG 信号应为 1 的 短时间间隔。如果根据Y_POS 和 Y_NEG 的脉冲长度公式, 第 325 页一节中的等式计算的脉冲长度比 t_min 短,则在整个周期中将没有脉冲。参数 t_max 指定 大脉冲长度,即输出 Y_POS 或 Y_NEG 信号应为 1 的 长时间间隔。如果根据上述公式计算的脉冲持续时间的值大于 t_max,脉冲持续时间将限制为 t_max。建议在驱动脉冲和制动脉冲之间有一个可自由定义的暂停时间(t_pause = 10 或 20 毫秒),从而保护电源设备(从而有可能阻止反平行的转换器同时点火)。参数 t_pause 指定在输出 Y_POS (Y_NEG) 上输出 1 信号之后、在相对的输出 Y_NEG (Y_POS) 变为"1"信号(持续时间间隔 t_brake)之前应等待的时间间隔。此处讨论的动作是在暂停时间后应发生的制动脉冲。暂停时间 t_pause = 20 毫秒 (t_pause =0.02) 相当于点火角控制中断了两个半波长。该暂停时间应保证有足够大的安全范围,以防止反平行晶闸管点火导致的各短路分别触发抑制器回路。
时间比率显示下图简要地说明了各个时间之间的比率:
1 变量开启时间
33003691 10/2019 327
PWM
参数 up_pos 标记输入变量 X,通过它,当输入变量 X 为正时,输出 Y_POS 信号将持续为 1。t_pause = t_brake = 0和t_max = t_period.参数 up_neg 标记输入变量 X,通过它,当输入变量 X 为负时,输出 Y_NEG 信号持续为 1。t_pause = t_brake = 0和t_max = t_period.
时间间隔的相关因素下图演示了输入变量 X 对输出 Y_POS (Y_NEG) 信号为 1 的持续时间的决定作用(该图同样定义了 t_pause = t_brake = 0)。
操作模式在复位模式中 R = 1,输出 Y_POS 和 Y_NEG 设置为"0"信号。内部计时器也经过标准化,以便该功能块开始传输 R=0,并在关联输出上输出新的 1 信号。
328 33003691 10/2019
PWM
限制条件如果同时操作 PWM 功能块和 PID 控制器,选择周期 t_period 时要使其相当于 PID 控制器的扫描时间。这样就可以保证在周期时间内来自 PID 控制器的每个新的驱动信号都可得到完全处理。PWM 扫描时间应与周期和脉冲时间成比例。通过这种方法可以指定可能 小的驱动脉冲。推荐使用以下比率:
33003691 10/2019 329
PWM
PWM 功能块的示例
概述在本示例中,将为各个 X 输入信号值显示输出 Y_POS 和 Y_NEG 的信号序列。这些示例根据它们所选的参数赋值而有所不同。在本节中可找到有关 PMW 功能块的以下示例 跳转响应 1 跳转响应 2
跳转响应 1以下参数规格适用于跳转响应 1 显示:
跳转响应 1 的时序图
参数 规格t_period 4 秒t_min 0.2 秒t_max 3.8 秒t_pause 0.1 秒t_brake 0.2 秒up_pos 10up_neg 10
330 33003691 10/2019
PWM
X 模拟信号
显而易见,输出 Y_POS 具有"1"信号的时间间隔与输入信号 X 成正比。此外,可以看出,每个 Y_POS 信号后都跟着一个短的 Y_NEG 信号(输出 Y_NEG 为 1 信号)。这是由于 t_brake 参数不为"0"。在 X 输入信号为负时,Y_NEG 的信号持续时间与 X 成比例。此时,Y_NEG 脉冲后也跟着一个短的 Y_POS 脉冲作为制动脉冲。
跳转响应 2以下参数规格适用于跳转响应 2 显示:
跳转响应 2 的时序图
参数 规格t_period 4 秒t_min 0.5 秒t_max 4 秒t_pause 0 秒t_brake 0 秒up_pos 10up_neg 10
33003691 10/2019 331
PWM
X 模拟信号
与示例"跳转响应 1"相反,由于适当的参数都配置为"0",这里没有暂停和制动脉冲。显而易见,对于很小的 X 输入信号,不再输出脉冲。这直接归结于时间 t_min 的影响。此外,对于较大的 X 输入信号 (X = up_pos/up_neg),则输出一个连续脉冲。这是由于选择了 t_max = t_period。
332 33003691 10/2019
EcoStruxure™ Control ExpertQPWM33003691 10/2019
QPWM:脉宽调制(简单)
第35章QPWM:脉宽调制(简单)
简介本章描述 QPWM 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 334详细描述 337QPWM 功能块示例 339
33003691 10/2019 333
QPWM
说明
使用功能块传动装置不仅要通过模拟量来驱动,还要通过二进制驱动信号来驱动。模拟值转换为二进制输出信号是通过诸如脉冲宽度调制 ( QPWM) 或脉冲持续时间调制 (PDM) 实现的。经过调整的传动装置平均能量(传动装置能量)应与调制块的模拟量输入值 (IN) 一致。
功能描述功能块 QPWM 将模拟值转换为数字输出信号。在脉冲宽度调制 (QPWM) 中,在依模拟量值而定的持续时间内以不变的时钟速率发出 1 信号。已调整的平均能量相当于切换持续时间 T_on 和循环时间 t_period 的系数。为使调整过的平均能量也相当于模拟量输入变量 IN,必须应用:
注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
关于传动装置驱动器的常规信息通常,二进制传动装置驱动器由两个二进制信号 Y_POS 和 Y_NEG 执行。在电机上,输出 Y_POS 相当于信号“顺时针旋转”,输出 Y_NEG 相当于信号“逆时针旋转”。对于烤箱来说,可以将输出 Y_POS 和 Y_NEG 当作相应的“加热”和“冷却”。
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
334 33003691 10/2019
QPWM
Y_POS 和 Y_NEG 的脉冲长度公式输出 Y_POS 和 Y_NEG 的脉冲长度 T_on 由以下等式计算:
参数设置规则为确保正确运行,设置参数时应遵守以下规则:t_min ≤ t_period
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
输出 公式 条件Y_POS
Y_NEG
33003691 10/2019 335
QPWM
在 IL 中的表示形式表示形式:CAL QPWM_Instance (X:=InputVariable, R:=ResetMode, PARA:=Parameter, Y_POS=>Positive_X_ValueOutput, Y_NEG=>Negative_X_ValueOutput)
在 ST 中的表示形式表示形式:QPWM_Instance (X:=InputVariable, R:=ResetMode, PARA:=Parameter, Y_POS=>Positive_X_ValueOutput, Y_NEG=>Negative_X_ValueOutput) ;
QPWM 参数描述输入参数描述:
输出参数描述:
Para_QPWM 参数描述数据结构描述
运行时错误有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明X REAL 输入变量R BOOL 复位模式(“1”= 复位)PARA Para_QPWM 参数
参数 数据类型 说明Y_POS BOOL 正 X 值的输出Y_NEG BOOL 负 X 值的输出
元素 数据类型 说明t_period TIME 周期长度t_min TIME 小驱动脉冲时间(以秒为单位)x_max REAL 正/负 X 值的上限
336 33003691 10/2019
QPWM
详细描述
功能块操作模式周期确定有规律地(即以一个恒定的时隙模式)输出驱动脉冲(输出 Y_POS 或 Y_NEG 信号为 1)的时间。参数 t_min 指定 小脉冲长度,即输出 Y_POS 或 Y_NEG 信号应为 1 的 短时间间隔。如果根据Y_POS 和 Y_NEG 的脉冲长度公式, 第 335 页一节中的等式计算的脉冲长度比 t_min 短,则在整个周期中将没有脉冲。
时间比率显示下图简要地说明了各个时间之间的比率:
1 变量开启时间
参数 x_max 标记输入变量 X,通过它,当输入变量 X 为正时,输出 Y_POS 信号将持续为 1。
33003691 10/2019 337
QPWM
时间间隔的相关因素输出 Y_POS (Y_NEG) 信号为 1 的持续时间的相关因素;下图对输入变量 X 进行了说明:
操作模式在复位模式中 R = 1,输出 Y_POS 和 Y_NEG 设置为"0"信号。内部计时器也经过标准化,以便该功能块开始传输 R=0,并在关联输出上输出新的 1 信号。
限制条件如果同时操作 QPWM 功能块和 PID 控制器,选择周期 t_period 时要使其相当于 PID 控制器的扫描时间。这样就可以保证在周期时间内来自 PID 控制器的每个新的驱动信号都可得到完全处理。QPWM 扫描时间应与周期和脉冲时间成比例。通过这种方法可以确定可能 小的驱动脉冲。推荐使用以下比率:
338 33003691 10/2019
QPWM
QPWM 功能块示例
跳转响应在本示例中,将为各个 X 输入信号值显示输出 Y_POS 和 Y_NEG 的信号序列。以下参数规格适用于跳转响应显示:
跳转响应的时序图:
X 模拟信号
显而易见,对于很小的 X 输入信号,不再输出脉冲。这直接归结于时间 t_min 的影响。对于较大的 X (X = x_max) 信号,将输出一个持续脉冲。
参数 规格t_period 4 秒t_min 0.5 秒x_max 10
33003691 10/2019 339
QPWM
340 33003691 10/2019
EcoStruxure™ Control ExpertSCON333003691 10/2019
SCON3:三点步进控制器
第36章SCON3:三点步进控制器
简介本章描述 SCON3 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 342详细描述 345
33003691 10/2019 341
SCON3
说明
功能描述该功能块复制一个三点步进控制器,并且由于动态反馈路径而表现出与 PD 类似的行为。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性功能块 SCON3 具有以下属性: 复位和自动操作模式 一个内部反馈路径(一阶延迟)
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
342 33003691 10/2019
SCON3
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL SCON3_Instance (SP:=SetpointInput, PV:=ProcessVariable, PARA:=Parameters, R:=ResetModeFlag, Y_POS=>PosManipulated_ERR_EFF, Y_NEG=>NegManipulated_ERR_EFF, ERR_EFF=>EffectiveError)
在 ST 中的表示形式表示形式:SCON3_Instance (SP:=SetpointInput, PV:=ProcessVariable, PARA:=Parameters, R:=ResetModeFlag, Y_POS=>PosManipulated_ERR_EFF, Y_NEG=>NegManipulated_ERR_EFF, ERR_EFF=>EffectiveError) ;
SCON3 参数描述输入参数描述:
参数 数据类型 说明SP REAL 设定点输入PV REAL 实际值输入PARA Para_SCON3 参数R BOOL “1”= 复位模式
33003691 10/2019 343
SCON3
输出参数描述:
Para_SCON3 参数描述数据结构描述
运行时错误如果 hys > 2 * db,则在诊断查看器(工具 → 诊断查看器)中会显示一条错误消息。注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
警告在出现以下情况时,诊断查看器(工具 → 诊断查看器)中会显示一条警告: gain ≤ 0:控制器运行时没有反馈响应。 ti = 0:控制器运行时没有反馈响应。 t_proc = 0:控制器运行时,其预定值 t_proc = 60 秒。注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明Y_POS BOOL “1”= 输出 ERR_EFF 的正操作变量Y_NEG BOOL “1”= 输出 ERR_EFF 的负操作变量ERR_EFF REAL 有效切换值
元素 数据类型 说明gain REAL 比例作用系数(增益)ti TIME 积分时间t_proc TIME 受控值的标称驱动时间hys REAL 三点开关的滞后值db REAL 死区
344 33003691 10/2019
SCON3
详细描述
控制器结构三点控制器的结构:
变量 Y 对输出 Y_POS 和 Y_NEG 的决定作用:
变量 K 的含义:
如果... 则...Y = 1 Y_POS = 1
Y_NEG = 0Y = 0 Y_POS = 0
Y_NEG = 0Y = -1 Y_POS = 0
Y_NEG = 1
33003691 10/2019 345
SCON3
三点控制器的原理实际的三点控制器将添加一个动态反馈(PT1 元素)。通过适当地选择这些反馈元素的时间常数 ti 和 t_proc,三点控制器的行为将随 PID 控制器的行为变化而相应地变化。
gain 参数必须大于零。
死区参数 db 设置输出 Y_POS 和 Y_NEG 的连接点。如果有效切换值 ERR_EFF = SP - PV - XR 为正且大于 db,则 Y_POS 输出将从"0"切换到"1"。如果有效切换值 ERR_EFF 为负且小于 db,则输出 Y_NEG 将从"0"切换到"1"。参数 db 通常设置为 大控制范围( 大 (SP - PV))的 1%。注意: 该数量是根据 db 死区计算的!
滞后值参数 hys 指示连接器滞后值。在输出 Y_POS (Y_NEG) 复位为"0"之前,必须从控制点 db 传出的有效切换值 ERR_EFF 中减去此滞后值图"三点控制器的原理, 第 346 页"说明了 Y_POS 和 Y_NEG(具体取决于有效切换值 ERR_EFF)与参数 db 和 hys 之间的联系。参数 hys 通常设置为 大控制范围( 大 (SP - PV))的 0.5%。注意: 该数量是根据 hys 滞后值计算的!
错误时间常数的行为如果时间常数 ti = 0 或者比例作用系数 gain ≤ 0(配置错误),该功能块仍将继续运行。但是,功能反馈路径被禁用,因此,该功能块作为常规的三点开关运行。如果时间常数 t_proc = 0(配置错误),该功能块仍将继续运行。在这种情况下,t_proc 设置为预设值,即 t_proc = 60 秒(60 000 毫秒)。
346 33003691 10/2019
SCON3
操作模式存在两种操作模式,可以通过 R 参数输入进行选择:
操作模式 R 含义自动 0 该功能块将按以上所述进行处理。复位 1 反馈元素的内部值设置为 SP - PV。
输出 Y_POS 和 Y_NEG 都设置为"0"。
33003691 10/2019 347
SCON3
348 33003691 10/2019
EcoStruxure™ Control ExpertVLIM33003691 10/2019
VLIM:一阶限速器
第37章VLIM:一阶限速器
简介本章描述 VLIM 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 350详细描述 353
33003691 10/2019 349
VLIM
说明
功能描述该功能块利用操作变量限制生成一阶限速器。输出 Y 跟踪输入 X( 大梯度 rate 处除外)。此外,Y 输出受 ymax 和 ymin 的限制。这就允许该功能块将信号调整为技术上受限的速度和来自控制元素的限制。注意: 该功能块在 PLC 程序热启动或冷启动(例如,应用程序下载或重新打开电源)之后的第一个程序循环中执行内部初始化。 因此,必须确保在第一个程序循环中调用该功能块。如果在后面的程序循环中调用该功能块,则不会执行内部初始化,而且可能输出错误值。
可以将 EN 和 ENO 配置为附加参数。
属性该功能块具有以下属性: 手动、暂停和自动操作模式 操作变量限制
在 FBD 中的表示形式表示形式:
警告意外的输出行为请确保始终在第一个程序循环中调用此功能块。不遵循上述说明可能导致人员伤亡或设备损坏。
350 33003691 10/2019
VLIM
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL VLIM_Instance (X:=Input, MODE:=OperatingMode, PARA:=Parameters, YMAN:=ManualManipulatedValue, Y:=Output, STATUS:=Output_Y_Status)
在 ST 中的表示形式表示形式:VLIM_Instance (X:=Input, MODE:=OperatingMode, PARA:=Parameters, YMAN:=ManualManipulatedValue, Y:=Output, STATUS:=Output_Y_Status)
VLIM 参数描述输入参数描述:
参数 数据类型 说明X REAL 输入MODE Mode_MH 操作模式PARA Para_VLIM 参数YMAN REAL 手动操作值
33003691 10/2019 351
VLIM
输入/输出参数描述:
输出参数描述:
Mode_VLIM 参数描述数据结构描述
Para_VLIM 参数描述数据结构描述
Stat_MAXMIN 参数描述数据结构描述
运行时错误如果满足以下条件,则返回一条错误消息: 输入 YMAN 或 X 中存在无效的浮点数 ymax < ymin注意: 有关所有功能块错误代码和值的列表,请参见CLC_PRO, 第 586 页。
参数 数据类型 说明Y REAL 输出
参数 数据类型 说明STATUS Stat_MAXMIN Y 输出状态
元素 数据类型 说明man BOOL "1": 手动模式halt BOOL "1": 暂停模式
元素 数据类型 说明rate REAL 大速度( 大 x’/秒)ymax REAL 上限ymin REAL 下限
元素 数据类型 说明qmax BOOL "1" = Y 已达到控制上限qmin BOOL "1" = Y 已达到控制下限
352 33003691 10/2019
VLIM
详细描述
参数设置该功能块的参数赋值是通过确定 大增益 rate 以及输出 Y 的 ymax 和 ymin 阈值来定义的。 大速度 rate 指示输出在一秒内可能更改的 大值。该数量将通过参数 rate 计算。
当 rate = 0 时除外如果配置了 rate = 0,则 Y 输出直接为 X 输入 (Y=X)。
限制限制 ymax 和 ymin 将输出限制在规定范围内。因此 ymin ≤ Y ≤ ymax。输出 qmax 和 qmin 指示输出已达到限制,或者输出信号已被屏蔽。 如果 Y ≥ ymax,则 qmax = 1 如果 Y ≤ ymin,则 qmin = 1
操作模式存在三种操作模式,可以通过输入 MAN 和 HALT 进行选择。
操作模式 MAN HALT 含义自动 0 0 不断地计算并显示 Y 的当前值。手动模式 1 0 或 1 手动值 YMAN 将固定传送给输出 Y。但是,控制输出受 ymax 和 ymin 的限制。暂停 0 1 输出 Y 将保留 后一次计算的值。该输出将不再更改,但是用户可以覆盖它。
33003691 10/2019 353
VLIM
示例VLIM 功能块的动态行为图解
该功能块跟踪输入 X 在速度发生 大变化 (rate) 时的跳转。输出 Y 在暂停模式下保持停止状态,以便随后从它停止的位置继续前进。同样,利用相关消息 qmax 和 qmin,可以明显地看到输出 Y 限制在 ymax 和 ymin 之间。
354 33003691 10/2019
EcoStruxure™ Control Expert 扩展/兼容性33003691 10/2019
扩展/兼容性
第IV部分扩展/兼容性
概述本部分描述扩展/兼容性系列中的基本功能和基本功能块。
本部分包含了哪些内容?本部分包括以下各章:
章 章节标题 页38 ADD_***_PL7:添加一段时间 35939 AKF_FL:任意跳变沿的检测 36140 AKF_TA:关闭延迟 36341 AKF_TE:开启延迟 36742 AKF_TI:脉冲 37143 AKF_TS:存储开启延迟 37544 AKF_TV:扩展脉冲 37945 AKF_ZR:递减计数器 38346 AKF_ZV:递增计数器 38747 AKF_ZVR:递增/递减计数器 39148 COMPARE:比较两个整数 39549 DATE_DINT_TO_STRING:日期 (DATE PL7) 到字符串的转换 39750 DAY_OF_WEEK:星期 39951 DELTA_***:两个日期之间的差别 40152 DT_ARINT_TO_STRING:将 PL7 日期转换为字符串 40353 END:程序无条件结束 40554 FIFO:先进/先出堆栈寄存器 40755 FPULSOR:矩形信号的生成 41156 FSTEP_PL7_DRUM:将鼓强制到步 41557 FTOF:禁用定时器 41758 FTON:激活定时器 42159 FTP:脉冲定时器 42560 GET_3X:读取 %IW 字(3x 寄存器) 42961 GET_4X:读取 %MW 字(4x 寄存器) 43162 GET_BIT:读取位 433
33003691 10/2019 355
扩展/兼容性
63 HIGH_INT:提取双精度整数的 高有效字 43564 IEC_BMDI:功能块移动 43765 IEC_BMDI_M:功能块移动 44566 LIFO:后进/先出堆栈寄存器 45367 LOW_INT:提取双精度整数的 低有效字 45768 MUX_DINTARR_125:数据类型为 DIntArr125 的数组的多路复用 45969 PL7_COUNTER:计数器/减计数器 46170 PL7_DRUM:鼓 46771 PL7_MONOSTABLE:单稳 47372 PL7_REGISTER_32:32 字存储寄存器 47973 PL7_REGISTER_255:255 字存储寄存器 48374 PL7 和 Control Expert定时器比较 48775 PL7_TOF:TOF 类型定时器 48976 PL7_TON:TON 类型定时器 49577 PL7_TP:TP 类型定时器 50178 PL7_3_TIMER:PL7 的 % Ti 的转换定时器 50779 PUT_4X:写入 4x 寄存器 51380 R_INT_WORD:类型转换 (REAL -> INT -> WORD)(R_INT_WORD:类型转
换 (REAL -> INT -> WORD))515
81 R_UINT_WORD:类型转换 (REAL -> UINT -> WORD)(R_UINT_WORD:类型转换 (REAL -> UINT -> WORD))
517
82 R2T_***:寄存器到表 51983 READ_PCMCIA:读取存储卡中的数据 52384 ROR1_ARB:从字节表向右移位一个字节 52985 RRTC:读取系统日期 53186 SCOUNT:使用过冲信令执行加/减计数 53387 SET_BIT:设置位 53788 SET_PCMCIA:初始化归档区 53989 SHL_RBIT_***:对整数或双精度整数向左移位 54190 SHR_RBIT_***:对整数或双精度整数向右移位 54391 SHRZ_***:对整数或双精度整数向右移位 54592 SHRZ_RBIT_***:对整数或双精度整数向右移位 54793 SRCH:搜索 54994 STR_ROUND:浮点数的近似值 55395 SUB_***_PL7:减去一段时间 555
章 章节标题 页
356 33003691 10/2019
扩展/兼容性
96 SYSSTATE:系统状态 55997 T2T:表到表 56198 TIME_DINT_TO_STRING:DINT 格式的变量转换 56799 TOD_DINT_TO_STRING:TOD 格式的变量转换 569
100 TRANS_TIME:转换 DINT 格式的持续时间 571101 W_INT_REAL:类型转换 (WORD -> INT -> REAL)(W_INT_REAL:类型转
换 (WORD -> INT -> REAL))573
102 W_UINT_REAL:类型转换 (WORD -> UINT -> REAL)(W_UINT_REAL:类型转换 (WORD -> UINT -> REAL))
575
103 WRITE_PCMCIA:向存储卡写入数据 577104 WRTC:更新系统日期 579
章 章节标题 页
33003691 10/2019 357
扩展/兼容性
358 33003691 10/2019
EcoStruxure™ Control ExpertSUB_***_PL733003691 10/2019
ADD_***_PL7:添加一段时间
第38章ADD_***_PL7:添加一段时间
描述
功能描述ADD_***_PL7 功能向以 PL7 的 DT 格式或 TOD 格式表示的日期或时间添加一段时间。还可以配置 EN 和 ENO 这两个附加参数。
可用功能可用功能如下: ADD_DT_PL7, ADD_TOD_PL7。
在 FBD 中的表示形式适用于时间的表示形式:
在 LD 中的表示形式适用于时间的表示形式:
33003691 10/2019 359
SUB_***_PL7
在 IL 中的表示形式适用于时间的表示形式:LD Source_Value
ADD_TOD_PL7 Time_to_Add
ST Result_Value
在 ST 中的表示形式适用于时间的表示形式:Result_Value := ADD_TOD_PL7(Source_Value, Time_to_Add);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
注意: 在应用程序中必须提供对润年的管理。
执行错误当 Source_Value 以 DINT 格式(PL7 的 TOD)表示时,如果 Result_Value 大于 24:00:00,日期将会有变化。此时系统位 %S18 设置为 1,并且 Result_Value 的值只对模数 24:00:00 有意义。当 Source_Value 用 INT 类型的数组 [0..3] 格式(PL7 的 DT)表示时,如果 Result_Value 位于值的授权范围之外,则系统位 %S18 设置为 1,并且 Result_Value 的值也为 大界限值。如果其中一个输入参数无法解释且与功能格式不一致,则系统位 %S18 设置为 1,并且 Result_Value 为: 00:00:00(对于 TOD 类型)。 00001-01-01-00:00:00(对于 DT 类型)。
参数 类型 注释Source_Value DINT、
数组 [0..3],类型为 INT
日期或时间。4 个整数组成的表。
Time_to_Add DINT 要添加到 Source_Value 的时间段
注:此时间用 PL7 的 TIME 格式表示,其准确度为 0.1 秒级。由于 Source_Value 精确到秒,因此 Time_to_Add 舍入为秒。
参数 类型 注释Result_Value DINT、
数组 [0..3],类型为 INT
Result_Value 与 Source_Value 类型相同。4 个整数组成的表。
360 33003691 10/2019
EcoStruxure™ Control ExpertAKF_FL33003691 10/2019
AKF_FL:任意跳变沿的检测
第39章AKF_FL:任意跳变沿的检测
描述
功能描述此导出的功能块检测 CLK 输入上的任意沿(1 -> 0 和 0 -> 1)。如果 CLK 上存在从"0"到"1"的转换或从"1"到"0"的转换,则一个循环的输出 Q 是"1";否则,它保持为"0"。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_FL_Instance (CLK:=ClockInput, Q=>DisplaysAnyEdge)
33003691 10/2019 361
AKF_FL
在 ST 中的表示形式表示形式:AKF_FL_Instance (CLK:=ClockInput, Q=>DisplaysAnyEdge) ;
参数描述输入参数描述:
输出参数描述:
参数 数据类型 含义CLK BOOL 定时输入
参数 数据类型 含义Q BOOL 任意沿的显示
362 33003691 10/2019
EcoStruxure™ Control ExpertAKF_TA33003691 10/2019
AKF_TA:关闭延迟
第40章AKF_TA:关闭延迟
描述
功能描述导出的这一功能块用作关闭延迟。延迟时间由时基 ZB 和系数 SW 组成。延迟时间的计算公式为 ZB x SW。实际值显示在 TIW 输出上并根据以下公式进行计算:TIW = 过期时间 / ZB当 IN 输入上为 0 -> 1 跳变沿时,延迟时间传输到 TSW 输出且 Q 输出设置为"1"。当 IN 输入上为 1 -> 0 跳变沿时,内部定时器启动且当前状态显示在 TIW 输出上。当 TIW 等于 TSW 时,Q 输出设置为"0"。R 输入上为 0 -> 1 跳变沿时,内部定时器复位且 Q 输出设置为"0"。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
33003691 10/2019 363
AKF_TA
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_TA_Instance (IN:=StartingDelay, ZB:=TimeBase, SW:=FactorDelayTime, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue)
在 ST 中的表示形式表示形式:AKF_TA_Instance (IN:=StartingDelay, ZB:=TimeBase, SW:=FactorDelayTime, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue) ;
参数描述输入参数描述:
参数 数据类型 描述IN BOOL 启动延迟ZB TIME 延迟时间的时基SW INT 延迟时间系数R BOOL 复位输入
364 33003691 10/2019
AKF_TA
输出参数描述:
时序图TA 连接中断延迟的时序图:
(1) 如果 IN 变为"1",则"Q"变为"1"。(2) 如果 IN 变为"0",则内部定时器 (TIW) 启动。 (3) 如果内部定时器 TIW 达到 TSW 的值,则 Q 变为"0"。 (4) 如果 IN 变为"1",则 Q 变为"1"且内部定时器停止或复位。 (5) 如果在内部定时器 TIW 达到 TSW 的值之前 IN 变为"1",则内部定时器停止或复位,而 Q 不变为"0"。(6) 如果 R 变为"1"且 IN 为"0",则 Q 变为"0"且内部定时器停止或复位。(7) 如果 R 变为"1"且 IN 为"1",则 Q 变为"0"。(8) 如果 R 变为"0"且 IN 为"1",则 Q 变为"1"。(9) 如果 R 变为"1",则内部定时器停止或复位。(10) 如果 IN 变为"1"且 R 为"1",则 Q 保持为"0"。
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 描述Q BOOL 输出TIW INT 内部时间(实际定时器值)TSW INT IN 上为 0 -> 1 跳变沿时的定时器设定点
33003691 10/2019 365
AKF_TA
366 33003691 10/2019
EcoStruxure™ Control ExpertAKF_TE33003691 10/2019
AKF_TE:开启延迟
第41章AKF_TE:开启延迟
描述
功能描述导出的这一功能块用作开启延迟。延迟时间由时基 ZB 和系数 SW 组成。延迟时间的计算公式为 ZB x SW。实际值显示在 TIW 输出上并根据以下公式进行计算:TIW = 过期时间 / ZBIN 输入上为 0 -> 1 跳变沿时,延迟时间传输到 TSW 输出,内部定时器启动,当前状态显示在 TIW 输出上。当 TIW 等于 TSW 时,Q 输出设置为"1"。R 输入上为 0 -> 1 跳变沿或 IN 输入上为 1 -> 0 跳变沿时,内部定时器复位且 Q 输出设置为"0"。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
33003691 10/2019 367
AKF_TE
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_TE_Instance (IN:=StartingDelay, ZB:=TimeBase, SW:=FactorDelayTime, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue)
在 ST 中的表示形式表示形式:AKF_TE_Instance (IN:=StartingDelay, ZB:=TimeBase, SW:=FactorDelayTime, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue) ;
368 33003691 10/2019
AKF_TE
参数描述输入参数描述:
输出参数描述:
时序图激活延迟 TE 的时序图:
(1) 如果 IN 变为"1",则内部定时器 (TIW) 启动。(2) 如果内部定时器 (TIW) 达到 TSW 的值,则 Q 变为"1"。(3) 如果 IN 变为"0",则 Q 变为"0"且内部定时器停止或复位。 (4) 如果在内部定时器 (TIW) 达到 TSW 的值之前 IN 变为"0",则内部定时器停止或复位,而 Q 不变为"1"。 (5) 如果 R 变为"1",则内部定时器停止或复位。 (6) 如果 R 变为"1",则 Q 变为"0"且内部定时器停止或复位。(7) 如果 IN 变为"1"且 R 为"1",则内部定时器不启动。
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 描述IN BOOL 启动延迟ZB TIME 延迟时间的时基SW INT 延迟时间系数R BOOL 复位输入
参数 数据类型 描述Q BOOL 输出TIW INT 内部时间(实际定时器值)TSW INT IN 上为 0 -> 1 跳变沿时的定时器设定点
33003691 10/2019 369
AKF_TE
370 33003691 10/2019
EcoStruxure™ Control ExpertAKF_TI33003691 10/2019
AKF_TI:脉冲
第42章AKF_TI:脉冲
描述
功能描述导出的这一功能块用于生成具有定义的 长持续时间的脉冲。
长脉冲持续时间由时基 ZB 和系数 SW 组成。 长脉冲持续时间是根据 ZB x SW 计算的。实际值显示在 TIW 输出上并根据以下公式进行计算:TIW = 过期时间 / ZBIN 输入上为 0 -> 1 跳变沿时, 长脉冲持续时间传输到 TSW 输出,内部定时器启动且 Q 输出设置为"1"。如果 TIW 等于 TSW,则 Q 输出设置为"0",与 IN 输入无关。R 输入上为 0 -> 1 跳变沿时,内部定时器复位且 Q 输出设置为"0"。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
33003691 10/2019 371
AKF_TI
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_TI_Instance (IN:=StartingPulse, ZB:=TimeBaseOfPulse, SW:=FactorOfPulse, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue)
在 ST 中的表示形式表示形式:AKF_TI_Instance (IN:=StartingPulse, ZB:=TimeBaseOfPulse, SW:=FactorOfPulse, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue) ;
参数描述输入参数描述:
参数 数据类型 描述IN BOOL 启动脉冲ZB TIME 脉冲的时基SW INT 脉冲系数R BOOL 复位输入
372 33003691 10/2019
AKF_TI
输出参数描述:
时序图TI 脉冲的时序图:
(1) 如果 IN 变为"1",则 Q 变为"1"且内部定时器 (TIW) 启动。(2) 如果内部定时器 TIW 达到 TSW 的值,则 Q 变为"0"。 (3) 如果 IN 变为"0",则内部定时器停止或复位。 (4) 如果 IN 变为"0",则 Q 变为"0"且内部定时器停止或复位。 (5) 如果 R 变为"1",则 Q 变为"0"且内部定时器停止或复位。 (6) 如果 R 变为"1",则内部定时器停止或复位,与 IN 无关。(7) 如果 IN 变为"1"且 R 为"1",则 Q 保持为"0"。
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 描述Q BOOL 输出TIW INT 内部时间(实际定时器值)TSW INT IN 上为 0 -> 1 跳变沿时的定时器设定点
33003691 10/2019 373
AKF_TI
374 33003691 10/2019
EcoStruxure™ Control ExpertAKF_TS33003691 10/2019
AKF_TS:存储开启延迟
第43章AKF_TS:存储开启延迟
说明
功能描述此导出的功能块用作存储开启延迟。仅可对 R 输入执行输出的复位。延迟时间由时基 ZB 和系数 SW 组成。延迟时间的计算公式为 ZB x SW。实际值显示在 TIW 输出上并根据以下公式进行计算:TIW = 过期时间 / ZBIN 输入上为 0 -> 1 跳变沿时,延迟时间传输到 TSW 输出,内部定时器启动,当前状态显示在 TIW 输出上。当 TIW 等于 TSW 时,Q 输出设置为“1”。R 输入上为 0 -> 1 跳变沿时,内部定时器复位且 Q 输出设置为“0”。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
33003691 10/2019 375
AKF_TS
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_TS_Instance (IN:=StartingDelay, ZB:=TimeBase, SW:=FactorOfDelay, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue)
在 ST 中的表示形式表示形式:AKF_TS_Instance (IN:=StartingDelay, ZB:=TimeBase, SW:=FactorOfDelay, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue) ;
376 33003691 10/2019
AKF_TS
参数描述输入参数描述:
输出参数描述:
时序图存储激活延迟 TS 的时序图:
(1) 如果 IN 变为“1”,则内部定时器 (TIW) 启动。(2) 如果内部定时器 (TIW) 达到 TSW 的值,则 Q 变为“1”。(3) 即使 IN 变为“0”,Q 仍保持为“1”。 (4) 如果 R 变为“1”,则内部定时器停止或复位且 Q 设置为“0”。 (5) 如果在内部定时器 (TIW) 达到 TSW 的值之前 R 变为“1”,则内部定时器停止或复位,Q 不变为“1”。(6) 如果 IN 变为“1”且 R 为“1”,则内部定时器不启动。
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 说明IN BOOL 启动延迟ZB TIME 延迟时间的时基SW INT 延迟时间系数R BOOL 复位输入
参数 数据类型 说明Q BOOL 输出TIW INT 内部时间(实际定时器值)TSW INT IN 上为 0 -> 1 跳变沿时的定时器设定点
33003691 10/2019 377
AKF_TS
378 33003691 10/2019
EcoStruxure™ Control ExpertAKF_TV33003691 10/2019
AKF_TV:扩展脉冲
第44章AKF_TV:扩展脉冲
描述
功能描述导出的这一功能块用于生成扩展脉冲。脉冲持续时间由时基 ZB 和系数 SW 组成。脉冲持续时间是根据 ZB x SW 计算的。实际值显示在 TIW 输出上并根据以下公式进行计算:TIW = 过期时间 / ZBIN 输入上为 0 -> 1 跳变沿时,脉冲持续时间传输到 TSW 输出,内部定时器启动且 Q 输出设置为"1"。Q 输出保持为"1",而与 IN 无关,直到 TIW 等于 TSW。此时 Q 输出设置为"0"。R 输入上为 0 -> 1 跳变沿时,内部定时器复位且 Q 输出设置为"0"。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
33003691 10/2019 379
AKF_TV
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_TV_Instance (IN:=StartingPulse, ZB:=TimeBaseOfPulse, SW:=FactorOfPulse, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue)
在 ST 中的表示形式表示形式:AKF_TV_Instance (IN:=StartingPulse, ZB:=TimeBaseOfPulse, SW:=FactorOfPulse, R:=ResetInput, Q=>Output, TIW=>InternalTime, TSW=>TimerSetpointValue) ;
参数描述输入参数描述:
参数 数据类型 描述IN BOOL 启动脉冲ZB TIME 脉冲的时基SW INT 脉冲系数R BOOL 复位输入
380 33003691 10/2019
AKF_TV
输出参数描述:
时序图扩展脉冲 TV 的时序图:
(1) 如果 IN 变为"1",则 Q 变为"1"且内部定时器 (TIW) 启动。(2) 如果内部定时器 (TIW) 达到 TSW 的值,则 Q 变为"0"。(3) 如果 IN 再次变为"1",则内部定时器重启且 Q 变为"1"。 (4) 如果 IN 再次变为"1",则内部定时器重启且 Q 保持为"1"。 (5) 如果 R 变为"1",则无论 IN 如何,Q 均变为"0",且内部定时器停止或复位。(6) 如果 IN 变为"1"且 R 为"1",则 Q 保持为"0"且内部定时器不启动。
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 描述Q BOOL 输出TIW INT 内部时间(实际定时器值)TSW INT IN 上为 0 -> 1 跳变沿时的定时器设定点
33003691 10/2019 381
AKF_TV
382 33003691 10/2019
EcoStruxure™ Control ExpertAKF_ZR33003691 10/2019
AKF_ZR:递减计数器
第45章AKF_ZR:递减计数器
说明
功能描述导出的功能块用于递减计数。R 输入上为“1”信号时,实际值和 Q 输出设置为“0”。S 输入上为 0 -> 1 沿时,SW 输入接受设定点值,此值随后将显示在 ZSWO 输出上。实际值设置为设定点值。只有在至少接受过一次设定点值之后,才会比较设定点值和实际值。如果实际值大于“0”且小于设定点值,则 Q 输出设置为“1”。如果 IN 输入上为 0 -> 1 沿,则实际值 (ZIWO) 减 1( 小值为 0)且与设定点值 (ZSWO) 进行比较。ZIW 和 ZSW 输入可用于在线更改设定点值 (ZSW) 和实际值 (ZIW)。 注意: 为了使计数器正常工作,在 ZIW 上建立的变量(实际值)还必须在 ZIWO 上建立。在 ZSW 上建立的变量(设定点)也必须在 ZSWO 上建立。可以将 EN 和 ENO 配置为附加参数。
公式如果 0 < ZIWO < ZSWO,则 Q = 1。
在 FBD 中的表示形式表示形式:
33003691 10/2019 383
AKF_ZR
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_ZR_Instance (IN:=TriggerInput, S:=SetInput, SW:=PresetSetpointValue, R:=ResetInput, ZIW:=InternalCurrentValueControl, ZSW:=InternalSetpointValueControl, Q=>Output, ZIWO=>DisplayCurrentValue, ZSWO=>DisplaySetpointValue)
在 ST 中的表示形式表示形式:AKF_ZR_Instance (IN:=TriggerInput, S:=SetInput, SW:=PresetSetpointValue, R:=ResetInput, ZIW:=InternalCurrentValueControl, ZSW:=InternalSetpointValueControl, Q=>Output, ZIWO=>DisplayCurrentValue, ZSWO=>DisplaySetpointValue) ;
384 33003691 10/2019
AKF_ZR
参数描述输入参数描述:
输出参数描述:
注意: 相同变量应分配给引脚 ZIW 和 ZIWO,并且相同变量还应分配给引脚 ZSW 和 ZSWO,或者功能块无法正常执行。
时序图AKF_ZR 递减计数器的时序图:
(1) 如果 S 变为“1”且 R 为“0”,则接受预设设定点值 SW 并在 ZSWO 输出上显示此值。(2) 如果 IN 变为“1”,则实际计数器值减“1”且 Q 设置为“1”。 (3) 如果 IN 变为“1”,则当前计数器值减“1”。 (4) 如果 IN 变为“1”,则当前计数器值减“1”。如果这样导致计数器值 (ZIWO) 变为“0”,则 Q 输出设置为“0”。 (5) 如果 R 变为“1”,则当前计数器值设置为“0”。(6) 如果 S 变为“1”且 R 为“0”,则接受预设设定点值 SW 且 Q 设置为“0”。
参数 数据类型 说明IN BOOL 触发器输入S BOOL 设置输入SW INT 预设设定点值R BOOL 复位输入ZIW INT 控制内部实际值ZSW INT 控制内部设定点值
参数 数据类型 说明Q BOOL 输出ZIWO INT 计数值(显示实际值)ZSWO INT 显示设定点值
33003691 10/2019 385
AKF_ZR
386 33003691 10/2019
EcoStruxure™ Control ExpertAKF_ZV33003691 10/2019
AKF_ZV:递增计数器
第46章AKF_ZV:递增计数器
说明
功能描述此导出的功能块用于递增计数。R 输入上为“1”信号时,实际值和 Q 输出设置为“0”。S 输入上为 0 -> 1 沿时,SW 输入接受设定点值,此值随后将显示在 ZSWO 输出上。实际值设置为“0”。只有在至少接受过一次设定点值之后,才会比较设定点值和实际值。如果实际值大于“0”且小于设定点值,则 Q 输出设置为“1”。如果 IN 输入上为 -> 1 沿,则实际值 (ZIWO) 增加 1 且与设定点值 (ZSWO) 进行比较。ZIW 和 ZSW 输入可用于在线更改设定点值 (ZSW) 和实际值 (ZIW)。注意: 为了使计数器正常工作,在 ZIW 上建立的变量(实际值)还必须在 ZIWO 上建立。在 ZSW 上建立的变量(设定点)也必须在 ZSWO 上建立。可以将 EN 和 ENO 配置为附加参数。
公式如果 0 < ZIWO < ZSWO,则 Q = 1。
在 FBD 中的表示形式表示形式:
33003691 10/2019 387
AKF_ZV
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_ZV_Instance (IN:=TriggerInput, S:=SetInput, SW:=PresetSetpointValue, R:=ResetInput, ZIW:=InternalCurrentValueControl, ZSW:=InternalSetpointValueControl, Q=>Output, ZIWO=>DisplayCurrentValue, ZSWO=>DisplaySetpointValue)
在 ST 中的表示形式表示形式:AKF_ZV_Instance (IN:=TriggerInput, S:=SetInput, SW:=PresetSetpointValue, R:=ResetInput, ZIW:=InternalCurrentValueControl, ZSW:=InternalSetpointValueControl, Q=>Output, ZIWO=>DisplayCurrentValue, ZSWO=>DisplaySetpointValue) ;
388 33003691 10/2019
AKF_ZV
参数描述输入参数描述:
输出参数描述:
注意: 相同变量应分配给引脚 ZIW 和 ZIWO,并且相同变量还应分配给引脚 ZSW 和 ZSWO,或者功能块无法正常执行。
参数 数据类型 说明IN BOOL 触发器输入S BOOL 设置输入SW INT 预设设定点值R BOOL 复位输入ZIW INT 控制内部实际值ZSW INT 控制内部设定点值
参数 数据类型 说明Q BOOL 输出ZIWO INT 计数值(显示实际值)ZSWO INT 显示设定点值
33003691 10/2019 389
AKF_ZV
时序图AKF_ZVR 递增计数器的时序图:
(1) 如果 IN 变为“1”且 R 为“0”,则实际值增加“1”且 Q 设置为“1”。(2) 如果 R 变为“1”,则实际值和 Q 都设置为“0”。 (3) 如果 S 变为“1”,则接受预设设定点值。(4) 如果 IN 变为“1”,则实际值增加“1”。如果这样导致实际值达到设定点值,则 Q 设置为“0”。 (5) 如果 IN 变为“1”,则实际值增加“1”。 (6) 如果 S 变为“1”,则接受预设设定点值且实际值设置为“0”。(7) 如果 S 变为“1”,则接受预设设定点值,并且实际值与 Q 都设置为“0”。
390 33003691 10/2019
EcoStruxure™ Control ExpertAKF_ZVR33003691 10/2019
AKF_ZVR:递增/递减计数器
第47章AKF_ZVR:递增/递减计数器
说明
功能描述此导出的功能块用于递增或递减计数。R 输入上为“1”信号时,实际值和 Q 输出设置为“0”。S 输入上为 0 -> 1 沿时,SW 输入接受设定点值,此值随后将显示在 ZSWO 输出上。实际值不变。只有在至少接受过一次设定点值之后,才会比较设定点值和实际值。如果实际值大于或等于设定点值,则 Q 输出设置为“1”。如果 IN_F 输入上为 -> 1 沿,则实际值 (ZIWO) 增加 1 且与设定点值 (ZSWO) 进行比较。如果 IN_B 输入上为 -> 1 沿,则实际值 (ZIWO) 减 1 且与设定点值 (ZSWO) 进行比较。ZIW 和 ZSW 输入可用于在线更改设定点值 (ZSW) 和实际值 (ZIW)。注意: 为了使计数器正常工作,在 ZIW 上建立的变量(实际值)还必须在 ZIWO 上建立。在 ZSW 上建立的变量(设定点)也必须在 ZSWO 上建立。可以将 EN 和 ENO 配置为附加参数。
公式如果 ZIWO ≥ ZSWO,则 Q = 1。
在 FBD 中的表示形式表示形式:
33003691 10/2019 391
AKF_ZVR
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL AKF_ZVR_Instance (IN_F:=TriggerInputIncrementing, IN_B:=TriggerInputDecrementing, S:=SetInput, SW:=PresetSetpointValue, R:=ResetInput, ZIW:=InternalCurrentValueControl, ZSW:=InternalSetpointValueControl, Q=>Output, ZIWO=>DisplayCurrentValue, ZSWO=>DisplaySetpointValue)
在 ST 中的表示形式表示形式:AKF_ZVR_Instance (IN_F:=TriggerInputIncrementing, IN_B:=TriggerInputDecrementing, S:=SetInput, SW:=PresetSetpointValue, R:=ResetInput, ZIW:=InternalCurrentValueControl, ZSW:=InternalSetpointValueControl, Q=>Output, ZIWO=>DisplayCurrentValue, ZSWO=>DisplaySetpointValue) ;
392 33003691 10/2019
AKF_ZVR
参数描述输入参数描述:
输出参数描述:
注意: 相同变量应分配给引脚 ZIW 和 ZIWO,并且相同变量还应分配给引脚 ZSW 和 ZSWO,或者功能块无法正常执行。
参数 数据类型 含义IN_F BOOL 触发输入,递增计数IN_B BOOL 触发输入,递减计数S BOOL 设置输入SW INT 预设设定点值R BOOL 复位输入ZIW INT 控制内部实际值ZSW INT 控制内部设定点值
参数 数据类型 含义Q BOOL 输出ZIWO INT 计数值(显示实际值)ZSWO INT 显示设定点值
33003691 10/2019 393
AKF_ZVR
时序图AKF_ZVR 递增计数器的时序图
(1) 如果 IN_F 变为“1”且 R 为“0”,则当前值增加“1”。(2) 如果 IN_B 变为“1”且 R 为“0”,则实际值减“1”。 (3) 如果 S 变为“1”,则接受预设设定点值。(4) 如果 IN_F 变为“1”且 R 为“0”,则当前值增加“1”。如果这样导致实际值达到设定点值,则 Q 设置为“1”。 (5) 如果 R 变为“1”,则实际值和 Q 都设置为“0”。 (6) 如果 IN_B 变为“1”且 R 为“0”,则实际值减“1”。如果这样导致实际值小于设定点值,则 Q 设置为“0”。(7) 如果 IN_B 变为“1”且 R 为“0”,则实际值减“1”。如果这样导致实际值达到设定点值,则 Q 设置为“1”。
394 33003691 10/2019
EcoStruxure™ Control ExpertCOMPARE33003691 10/2019
COMPARE:比较两个整数
第48章COMPARE:比较两个整数
描述
功能描述COMPARE 功能执行两个整数之间的比较。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 395
COMPARE
在 IL 中的表示形式表示形式:LD Valid
COMPARE Value1, Value2, Greater_Than, Equal_Values, Less_Than, Different_Values
在 ST 中的表示形式表示形式:COMPARE(Valid, Value1, Value2, Greater_Than, Equal_Values, Less_Than, Different_Values);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Enable BOOL 验证输入。仅当此输入为 1 时才进行比较。Value1 INT 要比较的第一个值。Value2 INT 要比较的第二个值。
参数 类型 注释Greater_Than BOOL 如果 Value1 > Value2 则
Greater_Than = 1否则Greater_Than = 0
Equal_Values BOOL 如果 Value1 = Value2 则Equal_Values = 1否则Equal_Values = 0
Less_Than BOOL 如果 Value1 < Value2 则Less_Than = 1否则Less_Than = 0
Different_Values BOOL 如果 Value1 ≠ Value2 则Different_Values = 1否则Different_Values = 0
396 33003691 10/2019
EcoStruxure™ Control ExpertDATE_DINT_TO_STRING33003691 10/2019
DATE_DINT_TO_STRING:日期 (DATE PL7) 到字符串的转换
第49章DATE_DINT_TO_STRING:日期 (DATE PL7) 到字符串的转换
描述
函数描述DATE_DINT_TO_STRING 函数用于将 PL7 日期(双字)转换成字符串。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Date1
DATE_DINT_TO_STRING
ST Result_Str
33003691 10/2019 397
DATE_DINT_TO_STRING
在 ST 中的表示形式表示形式:Result_Str:= DATE_DINT_TO_STRING(Date1);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
运行时错误如果字符串 Result_Str 太短(长度小于 10 个字符)以至于不能包含日期,则日期会被截断,位 %S15 将设置为 1。如果 Date1 无法解释且与 DATE 格式不一致,则系统位 %S18 将设置为 1 且 Result_Str =’YYYY-MM-DD’。
参数 类型 注释Date1 DINT 要转换成字符串格式的 PL7 日期。
参数 类型 注释Result_Str STRING Result_Str 是由 10 个字符组成的字符串,其中包含的日期(不包括时间)
格式如下:YYYY-MM-DD。
示例:’2000-12-27’
398 33003691 10/2019
EcoStruxure™ Control ExpertDAY_OF_WEEK33003691 10/2019
DAY_OF_WEEK:星期
第50章DAY_OF_WEEK:星期
描述
功能描述DAY_OF_WEEK 功能以整数的形式提供某天是星期几的结果: 1 表示星期一, 2 表示星期二, 3 表示星期三, 4 表示星期四, 5 表示星期五, 6 表示星期六, 7 表示星期日。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 399
DAY_OF_WEEK
在 IL 中的表示形式表示形式:DAY_OF_WEEK
ST Out_Day_Of_Week
在 ST 中的表示形式表示形式:Out_Day_Of_Week := DAY_OF_WEEK();
参数描述下表对输出参数进行了描述:
运行时错误如果该功能在发生实时时钟访问错误后无法更新结果,则发送回的结果为 0,系统位 %S18 设置为 1。
参数 类型 注释Out_Day_Of_Week INT 从 1 到 7 的整数,表示星期几:
1 表示星期一, 2 表示星期二, 3 表示星期三, 4 表示星期四, 5 表示星期五, 6 表示星期六, 7 表示星期日。
400 33003691 10/2019
EcoStruxure™ Control ExpertDELTA_***33003691 10/2019
DELTA_***:两个日期之间的差别
第51章DELTA_***:两个日期之间的差别
描述
功能描述DELTA_*** 功能计算以 PL7 格式表示的两个日期或时间之间的时间变化。还可以配置 EN 和 ENO 这两个附加参数。
可用功能可用功能如下: DELTA_D, DELTA_DT, DELTA_TOD。
在 FBD 中的表示形式适用于时间的表示形式:
在 LD 中的表示形式适用于时间的表示形式:
33003691 10/2019 401
DELTA_***
在 IL 中的表示形式适用于时间的表示形式:LD Input_IN1
DELTA_TOD Input_IN2
ST Delay1
在 ST 中的表示形式适用于时间的表示形式:Delay1:= DELTA_TOD(Input_IN1, Input_IN2);
参数描述下表对输入参数进行了描述:
注意: Input_IN1 和 Input_IN2 必须属于同一类型。下表对输出参数进行了描述:
运行时错误如果 Delay1 超过 DINT 格式所允许的 大值,将发生溢出,此时 Delay1 = 0 且系统位 %S18 设置为 1。如果其中一个输入参数无法解释且与功能格式不一致,则 Delay1 = 0 且系统位 %S18 设置为 1。
参数 类型 注释Input_IN1 DINT、
数组 [0...3],类型为 INT
要计算其与 Input_IN2 之间的变化的日期或时间。
Input_IN2 DINT、数组 [0...3],类型为 INT
要计算其与 Input_IN1 之间的变化的日期或时间
参数 类型 注释Delay1 DINT Delay1 包含 Input_IN1 和 Input_IN2 这两个输入之间经
过的时间的绝对值。
注:此时间以 0.1 秒的精确度表示。
402 33003691 10/2019
EcoStruxure™ Control ExpertDT_ARINT_TO_STRING33003691 10/2019
DT_ARINT_TO_STRING:将 PL7 日期转换为字符串
第52章DT_ARINT_TO_STRING:将 PL7 日期转换为字符串
描述
功能描述DT_ARINT_TO_STRING 功能将 PL7 日期(四个字的表)转换成字符串。可以配置附加参数 EN 和 ENO。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Date1
DT_ARINT_TO_STRING
ST Result_Str
在 ST 中的表示形式表示形式:Result_Str:= DT_ARINT_TO_STRING(Date1);
33003691 10/2019 403
DT_ARINT_TO_STRING
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
运行时错误如果字符串 Result_Str 太短(长度小于 19 个字符)而不能包含日期,则日期会被截断,并且将位 %S15 设置为 1。如果 Date1 无法解释且不一致,则系统位 %S18 将设置为 1 且 Result_Str =’YYYY-MM-DD-HH:MM:SS’。
PL7 DATE_AND_TIME 格式PL7 DATE_AND_TIME (DT) 格式显示如下: yyyy-mm-dd-hh:mm:ss 例如:2000-05-18-15:45:22该值采用 64 位进行 BCD 编码。结果是由 4 个整数组成的数组。
使用上一个示例(十六进制)。
注意: DT 只允许介于 [1990-01-01-00:00:00,2099-12-31-23:59:59] 之间。
参数 类型 注释Date1 数组 [0..3],
类型为 INT将 PL7 日期(四个字的表)转换成字符串格式。
参数 类型 注释Result_Str STRING Result_Str 是由包含日期(包括时间)的 19 个字符组
成的字符串,格式如下:YYYY-MM-DD-HH:MM:SS。
示例: ’2000-12-27-23:15:50’
404 33003691 10/2019
EcoStruxure™ Control ExpertEND33003691 10/2019
END:程序无条件结束
第53章END:程序无条件结束
描述
功能描述应用程序中的 END 功能用于定义程序循环的执行结束。缺省情况(正常模式)下,当激活程序结尾时,输出将更新并且程序切换到下一个循环。如果轮询是周期性的,输出将更新并且程序等到周期结束才切换到下一个循环。可以配置附加参数 EN 和 ENO。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL END
33003691 10/2019 405
END
在 ST 中的表示形式表示形式:END ();
406 33003691 10/2019
EcoStruxure™ Control ExpertFIFO33003691 10/2019
FIFO:先进/先出堆栈寄存器
第54章FIFO:先进/先出堆栈寄存器
简介本章描述 FIFO 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 408详细描述 410
33003691 10/2019 407
FIFO
说明
功能描述该功能块是“先进先出”栈寄存器。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
408 33003691 10/2019
FIFO
在 IL 中的表示形式表示形式:CAL FIFO_Instance (R:=ClearedStackRegister, SET:=WriteValue, GET:=ReadValue, X:=StackRegisterInput, N_MAX:=MaxNumberInStack, FULL=>StackRegisterFull, EMPTY=>StackRegisterEmpty, Y=>StackRegisterOutput)
在 ST 中的表示形式表示形式:FIFO_Instance (R:=ClearedStackRegister, SET:=WriteValue, GET:=ReadValue, X:=StackRegisterInput, N_MAX:=MaxNumberInStack, FULL=>StackRegisterFull, EMPTY=>StackRegisterEmpty, Y=>StackRegisterOutput) ;
参数描述输入参数描述:
输出参数描述:
运行时错误有关所有块错误代码和值的列表,请参见此处 (参见第 589 页)。
参数 数据类型 说明R BOOL 1 = 将清除栈寄存器SET BOOL 1 = 在栈寄存器中写入值GET BOOL 1 = 从栈寄存器读取值X ANY 栈寄存器输入N_MAX UINT 栈寄存器中的 大元素数目
参数 数据类型 说明FULL BOOL 1= 栈寄存器已满,无法再将任何元素放入栈寄存器中空 BOOL 1 = 栈寄存器为空(栈寄存器中的元素数 = 0)是 ANY 栈寄存器输出
33003691 10/2019 409
FIFO
详细描述
功能操作模式FIFO 是"先进/先出"堆栈寄存器。用户看不到索引寄存器和堆栈寄存器。堆栈寄存器是内部状态的一部分, 多可以接受 2000 字节的数据(即 1000 个 INT 元素、500 个 REAL 元素或 500 个 TIME 元素)。该功能块具有两个布尔输入:GET 和 SET,它们用于从堆栈寄存器读取值或向堆栈寄存器写入值。如果同时设置了 GET 和 SET,则将在执行 GET(读)之前执行 SET(写)。当 R(复位)= 1 时,将清除堆栈寄存器。用于检查堆栈的输入参数必须采用有意义的顺序设置,以便该功能块正常工作。有意义的顺序如下:
N_MAX 参数提供堆栈寄存器中的 大元素数。在已满的堆栈寄存器(堆栈寄存器中的元素数 = N_MAX <= 2000/((X) 的大小))中,FULL 设置为 1,并且堆栈寄存器中无法再放入更多元素。如果堆栈寄存器为空(堆栈寄存器中的元素数 = 0),则 EMPTY 设置为 1。该功能对各个基本数据类型都具有 X 输入和 Y 输入。X 和 Y 属于类型 ANY,它意味着具有预定义的长度。由于内部堆栈寄存器的大小有限,因此只接受元素大小等于或小于 200 字节的输入和输出类型。否则,会发生运行时错误并生成将 ENO 设置为 0 的错误消息。
循环 参数 结果循环 n R=0,SET=0,GET=0 堆栈未初始化循环 n+1 R=1,SET=0,GET=0 堆栈已初始化循环 n+2 R=0,SET=0,GET=0 结束初始化循环 n+3 R=0,SET=1,GET=0 向堆栈加载 x 个值循环 n+x+1 R=0,SET=0,GET=0 结束加载循环 n+x+2 R=0,SET=0,GET=1 获取 x 个值循环 n+x+2+x R=0,SET=0,GET=1 堆栈不为空
410 33003691 10/2019
EcoStruxure™ Control ExpertFPULSOR33003691 10/2019
FPULSOR:矩形信号的生成
第55章FPULSOR:矩形信号的生成
本章主题本章描述 FPulsor 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 412FPULSOR 功能操作的详细描述 414
33003691 10/2019 411
FPULSOR
描述
功能描述FPULSOR 功能生成周期性矩形信号,该信号可以使用程序在 1 和 0 处改变脉冲宽度。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Enable
FPULSOR Rise_Time, Fall_Back_Time, Mem_Double_W, OUT_Pulsor, Current_Value
412 33003691 10/2019
FPULSOR
在 ST 中的表示形式表示形式:FPULSOR(Enable, Rise_Time, Fall_Back_Time, Mem_Double_W, OUT_Pulsor, Current_Value);
参数描述下表对输入参数进行了描述:
下表对输入/输出参数进行了描述:
下表对输出参数进行了描述:
注意: 即使在超时期间,也应考虑修改 Rise_Time 和 Fall_Back_Time。Rise_Time + Fall_Back_Time 之和的 长持续时间为 5 分 27 秒 (32700)。
参数 类型 注释Enable BOOL 验证输入。功能在 Enable 的上升沿开始执行,而且只在 Enable = 1 时才执行Rise_Time INT 确定脉冲为 1 的持续时间(精确到 0.01 秒)的输入字。这可用于定义 长持续
时间 5 分 27 秒(精确到 10 毫秒)。Fall_Back_Time INT 确定脉冲为 0 的持续时间(精确到 0.01 秒)的输入字。这可用于定义 长持续
时间 5 分 27 秒(精确到 10 毫秒)。
参数 类型 注释Mem_Double_W DINT 用于存储内部状态的双字。要执行功能,必须使用此字。
参数 类型 注释OUT_Pulsor EBOOL 脉冲输出为 0 时表示 Fall_Back_Time 的持续时间,脉冲输出为 1 时表示
Rise_Time 的持续时间。Current_Value INT 输出字,它随着定时器计数(精确到 0.01 秒)的增加从 0 增加到 Rise_Time
+ Fall_Back_Time。
33003691 10/2019 413
FPULSOR
FPULSOR 功能操作的详细描述
时序图时序图。
操作下表描述了 FPULSOR 功能的操作:
相位 动作 描述1 Enable 输入的上升沿 启动生成矩形信号:(如果信号尚未增加)它的当前值从 0 增加到
Rise_Time+Fall_Back_Time(精确到 0.01 秒)。2 只要尚未超过
Fall_Back_Time 超时时间输出位 OUT_Pulsor 保持为 0。
3 Fall_Back_Time 已过,Rise_Time 激活
输出位 OUT_Pulsor 更改为 1 并一直持续到 Rise_Time 结束,发生器在第 2 步和第 3 步上循环。
4 Enable 切换到 0 Rise_Time 和 Fall_Back_Time 复位为 0,并且输出 OUT_Pulsor 切换到 0。
414 33003691 10/2019
EcoStruxure™ Control ExpertFSTEP_PL7_DRUM33003691 10/2019
FSTEP_PL7_DRUM:将鼓强制到步
第56章FSTEP_PL7_DRUM:将鼓强制到步
描述
功能描述FSTEP_PL7_DRUM 功能将所选的鼓 (参见第 467 页)定位在定义的步中。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Step_value
FSTEP_PL7_DRUM Drum_instance
33003691 10/2019 415
FSTEP_PL7_DRUM
在 ST 中的表示形式表示形式:FSTEP_PL7_DRUM (Step_value, Drum_instance);
参数描述下表对输入参数进行了描述:
执行错误如果传送的步数不存在(数量大于或等于鼓的步数),则 %S18 位设置为 1。
参数 类型 注释Step_value INT 要强制的步的值(0 到 LEN-1)。
LEN = 鼓的步数Drum_instance PL7_DRUM 对其应用功能的鼓的实例。
416 33003691 10/2019
EcoStruxure™ Control ExpertFTOF33003691 10/2019
FTOF:禁用定时器
第57章FTOF:禁用定时器
本章主题本章描述 FTOF 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 418FTOF 功能操作的详细描述 420
33003691 10/2019 417
FTOF
描述
功能描述FTOF 功能是一个禁用定时器。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Enable
FTOF Presel_Value, Mem_Word, OUT_Ftof, Current_Value
在 ST 中的表示形式表示形式:FTOF(Enable, Presel_Value, Mem_Word, OUT_Ftof, Current_Value);
418 33003691 10/2019
FTOF
参数描述下表对输入参数进行了描述:
下表对输入/输出参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Enable BOOL "预备"输入,下降沿时超时启动。Presel_Value INT 确定超时持续时间(精确到 0.01 秒)的预设值。 长授权持续时间是 5
分 27 秒(精确到 10 毫秒)。
注:在超时期间对 Presel_Value 进行的修改会立即生效。
参数 类型 注释Mem_Word DINT 使内部状态得以存储并在输入和输出中使用的双精度整数。
注意不要在应用程序的其他部分中使用此变量。
参数 类型 注释OUT_Ftof EBOOL 在 Enable 的上升沿将输出设置为 1,并在超时结束时设置为 0。Current_Value INT 超时的当前值(精确到 0.01 秒)。当启动定时器时,此变量从 0 增加到
Presel_Value。
33003691 10/2019 419
FTOF
FTOF 功能操作的详细描述
时序图时序图。
操作下表描述了 FTOF 功能的操作:
相位 动作 描述1 Enable 输入的上升沿 当前值变为值 0(即使定时器正在运行),OUT_Ftof 输出位切换到 1
(或保持为 1)。2 在 Enable 输入的上升
沿期间定时器启动,当前值从 0 增加到 Presel_Value(精确到 0.01 秒)。
3 当前值已达到 Presel_Value 时
OUT_Pulsor 输出位返回到 0。
420 33003691 10/2019
EcoStruxure™ Control ExpertFTON33003691 10/2019
FTON:激活定时器
第58章FTON:激活定时器
本章主题本章描述 FTON 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 422FTON 功能操作的详细描述 424
33003691 10/2019 421
FTON
描述
功能描述FTON 功能是一个激活定时器。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Enable
FTON Presel_Value, Mem_Word, OUT_Fton, Current_Value
在 ST 中的表示形式表示形式:FTON(Enable, Presel_Value, Mem_Word, OUT_Fton, Current_Value);
422 33003691 10/2019
FTON
参数描述下表对输入参数进行了描述:
下表对输入/输出参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Enable BOOL "预备"输入,上升沿时定时器启动。Presel_Value INT 确定超时持续时间(精确到 0.01 秒)的预设值。 长授权持续时间是 5
分 27 秒(精确到 10 毫秒)。
注:在超时期间对 Presel_Value 进行的修改会立即生效。
参数 类型 注释Mem_Word DINT 使内部状态得以存储并在输入和输出中使用的双精度整数。
注意不要在应用程序的其他部分中使用此变量。
参数 类型 注释OUT_Fton EBOOL 在超时结束时输出设置为 1。Current_Value INT 超时的当前值(精确到 0.01 秒)。当启动定时器时,此变量从 0 增加到
Presel_Value。
33003691 10/2019 423
FTON
FTON 功能操作的详细描述
时序图时序图。
操作下表描述了 FTON 功能的操作:
相位 动作 描述1 Enable 输入的上升沿 定时器启动,它的当前值 Current_Value 从 0 增加到 Presel_Value
(精确到 0.01 秒)。2 当前值已达到
Presel_Value输出位 OUT_Fton 切换到 1,随后只要 Enable 输入为 1 它就保持为 1。
3 Enable 输入位为 0 即使在运行模式中,定时器也会停止,而 Current_Value 变为 0。
424 33003691 10/2019
EcoStruxure™ Control ExpertFTP33003691 10/2019
FTP:脉冲定时器
第59章FTP:脉冲定时器
本章主题本章描述 FTP 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 426FTP 功能操作的详细描述 428
33003691 10/2019 425
FTP
描述
功能描述功能 FTP 是一个定时器,使用它可获得一个具有精确的、可编程的持续时间的脉冲。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Enable
FTP Presel_Value, Mem_Word, OUT_FTP, Current_Value
在 ST 中的表示形式表示形式:FTP(Enable, Presel_Value, Mem_Word, OUT_FTP, Current_Value);
426 33003691 10/2019
FTP
参数描述下表对输入参数进行了描述:
下表对输入/输出参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Enable BOOL "预备"输入,下降沿时超时启动。Presel_Value INT 确定超时持续时间(精确到 0.01 秒)的预设值。 长授权持续时间是 5 分 27 秒
(精确到 10 毫秒)。
注:在超时期间对 Presel_Value 进行的修改会立即生效。
参数 类型 注释Mem_Word DINT 使内部状态得以存储并在输入和输出中使用的双精度整数。
注意不要在应用程序的其他部分中使用此变量。
参数 类型 注释OUT_FTP EBOOL 在超时结束时输出设置为 0。Current_Value INT 超时的当前值(精确到 0.01 秒)。当启动定时器时,此变量从 0 增加到
Presel_Value。
33003691 10/2019 427
FTP
FTP 功能操作的详细描述
时序图时序图。
操作下表描述了 FTP 功能的操作:
相位 动作 描述1 EN 输入的上升沿 定时器启动(如果它尚未运行),当前值 Current_Value 从 0 增加到
Presel_Value(精确到 0.01 秒)。OUT_FTP 输出位切换到 1。2 当前值已达到
Presel_Value 时OUT_FTP 输出位返回到 0。
3 Enable 输入和 OUT_FTP 输出都为 0
Presel_Value 变为值 0。
428 33003691 10/2019
EcoStruxure™ Control ExpertGET_3X33003691 10/2019
GET_3X:读取 %IW 字(3x 寄存器)
第60章GET_3X:读取 %IW 字(3x 寄存器)
描述
功能描述此功能从状态 RAM 的 %IW 寄存器区域 (3x) 将值写入连接到输出引脚的变量。Offset 是 %IW 寄存器存储器 (3x) 中的偏移。此功能所复制的字节数与连接到输出引脚的输出数据类型的大小相同。可以将 EN 和 ENO 配置为附加参数。
示例如果 Offset = 120 且输出的数据类型为 INT,则此功能的输出读取寄存器 %IW120(寄存器 300120)的 16 位值。Offset 中的值可以在运行时修改。如果 Offset 不等于 %IW (3x) 的配置数目,将生成一条错误消息并将 ENO 设置为 0。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 429
GET_3X
在 IL 中的表示形式表示形式:LD Offset GET_3X ST Output
在 ST 中的表示形式表示形式:Output := GET_3X (Offset);
参数描述输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 描述Offset UINT %IW (3x) 寄存器存储器中的偏移。
参数 数据类型 描述Output ANY 输出
430 33003691 10/2019
EcoStruxure™ Control ExpertGET_4X33003691 10/2019
GET_4X:读取 %MW 字(4x 寄存器)
第61章GET_4X:读取 %MW 字(4x 寄存器)
说明
功能描述此功能将 %MW 寄存器区域(Quantum CPU 的 4x 寄存器区域)中的值复制到与输出引脚 VAL 相连接的变量中。OFF 是 %MW 寄存器区域中的字偏移。该功能所复制的字节数与连接到输出引脚 VAL 的输出数据类型的大小相同。OFF 中的值可以在运行时修改。如果 OFF 在配置的 %MW 寄存器区域之外,将生成一条错误消息并将 ENO 设置为 0。该功能仅复制到所配置的 %MW 区域的结尾,即使所连接的数据类型可以容纳更多的数据。在这种情况下,该功能块不触及所连接的数据类型的其余部分。可以将 EN 和 ENO 配置为附加参数。
示例如果 OFF = 120 且输出的数据类型为 INT,则此功能将读取寄存器 %MW120(寄存器 400120)的 16 位值。如果 OFF 的地址为 后配置的 %MW,则此功能将只读取 1 个字,即使所连接的数据类型大于 1 个字。
在 FBD 中的表示形式表示形式:
33003691 10/2019 431
GET_4X
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Offset GET_4X ST Output
在 ST 中的表示形式表示形式:Output := GET_4X (Offset);
参数描述输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 说明Offset UINT %MW 寄存器存储器 (4x) 中的偏移。
参数 数据类型 说明输出 ANY 输出
432 33003691 10/2019
EcoStruxure™ Control ExpertGET_BIT33003691 10/2019
GET_BIT:读取位
第62章GET_BIT:读取位
描述
功能描述此功能读取输入 InputRegister 的 BitNumber 所选的位,并将当前状态写入输出 CurrentState。该输出是所选输入数据位的当前状态。BitNumber 参数显示要选择的输入数据位。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 433
GET_BIT
在 IL 中的表示形式表示形式:LD InputRegister GET_BIT BitNumber ST CurrentState
在 ST 中的表示形式表示形式:CurrentState := GET_BIT(InputRegister, BitNumber);
参数描述输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 描述InputRegister WORD 输入字BitNumber UINT 要读取的位编号。
参数 数据类型 描述CurrentState BOOL 所选位的当前状态。
434 33003691 10/2019
EcoStruxure™ Control ExpertHIGH_INT33003691 10/2019
HIGH_INT:提取双精度整数的 高有效字
第63章HIGH_INT:提取双精度整数的 高有效字
描述
功能描述HIGH_INT 功能提取双精度整数的 高位字。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Double_Int
HIGH_INT
ST High_Int
在 ST 中的表示形式表示形式:High_Int := HIGH_INT(Double_Int);
33003691 10/2019 435
HIGH_INT
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Double_Int DINT 提取其 高位字的双精度整数。
参数 类型 注释High_Int INT 从双精度整数 Double_Int 提取的 高位字。
436 33003691 10/2019
EcoStruxure™ Control ExpertIEC_BMDI33003691 10/2019
IEC_BMDI:功能块移动
第64章IEC_BMDI:功能块移动
简介本章描述 IEC_BMDI 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 438详细描述 442
33003691 10/2019 437
IEC_BMDI
说明
功能描述此过程将 NumberOfElements 中列出的元素数从源表 (SourceTable) 中的位置 OffsetInSourceTable 按字复制到目标表 (DestinationTable) 中的位置 OffsetInDestinationTable。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告不考虑强制值此过程覆盖状态存储器中的值,而不考虑引用数据编辑器中可能存在强制值。这可能导致过程中出现严重的情况。不遵循上述说明可能导致人员伤亡或设备损坏。
438 33003691 10/2019
IEC_BMDI
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD SourceTable IEC_BMDI OffsetInSourceTable, NumberOfElements, DestinationTable, OffsetInDestinationTable
在 ST 中的表示形式表示形式:IEC_BMDI (SourceTable, OffsetInSourceTable, NumberOfElements, DestinationTable, OffsetInDestinationTable);
33003691 10/2019 439
IEC_BMDI
参数说明输入参数描述:
参数 数据类型 说明SourceTable UINT 已复制内容的 Quantum 源表。源表的选择:
0 = 标记位 %MX1 = 输入位 %IX3 = 输入字 %IW4 = 标记字 %MW
OffsetInSourceTable UINT 所选源表 (SourceTable) 中的偏移。由于复制操作是按字执行的,因此 0x 和 1x 源表的 OffsetInSourceTable 必须是 16 的倍数加 1(如 17、33、49 等)。偏移受上限的监控,且必须在源表的限制内。
NumberOfElements UINT 源表和目标表的大小。NumberOfElements 指示源表中要复制的元素数。由于复制操作是逐字执行的,因此 0x 和 1x 源表的 NumberOfElements 必须是 16 的倍数(如 16、32、48 等)。NumberOfElements 受上限的监控,且必须在源表和目标表的限制内。无论所配置的限制如何,为了避免复制操作花费太多时间,NumberOfElements 值另外还受以下值的限制:%MX、%IX 位: 大 NumberOfElements = 1600%IW、%MW 寄存器: 大 NumberOfElements = 100
DestinationTable UINT 源表内容将复制到的目标表。目标表的选择:0 = 标记位 %MX4 = 标记字 %MW
OffsetInDestinationTable UINT 所选源表中的偏移。由于复制操作是按字执行的,因此 0x 和 1x 源表的 OffsetInDestinationTable 必须是 16 的倍数加 1(如 17、33、49 等)。偏移受上限的监控,且必须在目标表的限制内。
440 33003691 10/2019
IEC_BMDI
运行时错误使用以下标准用户错误消息:
如果没有错误,则此过程将值从所指示的源地址复制到目标地址,并将 ENO 输出设置为 1。用户错误 1 到 12 将阻止执行复制操作,并将 ENO 输出设置为 0。如果发生用户错误 13,复制操作将继续执行,并且 ENO 输出保持为 1,因为此错误被视为警告。注意: 有关所有功能块错误代码的列表,请参见扩展/兼容性, 第 589 页。
用户错误消息 说明E_EFB_USER_ERROR_1 输入值是无效的寄存器类型 (SourceTable)。E_EFB_USER_ERROR_2 输入偏移 (OffsetInSourceTable) 选择的地址超出了许可范围。E_EFB_USER_ERROR_3 输入偏移 (OffsetInSourceTable) 不是 1,也不是 16 的倍数加 1。E_EFB_USER_ERROR_4 输出值是无效的寄存器类型 (DestinationTable)。E_EFB_USER_ERROR_5 输出偏移 (OffsetInDestinationTable) 选择的地址超出了许可范围。E_EFB_USER_ERROR_6 输出偏移 (OffsetInDestinationTable) 不是 1,也不是 16 的倍数加 1。E_EFB_USER_ERROR_7 NumberOfElements 的值为 0。E_EFB_USER_ERROR_8 NumberOfElements 的值寻址范围超过 1600 位。E_EFB_USER_ERROR_9 NumberOfElements 的值寻址范围超过 100 字。E_EFB_USER_ERROR_10 NumberOfElements 的值选择的源地址超出了许可范围。E_EFB_USER_ERROR_11 NumberOfElements 的值选择的目标地址超出了许可范围。E_EFB_USER_ERROR_12 NumberOfElements 的值不是 16 的倍数。E_EFB_USER_ERROR_13 警告:输入地址和输出地址重叠。
33003691 10/2019 441
IEC_BMDI
详细描述
功能描述
IEC_BMDI 将 LENGTH 中列出的元素数从源表 (SEL_IN) 中的 OFF_IN 位置按字复制到目标表 (SEL_OUT) 中的 OFF_OUT 位置。在复制时,LENGTH 始终使用 SEL_IN 的类型来定位(%IX、%MX:LENGTH = 位数;%IW、%MW:LENGTH = 字数)复制行为: %MX 或 %IX 复制到 %MX
在将 %MX 或 %IX 复制到 %MX 时,源长度与目标长度相同 %IW 或 %MW 复制到 %MW
在将 %IW 或 %MW 复制到 %MW 时,源长度与目标长度相同 %MX 或 %IX 复制到 %MW
在将 %MX 或 %IX 复制到 %MW 时,也会进行字到字的复制。在这种情况下,第一个源位将复制到第一个 %MW 寄存器的 MSB( 高位),依此类推。LENGTH 定义要复制的位数。 大输出长度为 LENGTH/16 个寄存器。
%IW 或 %MW 复制到 %MX在将 %IW 或 %MW 复制到 %MX 时,也会进行字到字的复制。在这种情况下,第一个寄存器的 MSB( 高位)将复制到第一个目标位,依此类推。LENGTH 定义要复制的寄存器数。 大输出长度为 LENGTH x 16 位。
示例 1在本示例中,起始地址为 %MX129 的 64 个 %MX 源位将复制到 %MW 目标寄存器(从地址 %MW112 开始)。输入范围为 %MX129 到 %MX192,而输出范围为 %MW112 到 %MW115。
警告不考虑强制值此过程覆盖状态存储器中的值,而不考虑引用数据编辑器中可能存在强制值。这可能导致过程中出现严重的情况。不遵循上述说明可能导致人员伤亡或设备损坏。
442 33003691 10/2019
IEC_BMDI
示例 2在本示例中,起始地址为 %MW250 的 11 个 %MW 源位将复制到 %MX 目标寄存器(从地址 %MX257 开始)。输入范围为 %MW250 到 %MW260,而输出范围为 %MX257 到 %MX432。
示例 3在本示例中,起始地址为 %MX001 的 128 个 %MX 源位将复制到 %MX 目标寄存器(从地址 %MX257 开始)。输入范围为 %MX001 到 %MX127,而输出范围为 %MX257 到 %MX384。
示例 4在本示例中,起始地址为 %MW250 的 15 个 %MW 源位将复制到 %MW 目标寄存器(从地址 4:01030 开始)。输入范围为 %MW250 到 %MW264,而输出范围为 4:01030 到 4:01044。
33003691 10/2019 443
IEC_BMDI
444 33003691 10/2019
EcoStruxure™ Control ExpertIEC_BMDI_M33003691 10/2019
IEC_BMDI_M:功能块移动
第65章IEC_BMDI_M:功能块移动
简介本章介绍 IEC_BMDI_M 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 446详细描述 450
33003691 10/2019 445
IEC_BMDI_M
说明
功能描述此过程将复制按字顺序在 NumberOfElements 中列出的元素的编号(从源表 (SourceTable) 中的位置 OffsetInSourceTable 至目的表 (DestinationTable) 中的位置 OffsetInDestinationTable)。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告不考虑强制值此过程覆盖状态存储器中的值,而不考虑引用数据编辑器中可能存在强制值。这可能导致过程中出现严重的情况。不遵循上述说明可能导致人员伤亡或设备损坏。
446 33003691 10/2019
IEC_BMDI_M
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD SourceTableIEC_BMDI_M OffsetInSourceTable, NumberOfElements, DestinationTable, OffsetInDestinationTable
在 ST 中的表示形式表示形式:IEC_BMDI_M (SourceTable, OffsetInSourceTable, NumberOfElements, DestinationTable, OffsetInDestinationTable);
33003691 10/2019 447
IEC_BMDI_M
参数描述输入参数描述:
参数 数据类型 说明SourceTable UINT 具有复制内容的 Quantum 源表。选择源表:
0 = 标志位 %MX1 = 输入位 %IX3 = 输入字 %IW4 = 标记字 %MW
OffsetInSourceTable UINT 所选源表 (SourceTable) 中的偏移。因为复制操作是逐字执行的,所以对于 0x 和 1x 源表,OffsetInSourceTable必须为 16 的倍数加 1(例如 17、33、49 等)偏移受上限监督的制约,且必须处于源表的限值之内。
NumberOfElements UINT 源表和目的表的大小:NumberOfElements 指示源表中待复制元素的编号。因为复制操作是逐字执行的,所以 0x 和 1x 源表必须为 16 的倍数(例如 16、32、48 等)对于 NumberOfElements。 NumberOfElements 受上限监督的制约,且必须处于源表和目的表的限值之内。NumberOfElements 值与已配置的限值无关,而是受限于下列值,从而防止复制操作占用太多时间:%MX、%IX 位: 大 NumberOfElements = 1600%IW、%MW 寄存器: 大 NumberOfElements = 100
DestinationTable UINT 源表内容将复制至其中的目标表。选择目的表:0 = 标志位 %MX4 = 标记字 %MW
OffsetInDestinationTable UINT 所选源表中的偏移。因为复制操作是逐字执行的,所以 0x 和 1x 目的表 OffsetInDestinationTable 必须为 16 的倍数加 1(例如 17、33、49 等)。偏移受上限监督的制约,且必须处于目的表的限值之内。
448 33003691 10/2019
IEC_BMDI_M
运行时错误使用的标准用户错误消息如下所示:
如果不存在错误,则该过程将把值从指明的源复制到目的地址,并设置 ENO 输出为 1。用户错误 1 至 12 将阻断复制操作,并正在把 ENO 输出设置为 0。如果用户错误 13 出现,则复制操作仍将持续,且 ENO 输出仍将保持为 1,因为此错误被视为一个警告。注意: 关于所有功能块代码的列表,请参阅 扩展/兼容性, 第 589 页。
用户错误消息 说明E_EFB_USER_ERROR_1 输入值为无效寄存器类型 (SourceTable)。E_EFB_USER_ERROR_2 输入偏移 (OffsetInSourceTable) 选择了超出可接受限制范围的地址。E_EFB_USER_ERROR_3 输入偏移 (OffsetInSourceTable) 并非 1 或 16 的倍数加 1。E_EFB_USER_ERROR_4 输出值为无效寄存器类型 (DestinationTable)。E_EFB_USER_ERROR_5 输出偏移 (OffsetInDestinationTable) 选择了超出可接受限制范围的地址。E_EFB_USER_ERROR_6 输出偏移 (OffsetInDestinationTable) 并非 1 或 16 的倍数加 1。E_EFB_USER_ERROR_7 (NumberOfElements) 的值为 0。E_EFB_USER_ERROR_8 (NumberOfElements) 地址的值超过 1600 位。E_EFB_USER_ERROR_9 (NumberOfElements) 地址的值超过 100 字。E_EFB_USER_ERROR_10 (NumberOfElements) 的值选择了超出可接受限制范围的源地址。E_EFB_USER_ERROR_11 (NumberOfElements) 的值选择了超出可接受限制范围的目的地址。E_EFB_USER_ERROR_12 (NumberOfElements) 的值并非 16 的倍数。E_EFB_USER_ERROR_13 警告:输入地址与输出地址重叠。
33003691 10/2019 449
IEC_BMDI_M
详细描述
功能描述
IEC_BMDI_M 创建 LENGTH 中所列元素编号的逐字副本(从源表 (SEL_IN) 中的 OFF_IN 位置至目的表 (SEL_OUT) 中的 OFF_OUT 位置)。在复制时,LENGTH 始终使用SEL_IN 类型以进行定位(%IX、%MX:LENGTH = 位的编号;%IW、%MW:LENGTH = 字的编号)复制动作: %MX 或 %IX 至 %MX
在将 %MX 或 %IX 复制至 %MX 时,源长度与目标长度是完全相同的。 %IW 或 %MW 至 %MW
在将 %IW 或 %MW 复制至 %MW 时,源长度与目标长度是完全相同的。 %MX 或 %IX 至 %MW
在将 %MX 或 %IX 复制至 %MW 时,字对字 复制也会被执行。此时,第一个源位会被复制到第一个 %MW 寄存器的 MSB( 高位)中,以此类推。LENGTH 定义了待复制的位的编号。 大输出长度为 LENGTH/16 寄存器。
%IW 或 %MW 至 %MX在将 %IW 或 %MW 复制至 %MX 时,字对字 复制也会被执行。此时,第一个寄存器的 MSB( 高位)会被复制到第一个目的位中,以此类推。LENGTH 定义了待复制的寄存器的编号。大输出长度为 LENGTH x 16 位。
示例 1在此例中,来自开始地址 %MX129 的 64 %MX 源位被复制到 %MW 目的寄存器(始于地址 %MW112)中。输入范围为 %MX129 至 %MX192,输出范围为 %MW112 至 %MW115。
警告不考虑强制值此过程覆盖状态存储器中的值,而不考虑引用数据编辑器中可能存在强制值。这可能导致过程中出现严重的情况。不遵循上述说明可能导致人员伤亡或设备损坏。
450 33003691 10/2019
IEC_BMDI_M
示例 2在此例中,来自开始地址 %MW250 的 11 %MW 源位被复制到 %MX 目的寄存器(始于地址 %MX257)。输入范围为 %MW250 至 %MW260,输出范围为 %MX257 至 %MX432。
示例 3在此例中,来自开始地址 %MX001 的 128 %MX 源位被复制到 %MX 目的寄存器(始于地址 %MX257)。输入范围为 %MX001 至 %MX127,输出范围为 %MX257 至 %MX384。
示例 4在此例中,来自开始地址 %MW250 的 15 %MW 源位被复制到 %MW 目的寄存器(始于地址 4:01030)。输入范围为 %MW250 至 %MW264,输出范围为 4:01030 至 4:01044。
33003691 10/2019 451
IEC_BMDI_M
452 33003691 10/2019
EcoStruxure™ Control ExpertLIFO33003691 10/2019
LIFO:后进/先出堆栈寄存器
第66章LIFO:后进/先出堆栈寄存器
简介本章描述 LIFO 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 454详细描述 456
33003691 10/2019 453
LIFO
说明
功能描述该功能块是“后进先出”栈寄存器。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
454 33003691 10/2019
LIFO
在 IL 中的表示形式表示形式:CAL LIFO_Instance (R:=ClearedStackRegister, SET:=WriteValue, GET:=ReadValue, X:=StackRegisterInput, N_MAX:=MaxNumberInStack, FULL=>StackRegisterFull, EMPTY=>StackRegisterEmpty, Y=>StackRegisterOutput)
在 ST 中的表示形式表示形式:LIFO_Instance (R:=ClearedStackRegister, SET:=WriteValue, GET:=ReadValue, X:=StackRegisterInput, N_MAX:=MaxNumberInStack, FULL=>StackRegisterFull, EMPTY=>StackRegisterEmpty, Y=>StackRegisterOutput) ;
参数描述输入参数描述:
输出参数描述:
运行时错误有关所有块错误代码和值的列表,请参见此处 (参见第 589 页)。
参数 数据类型 说明R BOOL 1 = 将清除栈寄存器SET BOOL 1 = 在栈寄存器中写入值GET BOOL 1 = 从栈寄存器读取值X ANY 栈寄存器输入N_MAX UINT 栈寄存器中的 大元素数目
参数 数据类型 说明FULL BOOL 1= 栈寄存器已满,无法再将任何元素放入栈寄存器中空 BOOL 1 = 栈寄存器为空(栈寄存器中的元素数 = 0)是 ANY 栈寄存器输出
33003691 10/2019 455
LIFO
详细描述
功能描述LIFO 是"后进先出"式堆栈寄存器。用户看不到索引寄存器和堆栈寄存器。堆栈寄存器属于内部状态, 多可以接受 2000 字节(即 1000 个 INT 元素、500 个 REAL 元素或 500 个 TIME 元素)。该功能块具有两个布尔输入:GET 和 SET。它们用于从堆栈寄存器读取值或向堆栈寄存器写入值。如果同时设置了 GET 和 SET,则将在执行 GET(读)之前执行 SET(写)。如果 R(复位)= 1,将清除堆栈寄存器。用于检查堆栈的输入参数必须采用有意义的顺序设置,以便该功能块正常工作。有意义的顺序如下:
N_MAX 参数定义堆栈寄存器中的 大元素数。在已满的堆栈寄存器(堆栈寄存器中的元素数 = N_MAX <= 2000 /((X) 的大小))中,FULL 设置为 1。无法将更多元素放入堆栈寄存器中。在空堆栈寄存器(堆栈寄存器中的元素数 = 0)中,EMPTY 设置为 1。该功能对于不同数据类型具有一个 X 输入和一个 Y 输出。X 和 Y 属于类型 ANY,它意味着具有预定义的长度。由于堆栈寄存器的大小有限,因此只允许使用元素大小小于或等于 200 字节的数据类型。否则将生成运行时错误,并将 ENO 输出设置为 0。
循环 参数 结果循环 n R=0,SET=0,GET=0 堆栈未初始化循环 n+1 R=1,SET=0,GET=0 堆栈已初始化循环 n+2 R=0,SET=0,GET=0 结束初始化循环 n+3 R=0,SET=1,GET=0 向堆栈加载 x 个值循环 n+x+1 R=0,SET=0,GET=0 结束加载循环 n+x+2 R=0,SET=0,GET=1 获取 x 个值循环 n+x+2+x R=0,SET=0,GET=1 堆栈不为空
456 33003691 10/2019
EcoStruxure™ Control ExpertLOW_INT33003691 10/2019
LOW_INT:提取双精度整数的 低有效字
第67章LOW_INT:提取双精度整数的 低有效字
描述
功能描述LOW_INT 功能提取双精度整数的 低位字。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Double_Int
LOW_INT
ST Low_Int
33003691 10/2019 457
LOW_INT
在 ST 中的表示形式表示形式:Low_Int := LOW_INT(Double_Int);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Double_Int DINT 提取其 低位字的双精度整数。
参数 类型 注释Low_Int INT 从双精度整数 Double_Int 提取的 低位字。
458 33003691 10/2019
EcoStruxure™ Control ExpertMUX_DINTARR_12533003691 10/2019
MUX_DINTARR_125:数据类型为 DIntArr125 的数组的多路复用
第68章MUX_DINTARR_125:数据类型为 DIntArr125 的数组的多路复用
说明
功能描述使用此功能寻址,选择数组中的单元素。寻址数组时,仅常量索引可以输入编程语言 FBD 和 LD。在此功能帮助下也可使用索引变量。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD DIntArrayMUX_DINTARR_125 PositionInArrayST SelectedElement
33003691 10/2019 459
MUX_DINTARR_125
在 ST 中的表示形式表示形式:SelectedElement := MUX_DINTARR_125 (DIntArray, PositionInArray) ;
参数描述 MUX_DINTARR_125输入参数描述:
输出参数描述:
参数描述 DIntArr125DIntArr125 数据类型的描述:
运行时错误如果超出 PositionInArray输入的值范围,诊断查看器 (参见 EcoStruxure™ Control Expert, 操作模式)将显示错误消息,%SW125 (参见 EcoStruxure™ Control Expert, 系统位和系统字, 参考手册) 包含错误代码值。注意: 有关所有功能块错误代码和值的列表,请参阅 扩展/兼容性, 第 589 页。
参数 数据类型 说明DIntArray DIntArr125 元素数组化选择来源于PositionInArray INT 将选择元素的数组中的位置已放置(范围 0 到 124)
参数 数据类型 说明SelectedElement DINT 已选择的元素
元素 数据类型 说明varname[1] DINT 1. 数组元素... ... ...varname[125] DINT 125. 数组元素
460 33003691 10/2019
EcoStruxure™ Control ExpertPL7_COUNTER33003691 10/2019
PL7_COUNTER:计数器/减计数器
第69章PL7_COUNTER:计数器/减计数器
本章目标本章描述 PL7_COUNTER 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 462PL7_COUNTER 功能的操作模式 465
33003691 10/2019 461
PL7_COUNTER
描述
功能描述PL7_COUNTER 功能块是计数器/减计数器,它允许对脉冲进行加或减计数。可以配置附加参数 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_COUNTER 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_COUNTER 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
462 33003691 10/2019
PL7_COUNTER
IL 表示形式表示形式:CAL Counter_1(R := Raz, P := Preselect, CU := Count_Up, CD := Count_Down, E => Empty, D => Done, F => Full)
ST 表示形式表示形式:IF Raz THEN
RESET_PL7_COUNTER (Counter_1) ;
END_IF;
IF Preselect THEN
PRESET_PL7_COUNTER (Counter_1) ;
END_IF;
IF Count_Up THEN
UP_PL7_COUNTER (Counter_1) ;
END_IF;
IF Count_Down THEN
DOWN_PL7_COUNTER (Counter_1) ;
END_IF;
Empty := Counter_1.E ;
Done := Counter_1.D ;
Full := Counter_1.F ;
33003691 10/2019 463
PL7_COUNTER
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
变量描述下表对公共变量进行了描述:
参数 类型 注释R BOOL 输入复位为零,如果 Counter_1.R 等于 1,则计数器的当前值 Counter_1.CV = 0P BOOL 预设输入,如果 Counter_1.S 等于 1,则 Counter_1.CV = Counter_1.PV CU BOOL 对输入进行计数,在 Counter_1.CU 的上升沿上当前值按 1 递增。CD BOOL 对输入进行减计数,在 Counter_1.CD 的上升沿上当前值按 1 递减。
参数 类型 注释E BOOL 清空计数器输出。当 Counter_1.CV 从 0 变为 9999 时 Counter_1.E=1,如果计数器
继续进行减计数,Counter_1.E 又会变为 0。 D BOOL 指示计数器已达到预设值的输出。当 Counter_1.CV = Counter_1.PV 时,
Counter_1.CD = 1。F BOOL 计数器输出已满。当 Counter_1.CV 从 9999 变为 0 时 Counter_1.F = 1,如果计数器
继续进行加计数,Counter_1.F 又会变为 0。
参数 类型 注释CV INT 计数器的当前值。该值可以由程序读取和测试,但不能写入。PV INT 该值介于 0 和 9999 之间,称为计数器预设值。它可以由程序写入、读取和测试;
缺省设置为 9999。
464 33003691 10/2019
PL7_COUNTER
PL7_COUNTER 功能的操作模式
描述下表描述了 PL7_COUNTER 功能的专用操作模式:
注意: 建议只在程序中测试输出位一次。
影响... 描述冷重启 (%S0=1) 将当前值复位为零,将输出设置为零,并将预设值初始化为配置中定义
的值。热重启,更改为停止、禁用任务或执行断点
(%S1=1) 对计数器的当前值没有任何影响。
修改预设 仅当由应用程序管理该功能块时才考虑由指令或调整对预设值进行的修改。
33003691 10/2019 465
PL7_COUNTER
466 33003691 10/2019
EcoStruxure™ Control ExpertPL7_DRUM33003691 10/2019
PL7_DRUM:鼓
第70章PL7_DRUM:鼓
本章目标本章描述 PL7_DRUM 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 468PL7_DRUM 定时器功能的操作模式 471
33003691 10/2019 467
PL7_DRUM
说明
函数描述PL7_DRUM 功能块是一个鼓。每一步都与输出位或称为命令位的内部位相关联。该功能块用于转换 PL7 程序;它相当于在 PL7 下转换 %DRi。可以配置附加参数 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_DRUM 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_DRUM 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
IL 表示形式表示形式:CAL PL7_Drum_1(R := Raz, U := Up, F => Full, W => %MW0)
468 33003691 10/2019
PL7_DRUM
ST 表示形式表示形式:IF Raz THEN
RESET_PL7_DRUM(PL7_Drum_1);
END_IF;
IF RE (Up) THEN
UP_PL7_DRUM(PL7_Drum_1);
END_IF;
Full := PL7_Drum_1.F ;
%MW0 := PL7_Drum_1.W ;
参数描述下表介绍了输入参数:
下表对输出参数进行了描述:
变量描述下表对公用变量进行描述:
参数 类型 注释R BOOL “返回第 0 步”输入,它在状态 1 上初始化第 0 步上的鼓。U BOOL “前进”输入,它在上升沿上使鼓前进一步,同时更新命令位。
参数 类型 注释F BOOL 指示正在进行定义的 后一步的输出。 W INT 当前步输出值。
参数 类型 注释LEN UINT 步数:可能值为 1 到 16(缺省值为 16)。ET INT 当前步的超时或持续时间。PL7_Drum_1.ET 介于 0 和 9999 之间。对于每一步变化,
此整数都可以复位为零。可以对它进行读取和测试,但不能进行写入。一步的持续时间等于 PL7_Drum1.ET x PL7_Drum_1.TB。
S INT 介于 0 和 15 之间,这是当前步数。可以对此整数进行读取和测试。但只能从立即值写入此整数。
33003691 10/2019 469
PL7_DRUM
图形PL7_DRUM 功能块的操作图:
对于输入 PL7_Drum_1.U 的每个上升沿(或指令 UP_PL7_DRUM(PL7_Drum_1) 的激活),当前步数都会递增。此数目可由程序更改。
TB UINT 循环编程器时基。可能的值: TB = 8:1 分钟(缺省值), TB = 4:1 秒, TB = 2:100 毫秒, TB = 1:10 毫秒。
执行程序时,时基(在离线模式下定义的 TB)的值舍入为 2 的 接近的倍数(1 和 8 之间)。
W0...Wj(j=LEN-1)
INT PL7_Drum_1.Wj 是表示第 j 步的状态的字。此字(INT 类型)指示给定步的每个命令位的状态。它是用户使用数据编辑器输入的。注:Wj 的数量与步数 (LEN) 相同。
小心热重启后的意外行为请勿在在线模式下修改时基 (TB),否则会导致热重启时应用程序出现意外行为。不遵循上述说明可能导致人身伤害或设备损坏。
参数 类型 注释
470 33003691 10/2019
PL7_DRUM
PL7_DRUM 定时器功能的操作模式
描述下表描述了 PL7_DRUM 功能的专用操作模式:
注意: 仅当存在步的变化或者存在热启动或冷启动时才会发生命令位更新。注意: 当复位为 0 时: 在 LD 和 FBD 中,输入 PL7_Drum_1.U 的历史记录更新为连接的值。 在 IL 中,输入 PL7_Drum_1.U 的历史记录没有更新;它保留调用前拥有的值。 在 ST 中,输入 PL7_Drum_1.U 的历史记录更新为 0。
影响... 描述冷重启 (%S0=1) 将编程器重新初始化为第 0 步(同时更新命令位)。热重启 (%S1=1) 根据当前步更新命令位。程序跳转、禁用任务或执行断点
未扫描鼓不会将命令位复位为 0。
33003691 10/2019 471
PL7_DRUM
472 33003691 10/2019
EcoStruxure™ Control ExpertPL7_MONOSTABLE33003691 10/2019
PL7_MONOSTABLE:单稳
第71章PL7_MONOSTABLE:单稳
本章目标本章描述 PL7_MONOSTABLE 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 474PL7_MONOSTABLE 功能操作的详细描述 477PL7_MONOSTABLE 单稳功能的操作模式 478
33003691 10/2019 473
PL7_MONOSTABLE
说明
功能描述PL7_MONOSTABLE 功能块是单稳功能块,它允许生成的脉冲具有精确的持续时间。可以配置的附加参数有 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_MONOSTABLE 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_MONOSTABLE 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
IL 表示形式表示形式:CAL Mn_1(S := Mn_Start, R => Mn_State)
474 33003691 10/2019
PL7_MONOSTABLE
ST 表示形式表示形式:IF RE(Mn_Start) THEN
START_PL7_MONOSTABLE (Mn_1) ;
END_IF;
Mn_State := Mn_1.R ;
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
注意: 可以在 Ma_1.S 的上升沿上将单稳复位;另一方面,单稳启动脉冲的长度不会更改生成的脉冲,因为单稳是在上升沿启动的。
参数 类型 注释S BOOL “启动”输入,在上升沿启动单稳。
参数 类型 注释R BOOL “运行”输出:
如果 Mn_1.ET = Mn_1.PT 或 Mn_1.ET = 0,则 Mn_1.R = 0。 其他情况下 Mn_1.R = 1。
33003691 10/2019 475
PL7_MONOSTABLE
变量描述下表对公共变量进行了描述:
参数 类型 注释ET INT 单稳(随时间流逝从 Mn_1.PT 减小到 0)的当前值。该值可以由程序读取和测试,
但不能写入。PT INT 该值介于 0 和 9999 之间,称为单稳预设值。它可以由程序写入、读取和测试。它的
缺省设置为 9999。单稳所生成的脉冲值等于 Mn_PT x TB。TB UINT 循环编程器时基。可能的值:
TB = 8:1 分钟(缺省值) TB = 4:1 秒 TB = 2:100 毫秒 TB = 1:10 毫秒
执行程序时,时基(在离线模式下定义的 TB)的值舍入为 2 的 接近的倍数(1 和 8 之间)。
小心热重启后的意外行为请勿在在线模式下修改时基 (TB),否则会导致热重启时应用程序出现意外行为。不遵循上述说明可能导致人身伤害或设备损坏。
476 33003691 10/2019
PL7_MONOSTABLE
PL7_MONOSTABLE 功能操作的详细描述
图形显示单稳操作的图形
操作单稳操作的描述
相位 描述1 一旦单稳的输入 Mn_1.S 上出现上升沿,当前值 Mn_1.ET 就变为预选值 Mn_1.PT。2 当前值 Mn_1.ET 降到 0,速率是每经过时基 Mn_1.TB 的一个脉冲就降低 1 个单位。3 一旦当前值 Mn_1.ET 不是 0,输出位 Mn_1.R(正在运行)就切换到 1。4 在当前值 Mn_1.ET = 0 时,输出位 Mn_1.R 切换回 0。
33003691 10/2019 477
PL7_MONOSTABLE
PL7_MONOSTABLE 单稳功能的操作模式
描述下表描述了 PL7_MONOSTABLE 功能的专用操作模式:
注意: 建议只在程序中测试单稳的输出位一次。
影响... 描述冷重启 (%S0=1) 将当前值复位为零,将预设值重新初始化为配置中定义的值,并将当前值
设置为预设值。热重启 (%S1=1) 对单稳的当前值或对预设值没有任何影响。当前值在断电期间不更改。更改为停止、禁用任务或执行断点
不冻结当前值。
程序跳转 未扫描对单稳块进行编程的指令不冻结当前值,它继续向零方向减少。同样,输出位保留它的正常功能,因此可以由其他指令对其进行测试。另一方面,直接连接到输出的输出没有被激活,因为 PLC 未对其进行扫描
输出位测试 输出位可以在循环中间更改状态。
478 33003691 10/2019
EcoStruxure™ Control ExpertPL7_REGISTER_3233003691 10/2019
PL7_REGISTER_32:32 字存储寄存器
第72章PL7_REGISTER_32:32 字存储寄存器
描述
功能描述PL7_REGISTER_32 功能块是 多可存储 32 个字(INT 类型)的存储寄存器。 存在两种存储模式: FIFO 模式(先进先出),也称为列队 LIFO 模式(后进先出),也称为堆栈可以配置附加参数 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_REGISTER_32 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_REGISTER_32 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
33003691 10/2019 479
PL7_REGISTER_32
LD 表示形式表示形式:
IL 表示形式表示形式:CAL R_1 (R := Raz, I := In_Pulse, O := Out_Pulse, E => Empty, F => Full)
ST 表示形式表示形式:IF Raz THEN
RESET_PL7_REGISTER_32 (R_1) ;
END_IF;
IF RE(In_Pulse) THEN
GET_PL7_REGISTER_32 (R_1) ;
END_IF;
IF RE(Out_Pulse) THEN
PUT_PL7_REGISTER_32 (R_1) ;
END_IF;
Empty := R_1.E ;
Full := R_1.F ;
480 33003691 10/2019
PL7_REGISTER_32
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
注意: 同时激活两个输入(存储和转移)时,在转移前先执行存储。
变量描述下表对公共变量进行了描述:
操作模式下表描述了 PL7_REGISTER_32 功能的专用操作模式:
参数 类型 注释R BOOL 输入复位为零,如果 R_1.R 等于 1,则清空寄存器。I BOOL 存储输入,在上升沿将寄存器的输入字存储在寄存器中。O BOOL 转移输入,在上升沿使用准备从寄存器转移的信息写入输
入字。
参数 类型 注释E BOOL 空寄存器输出。当寄存器为空时,无法再转移信息。F BOOL 满寄存器输出。当寄存器已满时,无法再存储信息。
参数 类型 注释FIFO BOOL 寄存器的操作模式:
真:FIFO。 假:LIFO(缺省值)。
IN W INT 寄存器的输入字;可以对它进行读取、测试或写入。OUT W INT 寄存器的输出字;可以对它进行读取、测试或写入。LEN UINT 寄存器的字数。
影响... 描述冷重启 (%S0=1) 导致初始化寄存器的内容。指示寄存器为空的输出位被设置为 1。热重启 (%S1=1) 对寄存器的内容或对输出位的状态没有任何影响。复位为零 复位为零的影响因使用的语言而异:
在 LD 和 FBD 中,使用连接的值更新输入历史记录。 在 IL 中,输入历史记录没有更新,并且每个输入保留调用前拥有的值。 在 ST 中,输入历史记录设置为零。
33003691 10/2019 481
PL7_REGISTER_32
482 33003691 10/2019
EcoStruxure™ Control ExpertPL7_REGISTER_25533003691 10/2019
PL7_REGISTER_255:255 字存储寄存器
第73章PL7_REGISTER_255:255 字存储寄存器
描述
功能描述PL7_REGISTER_255 功能块是 多可存储 255 个字(INT 类型)的存储寄存器。 存在两种存储模式: FIFO 模式(先进先出),也称为列队 LIFO 模式(后进先出),也称为堆栈可以配置附加参数 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_REGISTER_255 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_REGISTER_255 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
33003691 10/2019 483
PL7_REGISTER_255
LD 表示形式表示形式:
IL 表示形式表示形式:CAL R_1 (R := Raz, I := In_Pulse, O := Out_Pulse, E => Empty, F => Full)
ST 表示形式表示形式:IF Raz THEN
RESET_PL7_REGISTER_255 (R_1) ;
END_IF;
IF RE(In_Pulse) THEN
GET_PL7_REGISTER_255 (R_1) ;
END_IF;
IF RE(Out_Pulse) THEN
PUT_PL7_REGISTER_255 (R_1) ;
END_IF;
Empty := R_1.E ;
Full := R_1.F ;
484 33003691 10/2019
PL7_REGISTER_255
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
注意: 同时激活两个输入(存储和转移)时,在转移前先执行存储。
变量描述下表对公共变量进行了描述:
操作模式下表描述了 PL7_REGISTER_255 功能的专用操作模式:
参数 类型 注释R BOOL 输入复位为零,如果 R_1.R 等于 1,则清空寄存器。I BOOL 存储输入,在上升沿将寄存器的输入字存储在寄存器中。O BOOL 转移输入,在上升沿使用准备从寄存器转移的信息写入输入字。
参数 类型 注释E BOOL 空寄存器输出。当寄存器为空时,无法再转移信息。F BOOL 满寄存器输出。当寄存器已满时,无法再存储信息。
参数 类型 注释FIFO BOOL 寄存器的操作模式:
真:FIFO。 假:LIFO(缺省值)。
IN W INT 寄存器的输入字;可以对它进行读取、测试或写入。OUT W INT 寄存器的输出字;可以对它进行读取、测试或写入。LEN UINT 寄存器的字数。
影响... 描述冷重启 (%S0=1) 导致初始化寄存器的内容。空寄存器输出位设为 1。热重启 (%S1=1) 对寄存器的内容或对输出位的状态没有任何影响。复位为零 复位为零的影响因使用的语言而异:
在 LD 和 FBD 中,使用连接的值更新输入历史记录。 在 IL 中,输入历史记录没有更新,并且每个输入保留调用前拥
有的值。 在 ST 中,输入历史记录设置为零。
33003691 10/2019 485
PL7_REGISTER_255
486 33003691 10/2019
EcoStruxure™ Control ExpertPL7 和 Control Expert定时器比较33003691 10/2019
PL7 和 Control Expert定时器比较
第74章PL7 和 Control Expert定时器比较
PL7 和 Control Expert之间的差别:定时器
简介本部分介绍Control Expert中可用的 PL7 定时器和 IEC 定时器之间的差别。这些差别在从 PL7 软件向 Control Expert迁移时尤为有用。PL7 定时器包括: PL7_TON PL7_TOF PL7_TPIEC 定时器包括: TON TOF TP
IEC 定时器和 PL7 定时器比较下表列出了 IEC 定时器和 PL7 定时器之间的差别:
IEC 定时器 PL7 定时器应用程序中允许的定时器量
无限制 255
编程 无时基 预设时间为 TIME type (t#1mn20s) 定时器的当前值直接为 TIME 类型的输出 ET
时基(min、sec 或 ms)必须用整数定义
预设时间为 INT 类型(时基因子) 当前值通过公共变量指定
运行模式 TON 实例必须在程序中进行扫描,以刷新输出 定时器一启动,就会设置输出
在线模式 允许在 TON 实例上在线修改(添加/修改) 用户不能: 修改时基 创建新实例
33003691 10/2019 487
PL7 和 Control Expert定时器比较
488 33003691 10/2019
EcoStruxure™ Control ExpertPL7_TOF33003691 10/2019
PL7_TOF:TOF 类型定时器
第75章PL7_TOF:TOF 类型定时器
本章目标本章描述 PL7_TOF 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 490PL7_TOF 功能操作的详细描述 493PL7_TOF 定时器功能的操作模式 494
33003691 10/2019 489
PL7_TOF
说明
功能描述PL7_TOF 功能块是 TOF 类型(下降延迟时间)的定时器。可以配置的附加参数有 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_TOF 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_TOF 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
IL 表示形式表示形式:CAL TOF_Timer_1(S := Timer_Start, Q => Timer_State)
490 33003691 10/2019
PL7_TOF
ST 表示形式表示形式:IF RE(Timer_start) THEN
START_PL7_TOF (TOF_Timer_1) ;
END_IF;
IF FE(Timer_Start) THEN
DOWN_PL7_TOF (TOF_Timer_1) ;
END_IF;
Timer_State := TOF_Timer_1.Q ;
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释S BOOL “激活”输入,在上升沿启动定时器。
参数 类型 注释Q BOOL “定时器”输出,是否将它设置为 1 取决于定时器状态。
33003691 10/2019 491
PL7_TOF
变量描述下表对公共变量进行了描述:
参数 类型 注释ET INT 随时间下降的定时器的当前值。该值可以由程序读取和测试,但不能写入。PT INT 该值介于 0 和 9999 之间,称为定时器预设值。它可以由程序写入、读取和测试。
它的缺省设置为 9999。定时器所创建的延迟等于 PT x TB。TB UINT 定时器时基。可能的值:
TB = 8:1 分钟(缺省值) TB = 4:1 秒 TB = 2:100 毫秒 TB = 1:10 毫秒
时基越低,定时器准确度越高。执行程序时,时基(在离线模式下定义的 TB)的值舍入为 2 的 接近的倍数(1 和 8 之间)。
小心热重启后的意外行为请勿在在线模式下修改时基 (TB),否则会导致热重启时应用程序出现意外行为。不遵循上述说明可能导致人身伤害或设备损坏。
492 33003691 10/2019
PL7_TOF
PL7_TOF 功能操作的详细描述
图形图形。
操作下表描述了 PL7_TOF 定时器功能的操作:
相位 描述1 当前值 TOF_Timer_1.ET 值为 0,位于 TOF_Timer_1.S 输入的上升沿(即使定时
器此时正在运行)。2 输出位 TOF_Timer_1.Q 更改为 1。3 当 TOF_Timer_1.S 具有下降沿时,输入定时器启动。4 对于时基 TB 的每个脉冲,当前值向 TOF_Timer_1.PT 方向增加一个单位。5 当前值一达到 TOF_Timer_1.PT,TOF_Timer_1.Q 输出位就再次降到 0。
33003691 10/2019 493
PL7_TOF
PL7_TOF 定时器功能的操作模式
描述下表描述了 PL7_TOF 定时器功能的专用操作模式:
注意: 建议只在程序中测试位 Q 一次。
影响... 描述冷重启 (%S0=1) 将当前值复位为 0,将 Q 输出复位为 0,并将预设值复位为配置中定义
的值。热重启 (%S1=1) 对定时器的当前值或对预设值没有任何影响。当前值在断电期间不更
改。更改为停止、禁用任务或执行断点
不冻结当前值。
程序跳转 未扫描对定时器块进行编程的指令不冻结当前值 ET,它继续向 PT 方向增大。同样,位 Q 保留它的正常功能,因此可以由其他指令对其进行测试。另一方面,直接连接到输出 Q 的输出没有被激活,因为 PLC 未对其进行扫描
修改预设 仅在下次激活定时器功能时才考虑由指令或调整对预设值进行的修改。仅在冷重启 (%S0=1) 后才考虑在变量编辑器中对预设值进行修改。
494 33003691 10/2019
EcoStruxure™ Control ExpertPL7_TON33003691 10/2019
PL7_TON:TON 类型定时器
第76章PL7_TON:TON 类型定时器
本章目标本章描述 PL7_TON 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 496PL7_TON 函数操作的详细描述 499PL7_TON 定时器函数的操作模式 500
33003691 10/2019 495
PL7_TON
说明
功能描述PL7_TON 功能块是 TON 类型(上升延迟时间)的定时器。可以配置的附加参数有 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_TON 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_TON 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
496 33003691 10/2019
PL7_TON
IL 表示形式表示形式:LD Timer_Start
CAL TON_Timer_1(S := TON_Timer_1, Q => Timer_State)
ST 表示形式表示形式:IF RE(Timer_start) THEN
START_PL7_TON (TON_Timer_1) ;
END_IF;
IF FE(Timer_Start) THEN
DOWN_PL7_TON (TON_Timer_1) ;
END_IF;
Timer_State := TON_Timer_1.Q ;
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释S BOOL “激活”输入,在上升沿启动定时器。
参数 类型 注释Q BOOL “定时器”输出,是否将它设置为 1 取决于定时器状态。
33003691 10/2019 497
PL7_TON
变量描述下表对公共变量进行了描述:
参数 类型 注释ET INT 随时间下降的定时器的当前值。该值可以由程序读取和测试,但不能写入。PT INT 该值介于 0 和 9999 之间,称为定时器预设值。它可以由程序写入、读取和测试。
它的缺省设置为 9999。定时器所创建的延迟等于 PT x TB。TB UINT 定时器时基。可能的值:
TB = 8:1 分钟(缺省值) TB = 4:1 秒 TB = 2:100 毫秒 TB = 1:10 毫秒
时基越低,定时器准确度越高。执行程序时,时基(在离线模式下定义的 TB)的值舍入为 2 的 接近的倍数(1 和 8 之间)。
小心热重启后的意外行为请勿在在线模式下修改时基 (TB),否则会导致热重启时应用程序出现意外行为。不遵循上述说明可能导致人身伤害或设备损坏。
498 33003691 10/2019
PL7_TON
PL7_TON 函数操作的详细描述
图形图形。
操作下表描述了 PL7_TON 定时器函数的操作:
相位 描述1 当 TON_Timer_1.S 具有上升沿时,输入定时器启动。2 定时器的当前值 TON_Timer_1.ET 从 0 增加到 TON_Timer_1.PT,速率是每经过一
个时基 TB 的脉冲则增加一个单位。3 当前值一达到 TON_Timer_1.PT,TON_Timer_1.Q 输出位就变为 1。4 当 TON_Timer_1.S 输入为 1 时,TON_Timer_1.Q 输出位保持为 1。5 当 TON_Timer_1.S 输入为 0 时,定时器停止,即使此时它正在运行也是如此:
TON_Timer_1.ET 变为值 0。
33003691 10/2019 499
PL7_TON
PL7_TON 定时器函数的操作模式
描述下表描述了 PL7_TON 定时器函数的专用操作模式:
注意: 建议只在程序中测试位 Q 一次。
影响... 描述冷重启 (%S0=1) 将当前值复位为 0,将 Q 输出复位为 0,并将预设值复位为配置中定义
的值。热重启 (%S1=1) 对定时器的当前值或对预设值没有任何影响。当前值在断电期间不更改。更改为停止、禁用任务或执行断点
不冻结当前值。
程序跳转 未扫描对定时器块进行编程的指令不冻结当前值 ET,它继续向 PT 方向增大。同样,位 Q 保留它的正常功能,因此可以由其他指令对其进行测试。另一方面,直接连接到输出 Q 的输出没有激活,因为 PLC 未对它进行扫描。
修改预设 仅在下次激活定时器函数时才考虑由指令或调整对预设值进行的修改。仅在冷重启 (%S0=1) 后才考虑在变量编辑器中对预设值进行修改。
500 33003691 10/2019
EcoStruxure™ Control ExpertPL7_TP33003691 10/2019
PL7_TP:TP 类型定时器
第77章PL7_TP:TP 类型定时器
本章目标本章描述 PL7_TP 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 502PL7_TP 功能操作的详细描述 505PL7_TP 定时器功能的操作模式 506
33003691 10/2019 501
PL7_TP
说明
功能描述PL7_TP 功能块是 TP 类型的定时器,它允许生成的脉冲具有精确的持续时间(单稳功能)。可以配置的附加参数有 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_TP 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_TP 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
IL 表示形式表示形式:CAL TP_Timer_1(S := Timer_Start, Q => Timer_State)
502 33003691 10/2019
PL7_TP
ST 表示形式表示形式:IF RE(Timer_start) THEN
START_PL7_TP (TP_Timer_1) ;
END_IF;
IF FE(Timer_Start) THEN
DOWN_PL7_TP (TP_Timer_1) ;
END_IF;
Timer_State := TP_Timer_1.Q ;
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释IN BOOL “激活”输入,在上升沿启动定时器。
参数 类型 注释Q BOOL “定时器”输出,是否将它设置为 1 取决于定时器状态。
33003691 10/2019 503
PL7_TP
变量描述下表对公共变量进行了描述:
参数 类型 注释ET INT 随时间下降的定时器的当前值。该值可以由程序读取和测试,但不能写入。PT INT 该值介于 0 和 9999 之间,称为定时器预设值。它可以由程序写入、读取和测试。
它的缺省设置为 9999。定时器所创建的延迟等于 PT x TB。TB UINT 定时器时基。可能的值:
TB = 8:1 分钟(缺省值) TB = 4:1 秒 TB = 2:100 毫秒 TB = 1:10 毫秒
时基越低,定时器准确度越高。执行程序时,时基(在离线模式下定义的 TB)的值舍入为 2 的 接近的倍数(1 和 8 之间)。
小心热重启后的意外行为请勿在在线模式下修改时基 (TB),否则会导致热重启时应用程序出现意外行为。不遵循上述说明可能导致人身伤害或设备损坏。
504 33003691 10/2019
PL7_TP
PL7_TP 功能操作的详细描述
图形图形。
操作下表描述了 PL7_TP 定时器功能的操作:
相位 描述1 当 TP_Timer_1.S 具有上升沿时,输入定时器启动2 输出位 TP_Timer_1.Q 更改为 1。3 定时器的当前值 TP_Timer_1.ET 从 0 增加到 TP_Timer_1.PT,速率是每经过时基 TB 的一个
脉冲就增加一个单位4 当前值一达到 TP_Timer_1.PT,TP_Timer_1.Q 输出位就再次降到 05 当 TP_Timer_1.IN 输入和 TP_Timer_1.Q 输出均为 0 时,TP_Timer_1.ET 变为值 0。6 此单稳无法复位。
33003691 10/2019 505
PL7_TP
PL7_TP 定时器功能的操作模式
描述下表描述了 PL7_TP 定时器功能的专用操作模式:
注意: 建议只在程序中测试位 Q 一次。
影响... 描述冷重启 (%S0=1) 将当前值复位为 0,将 Q 输出复位为 0,并将预设值复位为配置中定义的值。热重启 (%S1=1) 对定时器的当前值或对预设值没有任何影响。当前值在断电期间不更改。更改为停止、禁用任务或执行断点
不冻结当前值。
程序跳转 未扫描对定时器块进行编程的指令不冻结当前值 ET,它继续向 PT 方向增大。同样,位 Q 保留它的正常功能,因此可以由其他指令对其进行测试。另一方面,直接连接到输出 Q 的输出没有被激活,因为 PLC 未对其进行扫描
修改预设 仅在下次激活定时器功能时才考虑由指令或调整对预设值进行的修改。仅在冷重启 (%S0=1) 后才考虑在变量编辑器中对预设值进行修改。
506 33003691 10/2019
EcoStruxure™ Control ExpertPL7_3_TIMER33003691 10/2019
PL7_3_TIMER:PL7 的 % Ti 的转换定时器
第78章PL7_3_TIMER:PL7 的 % Ti 的转换定时器
本章目标本章描述 PL7_3_TIMER 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页说明 508PL7_3_TIMER 功能操作的详细描述 511PL7_3_TIMER 定时器功能的操作模式 512
33003691 10/2019 507
PL7_3_TIMER
说明
功能描述PL7_3_TIMER 功能块是用于转换 PL7 的 %Ti(它们本身是 PL7_3 的 Ti 的转换)的定时器。可以配置的附加参数有 EN 和 ENO。注意: 不能在在线模式下实例化或修改 PL7_3_TIMER 功能。这意味着您必须处于离线模式下,因此必须在 PLC 中传输项目。注意: 如果您创建的 PL7_3_TIMER 实例数目超过 255 个,则不能在 PLC 中传输应用程序。
FBD 表示形式表示形式:
LD 表示形式表示形式:
508 33003691 10/2019
PL7_3_TIMER
IL 表示形式表示形式:CAL PL7_3_Timer_1(E := Timer_Enable, C := Timer_Control, D => Timer_Done, R => Timer_Run)
ST 表示形式表示形式:IF Timer_Enable THEN
IF Timer_Control THEN
START_PL7_3_TIMER (PL7_3_Timer_1) ;
ELSE
STOP_PL7_3_TIMER (PL7_3_Timer_1) ;
END_IF
ELSE
PRESET_PL7_3_TIMER (PL7_3_Timer_1) ;
END_IF;
Timer_Done := PL7_3_Timer_1.D ;
Timer_Run := PL7_3_Timer_1.R ;
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释E BOOL “启用”输入,在状态 0 时重新初始化定时器。C BOOL “控制”输入,在状态 0 时冻结定时器的进度。
参数 类型 注释D BOOL “定时器停止”输出,如果当前值等于 0,则将它设为 1。R BOOL “定时器运行”输出,如果当前值介于 0 和预设值之间并
且控制输入为 1,则将它设为 1。
33003691 10/2019 509
PL7_3_TIMER
变量描述下表对公共变量进行了描述:
参数 类型 注释ET INT 随时间下降的定时器的当前值。该值可以由程序读取和测试,但不能写入。PT INT 该值介于 0 和 9999 之间,称为定时器预设值。它可以由程序写入、读取和
测试。它的缺省设置为 9999。定时器所创建的延迟等于 PT x TB。TB UINT 定时器时基。可能的值为:
TB = 8:1 分钟(缺省值) TB = 4:1 秒 TB = 2:100 毫秒 TB = 1:10 毫秒
时基越低,定时器准确度越高。执行程序时,时基(在离线模式下定义的 TB)的值舍入为 2 的 接近的倍数(1 和 8 之间)。
小心热重启后的意外行为请勿在在线模式下修改时基 (TB),否则会导致热重启时应用程序出现意外行为。不遵循上述说明可能导致人身伤害或设备损坏。
510 33003691 10/2019
PL7_3_TIMER
PL7_3_TIMER 功能操作的详细描述
图形图形。
操作下表描述了 PL7_3_TIMER 定时器功能的操作:
E 0 0 1 1C 0 1 0 1PTET
ET = PT ET = PT ET 冻结 ET 从 PT 减少到 0
D 0 1 0 如果定时器时间已过,则为 1R 0 1 0 如果定时器正在运行,则为 1
相位 描述1 当前值 PL7_3_Timer_1.ET 从预设值 PL7_3_Timer_1.PT 减少到 0,每个基准时间
脉冲减少一个单位。2 随后输出位 PL7_3_Timer_1.R(定时器正在运行)处于状态 1,输出位
PL7_3_Timer_1.D(定时器时间已过)处于状态 0。3 当前值 PL7_3_Timer_1.ET = 0 时,PL7_3_Timer_1.D 更改为状态 1,
PL7_3_Timer_1.R 复位为状态 0。
33003691 10/2019 511
PL7_3_TIMER
PL7_3_TIMER 定时器功能的操作模式
描述下表描述了 PL7_3_TIMER 功能的专用操作模式:
注意: 建议只在程序中对输出位测试一次,因为它们在循环中间可能会更改状态。
影响... 描述冷重启 (%S0=1) 将预设值(在配置中定义)写入当前值中,将"完成"输出复位为 0,
同时丢失在调整(终端)期间修改的所有预设值。热重启 (%S1=1) 对定时器的当前值或对预设值没有任何影响。更改为停止、禁用任务或执行断点
不冻结当前值。
程序跳转 未扫描对定时器块进行编程的指令不会冻结当前值 ET,它继续减少至 0。同样,两个输出位保留它们的正常操作,因此可以由其他指令对它们进行测试。另一方面,直接连接到输出的线圈没有激活,因为 PLC 未对它们进行扫描。
512 33003691 10/2019
EcoStruxure™ Control ExpertPUT_4X33003691 10/2019
PUT_4X:写入 4x 寄存器
第79章PUT_4X:写入 4x 寄存器
说明
功能描述此功能将输入变量 IN 中的值复制到 %MW 寄存器区域(Quantum CPU 中的 4x 寄存器区域)。OFF 是 %MW 寄存器区域中的字偏移。该功能所复制的字节数与连接到输入引脚 IN 的数据类型的大小相同。OFF 中的值可以在运行时修改。如果 OFF 在配置的 %MW 寄存器区域之外,将生成一条错误消息并将 ENO 设置为 0。该功能仅写到所配置的 %MW 区域的结尾,即使所连接的数据类型可能含有更多的数据。在这种情况下,该功能块不读入所连接的数据类型的其余部分。可以将 EN 和 ENO 配置为附加参数。
示例如果 OFF = 120 且输入的数据类型为 INT,则此功能将写入寄存器 %MW120(寄存器 400120)的 16 位值。如果 OFF 的地址为 后配置的 %MW,则此功能将只写入 1 个字,即使所连接的 IN 变量大于 1 个字。
在 FBD 中的表示形式表示形式:
33003691 10/2019 513
PUT_4X
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD OffsetIn4XRegisterMemory PUT_4X Input
在 ST 中的表示形式表示形式:PUT_4X (OffsetIn4XRegisterMemory, Input);
参数描述输入参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 说明OffsetIn4XRegisterMemory UINT %MW 寄存器存储器 (4x) 中的偏移。Input ANY Input
514 33003691 10/2019
EcoStruxure™ Control ExpertR_INT_WORD33003691 10/2019
R_INT_WORD:类型转换 (REAL -> INT -> WORD)(R_INT_WORD:类型转换 (REAL -> INT -> WORD))
第80章R_INT_WORD:类型转换 (REAL -> INT -> WORD)(R_INT_WORD:类型转换 (REAL -> INT -> WORD))
说明
功能描述此功能将数据类型为 REAL 的输入值转换为数据类型为 INT,然后再转换为数据类型为 WORD 的值。 与 REAL_TO_WORD 转换模块(标准库)相反,R_INT_WORD 模块在输出 WORD 值前先转换为 INT 值。例如,如果输入值为 -1.0,则输出值为 FFFF。(与 REAL_TO_WORD 模块不同,在这种情况下,后者的输出值设置为 0)。 EN 和 ENO 作为附加参数被映射。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD RealValue R_INT_WORD ST WordValue
33003691 10/2019 515
R_INT_WORD
在 ST 中的表示形式表示形式:WordValue := R_INT_WORD (RealValue);
参数描述输入参数描述:
输出参数描述:
运行时错误在以下情况下,设置系统位 %S18 和系统字 %SW17(错误状态)和%SW125(16#DE87:浮点值计算中的计算错误): 输入中设置了未授权的浮点数, 超出了数据类型 INT 的值范围。
参数 数据类型 说明INP REAL 输入值
参数 数据类型 说明OUTP WORD 输出值
516 33003691 10/2019
EcoStruxure™ Control ExpertR_UINT_WORD33003691 10/2019
R_UINT_WORD:类型转换 (REAL -> UINT -> WORD)(R_UINT_WORD:类型转换 (REAL -> UINT -> WORD))
第81章R_UINT_WORD:类型转换 (REAL -> UINT -> WORD)(R_UINT_WORD:类型转换 (REAL -> UINT -> WORD))
说明
功能描述此功能将数据类型为 REAL 的输入值转换为数据类型为 UINT,然后再转换为数据类型为 WORD 的值。 与 REAL_TO_WORD 转换模块(标准库)相反,R_UINT_WORD 模块在输出 WORD 值前先转换为 UINT 值(值范围为 0 - 65535)。如果输入值为 -1.0,将导致错误消息,并设置输出 ENO,而输出值保持不变。(与 REAL_TO_WORD 模块不同,在这种情况下,后者的输出值设置为 0,并且不会出现错误消息)。EN 和 ENO 作为附加参数被映射。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD RealValue R_UINT_WORD ST WordValue
33003691 10/2019 517
R_UINT_WORD
在 ST 中的表示形式表示形式:WordValue := R_UINT_WORD (RealValue);
参数描述输入参数描述:
输出参数描述:
运行时错误在以下情况下,设置系统位 %S18 和系统字 %SW17(错误状态)和%SW125(16#DE87:浮点值计算中的计算错误): 输入中设置了未授权的浮点数, 超出了数据类型 UINT 的值范围。 负输入值将要被转换。
参数 数据类型 说明INP REAL 输入值
参数 数据类型 说明OUTP WORD 输出值
518 33003691 10/2019
EcoStruxure™ Control ExpertR2T_***33003691 10/2019
R2T_***:寄存器到表
第82章R2T_***:寄存器到表
简介本章描述 R2T_*** 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 520详细描述 522
33003691 10/2019 519
R2T_***
描述
功能描述此功能块将 SRC 中输入的值复制到当作表的 DEST 参数。可以将 EN 和 ENO 配置为附加参数。
可用功能下列功能块可用: R2T_INT
R2T_DINT
R2T_UINT
R2T_UDINT
R2T_REAL
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
520 33003691 10/2019
R2T_***
在 IL 中的表示形式表示形式:CAL R2T_Instance (NOINC:=FreezesPointerValue, R:=ResetPointerValue, SRC:=SourceData, OFF:=PositionInTable, END=>PointerStatus, DEST=>DestinationTable)
在 ST 中的表示形式表示形式:R2T_Instance (NOINC:=FreezesPointerValue, R:=ResetPointerValue, SRC:=SourceData, OFF:=PositionInTable, END=>PointerStatus, DEST=>DestinationTable) ;
参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
参数 数据类型 描述NOINC BOOL 1:冻结指针值R BOOL 1:将指针值复位为零SRC INT、DINT、UINT、
UDINT、REAL 要在当前循环中复制的源数据
参数 数据类型 描述OFF UINT OFF 显示表中的位置。OFF 使用复位 (R) 进行标准化,即当 R=1 时,
OFF 设置为"1"。恢复后,OFF 将按 1 递增。
参数 数据类型 描述END BOOL 1:指针值 = 表长度,即表已满,功能块不再执行功能复制,
并且 OFF 不再递增。该功能块(因而也为 END)可以通过 R=1 进行复位。
DEST ANY 应为 INT、DINT、UINT、UDINT 或 REAL 类型的数组,如数组 [0..X],类型为 INT
将在循环中复制源数据的目标寄存器。
33003691 10/2019 521
R2T_***
详细描述
操作模式R2T_*** 将 SRC 中输入的值复制到当作表的 DEST 参数。OFF 参数(偏移)指向目标字段(数组)中要保存源值的位置。在每个循环中,该功能将值从 SRC 复制到 DEST[OFF],并按表中数据类型的大小递增偏移值,即 OFF+1。只要 NOINC 参数的值不为 1,偏移值在每个循环中就自动增大。OFF 属于读/写类型,它等效于 VAR_IN_OUT IEC 参数 OFF、NOINC 和 R 之间的关联:
DEST 属于类型 ANY,它意味着具有预定义的长度。无论运行时输入什么类型(它可以是各种类型的结构),此数组的数据类型和 SRC 的数组类型可以是同一个类型。OFF 在每个循环中都要进行边界检查。如果 OFF 超过表长度(内部参数大小),END 将设置为 1 并且 OFF 不再增大(直到 OFF 再次接受表边界内的值,该功能才进行复制)。
OFF
(上一循环)NOINC R OFF
(当前循环)注释
n(任意值) 0 1 2 OFF 的值在 R=1 时复位为 1,并且由于 NOINC=0,该值已经在同一循环中按 1 递增。
n(任意值) 1 1 1 OFF 的值在 R=1 时复位为 1,并且由于 NOINC=1,该值不递增。
n(任意值) 1 0 n 如果 NOINC=1,OFF 的值将不递增,并且保持上一循环中的值。
n(任意值) 0 0 n+1 如果 R=0 且 NOINC=0,则上一循环中的值将按 1 递增。
522 33003691 10/2019
EcoStruxure™ Control ExpertREAD_PCMCIA33003691 10/2019
READ_PCMCIA:读取存储卡中的数据
第83章READ_PCMCIA:读取存储卡中的数据
本章主题本章描述 READ_PCMCIA 功能。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 524READ_PCMCIA 和 WRITE_PCMCIA 示例 526
33003691 10/2019 523
READ_PCMCIA
描述
功能描述READ_PCMCIA 功能将数据从用户存储卡归档区传输到 PLC RAM 存储器。功能 READ_U_PCMCIA 使得要复制到 PCMCIA 卡的 PLC 区域的起始地址 大为 65 535(而不是对应于 READ_PCMCIA 功能的 32 767),因此建议使用此功能,而不使用 READ_PCMCIA 功能。可以配置附加参数 EN 和 ENO。可参考使用了 READ_PCMCIA 和 WRITE_PCMCIA 函数的示例,READ_PCMCIA 和 WRITE_PCMCIA 示例 (参见第 526 页)。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Slot_Number
READ_PCMCIA SourCe_Address,Words_Number,Dest_Address,Read_State
524 33003691 10/2019
READ_PCMCIA
在 ST 中的表示形式表示形式:READ_PCMCIA(Slot_Number, SourCe_Address, Words_Number, Dest_Address, Read_State);
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
参数 类型 注释Slot_Number INT PCMCIA 卡插槽:
0 = 上插槽, 1 = 下插槽
SourCe_Address DINT 第一个地址中的数据是从存储卡 (0...) 读取的。Words_Number INT 要读取的字数。Dest_Address INT 其数据写入 PLC (%MW) 中的第一个地址。该地址的上限是: 32 767.
参数 类型 注释Read_State INT 提供读取命令执行结果的代码:
16#0000: 正确地执行了读取操作, 16#0102: Dest_Address + Words_Number -1 超出
了在 PLC 中声明的 大字数。 16#0104: PLC 中没有有效应用程序或没有字, 16#0201: 存储卡中没有文件区, 16#0202: 存储卡错误, 16#0204: 存储卡写保护, 16#0241: SourCe_Address < 0, 16#0242: Dest_Address + Words_Number-1 超出
了存储卡的 高地址, 16#0401: Words_Number = 0, 16#0402: Slot_Number 不同于 0 和 1, 16#0501: Words_Number = 不支持的服务。
33003691 10/2019 525
READ_PCMCIA
READ_PCMCIA 和 WRITE_PCMCIA 示例
目标该示例通过以下方式显示了如何使用 READ_PCMCIA 和 WRITE_PCMCIA 功能块: 将值从字写入(%MW100 至 %MW109)存储卡。 从存储卡将值读入字(%MW110 至 %MW119)。注意: 在此示例中,要使用这些功能块,必须将存储卡连接至 PLC。
CPU 配置在此示例中,TSX MRP C007M SRAM 存储卡连接 CPU 的上部插槽 A(对于功能块,参数 SLOT = 0)。此外,为了进行数据存储,可使用 2000 kB 的内存配置 CPU。注意: 数据存储用于 READ_PCMCIA 和 WRITE_PCMCIA 功能块。2000 kB 的数据存储表示:
READ_PCMCIA 和 WRITE_PCMCIA 功能可用于字地址:
可使用存储器的 0 至 1024000 地址。
526 33003691 10/2019
READ_PCMCIA
编程 MAST 段在程序的 MAST 段中,程序如下: 存储卡连接至插槽 0。 WRITE_PCMCIA 功能可从 %MW100 将 10 个字写入存储卡上的地址 10000。 READ_PCMCIA 可从存储卡上的地址 10000 将 10 个字读入 %MW110。 用 FBD 语言表示的 WRITE_PCMCIA 和 READ_PCMCIA:
用 ST 语言表示的 WRITE_PCMCIA 和 READ_PCMCIA:WRITE_PCMCIA(0,10000,10,100,Status_write);
READ_PCMCIA(0,10000,10,110,Status_read);
测试示例通过使用带字的动态数据表:%MW100 至 %MW119,可通过存储卡将从 %MW100 至 %MW109 的值复制至 %MW110 至 %MW119。
33003691 10/2019 527
READ_PCMCIA
528 33003691 10/2019
EcoStruxure™ Control ExpertROR1_ARB33003691 10/2019
ROR1_ARB:从字节表向右移位一个字节
第84章ROR1_ARB:从字节表向右移位一个字节
说明
功能描述ROR1_ARB 功能用于在 PL7 字节表中向右循环移动一个字节。使用Control Expert时,PL7 字节表已变成字符串。这是在字符串中向右循环移动一个字节的结果。 可以配置附加参数 EN 和 ENO。
FBD 表示形式表示形式:
LD 表示形式表示形式:
IL 表示形式表示形式:LD String1
ROR1_ARB
ST 表示形式表示形式:ROR1_ARB(String1);
33003691 10/2019 529
ROR1_ARB
参数描述下表对输入/输出参数进行了描述:
注意: 需要此功能来处理某些通讯请求,如 SEND_REQ 功能,它在响应开头处引入了一个附加的字节。示例: 要读取的对象:16#020116#040316#060516#080716#0A09执行 SEND_REQ(读取对象)后的接收表:%MW100=16#0107 %MW101=16#0302%MW102=16#0504%MW103=16#0706%MW104=16#0908%MW105=16#000A 执行 ROR1_ARB(%MW100:6) 后的接收表:%MW100=16#0201%MW101=16#0403%MW102=16#0605%MW103=16#0807%MW104=16#0A09%MW105=16#0700
参数 类型 注释String1 STRING 要移动其字节的字符串。
警告:此参数是一个输入/输出。每次出现此指令时,字符串都将因此移动一个字节。
530 33003691 10/2019
EcoStruxure™ Control ExpertRRTC33003691 10/2019
RRTC:读取系统日期
第85章RRTC:读取系统日期
描述
功能描述功能 RRTC 从 PLC 实时时钟捕获当前日期。它是用于转换 PL7 应用程序的功能。可以配置附加参数 EN 和 ENO。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:RRTC
ST Result_Date
在 ST 中的表示形式表示形式:RRTC(Result_Date);
33003691 10/2019 531
RRTC
参数描述下表对输出参数进行描述:
PL7 DATE_AND_TIME 格式PL7 DATE_AND_TIME (DT) 格式显示如下: yyyy-mm-dd-hh:mm:ss 例如:2000-05-18-15:45:22该值采用 64 位进行 BCD 编码。结果是由 4 个整数组成的数组。
使用上一个示例(十六进制)。
注意: DT 只允许介于 [1990-01-01-00:00:00,2099-12-31-23:59:59] 之间。
参数 类型 注释Result_Date ARRAY
[0...3] OF INT
Result_Date 包含 PL7 DT 格式(4 个整数组成的数组)的当前日期值。
532 33003691 10/2019
EcoStruxure™ Control ExpertSCOUNT33003691 10/2019
SCOUNT:使用过冲信令执行加/减计数
第86章SCOUNT:使用过冲信令执行加/减计数
描述
功能描述SCOUNT 功能使用过冲信令执行加/减计数。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
33003691 10/2019 533
SCOUNT
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Valid
SCOUNT Presel_Value, Count_Up, Count_Down, Minimum, Maximum, Mem_Word, Output_Qmin, Output_Qmax, Count_Value
在 ST 中的表示形式表示形式:SCOUNT(Valid, Presel_Value, Count_Up, Count_Down, Minimum, Maximum, Mem_Word, Output_Qmin, Output_Qmax, Count_Value);
534 33003691 10/2019
SCOUNT
参数描述下表对输入参数进行了描述:
下表对输入/输出参数进行了描述:
下表对输出参数进行了描述:
注意: 如果 (en) = 0,则不再启用功能,并且对于每次调用,赋值如下:
Output_Qmin = Output_Qmax = 0Mem_Word:X0 = Mem_Word:X1 = 0,Count_Value = Presel_Value
如果 Maximum > Minimum,则:Count_Value ≥ Maximum 要求:Output_Qmax = 1 且 Output_Qmin = 0Minimum < Count_Value < Maximum 要求:Output_Qmax = Output_Qmin = 0Count_Value ≤ Minimum 要求:Output_Qmax = 0 且 Output_Qmin = 1
如果 Maximum < Minimum,则:Maximum ≤ Count_Value ≤ Minimum 要求:Output_Qmax = 1 且 Output_Qmin = 0Count_Value < Maximum 要求:Output_Qmax = 0 且 Output_Qmin = 1Count_Value > Maximum 要求:Output_Qmax = 1 且 Output_Qmin = 0
参数 类型 注释Enable BOOL 启用所选的输入,功能仅在 Valid = 1 时执行。Presel_Value INT 预设值,即初始计数值。Count_Up BOOL 加计数器输入,对于每个脉冲,Count_Value 加 1。Count_Down BOOL 减计数器输入,对于每个脉冲,Count_Value 减 1。Minimum INT 小计数值,此时:Count_Value = Minimum,
Output_Qmin = 1。Maximum INT 大计数值,此时:Count_Value = Maximum,
Output_Qmin = 1。
参数 类型 注释Mem_Word INT 用作输入/输出的整数,使得加/减计数器输入得以存储:
位 0,用于 Count_Up, 位 1,用于 Count_Down
参数 类型 注释Output_Qmin EBOOL 指示计数值已达到 小阈值的输出:
Count_Value = Minimum,Output_Qmin = 1
Output_Qmax EBOOL 指示计数值已达到 大阈值的输出:Count_Value = Maximum,Output_Qmax = 1
Count_Value INT 当前计数值。
33003691 10/2019 535
SCOUNT
如果 Maximum = Minimum,则:Count_Value < Maximum 和 Minimum 要求:Output_Qmax = 0 且 Output_Qmin = 1Count_Value ≥ Maximum 和 Minimum 要求:Output_Qmax = 1 且 Output_Qmin = 0
在 Enable 设置为 1 的情况下修改 Presel_Value 参数对操作没有任何影响。 如果 Presel_Value 和 Minimum 参数的值为负,则将该值当作零值。 如果 Maximum 参数的值小于 1,则将该值当作 1。
时序图功能时序图:
536 33003691 10/2019
EcoStruxure™ Control ExpertSET_BIT33003691 10/2019
SET_BIT:设置位
第87章SET_BIT:设置位
说明
功能描述此功能将 BitNumber 所选的 OutputRegister 输出字的位设置为 InputData 的值。BitNumber 参数提供输出数据中的位编号。
可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
警告不考虑强制值此过程覆盖状态存储器中的值,而不考虑引用数据编辑器中可能存在强制值。这可能导致过程中出现严重的情况。不遵循上述说明可能导致人员伤亡或设备损坏。
33003691 10/2019 537
SET_BIT
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD InputData SET_BIT BitNumber ST OutputRegister
在 ST 中的表示形式表示形式:OutputRegister := SET_BIT (InputData, BitNumber);
参数说明输入参数描述:
输出参数描述:
运行时错误有关所有功能块错误代码和值的列表,请参见扩展/兼容性, 第 589 页。
参数 数据类型 说明InputData BOOL 输入数据BitNumber UINT 要写入的位编号。
参数 数据类型 说明OutputRegister WORD 输出
538 33003691 10/2019
EcoStruxure™ Control ExpertSET_PCMCIA33003691 10/2019
SET_PCMCIA:初始化归档区
第88章SET_PCMCIA:初始化归档区
描述
功能描述SET_PCMCIA 功能使用户存储卡的全部或部分归档区初始化为所需值。可以配置附加参数 EN 和 ENO。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 539
SET_PCMCIA
在 IL 中的表示形式表示形式:LD Slot_Number
SET_PCMCIA Address, Words_Number, Init_Value, Init_State
在 ST 中的表示形式表示形式:SET_PCMCIA(Slot_Number, Address, Words_Number, Init_Value, Init_State);
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
参数 类型 注释Slot_Number INT PCMCIA 卡插槽:
0 = 上插槽, 1 = 下插槽
Address DINT 在其中执行初始化的归档区的地址。Words_Number INT 要初始化的字数。Init_Value INT 初始化值。
参数 类型 注释Init_State INT 提供初始化命令执行结果的代码:
16#0000: 正确地执行了初始化, 16#0201:存储卡中没有文件区, 16#0202:存储卡错误, 16#0204:存储卡写保护, 16#0241:负地址, 16#0242:Address + Words_Number-1 超出
了存储卡的 高地址, 16#0401:Words_Number ≤ 0, 16#0402:Slot_Number 不同于 0 和 1, 16#0501:不支持的服务。
540 33003691 10/2019
EcoStruxure™ Control ExpertSHL_RBIT_***33003691 10/2019
SHL_RBIT_***:对整数或双精度整数向左移位
第89章SHL_RBIT_***:对整数或双精度整数向左移位
描述
功能描述功能 SHL_RBIT_*** 对整数或双精度整数执行向左移位,并恢复移动的位。还可以配置 EN 和 ENO 这两个附加参数。
可用功能可用功能列表: SHL_RBIT_INT, SHL_RBIT_DINT。
在 FBD 中的表示形式适用于整数的表示形式:
在 LD 中的表示形式适用于整数的表示形式:
33003691 10/2019 541
SHL_RBIT_***
在 IL 中的表示形式适用于整数的表示形式:LD Input_Var
SHL_RBIT_INT Shift_Num, Shifted_Var, Shifted_Bits
在 ST 中的表示形式适用于整数的表示形式:SHL_RBIT_INT(Input_Var, Shift_Num, Shifted_Var, Shifted_Bits);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Input_Var INT、DINT 要对其执行移位的变量。
示例:Input_Var = 2#0001111101101000。Shift_Num INT 要执行的移位的值。
示例:Shift_Num = 4。
参数 类型 注释Shifted_Var INT、DINT Shifted_Var 包含移位的 Input_Var 的值,移动的位数由
Shift_Num 给定。移位寄存器中填满零。
示例:使用上表中的数据示例,得到的结果如下:Shifted_Var = 2#1111011010000000
Shifted_Bits INT、DINT Shifted_Bits 包含移动的位。
示例:使用上表中的示例值,得到的结果如下:Shifted_Bits = 2#0000000000000001
542 33003691 10/2019
EcoStruxure™ Control ExpertSHR_RBIT_***33003691 10/2019
SHR_RBIT_***:对整数或双精度整数向右移位
第90章SHR_RBIT_***:对整数或双精度整数向右移位
描述
功能描述功能 SHR_RBIT_*** 对整数或双精度整数执行向右移位,并对移动的位进行符号扩展和恢复。还可以配置 EN 和 ENO 这两个附加参数。
可用功能可用功能列表: SHR_RBIT_INT, SHR_RBIT_DINT。
在 FBD 中的表示形式适用于双精度整数的表示形式:
在 LD 中的表示形式适用于双精度整数的表示形式:
33003691 10/2019 543
SHR_RBIT_***
在 IL 中的表示形式适用于双精度整数的表示形式:LD Input_Var
SHR_RBIT_DINT Shift_Num, Shifted_Var, Shifted_Bits
在 ST 中的表示形式适用于双精度整数的表示形式:SHR_RBIT_DINT(Input_Var, Shift_Num, Shifted_Var, Shifted_Bits);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Input_Var INT、DINT 要对其执行移位的变量。
示例:Input_Var = 2#10000000111100010000000011001111。
Shift_Num INT 要执行的移位的值。
示例:Shift_Num = 6。
参数 类型 注释Shifted_Var INT、DINT Shifted_Var 包含移位的 Input_Var 的值,移动的位数由
Shift_Num 给定。在移位释放的位中保留符号并扩展符号位。
示例:使用上表中的数据示例,得到的结果如下:Shifted_Var = 2#1 1111110000000111100010000000011
Shifted_Bits INT、DINT Shifted_Bits 包含移动的位。
示例:使用上表中的数据示例,得到的结果如下:Shifted_Bits = 2#00000000000000000000000000001111
544 33003691 10/2019
EcoStruxure™ Control ExpertSHRZ_***33003691 10/2019
SHRZ_***:对整数或双精度整数向右移位
第91章SHRZ_***:对整数或双精度整数向右移位
描述
功能描述SHRZ_*** 功能对整数或双精度整数执行向右移位,并在移位寄存器中填满零。还可以配置 EN 和 ENO 这两个附加参数。
可用功能可用功能列表: SHRZ_INT, SHRZ_DINT。
在 FBD 中的表示形式适用于整数的表示形式:
在 LD 中的表示形式适用于整数的表示形式:
33003691 10/2019 545
SHRZ_***
在 IL 中的表示形式适用于整数的表示形式:LD Input_Var
SHRZ_INT Shift_Num
ST Shifted_Var
在 ST 中的表示形式适用于整数的表示形式:Shifted_Var := SHRZ_INT(Input_Var, Shift_Num);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Input_Var INT、DINT 要对其执行移位的变量。
示例:Input_Var = 2#1000000011110001。Shift_Num INT 要执行的移位的值。
示例:Shift_Num = 4。
参数 类型 注释Shifted_Var INT、DINT Shifted_Var 包含移位的 Input_Var 的值,移动的位
数由 Shift_Num 给定。移位寄存器中填满零。
示例:使用上表中的数据示例,得到的结果如下:Shifted_Var = 2#0000100000001111
546 33003691 10/2019
EcoStruxure™ Control ExpertSHRZ_RBIT_***33003691 10/2019
SHRZ_RBIT_***:对整数或双精度整数向右移位
第92章SHRZ_RBIT_***:对整数或双精度整数向右移位
描述
功能描述功能 SHRZ_RBIT_*** 对整数或双精度整数执行向右移位,在移位寄存器中填满零,并恢复移动的位。还可以配置 EN 和 ENO 这两个附加参数。
可用功能可用功能列表: SHRZ_RBIT_INT, SHRZ_RBIT_DINT。
在 FBD 中的表示形式适用于整数的表示形式:
在 LD 中的表示形式适用于整数的表示形式:
33003691 10/2019 547
SHRZ_RBIT_***
在 IL 中的表示形式适用于整数的表示形式:LD Input_Var
SHRZ_RBIT_INT Shift_Num, Shifted_Var, Shifted_Bits
在 ST 中的表示形式适用于整数的表示形式:SHRZ_RBIT_INT(Input_Var, Shift_Num, Shifted_Var, Shifted_Bits);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
参数 类型 注释Input_Var INT、DINT 要对其执行移位的变量。
示例:Input_Var = 2#1000000011110001。Shift_Num INT 要执行的移位的值。
示例:Shift_Num = 4。
参数 类型 注释Shifted_Var INT、DINT Shifted_Var 包含移位的 Input_Var 的值,移动的位
数由 Shift_Num 给定。移位寄存器中填满零。
示例:使用上表中的数据示例,得到的结果如下:Shifted_Var = 2#0000100000001111
Shifted_Bits INT、DINT Shifted_Bits 包含移动的位。
示例:使用上表中的数据示例,得到的结果如下:Shifted_Bits = 2#0001000000000000
548 33003691 10/2019
EcoStruxure™ Control ExpertSRCH33003691 10/2019
SRCH:搜索
第93章SRCH:搜索
简介本章描述 SRCH 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 550详细描述 552
33003691 10/2019 549
SRCH
描述
功能描述此功能块在源表中搜索输入的位模式。它在每个释放的循环中递增源表中的目录,并检查显示的数组元素是否匹配定义的模式。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL SRCH_Instance (TRIG:=StartsSearch, CONT:=ContinueSearch, SRC:=SourceTable, PATTERN:=BitPatternForSearch, INDEX:=FindingPlace, FOUND=>FoundPattern)
550 33003691 10/2019
SRCH
在 ST 中的表示形式表示形式:SRCH_Instance (TRIG:=StartsSearch, CONT:=ContinueSearch, SRC:=SourceTable, PATTERN:=BitPatternForSearch, INDEX:=FindingPlace, FOUND=>FoundPattern) ;
参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
参数 数据类型 描述TRIG BOOL TRIG 检测上升沿,并开始在表中搜索下一个元素。CONT BOOL CONT 定义是继续搜索还是从表的开头处重新搜索。
1 = 将在 TRIG 的下一个上升沿继续搜索。0 = 搜索位置在 TRIG 的下一个上升沿复位到表的开头处,并且将表的第一个元素与模式进行比较。
SRC ANY 应该是 INT、DINT、UINT、UDINT 或 REAL 类型的字段(数组),如数组 [0..X],类型为 INT
源表
PATTERN INT、DINT、UINT、UDINT、REAL
PATTERN 是要搜索的位模式。注: 要搜索的位模式的长度始终从输入 PATTERN 的数据类型的长度得到;不考虑数组元素的长度。要启用正确的工作方法,请确保 PATTERN 的数据类型与要搜索的数组的数据类型相同。
参数 数据类型 描述INDEX UINT INDEX 显示 后一次搜索过程的数组索引。(这意味着当找到模式后,
INDEX 参数将指示找到的模式在表中的位置)。输入中的变量值可以使用应用程序来更改,以更改表中的搜索位置。注: INDEX 始终显示 后一次进行比较的数组索引。对于第一个数组元素,它将始终从 1 开始计数,而无论数据编辑器中定义的实际数组限制如何。即使索引大于数组元素数,INDEX 也始终按升序计数。
参数 数据类型 描述FOUND BOOL 1 = 找到模式
33003691 10/2019 551
SRCH
详细描述
功能描述SRCH 功能块在源表中搜索输入的位模式。它在每个释放的循环(标记为 TRIG)中递增源表中的目录,并检查用 INDEX 显示的数组元素是否匹配定义的模式。结果显示在 FOUND 输出中。SRC(源)属于类型 ANY,它意味着具有预定义的长度。此字段(数组)被当作一个数组,其数据类型(INT、DINT、UINT、UDINT、REAL)与 PATTERN 输入使用的数据类型相同。要启用正确的工作方法,请确保 PATTERN 的数据类型与要搜索的数组的数据类型相同。在每个循环中,在 PATTERN 和一个数组元素之间执行二进制比较。比较的长度始终从输入 PATTERN 的长度得出;不考虑数组元素的长度。TRIG 检测上升沿,并开始一个循环的搜索。在此循环之后、TRIG 处检测到下一个上升沿之前,将停止搜索。PATTERN 是要搜索的位模式。CONT 参数定义是继续搜索还是在找到模式后从表开头处重新搜索。找到该模式后,FOUND 将设置为"1",并且 INDEX 参数显示在表中找到该模式的位置。
552 33003691 10/2019
EcoStruxure™ Control ExpertSTR_ROUND33003691 10/2019
STR_ROUND:浮点数的近似值
第94章STR_ROUND:浮点数的近似值
描述
功能描述STR_ROUND 功能提供以字符串形式表示的浮点数的近似值。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Real_Str
STR_ROUND Pos, Rounded_Str
33003691 10/2019 553
STR_ROUND
在 ST 中的表示形式表示形式:STR_ROUND(Real_Str, Pos, Rounded_Str);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
运行时错误原始字符串和得到的字符串的长度必须介于 15 和 255 之间。否则,系统位 %S15 设置为 1。参数 Pos 必须介于 0 和 8 之间。否则,位 %S20 设置为 1。在 Pos = 0 且 Pos = 8 的特殊情况下,不执行舍入操作且 Real_Str = Rounded_Str。如果非零的 后一个字符大于 5,前面的字符将递增。
参数 类型 注释Real_Str STRING 包含实数的字符串。
示例:’-1.1354942e-30’Pos INT 从其执行舍入的位置。该位置根据十进制分隔符计算,
并且该计算包括分隔符在内。
示例:2
参数 类型 注释Rounded_Str STRING 截断的结果。
示例:使用上表中的数据示例,得到的结果如下:' -1.1000000e-30'
554 33003691 10/2019
EcoStruxure™ Control ExpertSUB_***_PL733003691 10/2019
SUB_***_PL7:减去一段时间
第95章SUB_***_PL7:减去一段时间
说明
功能描述SUB_***_PL7 功能从以 PL7 的 DT 或 TOD 格式表示的日期或时间中减去一段时间。可以配置附加参数 EN 和 ENO。
可用功能可用功能如下: SUB_DT_PL7,
SUB_TOD_PL7.
在 FBD 中的表示形式适用于时间的表示形式:
在 LD 中的表示形式适用于时间的表示形式:
33003691 10/2019 555
SUB_***_PL7
在 IL 中的表示形式适用于时间的表示形式:LD Source_Value
SUB_TOD_PL7 Time_to_Sub
ST Result_Value
在 ST 中的表示形式适用于时间的表示形式:Result_Value := SUB_TOD_PL7(Source_Value, Time_to_Add);
参数描述下表介绍了输入参数:
下表对输出参数进行了描述:
注意: 在应用程序中必须提供对润年的管理。
参数 类型 注释Source_Value DINT,
ARRAY [0..3] OF INT
日期或时间。
Time_to_Sub DINT,ARRAY [0..3] OF INT
要从 Source_Value 中减去的时间段
注:此时间用 PL7 的 TIME 格式表示(准确度为 0.1 秒级)。由于 PL7 的 DT 和 TOD 类型(在 Control Expert下转换为 DINT 或 4 个整数组成的表)精确到秒,因此 Time_to_Sub 舍入为秒。
参数 类型 注释Result_Value DINT,
ARRAY [0..3] OF INT
Result_Value 与 Source_Value 类型相同。
556 33003691 10/2019
SUB_***_PL7
执行错误如果 Source_Value 以 DINT 格式(PL7 的 TOD)表示,则当 Result_Value 位于授权值的范围之外时,日期将发生变化。在这种情况下,系统位 %S18 设置为 1 且 Result_Value 是唯一有效位(模数为24:00:00)。当 Source_Value 以 INT 类型的数组 [0..3] 格式(PL7 的 DT)表示时,如果 Result_Value 位于值的授权范围之外,则系统位 %S18 设置为 1,并且 Result_Value 的值也为 小界限值。如果其中一个输入参数无法解释且与功能格式不一致,则系统位 %S18 设置为 1,并且 Result_Value 为: 00:00:00(对于 PL7 的 TOD 类型)。 00001-01-01-00:00:00(对于 PL7 的 DT 类型)。
33003691 10/2019 557
SUB_***_PL7
558 33003691 10/2019
EcoStruxure™ Control ExpertSYSSTATE33003691 10/2019
SYSSTATE:系统状态
第96章SYSSTATE:系统状态
描述
功能描述此功能块显示 PLC 的状态。SYSSTATE 是任务特定的,可以在 MAST、FAST 和 AUX 任务中使用。 SYSSTATE 不能在 EVT 任务中使用。可以将 EN 和 ENO 配置为附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 559
SYSSTATE
在 IL 中的表示形式表示形式:CAL SYSSTATE_Instance (COLD=>ColdStartCycle, WARM=>WarmStartCycle, ERROR=>ErrorInBuffer)
在 ST 中的表示形式表示形式:SYSSTATE_Instance (COLD=>ColdStartCycle, WARM=>WarmStartCycle, ERROR=>ErrorInBuffer) ;
参数描述输出参数描述:
注意: 在冷启动循环中,输出 COLD 和 WARM 都设置为"1"。
参数 数据类型 描述COLD BOOL 在某个循环中当用户任务处于冷启动循环(即完全加载项目后第一次启动)时设置为"1"。
COLD 对 %SW10 (TSKINIT) 中的用户任务位进行反转操作。WARM BOOL 在某个循环中当启动 PLC 或用户任务时(即在打开电源后或者在停止后启动 SPS 时)
设置为"1"。当相应任务出现"停止"->"运行"的转换时,WARM 设置为"1"。当完成相应任务的逻辑后,WARM 设置为"0"。WARM 与用户任务特定的系统位 %S21 相同。
ERROR BOOL 当诊断缓冲区中具有尚未确认的错误消息时设置为"1"。如果 %SW78 (DNBERRBUF) 不为"0",则 ERROR 设置为"1"。
560 33003691 10/2019
EcoStruxure™ Control ExpertT2T33003691 10/2019
T2T:表到表
第97章T2T:表到表
简介本章描述 T2T 功能块。
本章包含了哪些内容?本章包含了以下主题:
主题 页描述 562详细描述 565
33003691 10/2019 561
T2T
描述
功能描述此功能块将值从 SRC 参数复制到 DEST 参数。两个表必须具有相同的数据类型。将 OFF 设置为 0 时,将阻止复制操作。在这种情况下,功能块将 END 设置为 1 并且不执行任何数据复制。如果 OFF 和 SIZE 之和超出 DEST 表,END 也设置为 1。功能块以字(16 位)为基础进行复制,与 SRC 和 DEST 的数据类型无关。这将导致下面的行为: 如果数组元素的数据类型小于 16 位(例如 BOOL、EBOOL、BYTE),功能块将一次复制两个值。
因此,源表和目标表中的元素数量必须为偶数。 如果数组元素的数据类型为 32 位(例如 DINT、UDINT、REAL),则功能块在复制每个数组元素
时必须分 2 个字进行,并且每复制一个数组元素,参数 OFF 和 SIZE 应增加 2。通常,复制操作仅在 END=0 时执行。如果 NOINC 设置为 0,则每次复制操作后 OFF 的值增加 SIZE。EN 可以配置为附加参数。注意: 此功能块不支持 ENO(值始终为 1)。
在 FBD 中的表示形式表示形式:
562 33003691 10/2019
T2T
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:CAL T2T_Instance (NOINC:=FreezesPointerValue, R:=Reset, SRC:=SourceData, SIZE:=NumberOfWordsToCopy, OFF:=Offset, END=>PointerValue, DEST=>DestinationTable)
在 ST 中的表示形式表示形式:T2T_Instance (NOINC:=FreezesPointerValue, R:=Reset, SRC:=SourceData, SIZE:=NumberOfWordsToCopy, OFF:=Offset, END=>PointerValue, DEST=>DestinationTable) ;
33003691 10/2019 563
T2T
参数描述输入参数描述:
输入/输出参数描述:
输出参数描述:
参数 数据类型 描述NOINC BOOL 1:冻结指针值。OFF 的值保持不变。R BOOL 1:将偏移变量 (OFF) 设置为第一个元素,并在开始
复制操作前复位 END 输出。SRC ANY 可以是 BOOL、BYTE、
WORD、DWORD、INT、DINT、UINT、UDINT、REAL、TIME 类型的数组,例如数组 [0..X],类型为 INT
要在当前循环中复制的源数据
SIZE UINT 该变量通知功能块每个循环中必须复制的字数。
参数 数据类型 描述OFF UINT 源表和目标表中的偏移。
参数 数据类型 描述END BOOL 1:指针值 = 表长度(功能块不能再递增)
1:OFF=0 或者 OFF 与 SIZE 之和超出目标表 DEST。复制操作将禁用。
DEST ANY 可以是 BOOL、BYTE、WORD、DWORD、INT、DINT、UINT、UDINT、REAL、TIME 类型的数组,例如数组 [0..X],类型为 INT
将在循环中复制源表的目标表。
564 33003691 10/2019
T2T
详细描述
操作模式此函数将 SRC 参数(将其当作表)的值复制到 DEST 参数(将其也当作表)。 参数 OFF 指向这两个表。它是源数组(应从其复制源值的数组)和目标数组(应将源值复制到的数组)的索引。在每个循环中,函数将 SRC[OFF] 的值复制到 DEST[OFF]。在每个循环中,偏移将按所复制的 16 位字的数目递增,除非参数 NOINC 为 1。OFF 属于读/写类型,等效于 VAR_IN_OUT IEC 参数参数 SIZE 通知 EFB 每个循环中必须复制的字数。如果在复制前参数 R 的值为 1,则 OFF 被复位。SRC 和 DEST 属于类型 ANY,它意味着具有预定义的长度。这些变量将被当作字节数组,而无论这些参数(它们可能是不同类型的结构)的类型定义如何。OFF 在每个循环中都要进行边界检查。如果 OFF 超过其中一个表的长度,则 END 设置为 1 且 OFF 不递增。函数将不再复制任何数据,直到 OFF 在其边界内返回。
复制超过 10,000 字的表要复制超过 10,000 字的表,则必须使用 T2T 功能块,来代替直接赋值 :=。示例:如果 Tab_1 和 Tab_2 是两个 INT 数组 [1..20000],则不要使用 Tab_1:=Tab_2;而是使用:T2T_Instance(NOINC:=0, R=1, SRC:=Tab_1, SIZE:=20000, OFF:=Offset, END=>PointerValue, DEST=>Tab_2
注意: 在使用直接复制 Tab_1:=Tab_2 传送大型表期间,链接到时间计算(例如:%SW30)的某些系统字并未正确刷新。该问题在 T2T 功能上并不发生。
33003691 10/2019 565
T2T
566 33003691 10/2019
EcoStruxure™ Control ExpertTIME_DINT_TO_STRING33003691 10/2019
TIME_DINT_TO_STRING:DINT 格式的变量转换
第98章TIME_DINT_TO_STRING:DINT 格式的变量转换
描述
功能描述TIME_DINT_TO_STRING 功能用于将 DINT 格式的变量(使用 PL7 的时间)转换成字符串。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Time1
TIME_DINT_TO_STRING
ST Result_Str
在 ST 中的表示形式表示形式:Result_Str := TIME_DINT_TO_STRING(Time1);
33003691 10/2019 567
TIME_DINT_TO_STRING
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
运行时错误如果字符串 Result_Str 太短(长度小于 15 个字符)而不能包含日期,则日期会被截断,并且 %S15 位设置为 1。
参数 类型 注释Time1 DINT 要转换成字符串格式的持续时间。
参数 类型 注释Result_Str String Result_Str 是由包含持续时间的 15 个字符组成的字符串,
格式如下:HHHHHH:MM:SS.D。
示例:’119304:38:49.5’
568 33003691 10/2019
EcoStruxure™ Control ExpertTOD_DINT_TO_STRING33003691 10/2019
TOD_DINT_TO_STRING:TOD 格式的变量转换
第99章TOD_DINT_TO_STRING:TOD 格式的变量转换
描述
功能描述TOD_DINT_TO_STRING 功能用于将 TOD 格式的 PL7 变量或 DINT 双精度整数转换成字符串。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Time1
TOD_DINT_TO_STRING
ST Result_Str
在 ST 中的表示形式表示形式:Result_Str := TOD_DINT_TO_STRING(Time1);
33003691 10/2019 569
TOD_DINT_TO_STRING
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
运行时错误如果字符串 Result_Str 太短(长度小于 8 个字符)而不能包含转换的值,则此值将被截断,并且 %S15 位设置为 1。
参数 类型 注释Time1 DINT 要转换成字符串格式的 PL7 时间。
参数 类型 注释Result_Str String Result_Str 是由包含时间的 8 个字符组成的字符串,格式
如下:HH:MM:SS。
示例:’04:38:49’
570 33003691 10/2019
EcoStruxure™ Control ExpertTRANS_TIME33003691 10/2019
TRANS_TIME:转换 DINT 格式的持续时间
第100章TRANS_TIME:转换 DINT 格式的持续时间
描述
功能描述TRANS_TIME 功能用于将 DINT 格式的持续时间(使用 PL7 的时间)转换为数字。 小时 (HHHH), 分钟 (MM), 秒 (SS)。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Time1
TRANS_TIME
ST Result_DINT
33003691 10/2019 571
TRANS_TIME
在 ST 中的表示形式表示形式:Result_DINT := TRANS_TIME(Time1);
参数描述下表对输入参数进行了描述:
下表对输出参数进行了描述:
运行时错误因此,可能的 大值是 9999 小时 59 分钟 59 秒,或 359,999,990 个 0.1 秒。如果 Time1 ≥ 360,000,000,将发生溢出,%S15 位切换到 1,并且 Result_DINT = 16#00000000
参数 类型 注释Time1 DINT 要转换的持续时间。Time1 以 0.1 秒为单位表示;因此,
用于功能的值将四舍五入为整数。
参数 类型 注释Result_DINT DINT Result_INT 是一个双精度整数,它分为如下两个部分:
高位字,包含 BCD 格式的小时, 低位字,包含分钟和秒: 高位字节,包含 BCD 格式的分钟, 低位字节,包含 BCD 格式的秒。
示例:16#00233740 相当于 23 小时 37 分钟 40 秒。
注:Result_DINT 的范围在 0000:00:00 和 9999:59:59 之间。
572 33003691 10/2019
EcoStruxure™ Control ExpertW_INT_REAL33003691 10/2019
W_INT_REAL:类型转换 (WORD -> INT -> REAL)(W_INT_REAL:类型转换 (WORD -> INT -> REAL))
第101章W_INT_REAL:类型转换 (WORD -> INT -> REAL)(W_INT_REAL:类型转换 (WORD -> INT -> REAL))
描述
功能描述此功能将输入值的数据类型 WORD 转换为数据类型 INT,然后转换为数据类型 REAL。与 WORD_TO_REAL 转换模块(标准库)相反,W_INT_REAL 模块在输出 REAL 值前先转换为 INT 值。例如,如果输入值为 FFFF,则输出值为 -1.0。(这与 WORD_TO_REAL 模块不同,后者的输出值设置为 9.183409e-41。)EN 和 ENO 作为附加参数配置。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD WordValue W_INT_REAL ST RealValue
33003691 10/2019 573
W_INT_REAL
在 ST 中的表示形式表示形式:RealValue := W_INT_REAL (WordValue);
参数描述输入参数描述:
输出参数描述:
参数 数据类型 描述INP WORD 输入值
参数 数据类型 描述OUTP REAL 输出值
574 33003691 10/2019
EcoStruxure™ Control ExpertW_UINT_REAL33003691 10/2019
W_UINT_REAL:类型转换 (WORD -> UINT -> REAL)(W_UINT_REAL:类型转换 (WORD -> UINT -> REAL))
第102章W_UINT_REAL:类型转换 (WORD -> UINT -> REAL)(W_UINT_REAL:类型转换 (WORD -> UINT -> REAL))
描述
功能描述此功能将输入值的数据类型 WORD 转换为数据类型 UINT,然后转换为数据类型 REAL。与 WORD_TO_REAL 转换模块(标准库)相反,W_UINT_REAL 模块在输出 REAL 值前先转换为 UINT 值。例如,如果输入值为 FFFF,则输出值为 65535.0。(与 WORD_TO_REAL 模块不同,后者的输出值设置为 9.183409e-41。)EN 和 ENO 作为附加参数配置。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD WordValue W_UINT_REAL ST RealValue
33003691 10/2019 575
W_UINT_REAL
在 ST 中的表示形式表示形式:RealValue := W_UINT_REAL (WordValue);
参数描述输入参数描述:
输出参数描述:
参数 数据类型 描述INP WORD 输入值
参数 数据类型 描述OUTP REAL 输出值
576 33003691 10/2019
EcoStruxure™ Control ExpertWRITE_PCMCIA33003691 10/2019
WRITE_PCMCIA:向存储卡写入数据
第103章WRITE_PCMCIA:向存储卡写入数据
描述
功能描述WRITE_PCMCIA 功能将数据从 PLC 的 RAM 存储器传输到用户存储卡归档区。功能 WRITE_U_PCMCIA 使得要复制到 PCMCIA 卡的 PLC 区域的起始地址 大为 65 535(而不是对应于 WRITE_PCMCIA 功能的 32 767),因此建议使用此功能,而不使用 WRITE_PCMCIA 功能。可以配置附加参数 EN 和 ENO。可参考使用了 READ_PCMCIA 和 WRITE_PCMCIA 函数的示例,READ_PCMCIA 和 WRITE_PCMCIA 示例 (参见第 526 页)。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
33003691 10/2019 577
WRITE_PCMCIA
在 IL 中的表示形式表示形式:LD Slot_Number
WRITE_PCMCIA Dest_Address,Words_Number,SourCe_Address,Write_State
在 ST 中的表示形式表示形式:WRITE_PCMCIA(Slot_Number, Dest_Address, Words_Number, SourCe_Address, Write_State);
参数描述下表对输入参数进行描述:
下表对输出参数进行描述:
参数 类型 注释Slot_Number INT PCMCIA 卡插槽:
0 = 上插槽, 1 = 下插槽
Dest_Address DINT 其数据写入存储卡中的第一个地址。Words_Number INT 要写入的字数。SourCe_Address INT 从 PLC (%MW) 中读取其数据的第一个地址。
该地址的上限是: 32767.
参数 类型 注释Write_State INT 提供写入命令执行结果的代码:
16#0000: 正确地执行了写入操作, 16#0102: SourCe_Address + Words_Number
- 1 超出了在 PLC 中声明的 大字数, 16#0104: PLC 中没有有效应用程序或没有
字, 16#0201: 存储卡中没有文件区, 16#0202: 存储卡错误, 16#0204: 存储卡写保护, 16#0241: Dest_Address < 0, 16#0242: Dest_Address + Words_Number-1
超出了存储卡的 高地址, 16#0401: Words_Number = 0, 16#0402: Slot_Number 不同于 0 和 1, 16#0501: 不支持的服务。
578 33003691 10/2019
EcoStruxure™ Control ExpertWRTC33003691 10/2019
WRTC:更新系统日期
第104章WRTC:更新系统日期
描述
功能描述WRTC 功能更新 PLC 实时时钟中的当前日期。它是用于转换 PL7 应用程序的功能。还可以配置 EN 和 ENO 这两个附加参数。
在 FBD 中的表示形式表示形式:
在 LD 中的表示形式表示形式:
在 IL 中的表示形式表示形式:LD Date1
WRTC
在 ST 中的表示形式表示形式:WRTC(Date1);
33003691 10/2019 579
WRTC
参数描述下表对输入参数进行了描述:
参数 类型 注释Date1 数组 [0...3],
类型为 INTDate1 必须包含以 PL7 DT 格式(4 个整数组成的表)表示的当前日期值。在启动该功能前,必须由程序分配此变量的内容。
580 33003691 10/2019
EcoStruxure™ Control Expert
33003691 10/2019
附录
33003691 10/2019 581
582 33003691 10/2019
EcoStruxure™ Control ExpertEFB 错误代码和值33003691 10/2019
EFB 错误代码和值
附录 AEFB 错误代码和值
简介下列各表显示了为先期库的 EFB 创建的错误代码和错误值。
本章包含了哪些内容?本章包含了以下主题:
主题 页废弃库错误代码列表 584常见浮点错误 591
33003691 10/2019 583
EFB 错误代码和值
废弃库错误代码列表
简介下表显示了为废弃库的 EFB 而创建的错误代码和错误值。
CLC为 CLC 系列的 EFB 而创建的错误代码和错误值的表。
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
DELAY E_ERR_DEN F -30152 16#8A38 不是有效的浮点数INTEGRATOR1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数INTEGRATOR1 E_ERR_IB_MAX_MIN F -30102 16#8A6A YMAX < YMININTEGRATOR1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页LAG1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数LAG1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页LEAD_LAG1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数LEAD_LAG1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页LIMV E_ERR_DEN F -30152 16#8A38 不是有效的浮点数LIMV E_ERR_AB1_MAX_MIN F -30101 16#8A6B YMAX < YMINLIMV FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PI1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PI1 E_ERR_PI_MAX_MIN F -30103 16#8A69 YMAX < YMINPI1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PID1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PID1 E_ERR_PID_MAX_MIN F -30104 16#8A68 YMAX < YMINPID1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PIDP1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PIDP1 E_ERR_PID_MAX_MIN F -30104 16#8A68 YMAX < YMINPIDP1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页SMOOTH_RATE E_ERR_DEN F -30152 16#8A38 不是有效的浮点数
584 33003691 10/2019
EFB 错误代码和值
SMOOTH_RATE FP_ERROR F - - 请参见表 常见浮点错误, 第 591 页
THREE_STEP_CON1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数THREE_STEP_CON1 W_WARN_DSR_TN T 30101 16#7595 TN = 0THREE_STEP_CON1 W_WARN_DSR_TSN T 30102 16#7596 TSN = 0THREE_STEP_CON1 W_WARN_DSR_KP T 30103 16#7597 KP <= 0THREE_STEP_CON1 E_ERR_DSR_HYS F -30105 16#8A67 2 * |UZ| < |HYS|THREE_STEP_CON1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页THREEPOINT_CON1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数THREEPOINT_CON1 W_WARN_ZDR_XRR F 30105 16#7599 DR: XRR < -100 or XRR >
100THREEPOINT_CON1 W_WARN_ZDR_T1T2 F 30104 16#7598 T2 > T1THREEPOINT_CON1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页THREEPOINT_CON1 E_ERR_ZDR_HYS F -30106 16#8A66 2 * |UZ| < |HYS|TWOPOINT_CON1 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数TWOPOINT_CON1 W_WARN_ZDR_XRR F 30105 16#7599 DR: XRR < -100 or XRR >
100TWOPOINT_CON1 W_WARN_ZDR_T1T2 F 30104 16#7598 T2 > T1TWOPOINT_CON1 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页TWOPOINT_CON1 E_ERR_ZDR_HYS F -30106 16#8A66 2 * |UZ| < |HYS|
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
33003691 10/2019 585
EFB 错误代码和值
CLC_PRO为 CLC_PRO 系列的 EFB 而创建的错误代码和错误值的表。
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
ALIM E_ERR_DEN F -30152 16#8A38 不是有效的浮点数ALIM WAF_AB2_VMAX F -30111 16#8A61 vmax <= 0ALIM WAF_AB2_BMAX F -30112 16#8A60 bmax <= 0ALIM FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页COMP_PID E_ERR_DEN F -30152 16#8A38 不是有效的浮点数COMP_PID WAF_KPID_KUZ F -30110 16#8A62 gain_red < 0 or gain_red > 1COMP_PID WAF_KPID_OGUG F -30104 16#8A68 YMAX < YMINCOMP_PID WAF_KPID_UZ F -30109 16#8A63 db < 0COMP_PID FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页DEADTIME E_ERR_DEN F -30152 16#8A38 不是有效的浮点数DERIV E_ERR_DEN F -30152 16#8A38 不是有效的浮点数DERIV FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页FGEN E_ERR_DEN F -30152 16#8A38 不是有效的浮点数FGEN WAF_SIG_TV_MAX F -30116 16#8A5C t_acc > t_rise / 2FGEN WAF_SIG_TH_MAX F -30117 16#8A5B t_rise 太大FGEN WAF_SIG_TA_MAX T 30106 16#759A t_off >= halfperiodFGEN WAF_SIG_T1_MIN T 30107 16#759B t_max <= t_minFGEN WAF_SIG_FKT F -30118 16#8A5A func_no <= 0 or func_no > 8FGEN FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页INTEG E_ERR_DEN F -30152 16#8A38 不是有效的浮点数INTEG E_ERR_IB_MAX_MIN F -30102 16#8A6A YMAX < YMININTEG FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页LAG E_ERR_DEN F -30152 16#8A38 不是有效的浮点数LAG FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页LAG2 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数LAG2 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页
586 33003691 10/2019
EFB 错误代码和值
LEAD_LAG E_ERR_DEN F -30152 16#8A38 不是有效的浮点数LEAD_LAG FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PCON2 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PCON2 W_WARN_ZDR_XRR T 30105 16#7599 DR: XRR < -100 or XRR >
100PCON2 W_WARN_ZDR_T1T2 T 30104 16#7598 T2 > T1PCON2 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PCON2 E_ERR_ZDR_HYS F -30106 16#8A66 2 * |UZ| < |HYS|PCON3 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PCON3 W_WARN_ZDR_XRR T 30105 16#7599 DR: XRR < -100 or XRR >
100PCON3 W_WARN_ZDR_T1T2 T 30104 16#7598 T2 > T1PCON3 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PCON3 E_ERR_ZDR_HYS F -30106 16#8A66 2 * |UZ| < |HYS|PD_OR_PI E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PD_OR_PI WAF_PDPI_OG_UG F -30103 16#8A69 YMAX < YMINPD_OR_PI FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PDM PDM_TMAX_TMIN F -30115 16#8A5D t_max <= t_minPDM PDM_OG_UG F -30114 16#8A69 |pos_up_x| > |pos_lo_x| or
|neg_up_x| > |neg_lo_x|PDM FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PI E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PI E_ERR_PI_MAX_MIN F -30103 16#8A69 YMAX < YMINPI FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PID E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PID E_ERR_PID_MAX_MIN F -30104 16#8A68 YMAX < YMINPID FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PID_P E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PID_P E_ERR_PID_MAX_MIN F -30104 16#8A68 YMAX < YMIN
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
33003691 10/2019 587
EFB 错误代码和值
PID_P FP_ERROR F - - 请参见表 常见浮点错误, 第 591 页
PIP E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PIP E_ERR_PI_MAX_MIN F -30103 16#8A69 YMAX < YMINPIP FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PPI E_ERR_DEN F -30152 16#8A38 不是有效的浮点数PPI E_ERR_PI_MAX_MIN F -30103 16#8A69 YMAX < YMINPPI FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页PWM WAF_PBM_TMINMAX F -30113 16#8A5F t_min < t_maxPWM FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页QPWM WAF_PBM_TMINMAX F -30113 16#8A5F t_min < t_maxQPWM FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页SCON3 E_ERR_DEN F -30152 16#8A38 不是有效的浮点数SCON3 W_WARN_DSR_TN T 30101 16#7595 TN = 0SCON3 W_WARN_DSR_TSN T 30102 16#7596 TSN = 0SCON3 W_WARN_DSR_KP T 30103 16#7597 KP <= 0SCON3 E_ERR_DSR_HYS F -30105 16#8A67 2 * |UZ| < |HYS|SCON3 FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页VLIM E_ERR_DEN F -30152 16#8A38 不是有效的浮点数VLIM E_ERR_AB1_MAX_MIN F -30101 16#8A6B YMAX < YMINVLIM FP_ERROR F - - 请参见表 常见浮点错误,
第 591 页
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
588 33003691 10/2019
EFB 错误代码和值
扩展/兼容性为 扩展/兼容性 系列的 EFB 而创建的错误代码和错误值的表。
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
AKF_TA E_AKFEFB_TIMEBASE_IS_ZERO F -30482 16#88EE 时基为零AKF_TE E_AKFEFB_TIMEBASE_IS_ZERO F -30482 16#88EE 时基为零AKF_TI E_AKFEFB_TIMEBASE_IS_ZERO F -30482 16#88EE 时基为零AKF_TS E_AKFEFB_TIMEBASE_IS_ZERO F -30482 16#88EE 时基为零AKF_TV E_AKFEFB_TIMEBASE_IS_ZERO F -30482 16#88EE 时基为零FIFO E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围GET_3X E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围GET_4X E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围GET_BIT E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_1 F -30200 16#8A08 输入值为无效寄存器类型 (SourceTable)。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_2 F -30201 16#8A07 输入偏移 (OffsetInSourceTable) 选择了超出可接受限制范围的地址。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_3 F -30202 16#8A06 输入偏移 (OFF_IN) 并非 1 或 16 的倍数加 1。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_4 F -30203 16#8A05 输出值为无效寄存器类型 (DestinationTable)。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_5 F -30204 16#8A04 输出偏移 (OffsetInDestinationTable) 选择了超出可接受限制范围的地址。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_6 F -30205 16#8A03 输出偏移 (OffsetInDestinationTable) 并非 1 或 16 的倍数加 1。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_7 F -30206 16#8A02 (NumberOfElements) 的值为 0。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_8 F -30207 16#8A01 (NumberOfElements) 地址的值超过 1600 位。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_9 F -30208 16#8A00 (NumberOfElements) 地址的值超过 100 字。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_10 F -30209 16#89FF (NumberOfElements) 的值选择了超出可接受限制范围的源地址。
33003691 10/2019 589
EFB 错误代码和值
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_11 F -30210 16#89FE (NumberOfElements) 的值选择了超出可接受限制范围的目的地址。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_12 F -30211 16#89FD (NumberOfElements) 的值并非 16 的倍数。
IEC_BMDIIEC_BMDI_M
E_EFB_USER_ERROR_13 F -30212 16#89FC 警告:输入地址与输出地址重叠。
LIFO E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围PUT_4X E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围MUX_DINTARR_125
E_SELECTOR_OUT_OF_RANGE F -30175 16#8A21 选择器超出范围
SET_BIT E_INPUT_VALUE_OUT_OF_RANGE F -30183 16#8A19 输入值超出范围
EFB 名称 错误代码 发生错误时的 ENO 状态
十进制的错误值
十六进制的错误值
错误描述
590 33003691 10/2019
EFB 错误代码和值
常见浮点错误
简介下表显示了为浮点错误创建的常见错误代码和错误值。Diagnostic Viewer 中显示这些错误信息,错误代码值写在 %SW125 中。
常见浮点错误常见浮点错误表
错误代码 十进制的错误值 十六进制的错误值
错误描述
FP_ERROR -30150 16#8A3A 基数值(不显示为错误值)E_FP_STATUS_FAILED_IE -30151 16#8A39 浮点操作非法E_FP_STATUS_FAILED_DE -30152 16#8A38 操作数尚未规格化 – 不是有效的实数E_FP_STATUS_FAILED_ZE -30154 16#8A36 被零除E_FP_STATUS_FAILED_ZE_IE -30155 16#8A35 浮点操作非法/被零除E_FP_STATUS_FAILED_OE -30158 16#8A32 浮点溢出E_FP_STATUS_FAILED_OE_IE -30159 16#8A31 浮点操作非法/溢出E_FP_STATUS_FAILED_OE_ZE -30162 16#8A2E 浮点溢出/除零E_FP_STATUS_FAILED_OE_ZE_IE -30163 16#8A2D 浮点操作非法/溢出/被零除E_FP_NOT_COMPARABLE -30166 16#8A2A 内部错误
33003691 10/2019 591
EFB 错误代码和值
592 33003691 10/2019
EcoStruxure™ Control Expert术语33003691 10/2019
术语
ANY各个数据类型间存在一个层次结构。在 DFB 中,有时能够声明可包含多种类型的值的变量。在这种情况下,我们使用 ANY_xxx 类型。 下图描述此层次结构:
BCDBCD 是 Binary Coded Decimal(二进制编码的十进制数)格式的缩写。 BCD 使用一个四位组(半字节)表示 0 到 9 之间的十进制数。在此格式中,用于对十进制数编码的四个位具有部分未使用的组合。BCD 编码示例: 数字 2,450 的编码为:0010 0100 0101 0000
33003691 10/2019 593
术语
BOOLBOOL 是 Boolean(布尔)类型的缩写。它是用于计算的基本数据类型。BOOL 变量可具有以下两个值:0 (FALSE) 或 1 (TRUE)。从字提取的位属于 BOOL 类型,例如:%MW10.4。
BYTE8 位组合在一起称为一个字节。您可以用二进制模式或以 8 为基数输入一个 BYTE。BYTE 类型以 8 位格式进行编码,在十六进制中,范围为16#00 到16#FF。
DATE以 32 位格式的 BCD 编码的 DATE 类型包含以下信息: 以 16 位字段编码的年; 以 8 位字段编码的月; 以 8 位字段编码的日。DATE 类型必须以如下格式输入:D#<年>-<月>-<日> 下表显示每个字段的上限/下限:
DINTDINT 是 Double INTeger(双精度整数)(采用 32 位编码)的缩写。 下限和上限如下:-(2 的 31 次幂)到(2 的 31 次幂)- 1。示例:-2147483648、2147483647、16#FFFFFFFF。
字段 限制 注释年 [1990,2099] 年月 [01,12] 显示前导 0;输入数据时可以忽略它。日 [01,31] 用于月 01/03/05/07/08/10/12
[01,30] 用于月 04/06/09/11[01,29] 用于月 02(闰年)[01,28] 用于月 02(非闰年)
594 33003691 10/2019
术语
DWORDDWORD 是 Double Word(双字)的缩写。DWORD 类型以 32 位格式编码。此表显示可使用的每种进制的上限/下限:
表示形式示例:
EBOOLEBOOL 是 Extended Boolean(扩展布尔)的缩写。EBOOL 类型不但具有值 0 (FALSE) 或 1 (TRUE),还具有上升沿或下降沿以及强制功能。一个 EBOOL 变量在存储器中占用一个字节。该字节包含下列信息: 一个表示值的位 一个位用于表示历史信息(当对象更改状态时,该值被复制到历史位); 一个位用于表示强制(如果未强制对象,则等于 0,如果是强制位,则等于 1)。每一位的缺省值都为 0 (FALSE)。
EFEF 是 Elementary Function(基本功能)的缩写。这是一个在程序中使用的功能块,它执行预定义的逻辑功能。此功能不具有有关内部状态的任何信息。如果使用相同的输入参数多次调用同一功能,则会返回相同的输出值。有关功能调用的图形格式的信息,可在“[功能块(实例)]”中找到。与功能块调用不同,功能调用仅包括未命名且名称与功能名称完全相同的输出。在 FBD 中,每个调用通过图形功能块,由唯一的 [编号] 指示。此编号自动进行管理,无法修改。您需要在程序中定位并配置这些功能,以便执行应用程序。 您还可以使用 SDKC 开发工具包开发其他功能。
基数 下限 上限十六进制 16#0 16#FFFFFFFF八进制 8#0 8#37777777777二进制 2#0 2#11111111111111111111111111111111
数据 采用其中一种基数的表示形式00000000000010101101110011011110 16#ADCDE00000000000000010000000000000000 8#20000000000000000010101011110011011110 2#10101011110011011110
33003691 10/2019 595
术语
ENEN 表示 ENable(启用);是可选功能块输入。启用 EN 输入时,则自动设置 ENO 输出。 如果 EN = 0,则不启用功能块;不执行其内部程序且 ENO 设置为 0。如果 EN = 1,则功能块的内部程序在运行并且 ENO 设置为 1。如果发生错误,则 ENO 设置为 0。如果 EN 输入未连接,则会自动设置为 1。
ENOENO 表示 Error NOtification(错误通知);这是与可选输入 EN 关联的输出。 如果 ENO 设置为 0(因为 EN= 0 或出现执行错误时): 功能块的输出状态保持在上次正确执行的扫描周期中的状态; 功能的输出(多个)及过程都设置为“0”。
INTINT 是 Single INTeger(单精度整数)(采用 16 位编码)的缩写。 上限/下限如下所示:-(2 的 15 次幂)到(2 的 15 次幂)- 1。示例:-32768、32767、2#1111110001001001、16#9FA4。
REALREAL 类型以 32 位格式编码。下图中显示了可能的值范围:
当计算结果: 介于 -1,175494e-38 到 1,175494e-38 之间时,被视为 DEN 小于 -3.402824e+38 时,显示符号 -INF(表示负无穷) 大于 +3.402824e+38 时,显示符号 INF(表示正无穷) 未定义(负数的平方根)时,显示符号 NAN。注意: IEC 559 标准定义了两类 NAN:不报错 NAN (QNAN) 和报错 NAN (SNAN)。QNAN 是带 高有效小数位的 NAN,SNAN 是不带 高有效小数位(位编号为 22)的 NAN。QNAN 可以通过大多数算术运算进行传播,不会引发例外。至于 SNAN,在用作算术运算中的操作数时,它们通常指示无意义的运算(请参见 %SW17 和 %S18)。注意: 使用 DEN(非标准数字)作为操作数时,结果无效。
STRINGSTRING 变量是一系列 ASCII 字符。字符串的 大长度为 65,534 个字符。
596 33003691 10/2019
术语
TIMETIME 类型表示以毫秒为单位的时间。此类型以 32 位编码,可表示 0 到 2 32-1 毫秒的时间。TIME 类型具有以下单位:天 (d)、小时 (h)、分钟 (m)、秒 (s) 和毫秒 (ms)。TIME 类型的数值由 T#、t#、TIME# 或 time# 后接上述单位的组合来表示。示例:T#25h15m、t#14.7S、TIME#5d10h23m45s3ms
TODTOD 是 Time Of Day(一天中的时间)的缩写。以 32 位格式的 BCD 编码的 TOD 类型包含以下信息: 以 8 位字段编码的时; 以 8 位字段编码的分; 以 8 位字段编码的秒。注意: 8 个 低有效位未使用。必须按以下格式输入 TOD 类型:TOD#<时>:<分>:<秒>
下表显示每个字段的上限/下限:
示例:TOD#23:59:45。
UDINTUDINT 是 Unsigned Double INTeger(无符号双精度整数)(采用 32 位编码)的缩写。上限/下限如下所示:0 到(2 的 32 次幂)- 1。示例:0、4294967295、2#11111111111111111111111111111111、8#37777777777、16#FFFFFFFF。
UINTUINT 是 Unsigned INTeger(无符号整数)格式(采用 16 位编码)的缩写。上限/下限如下所示:0 到(2 的 16 次幂)- 1。示例:0、65535、2#1111111111111111、8#177777、16#FFFF。
字段 限制 注释时 [00,23] 显示前导 0;输入数据时可以忽略它。分 [00,59] 显示前导 0;输入数据时可以忽略它。秒 [00,59] 显示前导 0;输入数据时可以忽略它。
33003691 10/2019 597
术语
WORDWORD 类型以 16 位格式编码,用于对位序列进行处理。此表显示可使用的每种进制的上限/下限:
表示形式示例
基数 下限 上限十六进制 16#0 16#FFFF八进制 8#0 8#177777二进制 2#0 2#1111111111111111
数据 采用其中一种基数的表示形式0000000011010011 16#D31010101010101010 8#1252520000000011010011 2#11010011
598 33003691 10/2019
EcoStruxure™ Control Expert索引33003691 10/2019
索引
ADD_***_PL7, 359AKF_FL, 361AKF_TA, 363AKF_TE, 367AKF_TI, 371AKF_TS, 375AKF_TV, 379AKF_ZR, 383AKF_ZV, 387AKF_ZVR, 391ALIM, 141COMP_PID, 147COMPARE, 395DATE_DINT_TO_STRING, 397DAY_OF_WEEK, 399DEADTIME, 167DELAY, 41DELTA_***, 401DERIV, 173DOWN_PL7_COUNTER, 461DOWN_PL7_TOF, 489DOWN_PL7_TON, 495DOWN_PL7_TP, 501DT_ARINT_TO_STRING, 403END, 405FGEN, 181FIFO, 407FPULSOR, 411FSTEP_PL7_DRUM, 415FTOF, 417FTON, 421FTP, 425GET_3X, 429GET_4X, 431GET_BIT, 433GET_PL7_REGISTER_255, 483GET_PL7_REGISTER_32, 479HIGH_INT, 435IEC_BMDI, 437IEC_BMDI_M, 445INTEG, 197
33003691 10/2019
INTEGRATOR1, 47LAG, 203LAG1, 53LAG2, 209LEAD_LAG, 217LEAD_LAG1, 59LIFO, 453LIMV, 67LOW_INT, 457MUX_DINTARR_125, 459PCMCIA 卡 - 指令
READ_PCMCIA, 523 SET_PCMCIA, 539WRITE_PCMCIA, 577
PCON2, 225PCON3, 233PD_OR_PI, 241PDM, 253PI, 263PI1, 73PID, 273PID_P, 287PID1, 83PIDP1, 97PIP, 299PL7_3_TIMER, 507PL7_COUNTER, 461PL7_DRUM, 467PL7_MONOSTABLE, 473PL7_REGISTER_255, 483PL7_REGISTER_32, 479PL7_TOF, 489PL7_TON, 495PL7_TP, 501PPI, 311PRESET_PL7_3_TIMER, 507PRESET_PL7_COUNTER, 461PUT_4X, 513PUT_PL7_REGISTER_255, 483PUT_PL7_REGISTER_32, 479PWM, 323
599
索引
QPWM, 333R_INT_WORD, 515R_UINT_WORD, 517R2T_***, 519READ_PCMCIA, 523RESET_PL7_COUNTER, 461RESET_PL7_DRUM, 467RESET_PL7_REGISTER_255, 483RESET_PL7_REGISTER_32, 479ROR1_ARB, 529RRTC, 531SCON3, 341SCOUNT, 533SET_BIT, 537SET_PCMCIA, 539SHL_RBIT_***, 541SHR_RBIT_***, 543SHRZ_***, 545SHRZ_RBIT_***, 547SMOOTH_RATE, 109SRCH, 549START_PL7_3_TIMER, 507START_PL7_MONOSTABLE, 473START_PL7_TOF, 489START_PL7_TON, 495START_PL7_TP, 501STOP_PL7_3_TIMER, 507STR_ROUND, 553SUB_***_PL7, 555SYSSTATE, 559T2T, 561THREE_STEP_CON1, 115THREEPOINT_CON1, 123TIME_DINT_TO_STRING, 567TOD_DINT_TO_STRING, 569TRANS_TIME, 571TWOPOINT_CON1, 131UP_PL7_COUNTER, 461UP_PL7_DRUM, 467VLIM, 349W_INT_REAL, 573W_UINT_REAL, 575WRITE_PCMCIA, 577WRTC, 579
600
字符串管理 - 指令 DATE_DINT_TO_STRING, 397 DT_ARINT_TO_STRING, 403 END, 405 TIME_DINT_TO_STRING, 567 TOD_DINT_TO_STRING, 569STR_ROUND, 553
定时器 - 指令 DOWN_PL7_TON, 495 FPULSOR, 411 FTOF, 417 FTON, 421 FTP, 425 PL7_TON, 495 START_PL7_TON, 495AKF_TA, 363AKF_TE, 367AKF_TI, 371AKF_TS, 375AKF_TV, 379DOWN_PL7_TOF, 489DOWN_PL7_TP, 501PL7_3_TIMER, 507PL7_TOF, 489PL7_TP, 501PRESET_PL7_3_TIMER, 507START_PL7_3_TIMER, 507START_PL7_TOF, 489START_PL7_TP, 501STOP_PL7_3_TIMER, 507
33003691 10/2019
索引
寄存器管理 - 指令FIFO, 407GET_3X, 429GET_4X, 431GET_BIT, 433GET_PL7_REGISTER_255, 483GET_PL7_REGISTER_32, 479LIFO, 453PL7_REGISTER_255, 483PL7_REGISTER_32, 479PUT_4X, 513PUT_PL7_REGISTER_255, 483PUT_PL7_REGISTER_32, 479RESET_PL7_REGISTER_255, 483RESET_PL7_REGISTER_32, 479ROR1_ARB, 529SHL_RBIT_***, 541SHR_RBIT_***, 543SHRZ_***, 545SHRZ_RBIT_***, 547
指令可用性, 31
指令的可用性, 31控制器 - 指令
COMP_PID, 147PCON2, 225PCON3, 233PD_OR_PI, 241PDM, 253PI, 263PI1, 73PID, 273PID_P, 287PID1, 83PIDP1, 97PIP, 299PPI, 311SCON3, 341THREE_STEP_CON1, 115THREEPOINT_CON1, 123TWOPOINT_CON1, 131
33003691 10/2019
数学 - 指令 ADD_***_PL7, 359DELTA_***, 401IEC_BMDI, 437MUX_DINTARR_125, 459STR_ROUND, 553SUB_***_PL7, 555T2T, 561
数学指令IEC_BMDI_M, 445
数组 - 指令R2T_***, 519T2T, 561
比较 - 指令 COMPARE, 395SRCH, 549
系统时间和日期 - 指令DAY_OF_WEEK, 399RRTC, 531WRTC, 579
系统特殊功能 - 指令SYSSTATE, 559
计数器 - 指令 SCOUNT, 533AKF_ZR, 383AKF_ZV, 387AKF_ZVR, 391DOWN_PL7_COUNTER, 461PL7_COUNTER, 461PRESET_PL7_COUNTER, 461RESET_PL7_COUNTER, 461UP_PL7_COUNTER, 461
601
索引
调节 - 指令ALIM, 141DEADTIME, 167DELAY, 41DERIV, 173FGEN, 181INTEG, 197INTEGRATOR1, 47LAG, 203LAG1, 53LAG2, 209LEAD_LAG, 217LEAD_LAG1, 59LIMV, 67SMOOTH_RATE, 109VLIM, 349
转换 - 指令 DATE_DINT_TO_STRING, 397 DT_ARINT_TO_STRING, 403 TIME_DINT_TO_STRING, 567 TOD_DINT_TO_STRING, 569 TRANS_TIME, 571R_INT_WORD, 515R_UINT_WORD, 517R2T_***, 519W_INT_REAL, 573W_UINT_REAL, 575
输出处理 - 指令PWM, 323QPWM, 333
逻辑 - 指令AKF_FL, 361HIGH_INT, 435LOW_INT, 457PL7_MONOSTABLE, 473SET_BIT, 537START_PL7_MONOSTABLE, 473
错误代码, 583鼓 - 指令
FSTEP_PL7_DRUM, 415PL7_DRUM, 467RESET_PL7_DRUM, 467UP_PL7_DRUM, 467
602
33003691 10/2019