电气标准化指南 让工作更便捷、高效 • ZR 目录 标准化的优势 电气绘图标准 输入输出文档标准化 Copyright © ZR 2023 2024-2-28 Page 2 程序设计标准化 电气选型标准 现场反馈问题流程标准 调试标准化 2 标准化的优势 4 1 学习设计流程,按功能 需求组合,能够尽快融 入工作 新进设计师 3 整体团队设计效率提升, 项目质量更高,减少人力 浪费 设计主管 2 模块化设计,避免重复劳动, 降低错误几率 熟练设计师 4 加速项目交付与竣工, 高质量设计水准,提 升公司形象 公司 优势: 标准化的工作是一劳永逸的事情,一次投入,长期回报 Copyright © ZR 2023 Page 3 3 1 2 标准化的优势 标准化 模块化 结构化 自动化 Copyright © ZR 2023 Page 4 • 功能面、位置面、产品面等方面进行定义。 • 基于IEC81346、GBT5094等标准,制定企业标准。 • 从产品或项目甚至生产流程综合评估。 • 找出项目间的共同点,将可选功能、可选参数进行模块化定义。 • 根据功能或流程将模块化进行一定组合。 • 在项目中,对模块化后的项目定义,将模块转换成变量等参数。 • 通过调用数据库,输入项目参数,自动生成图纸或程序。 标准化的优势 案例1:EPLAN自动生成图纸 Copyright © ZR 2023 Page 5 标准化的优势 案例2:EPLAN与三菱IQ-Works进行数据交换 超级方便省时省力 Copyright © ZR 2023 Page 6 标准化的优势 案例3:Modular Application Creator 根据预定义和测试的软件模 块自动生成 TIA Portal 项目。 特别是在复杂机器配置的情况下,例如多皮带控制或其他多轴应用,与直接 在 TIA Portal 中手动创建和参数化自动化项目相比,这是非常有效的 选择一个设备模块并将其添加到项目中 Copyright © ZR 2023 Page 7 配置设备模块 生成相应的 TIA Portal 项目 输入输出文档标准化 Copyright © ZR 2023 Page 8 电气绘图标准化 电气绘图标准化 导线颜色标识 Copyright © ZR 2023 Page 10 电气绘图标准化 导线颜色标识 低压成套开关设备中的导线颜色标识 在低压成套开关设备中,其内部的导线颜色标识按照GB7947- 2010《人机界面标志标识的基本和安全规则 导体颜色或字母数 字标识》来定义。 在低压成套开关设备内部的线缆一般采用黑色作为基本颜色,线头和线尾可加颜色套环进行区别。 Copyright © ZR 2023 Page 11 电气绘图标准化 导线颜色标识 导线描述 颜色 装置和设备的内部布线 黑色 直流电路的正极 棕色 三相电路的C相 红色 三相电路的A相 黄色 三相电路的B相 绿色 直流电路的负极 蓝色 三相电路的零线或中性线、直流电路的接地中线 浅蓝色 接地线 黄绿色 用双芯导线或双根绞线连接的交流电路 Copyright © ZR 2023 Page 12 红/黑并行 电气绘图标准化 颜色标识的代码 GB/T 13534-2009/IEC 60757:1983 颜色 字母代号 黑色 BK 棕色 BN 红色 RD 橙色 OG 黄色 YE 绿色 GN 蓝色(包括淡蓝) BU 紫色 VT 灰色 GY 白色 WH 粉红色 PK 金黄色 GD 青绿色 TQ 银白色 SR 绿/黄双色 GNYE Copyright © ZR 2023 Page 13 电气绘图标准化 导线电气标识 IEC60417导线电气标识 导线 Copyright © ZR 2023 Page 14 导线端头标识 电气设备接线 端的标识 交流电网 相线1 相线2 相线3 相线1 L1 L2 L3 N U V W N 直流电网 正 负 中线 L+ LM C D M 保护导线 PE PE 具有保护功能的中 线线 PEN 接地导线 E E 电气器件选型标准化 Copyright © ZR 2023 Page 15 程序设计标准化 程序设计标准化 标准化的定义 标准化的字面意思是对例如尺寸、类型、程序和结构的标准化。程序的标准化, 其目的是提高兼容性,从而优化资源。 流程说明 标准化的目的 在新机器和系统的开发中,标准化目前仅在少数情况下使用。 PLC 和 HMI 项目通常是从现有机器的项目中手动复制到一起,并花费大量时间 进行调整。同时会有各种各样的编程风格和编程语言。 标准化指南向您展示了如何模块化您的机器和系统。它为您的自动化解决方案 实现结构化和标准化编程提供建议和提示。在标准的开发和构建环节,有一个 重要组成部分是模块的接口定义。为了灵活使用模块,接口应尽可能独立于客 户的特殊要求和相应的模块。 标准化 机械结构分析 接口设计 执行 标准化的好处 标准化对最终客户具有以下优势。 • 软件对用户更加透明,因此更易于使用。 • 由于使用已经过验证的软件组件,减少了错误源。 • 最大限度地减少程序创建和调试的工作量。 • 简化的诊断和故障排除。 • 具有定义模块接口的清晰文档。 • 避免同一任务的“并行工程”。 • 定义与其他部门的接口。 Copyright © ZR 2023 Page 17 重复工程 改进 + 标准化 软件架构 程序设计标准化 标准化领域 PLC 机械 HMI 项目规划/编程 设备布置/模块化 可视化/操作理念 电气规划 IT 接线/组件 IT 硬件/地址 文档 大纲/结构/归档 带有示例的标准化领域 Copyright © ZR 2023 Page 18 行业特定要求 汽车/制药/食品 • 在开发新机器和系统时,您应该考虑标准化期间从 规划到调试的所有领域。以下标准化选项可用: • 在机械规划期间应注意模块化结构,因为单个模块 可以更容易地重复使用。 • 电气规划应定义要使用的硬件和信号接线的标准。 • 程序应使用一种控制类型的工程工具创建不同机器 的视图。 • 应为模板可视化创建统一的操作和显示。 • 等。 程序设计标准化 可读性 灵活性 Standard 可维护性 Copyright © ZR 2023 Page 19 接口定义 贮存 • • • • 结构 参数传递 编程风格指南 贮存 • 标签 全局变量 多重实例 编程语言 • • 图形语言 文本语言 用户库 • 结构和函数 程序设计标准化 编程语言 1 梯形图语言 2 FBD/LD语言 3 SFC程序 4 ST语言 是在触点与线圈构成的回路中通过串联与并联的组合表示 由AND/OR组成的逻辑运算,记述顺控程序的语言。 是通过将实施特定处理的块、变量、常数沿着数据和信号 的流动进行连接,创建程序的语言。 是将一系列的控制动作分割为多个步,使程序的执行顺序 和执行条件清楚的表达的程序记述形式。 是在规定逻辑记述方式的国际标准IEC61131-3中定义的语 言。 Copyright © ZR 2023 Page 20 程序设计标准化 编程风格指南 概述 使用控制器进行编程时,应尽可能地确保编写的程序清晰易读。众所周知, 每个用户都 有着自己独特的编程风格,如变量或块的命名方式以及特定的语句注释方式。 程序员的 编程方式不同,编写出来的程序也就更是各样。甚至有些程序只能由程序员本人 进行解 释分析。 统一编程风格的优势: 如果一个程序有多名程序员共同完成,则建议采用统一的编程风格。具有以下优势: TIA Portal中的Multiuser Engineering Copyright © ZR 2023 Page 21 • 风格一致 • 程序结构清晰,易于理解 • 维护便捷,易于重用 • 问题排查与纠正更为简单快捷 • 一个项目中多名程序员同时编程,效率大幅提高 程序设计标准化 编程语言 语言 调用工厂级 FBD 一个单元内部调用和互联不同的块 ST/FBD 用于控制功能单元的逻辑块 ST/FBD 具有标准化接口的传感器或执行器驱动块 ST/FBD Control module Equipment module Unit Call environment 任务 Copyright © ZR 2023 Page 22 程序设计标准化 编程风格指南 基于编程指南,可确保程序风格的高度一致,实 现程序的快速维护与重用以及编程错误的及早检测 (如,通过编译器)与有效规避。 源代码需具备以下特性 • • 风格统一一致 程序结构清晰,易于理解 Copyright © ZR 2023 Page 23 必须制定相应规则,满足以下要求 • 避免因拼写错误或疏漏,造成后期的编译器解释错误 • 通过程序代码快速诊断程序错误。如,在单次循环后重 用临时变量 • 标准应用程序和库的风格一致 • 简化后期的维护与开发过程 为确保源代码具有以上特性,在编程初期就必须 遵循相应的格式要求。但如果仅仅只是将代码排列整 齐(如,在逗号前规定数目相同的空格字符),还无 法实现软件质量大幅提升。 程序设计标准化 编程风格指南 标识符 规则 标识符是用户编程时对于变量、常量、函数、功能块使用的名字。 1 标识符(块、变量等)的名称需使用英语(美国英语)输入。该 名称用于指示源代码中该标识符的含义和用途。 不同标识符不能使用相同的名称,即使字母大小不同也不允许。 标识符的名称可应用于所有块和源代码中。 英语标识符 2 支持大小写字母混用 3 最多包含24 个字符 变量、常量或块的标识符长度不应超过24 个字符。 4 不支持特殊字符 标识符中不支持与特定语言的特殊字符,如 ä、ö、ü、à 等,也不 支持空格字符。 前缀与标识符之间的字符不允许为特殊字符。 5 Copyright © ZR 2023 Page 24 名称用具有明显含义 如果标识符中包含多个字,则建议标识符中各个字的排列顺序与所 用语言的相同。 程序设计标准化-编程风格指南 扩展:PC中有如下规则: 1. camelCase,又叫驼峰命名法,变量中第一单词首字母小写,后面单词的首字母大写,就像camelCase名称一样。 Java、C++等高级语言中普遍使用。 2. snake_case,又叫蛇蛇命名法,单词都小写,单词与单词间用下划线隔开。是Python推荐的命名风格 3. PascalCase,帕斯卡命名法,源自于Pascal语言。和camelCase相似,不过首字母也大写。几乎在所有的高级语 言中,用来命名类名。 4. Hungarian,有匈牙利人发明,所以也叫匈牙利命名法。微软早期推荐的风格。现在也基本没人使用。 Copyright © ZR 2023 Page 25 程序设计标准化 编程风格指南 建议规则: 1. 标签名(包含局部标签、全局标签,除常数)采用camelCase(驼峰命令法)。例: 2. FB、FUN、全局标签名采用PascalCase(帕斯卡命名法)。例: Copyright © ZR 2023 Page 26 程序设计标准化 编程风格指南 编程 建议:优先使用ST 建议采用 ST 作为块的编程语言。与其它 编程语言相比,ST 具有较好的可读性且没有明显的性能缺陷。 如果要在 程序中互连各个块,则应选用编程语言 LAD 或 FBD。如果块中包含大量的二进制逻辑运算时,也应选择 LAD 或 FBD 语言。此时,选用编程语言 LAD 或 FBD,可确保源代码结构清晰且易于理解与诊断。 规则:选用多重实例替代单实例 建议使用多重实例替代单实例。通过多重实例可创建各种封闭式函数,如集成有定时器的时间监视函数块。 FB中调用延时FB Copyright © ZR 2023 Page 27 程序设计标准化 编程风格指南 格式 建议:程序编辑器中的每行长度:最多 80 个字符 为了确保最佳的可读性,源代码中的行长度需限制为 80 个打印字符。 Copyright © ZR 2023 Page 28 程序设计标准化 编程风格指南 变量声明--内部变量 规则: VAR、VAR_CONSTANT、VAR_RETAIN只能内部调用 功能块的内部变量(VAR) 只能在块内部访问。在调用或互连块的背景数据时,更是如此。 规则: • 静态变量的前缀:stat • 临时变量的前缀:temp (三菱works3未有临时变量概念,仅参考)为了清晰地区分内部变量和代码中的传递与输出 参数,可参见下表中定义的前缀。 通过这些前缀,访问块时可清晰区分接口变量和内部变 量,快速定义和确定相应的访问权限。 这些前缀不适用于全局数据块和结构体,仅适用于 包含完整接口的块。 前缀 stat temp 类型 静态变量 -> 不允许从外部访问背景数据 临时变量 -> 不允许从外部访问背景数据 Input 和 Output 变量(无前缀) -> 可从外部访问背景数据 Output 变量(无前缀) -> 用户可随时直接更改互连的数据,也可通过块进行更改 Copyright © ZR 2023 Page 29 示例 程序设计标准化 编程风格指南 变量声明--常量 规则:常量标识符通常为大写字母加下划线 常量名称通常为大写字母。为了便于确定各名称词或缩写的含义,通常会在词或缩写之间加上下划线。 规则:仅支持局部常量 为确保库中的块可用于其它用途,块中只能使用局部常量。 这样,可确保在编译用户程序时不会因部分程序缺失而出错。 如果块使用局部常量,则还需将这些局部常量创建为全局常量。全局常量的名称中应包含对块或库的引用。 在将常量标识为既定块输出值(如,错误编号)时更是如此。 在复制库模板时,全局用户常量可创建为 PLC 变量。但在项目中使用既定类型的块时,控制器不会自动应用 这些全局常量。 局部标签 全局标签 示例 Copyright © ZR 2023 Page 30 程序设计标准化 编程风格指南 变量声明--结构体 规则:函数/功能块名_type+名称 用户添加的结构体名称需要添加“type”。例: Copyright © ZR 2023 Page 31 程序设计标准化 编程风格指南 指令--运算符和表达式 建议:在运算符前后各保留一个空格 在二进制运算符和赋值运算符前后,各保留一个空格。 示例 a := a + b; 空格 建议:使用括号括起表达式 表达式建议放置在括号内,确保解释顺序唯一。 示例 tempSetFlag := (tempPositionAct < 0.0) OR (tempPositionAct > 100.0); Copyright © ZR 2023 Page 32 程序设计标准化 编程风格指南 指令--程序控制指令 建议:IF 指令采用缩进 如果一个条件的长度超过一行,则建议在行首放置布尔运算符。 IF 指令中的条件可跨多个行,建议使用两个空格字符缩进这些条件。 THEN 应放置在与IF同样层级的单独一行中。 如果一个IF 指令的条件可包含在一行中,则 THEN 可放置在该行的末 尾处。 使用级联结构时,操作符放置单独一行中;使用一个单括号表示级联 条件结束并将操作数 放置在行首处。该建议也同样适用于其它指令的 编写(如,WHILE 等)。 Copyright © ZR 2023 Page 33 示例 程序设计标准化 编程风格指南 指令--程序控制指令 规则:在CASE 指令中使用ELSIF 分支结构 在 CASE 指令中通常需要使用一个 ELSIF 分支指令,用于报告运行过程中的错误发 生。 CASE tempSelect OF 1: //Comment ; //Statement 4: //Comment ; //Statement 2..5: //Comment ; //Statement ELSE ; //Generate error message END_CASE; 示例 Copyright © ZR 2023 Page 34 程序设计标准化 编程风格指南 指令--错误处理 规则:始终评估错误代码 如果在程序中调用到函数、函数块或系统函数返回错误代码,则通 常需要对其进行评估。 示例 Copyright © ZR 2023 Page 35 程序设计标准化 编程风格指南 基于 PLCopen 标准进行编程 PLCopen 中组织定义了各种运动控制块的标准。该标准适用于所有异步函数块,定义 了各函数块适用的接口以及接口中信号发生与接收。 使用该标准,可极大简化函数块的编程和应用过程。 规则:使用 PLCopen 中的标准标识符 如果要使用带有标准含义的参数实现“PLCopen 运动控制函数块 V2.0”(PLCopen Function Blocks for Motion Control V2.0) 中定义的功能,则需使用相应的标准标识 符。 Copyright © ZR 2023 Page 36 程序设计标准化 编程风格指南 基于PLCopen 标准进行编程 以下参数是标准参数: 符合 PLCopen 的标准函数信号 含义 输入参数 execute 或 enable 不带“continuous Update”的 execute: 所有参数都在 execute 输入出现上升沿时启动并执行相应功能。 如果需要更改参数,则需重新触发 execute 输入。 带“continuous Update”的 execute: 所有参数都在 execute 输入出现上升沿时执行,可通过设置continuous Update 输入,进行调整。 enable: 所有参数都在 execute 输入出现上升沿时执行,可连续更改。该功 能可激活电平控制 (TRUE),也可禁用 (FALSE)。 输出参数 独占性: done busy valid commandAborted error execute: 输出 done、busy、commandAborted 和 error 相互排斥。也就是说, 指定时刻只能设置其中一个输出。如果设置了execute,则 必须设置其中一个输出。 enable: 输出 valid 和 error 相互排斥。 done 如果命令成功执行,则输出将设置为 done。 busy execute: 函数块未完成命令执行,可能会产生新的输出值。如果置位了输出 done 、 commandAborted 或 error ,则将在 execute 的上升沿 处置位和 复位 busy。 enable: 函数块当前正在进行命令处理,可能会生成新的输出值。当 enable出现上升沿时置位busy,并在函数块执行该操作时保持置位状态。 Copyright © ZR 2023 Page 37 程序设计标准化 编程风格指南 基于PLCopen标准进行编程 以下参数是标准参数: 符合 PLCopen 的 标准函数信号 含义 active 可选输出,实现与 PLCopen 的兼容性(函数块的缓冲模式)。 函数块接管对轴控制时,将置位该输出。如果未选择缓冲模式,则 active 和 busy 信号 相同。 commandAborted 可选输出,用于指示其它函数或其它作业取消了该函数块正在运行的作业。 示例:直接通过函数块进行轴定位时,另一个函数块停止了该轴的运动。由于该作业已 由停止命令取消,因此定位 函数块中将置位输出 commandAborted。 valid 此输出仅适用于 enable。 只要输出值有效且置位了 enable 输入,将置位该输出。如果错误未决,则将复位输出 valid。 error 输出的上升沿,用于指示在处理函数块时发生了错误。 Status (state errorID) 有关块的错误信息或状态 与 PLCopen 标准不同,标识符errorID 并不解释与当前 SIMATIC 系统函数和块兼容性, 而通过 status 进行说明。 diagnostics 可选输出:详细错误信息缓冲区 块的所有错误、警告和信息都存储在一个环形缓冲区中。缓冲区的大小(数组元素的数 量)取决于应用程序中所用 PLC 的可用存储空间。 Copyright © ZR 2023 Page 38 程序设计标准化 编程风格指南 基于PLCopen标准进行编程--带有 execute 的块 该作业在 execute 参数出现上升沿时启动,并使用输入参数中的未决值。 如果不使用 continousUpdate 命令,则仅在启动下一个作业时才会应用之后更改的随后 更改的参数值。 复位execute 参数不会终止作业的执行,但会影响作业状态显示的持续时间。 如果在作 业完成之前复位execute,则仅在一个调用周期内分别置位参数 done、error 和 commandAborted。 作业执行完成后,仅当 execute 处出现新的上升沿时才执行新的作业。 这样,可确保每次启动作业时该块都处于初始状态,且函数的运行与之前的作业无关。 规则:参数:execute 配套busy 和done 如果使用输入参数 execute,则必须配套使用输出参数 busy 和 done。 <函数块名称> LAD 表示法: BOOL execute done busy active commandAborted error status diagnostics Copyright © ZR 2023 Page 39 BOOL BOOL BOOL BOOL BOOL WORD STRUCT 程序设计标准化 编程风格指南 基于PLCopen标准进行编程--带有execute块的信号流程图 a) done、error 和commandAborted 在execute 出现下降沿时复位。 b) execute 处出现下降沿时,不会停止函数块的功能执行。 c) 如果execute 为 FALSE,则done、error 和commandAborted 仅在一 个循环周期内未决。 d) 如果块仍在执行过程中 (busy = TRUE),execute 处出现上升沿时将请 求执行新的作业。启动新作业时,未决参数将终止旧作业的运行,或 是由新参数取消并重新启动旧作业。具体操作取决于相应的应用示例, 并且必须进行文档记录。 e) 如果(其它块/实例)较高优先级或同等优先级的作业中断当前作业的 运行,则该块将置位commandAborted,并立即中断剩余的作业处理。 如果其它块执行轴移动作业时执行了急停操作,则将执行以上作业操 作。 注意:如果在置位输出done 之前复位了输入execute,则done 只能置位一个循环周期 Copyright © ZR 2023 Page 40 122573251@qq 程序设计标准化 编程风格指南 基于PLCopen标准进行编程--带有 enable 的块 置位 enable 参数将启动作业执行。置位 enable 时,将激活作业执行 并使用新值继续运行。 复位 enable 参数将终止作业的运行。 如果启动了一个新的作业,则该块将恢复为初始状态,而且可切换和 组态为一个新块。 规则:参数:enable 配套valid 如果使用 enable 输入,则至少需要使用输出参数 valid。 <函数块名称> BOOL enable valid BOOL busy BOOL active BOOL commandAborted BOOL error BOOL status WORD diagnostics Copyright © ZR 2023 Page 41 STRUCT 程序设计标准化 编程风格指南 基于PLCopen标准进行编程--带有enable块的信号流程图 enable (IN) z.B. forward (IN) e) valid (OUT) busy (OUT) error (OUT) commandA borted (OUT) z.B. forward Active (OUT) Copyright © ZR 2023 Page 42 a) error 为TRUE时,将复位valid 并停止函数块的所有功能执行。 由于块自己可消除该错误,因此 busy 将保持置位。 b) c) 在消除错误原因后(如,恢复通信),将 valid 将再次置位。 发生的错只能手动消除。此时,必须置位 error 并复位 busy 和 valid。 仅当enable 处出现下降沿时,才能进行手动确认以消除该未 决的错误。 valid 为 TRUE 表示块已激活且没有未决的错误,因此函数 块的输出有效。 如果将 enable 复位为 FALSE,则还需复位 valid 和 busy。 d) e) f) 程序设计标准化 编程风格指南 基于 PLCopen 标准进行编程--函数块的错误返回和诊断 规则:形参状态:常规错误返回 可通过设置布尔型变量 error 指示发生错误,并在 status 输出中通过置位最高位显示该错误。 输出中的其它位将用于唯一的错误代码指示错误的原因。 使用 status 输出而非PLCopen 标准中要求的输出 errorID。 除此之外,也可以连接一个错误处理方案(如,消息处理)。然后,再根据相应的处 理措施确定变量的应用。例如,带有多个关联值的错误编号、诊断结构等。 半个字节 3 2 1 态类别: 16#0 = 执行结束 16#7 = 可执行或正在执行 16#8 = 执行过程中出错 Copyright © ZR 2023 Page 43 0 详细的状态信息,如错误或 状态标 识符 程序设计标准化 编程风格指南 基于PLCopen标准进行编程--函数块的错误返回和诊断 建议:参数状态:采用标准错误编号 要实现错误编号标准化,需使用下表中的编号范围。 错误原因 status 的编号范围 作业完成,无警告或其它详细信息 作业完成,带有更多详细信息 作业当前未执行 (也包括初始值) 新作业首次调用(execute 上升沿) 执行过程中的后续调用,无其它详细信息。 处执行过程中的后续调用,带有更多详细信息。 生成的警告不会影响操作。 函数块操作错误 参数设置过程中出错 从外部执行时出错(如,I/O 信号错误、轴未引用) 16#0000 16#0001 ... 16#0FFF 16#7000 内部执行时出错(如,调用系统函数时) 预留 用户自定义的错误类 16#8600 ..16#87FF 16#8800..16#8FFF 16#9000…16#FFFF Copyright © ZR 2023 Page 44 16#7001 16#7002 16#7003 .. 16#7FFF 16#8001 .. 16#81FF 16#8200 .. 16#83FF 16#8400 .. 16#85FF 程序设计标准化 编程风格指南 基于 PLCopen 标准进行编程--函数块的错误返回和诊断 建议:在确认前错误保持未决 在函数块执行过程中如果检测到错误,则当前作业和后续运动将停止。 第一个错误的 错误代码将保持未决直至确认(execute 下降沿;根据具体的错误类型,也需要 enable 为下降沿)。 建议:将输出 status 用于指令的状态和错误代码 指令的状态代码(系统块)环回到输出 status 而不会发生变化。 因此,关于块的文档 及其错误和状态代码,请参见 TIA 博途帮助。 建议:在错误源标识符中使用输出 status ID 为了精确识别错误源,建议在以下属性中使用附加输出 statusID: • 用于显示报告错误的块或子块(子实例)的值。 • 建议为调用 块指定 statusID“1”,为其它所有子块指定值“2”或更高值。 • 如果未报告任何错误/警告,则返回值“0”。 • 输出数据类型为“UINT”。 Copyright © ZR 2023 Page 45 程序设计标准化 编程风格指南 基于 PLCopen 标准进行编程--函数块的错误返回和诊断 建议:输出 status ID 与嵌套块偏移量 使用嵌套块时,建议为调用块的输出 statusID 指定一个唯一的错误源值(识别被调用的实 例)。 为此,当嵌套块中有多个实例时,需要为被调用块的 statusID 值加上一个既定的偏移量。 这样,即可在整个程序范围内为块的每个实例分配一个唯一的 statusID 值。 Copyright © ZR 2023 Page 46 程序设计标准化-编程风格指南 基于PLCopen 标准进行编程--函数块的错误返回和诊断 Copyright © ZR 2023 Page 47 程序设计标准化-编程风格指南 基于PLCopen 标准进行编程--函数块的错误返回和诊断 Copyright © ZR 2023 Page 48 应用实例 程序设计标准化-编程风格指南 函数、功能块程序开头文本说明 //======================================================================================== // ZRLib // (c)Copyright 2021 All Rights Reserved 版权所有 //-----------------------------------------------------------------------------------------------------------//Library: 调用库 // Project: LAxisCtrlPosAxis 项目名称 // Tested with: FX5U 测试环境 // Engineering: works3 1.070Y 工程软件 // Restrictions: --- 限制 // Requirements: FX5U 1.210 要求,CPU型号及固件 // Functionality: CPU、高速模块脉冲输出 功能描述 // Support: 122573251@qq.com 支持 //-----------------------------------------------------------------------------------------------------------// Change log table: 更改日志表 // Version Date Expert in charge // 01.00.00 16.04.2021 ZR 第一个版本 // 01.01.00 25.01.2021 ZR 1.增加软限位及软限位激活配置 // Changes applied 2.增减硬限位激活配置 // 3.增加轴状态输出字 // 01.01.01 09.05.2021 ZR 修改软限位方式 // 01.02.00 10.05.2021 ZR 增加表格功能 // 01.02.01 14.05.2021 ZR 关联伺服使能信号 //======================================================================================== // Function : LAxisCtrlPosAxis //======================================================================================== Copyright © ZR 2023 Page 49 程序设计标准化 编程风格指南 用户库的应用—关于用户库 将多个工程中通用的部件汇总到1个文件中,以便于引用。 可以将库的部件获取到各工程中使用。 • 用户库中可登录以下数据。 • 程序部件(程序块、FB、函数) • 全局标签、结构体 • 模块标签、模块FB Copyright © ZR 2023 Page 50 程序设计标准化 编程风格指南 用户库的应用—创建库 详细内容请察看works3帮助文档 Copyright © ZR 2023 Page 51 程序设计标准化 编程风格指南 用户库的应用—库的应用 详细内容请察看works3帮助文档 Copyright © ZR 2023 Page 52 程序设计标准化 编程风格指南 库--版本管理系统 规则:版本管理系统的定义 正式版本系统(第一个发行版)的版本为V1.0.0(参见表 4-7)。低于 V1.0 的版本通 常为开发版。 在软件版本管理系统中,第三个数字表示版本更改不会影响文档内容。例如,仅更正 了一些错误而无任 何新增功能。 如果对现有功能进行了扩展,则会增加第二个数字。 如果发布新的大版本更新,与之前版本不兼容的版本以及开发出新功能时,第一个数 字将随之递增。 规则:连续版本管理系统 库的版本系统具有连续性。发生变更时,库的版本号通常应递增。另外,块的版本分 配取决于上一个版 本信息。 除此之外,块可以不带库版本号,这是因为块和库的版本 分配相互独立,互不影响(参见以下示例)。 Copyright © ZR 2023 Page 53 程序设计标准化 编程风格指南 库--版本管理系统 库 FB1 FB2 FC1 注释 1.0.0 1.0.0 1.0.0 1.0.0 发布版 1.0.1 1.0.1 1.0.0 1.0.0 FB1 进行了错误更正 1.0.2 1.0.1 1.0.1 1.0.0 FB2 进行了优化 1.1.0 1.1.0 1.0.1 1.0.0 FB1 进行了功能扩展 1.2.0 1.2.0 1.0.1 1.0.0 FB1 进行了功能扩展 2.0.0 2.0.0 1.0.1 2.0.0 FB1 和FC1 中增加了新功 能 2.0.1 2.0.0 1.0.2 2.0.0 FB2 进行了错误更正 3.0.0 2.0.0 1.0.2 2.0.0 FC2 1.0.0 函数FC2 新发布 规则:更新块标头中的更改和版本号 每次发生版本变更时,需在指定位置处进行相应更新(如,在函数的块标头中)。 Copyright © ZR 2023 Page 54 程序设计标准化 编程风格指南 常用命名缩写 Copyright © ZR 2023 Page 55 程序设计标准化 模块化编程 模块化编程优势 模块化编程意在在自动化工程组和最终用户提供连贯性。模块化编程的优势如下: • 应用软件开发的快速性和便捷性。 • 应用软件测试的快速性和便捷性。 • 应用软件更高的可靠性。 • 改善应用软件的维护和操作。 • 提高与其他设备和系统的互操作性。 Copyright © ZR 2023 Page 56 程序设计标准化 OMAC标准 什么是PackML? PackML 是 OMAC Packaging Workgroup (OPW) 提出的行业技术标准。食品和饮料行业等 各个行业都采用了该标准。该标准促进了机器和生产线数据的统一收集,然后用于测量 OEE。 与 PackTag 一起,这两个功能可以对不同制造商的机器进行一致的监视和控制。最新的 ISA88 行业标准包含 OPW 的 PackML 和 PackTags。 优势 统一的监控画面和操作,确保更轻松的全线操作和维护 标准化的监控画面和跨制造商的可操作性,实现生产线中任何具有 熟悉界面的机器的高效操作。 标准化软件以实现更高效的生产线配置 利用嵌入的PackML基本功能(附实施指南支持),通过软件功能 的简单模块化,可以实现各种开发软件的标准化。这有助于提高 新旧生产线的整体效率 IT系统和车间数据标准化管理 PackTags 标准化了与生产数据相关的通信和管理流程,例如机器 状态(正常/错误)和工件数据。无缝集成不同制造商的机器,减 少启动时间和自动启动/停止生产线有助于更有效地排除故障。 通过更轻松地测量 OEE 提高生产力 PackML 支持使用标准化方法从整个车间的各种设备和整条生产线 收集数据。通过简化OEE*1测量,可以提高设备和整条生产线的性 能;只能通过使用 PackML 分析和管理数据才能实现的功能。 Copyright © ZR 2023 Page 57 与IQ平台兼容的PackML 解决方案 程序设计标准化 OMAC标准 Copyright © ZR 2023 Page 58 程序设计标准化 OMAC标准--part1:PackML接口状态管理 ISA-88物理模型 ANSI / ISA - 88.00.01 - 2010 (Ref S88-1)和ANSI/ISA-TR88.00.02-2015 [TR88]通过物理模型定义设 备和机器的级别。PackML机器实现指南只关注下面描述的物理模型中的单元/机器。ISA88物理模型 中的单元/机器相当于一台机器,如卸料机、装袋机、填料机、压盖机、装箱机、码垛机等。 描述了设备的分级机构以及与机构相关的基本控制能力。 Copyright © ZR 2023 Page 59 程序设计标准化 OMAC标准--part1:PackML接口状态管理 互连模型 举例设备 Enterprise/企业 Site/现场 Area/区域 Process Cell/过程单元 Page 60 比如包装线 单元/机器 Unit/单元 Copyright © ZR 2023 生产线 比如灌装机、封口机、贴标机、码垛机 Equipment Module/设 备单元 一个单元/设备的站(装置) Control Module/控制单 元 执行器 比如灌装机的左或右进料 比如传感器、伺服马达、阀 映射到包装设备的ISA88物理模型 程序设计标准化 OMAC标准--part1:PackML接口状态管理 ISA物理模型具有以下级别: • 企业/现场/区域(本文件范围)。 • 过程单元 • • • • 从开始完成生产订单,执行单个配方的整个设备集合。 • 包括一个或多个单元 单元/机器-机器 • 设备模块和控制模块的集合 • 通常以主要的设备为中心 • 通常操作或包含完整的生产订单 • 可以仅操作或仅包含完整生产订单的一部分。 • 一次无法操作或包含一个以上的生产订单 设备模块 • 控制模块或其他设备模块的集合 • 可以执行有限数量的次要加工活动,即阶段 • 包含所有必要的处理设备,以执行这些处理活动 • 例如,设备模块可能包括,例如,循环泵,冷水阀,蒸汽阀和温度控制器。在这种情况下,设备模块将代表温度控制系统 控制模块 • 传感器,执行器,其他控制模块和相关处理设备的集合 • 从控制角度作为单个实体 • 通过其传感器和执行器直接连接到该过程 • 控制模块的示例:阀门,泵,电机,压力控制器,限位开关,...... Copyright © ZR 2023 Page 61 程序设计标准化 OMAC标准--part1:PackML接口状态管理 EmMove EmDrive Sensor Motor Light barrier Motor Light barrier Drive logic V90 Individual control unit (Technical unit) Page 62 Conveyor belt Sensor Abstraction of the real model for analysis Copyright © ZR 2023 Transport logic Technical equipment (Logical unit) Plant unit 程序设计标准化 OMAC标准--part1:PackML接口状态管理 ISA-88 配方管理--单元/机器控制配方参数 与工艺相关的单元/机器参数用于指定该单元/机器必须执行的特定于工艺的任务。与过程相关的单元/机器参数表示单 元/机器应该为特定生产订单做什么,例如胶水量或打印机标签格式。 关于 ISA 88 [Ref. S88-1],此类参数称为控制配 方参数。 本指南中的重点仅是控制配方参数。没有其他配方管理元素在范围内。 控制配方参数代表可以在单元/机器上配置以执行特定任务的特定过程相关参数。例如,一个 码垛机可能具有指定托 盘上的包装模式和层数的参数。 PackML 单元/机器应该能够处理过程相关的机器参数,表示为控制配方参数,这些过程相关的参数。 Copyright © ZR 2023 Page 63 程序设计标准化 OMAC标准--part1:PackML接口状态管理 互连模型 ISA88配方管理 General Recipe/通用配 方 Enterprise/企业 Site/现场 Site Recipe/现场配方 Area/区域 Process Cell/过程单元 Master Recipe/主配方 Unit/单元 Control Recipe/控制配 方 Equipment Module/设 备单元 Control Module/控制单 元 Copyright © ZR 2023 Page 64 ISA物理模型和ISA配方管理 程序设计标准化 OMAC标准--part1:PackML接口状态管理 配方是唯一定义特定产品生产要求的必要信息集,配方与设备之间的关系如图4所示。 • 一种通用配方的材料可以在企业级别维护(ERP系统并定义物料清单– BOM)。 • 一个现场配方和生产的物料,在站点中维护以用于本地物料,语言或生产部门。 • 一条主配方生产线(处理单元)和生产的材料。 • 一份控制配方生产订单,其中描述了为生产一种特定产品而需要在单元/机器中设置的参数。 Copyright © ZR 2023 Page 65 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态模型 • 开始 触发动作的命 令 执行某些操作的 状态 • 启动中 • 完成 动作已完成状 态已完成 PackML状态模型的语法 Copyright © ZR 2023 Page 66 等待或者执行中 的状态=执行 • 执行 PackML接口状态模型基于两个主要元素: n 命令 将机器从一种状态转移到另一种状态的触发器(例 如A机器上的按钮或通过网络发送的外部命令) n 状态 执行状态(单位/机器执行一个动作的状态) 等待状态(单位/机器的稳定状态)等待状态需要命 令进入下一个状态。 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态模型 解除保持 (UNHOLDING ) 解除 已保持 (HELD) 开始 启动中 (STARTING ) 运行 (EXECUTE) 复位中 (RESETTING ) 解除暂停( UNSUSPENDI NG) 复位 SC 完成中( COMPLETING ) 解除 暂停 已暂停( SUSPENDED ) SC 停止 SC 停止中 (STOPPING ) Page 67 已完成 (COMPLETE ) 复位 暂停中( SUSPENDING ) 中止 SC 清除中 (CLEARING ) 清除 PackML接口状态模型 Copyright © ZR 2023 SC 暂停 SC SC 已停止 (STOPPED) SC PackML接口状态模型是一种以标准化方式表示单元/机器 状态的状态模型。接口描述基于状态模型、状态描述和相 关的控制命令。接口状态图(参考ISA TR88.00.02)。 保持中 (HOLDING) 保持 SC 等待状态 (IDLE) SC 已中止 (ABORTED ) SC 中止中 (ABORTING ) 程序设计标准化 OMAC标准--part1:PackML接口状态管理 图案 状态 描述 已保持 已中止 等待状态 – 表示单元上的错误状态,该状态将生成警报或警告。在此状态下,单元/机器不会 生产,直到操作员转换到运行状态。在清除材料堵塞,或在恢复生产之前安全纠正设备故障时, 该状态保持单元/机器操作。 已暂停 等待状态——在这种状态下,设备/机器不生产任何产品。它将停止运行或继续循环而不生产, 直到外部过程条件恢复正常,此时 已暂停状态将转换为解除暂停状态,通常无需任何操作员干 预。 运行 动作状态 - 单元/机器处于稳定的动作状态 - 单元/机器正在生产。 已停止 等待状态(就绪) 已完成 等待状态——一种稳定状态,用于识别单元/机器已达到一组定义的条件。在这种状态下,单 元/机器保持或维持一个状态,直到命令导致转换到正在运行状态。装置/机器是静止的。 复位中 启动中 暂停中 解除暂停中 完成中 保持中 解除保持中 中止中 清除中 停止中 动作状态– 表示某些处理活动的状态,例如速度不断加快()。它意味着以逻辑顺序单次或重 复执行处理步骤,持续有限的时间或直到达到特定条件,例如在启动状态内检查接收数据的质 量和有效性,然后提高速度执行 状态接口模型 Copyright © ZR 2023 Page 68 程序设计标准化 OMAC标准--part1:PackML接口状态管理 序号 单元模型 描述 0 未定义 不是有效的单元模式。 1 生产 这代表了用于常规生产的模式。机器根据操作员直接输入或其他监控系统发出的命令执行相关 逻辑。 2 维护 这种模式可以允许适当授权的人员独立于生产线中的其他机器运行单个机器的能力。这种模式 通常用于故障查找、机器试验或测试操作改进。此模式还允许调整机器的速度(在此功能可用 的情况下)。 3 手动 这提供了对单个机器模块的直接控制。此功能是否可用取决于正在使用的机制的机械约束。此 功能可用于调试单个驱动器、验证同步驱动器的运行、测试驱动器作为修改参数等。 04~31 用户模式01~用户模式28 用户定义的单位模式的要求因机器和应用而异。例如,典型的用户定义单元模式是清洁模式。 模式接口模型 Copyright © ZR 2023 Page 69 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 复位中 复位中 此状态是来自 “已停止“已完成”状态的复位命令结果。 故障和停止原因被复位。重置通常会导致安全装置通 电,并将机器置于空闲状态,等待启动命令。复位命 令通常复位装置/机器的安全装置引起的警报。在此状 态下不应发生危险运动。此动作状态由复位请求触发。 在这种状态下可能会发生停止后的机器移动,例如“重 新归位”。复位按钮必须在正确的时间清除数据,以便 供应商依赖的机器状态管理器确保单元/机器不会从错 误的生产订单的工具和组件开始。 PackML接口“复位中”将启动重置过程,这通常会 导致单元/机器清除数据并将单元/机器置于空闲 状态,其中单元/机器组件通电等待启动命令。 通过重置单元,机器参数将被清除,单元/机器 已准备好接受新的机器参数。例如,操作员已经 更换了工具,并且通过激活重置过程,操作员已 经表明机器已准备好进行生产。重置期间要采取 的措施由机器供应商和最终用户指定。 模型与设备之间映射关系 Copyright © ZR 2023 Page 70 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 启动中 启动中 机器完成启动所需的步骤。此状态是作为启动命令 (本地或远程)的结果进入的。执行此命令后,机器 将开始“执行”。请求启动请求的结果是到“运行”状态。 此状态提供能够启动单元/机器所需的步骤,并 由启动命令触发。启动逻辑将检查单元/机器参 数,如果参数已被接受,则将单元/机器移动到 “运行”状态。启动逻辑将提高速度、压力等,为 生产做好准备。但是,如果参数无效,则启动逻 辑会将单元/机器移动到 “停止中”状态,并且单 元/机器将以“已停止”状态结束。如果机器无法完 成启动状态过程(内部错误),单元/机器将进 入 “停止中”状态并以“已停止”状态结束。启动期 间要采取的措施由机器供应商和最终用户指定。 模型与设备之间映射关系 Copyright © ZR 2023 Page 71 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 运行 运行 机器在处理材料时处于运行状态。不同的机器模式将 导致特定类型的 运行活动。例如,如果机器处于“生产” 模式,执行将导致产品被生产。机器正在以所需的设 定速度生产产品。提示:最好将设定速度作为控制配 方参数存储在产品中的“配方”,以避免由于不必要的阻 塞和缺料而导致速度损失。 设备/机器在满足所有条件的情况下运行,由选 定的模式和/或选定的配方定义。 模型与设备之间映射关系 Copyright © ZR 2023 Page 72 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 保持中 保持中 当内部(在本单元/机器内部,而不是来自生产线上的另一台机器)机器条 件不允许机器继续生产,并且机器由于内部条件离开运行状态,但不阻止继 续当前的情况时使用此状态生产产品订单。这通常用于需要少量操作员维修 才能继续生产的常规机器条件。这种状态可以自动启动,也可以由操作员启 动,并且很容易从中恢复。这方面的一个例子是一台机器,它需要操作员定 期重新填充胶水分配器或纸箱盒,并且由于机器设计,这些操作不能在机器 运行时执行。由于这些类型的任务是正常的生产操作,因此不希望经历中止 或停止序列,并且由于这些功能是机器的组成部分,它们不被视为“外部”。 当处于“保持中”状态时,机器通常会进入受控停止状态,然后在状态完成时 转换到“已保持”。为了在“已保持”状态后能够正确地重新开始生产,在执行 保持中程序时,必须将所有相关的过程设定点和程序在接收保持命令时的返 回状态保存在机器控制器中。并非所有机器错误都会导致机器过渡到保持状 态。例如,如果错误不影响单元/机器上的生产,则单元/机器不应进入 PackML 接口状态-保持中。 OEM 可以在表中确定哪些单元/机器错误和事 件应将单元/机器置于某个 PackML 接口状态。错误和事件应映射到警报和 警告信息。 停止中 机器完成停机状态后通电静止,但停机状态纠正后可 继续当前生产订单。如果适用,与其他系统的所有通 信均正常运行。作为请求受控停止到停止状态的结果。 中止中 可以在任何时候响应中止命令或发生机器故障时进入 中止状态。中止逻辑将使机器快速安全停止,但可以 在中止条件得到纠正后继续当前的生产订单。 “保持中”使单元/机器停止或进入代表特定单元的 保持状态。这是一个内部控制逻辑,在单元/机 器上发生错误或操作员从单元/机器启动保持命 令时执行。保持控制逻辑将单元/机器从运行状 态更改为保持状态。 模型与设备之间映射关系 Copyright © ZR 2023 Page 73 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 解除保持中 机器状态 机器状态描述(依赖供应商的机器状态管理器) 解除保持中状态是对操作员恢复生产命令的响应。 解除保持 解除保持中状态中的控制逻辑准备单元/机器重 中 新进入正常的 运行状态。 解除保持中逻辑将提 高速度、压力等,为生产做好准备。 当使用此状态时,请参阅保持中。当内部条件、材料 缺失等恢复到可接受水平时,机器通常会自动进入 解 除保持中。如果要求操作员进行小规模维修以补充材 料或进行调整,则操作员可以启动解除保持命令。 复位 就绪 启动中 操作员需要处理机器控制面板 (HMI) 上的操作才能返 回 运行状态。操作员已对单元/机器进行受控停止,并 且在这种情况后必须在同一生产订单上重新启动。 清除中 已停止 复位 就绪 启动中 操作员最初启动了安全电路,设备/机器正在快速停止。 操作员需要清除安全电路,并在机器控制面板(HMI) 上处理操作以返回到运行状态。操作员已对单元/机器 进行了紧急停止,并且必须清除紧急停止电路并在同 一生产订单出现这种情况后重新启动 模型与设备之间映射关系 Copyright © ZR 2023 Page 74 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 暂停中 在已暂停等待状态之前需要此“暂停中”状态,并 暂停中 为单元/机器做好准备,例如停止熨烫、停止切 割、停止脱袋等。单元/机器可能以相关的设定 点速度运行,但没有产品被发送到下游的下一个 单元/机器。 机器供应商和最终用户必须指定当 单元进入暂停和暂停状态时必须发生的特殊条件。 装置/机器是否填满其内部产品缓冲区或装置/机 器是否立即停止。将定义当单元/机器进入暂停 状态时要采取的行动。暂停是由于进料内材料不 足或与饱和相关的出料阻塞导致装置/机器无法 执行持续稳定生产的结果。在暂停的受控期间, 单元/机器将转换到暂停状态。 当外部工艺条件(在本单元/机器之外,但通常在同一 条集成生产线上)不允许机器继续生产时,应使用此 状态。通常当机器由于线路上的上游或下游条件而离 开运行时。例如,如果上游设备无法供应材料或下游 设备无法接收材料,则单元/机器从运行状态转换过来。 这种情况可以由本地机器传感器或基于监控系统外部 命令检测到。当处于暂停中状态时,机器通常会进入 受控停止状态,然后在状态完成时转换到已暂停状态。 为了在已暂停状态后能够正确地重新开始生产,在执 行暂停中程序时,必须将所有相关的过程设定点和程 序在接收已暂停命令时的返回状态保存在机器控制器 中。 暂停中 暂停中状态可能由操作员通过外部接口强制执行, 停止中 例如当操作员需要休息时。 机器在完成停止状态后通电并静止。如果适用,与其 他系统的所有通信都在运行。作为请求受控停止到停 止状态的结果。 模型与设备之间映射关系 Copyright © ZR 2023 Page 75 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 解除暂停中 解除暂停 中 何时使用此状态,请参阅“暂停中”。此状态是过程条件 恢复正常的结果。 启动解除暂停中状态,将机器从已 暂停转转换成运行所需的任何必需操作或序列。为了 在已暂停状态后能够正确地重新开始生产,在执行暂 停中程序时,所有相关的过程设定点和程序在接收暂 停命令时的返回状态必须保存在机器控制器中。 机器 从已暂停转换成上游设备或下游设备可以再次接收产 品。例如,当任何线路缓冲变得合理并且机器可以重 新开始生产时,信号可能来自外部线路控制器或传感 器。。 复位 就绪 启动中 操作员已在机器控制面板 (HMI) 上处理了,并返回运 行状态所需的操作。操作员已对单元/机器进行受控停 止,并已重新启动。 解除暂停中 此状态是单元/机器从已暂停状态生成的,返回 运行状态的请求或通过外部接口的 解除暂停命令 的结果。此状态在运行状态之前完成,并为运行 状态准备单元/机器。这种状态的动作可能包括 提高速度、打开真空吸尘器和重新接合离合器。 单元/机器不允许将状态更改为运行,除非外部 命令已设置为等于解除暂停。当单元/机器进入 解除暂停中状态时要采取的操作由机器供应商和 最终用户定义。 取消暂停中场景与单元/机器进入解除暂停状态的方式有关。暂停中状态有两种不同的情况,因此,解除暂停中过程中也有两种情况。 1. 机器控制级别的自动更改,因为指示上游或下游材料缺少或饱和(堵塞)的传感器不再处于活动状态。 2. 操作员想重新启动单元/机器。 模型与设备之间映射关系 Copyright © ZR 2023 Page 76 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 完成中 完成中 当指定数量的产品已被处理时,此状态是运行状态的 自动响应。正常操作已运行至完成,即进料处的材料 处理将停止。例如,该状态也可由操作员在机器控制 上通过按下 HMI 按钮发出。 此状态提供完成作业所需的步骤,通常是由于产 品计数器达到单元中的限制。单元/机器将使可 用的机器参数返回到外部系统。机器参数可以由 外部系统获取,以获取有关单元/机器在执行期 间手动更改或更正数据的信息。机器供应商和最 终用户必须指定当单元/机器进入完成中和已完 成状态时必须发生的特殊条件。例如,单元/机 器是否清空其内部产品缓冲区,或者单元/机器 是否立即停止单元内的产品。在完成期间采取的 行动由机器供应商和最终用户指定。 模型与设备之间映射关系 Copyright © ZR 2023 Page 77 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 停止中 停止中 该状态是响应停止命令而进入的。在此状态下,机器 执行逻辑,使其进入受控停止状态,如所反映的已停 止状态。机器的正常启动无法启动,除非已进行复位。 作为完成受控停止的结果,单元/机器将过渡到停止状 态。 该状态执行控制逻辑,使单元/机器进入受控停 止状态,如已停止状态所反映的那样。单元/机 器可以通过外部接口返回可用的机器参数。机器 参数可用于在执行期间获取有关单元/机器上的 手动更改和更正的信息。机器供应商和最终用户 必须指定当单元进入停止和停止状态时必须发生 的特殊条件。例如,单元/机器是否清空其内部 产品缓冲区,或者单元/机器是否立即停止。 模型与设备之间映射关系 Copyright © ZR 2023 Page 78 程序设计标准化 OMAC标准--part1:PackML接口状态管理 PackML接口状态 PackML接口说明 机器状态 机器状态描述(依赖供应商的机器状态管理器) 中止中 中止中 可以在任何时候响应中止命令或发生机器故障时进入 “中止中”状态。中止逻辑将使机器快速安全停止。中止 是由于按下了急停按钮或需要快速停止装置/机器的机 器故障。 停止中 该状态是响应停止命令而进入的。在此状态下,机器 执行逻辑,使其进入受控停止,如单元/机器停止状态 所反映的那样。除非进行PackML复位中状态,否则无 法启动机器的正常启动。 可以随时进入中止中状态作,作为对 中止命令的 响应。中止逻辑将使装置/机器快速安全停止。 中止逻辑将提供将单元/机器移动到中止状态的 必要动作。当设备/机器进入中止中状态时要采 取的行动将由机器供应商和最终用户定义。 模型与设备之间映射关系 Copyright © ZR 2023 Page 79 程序设计标准化 OMAC标准--part1:PackML接口状态管理 标签 PackTags为基本状态模型中使用的数据元素提供了一组统一的命名约定。 PackTag 是用于开放式架构、自动化机器中可互操 作的数据交换的命名数据元素。本文档包括最终用户数据元素及其数据类型的最小集合。PackTags 用于机器之间的通信,以 及机器和更高级别信息系统之间的数据交换。 Copyright © ZR 2023 Page 80 程序设计标准化 OMAC标准--part1:PackML接口状态管理 Copyright © ZR 2023 Page 81 程序设计标准化 OMAC标准--part1:PackML接口状态管理 Copyright © ZR 2023 Page 82 程序设计标准化 OMAC标准--part1:PackML接口状态管理 Copyright © ZR 2023 Page 83 程序设计标准化 OMAC标准--part6:PackML HMI - 用户界面、警示灯和按钮控件 警示灯标准 标准 PackML 警示灯具有四种颜色的灯,分别为红色、黄色色、蓝色和绿色。标准状态灯映射(如图所示)定义了 在给定当前机器状态的情况下每个灯是关闭、常亮还是闪烁。图中还显示了类似的情况,可自行选择应用的喇叭和 发光的HMI按钮。 Copyright © ZR 2023 Page 84 程序设计标准化 OMAC标准--part6:PackML HMI - 用户界面、警示灯和按钮控件 警示灯标准 标准 PackML 堆栈灯包含四个灯,代表 ANSI/ISA TR88-2021 中描述的 PackML 状态。 如图 7 所示,从上到下排序,灯将根据当前 PackML 状态以特定顺序(即关闭、常亮或闪烁)点亮。 标准顺序——源自 IEC 60204-1:2016 中的指示灯规范——从上到下呈现红色、黄色、蓝色和绿色。 在大多数情况下,在给定的时间内只有灯组中的一个灯会被点亮。但是,当存在保持警告时(例如,即将发生材料 短缺,废品箱接近容量),蓝色灯将开始闪烁,而活动状态灯(例如,红色、黄色或绿色)将保持其当前顺序。 Copyright © ZR 2023 Page 85 程序设计标准化 OMAC标准--part6:PackML HMI - 用户界面、警示灯和按钮控件 警示灯标准 表总结了警示灯活动、相关机器状态以及相关人员对各个设备的责任之间的关系。此外,该表还显示了集成喇叭以 及发光的启动和重置按钮的相关响应。 颜色 顺序 红色 闪烁 中止、中止中或清除中 生产中止-需要注意和复位 红色 常亮 已完成、已停止、停止中或复位中 受控执行停止 操作员 黄色 闪烁 暂停中,已暂停-上游停止 上游设备问题——进料是空的 上游设备 黄色 常亮 暂停中,已暂停-下游停止 下游设备问题(例如,金属探测器、检重秤、 装箱机) 下游设备 蓝色 闪烁 保持警告 正在运行,但机器内部问题需要立即关注 (例如,废品箱接近容量,材料需要补充 操作员 蓝色 常亮 保持中或已保持 机器无法再运行,内部机器问题阻止进一步 生产(例如,剔除箱已满、材料耗尽) 操作员 绿色 闪烁 就绪 需要操作员按启动 操作员 绿色 常亮 启动中,运行,完成中,解除保持中,解除暂停 中 机器正在运行生产 操作员 Copyright © ZR 2023 Page 86 PackML 状态 含义/描述/示例 责任 操作员和/或技术员 程序设计标准化 OMAC标准--part6:PackML HMI - 用户界面、警示灯和按钮控件 按钮标准 机器上使用的按钮控制设备的颜色编码可以根据标准 IEC 60204-1: 1997,“机械安全”进行定义: • 启动按钮的颜色应为白色、灰色或黑色,优先选择白色。绿色也是允许的。不应使用红色。 • 黄色/红色应用于紧急停止。 • 停止按钮的颜色应为黑色、灰色或白色,优先选择黑色。红色也是允许的,但建议不要在紧急操作设备附近使用红色。 不得使用绿色。 • 白色、灰色或黑色是交替用作启动和停止按钮的首选颜色。不得使用红色、黄色或绿色。 • 白色、灰色或黑色是按钮的首选颜色,这些按钮在按下时会触发操作,在释放时会停止操作(例如按住运行)。不得 使用红色、黄色或绿色。 • 复位按钮应为蓝色、白色、灰色或黑色。如果也当做停止按钮功能,白色、灰色或黑色是首选,主要首选是黑色。不 得使用绿色。 Copyright © ZR 2023 Page 87 程序设计标准化 HMI模板套件--概述 系统和机器变得越来越复杂,因此对系统操作员的要求也越来越高。出于这个原因,设计一个直观且具有图形吸引力的用 户界面作为人机之间的链接变得越来越重要。HMI 模板套件为您提供模板和想法,使您的 HMI 操作面板具有清晰和现代 的外观。 Copyright © ZR 2023 Page 88 程序设计标准化 HMI模板套件--色彩与设计理念 概念 扁平化设计是一种极简风格,不使用三维效果(阴影或纹理)。这有助于配置并为操作员提 供清晰度,因为重点仍然放在内容上。 为了获得最佳的可用性和人体工程学,该项目选择了一种简单的颜色概念。颜色: 强调色 用于导航的各种渐变灰色调 主窗口为浅灰色,作为操作区域 强调色用于突出显示标题栏等对象或突出显示活动按钮和选项卡。 灰色阴影用于将导航栏和状态栏与主屏幕的内容区分开来。 主屏幕的背景是明亮的。主要内容因其位于操作面板中间以及与屏幕边缘其他对象的高对比 度差异而引人注目。 Copyright © ZR 2023 Page 89 程序设计标准化 HMI模板套件--色彩与设计理念 颜色 HMI 样式中的以下颜色用于可视化或 HMI 对象。 主色调 颜色 Copyright © ZR 2023 Page 90 状态显示颜色 RGB 功能 0,95,135 颜色 RGB 功能 强调色,蓝色,标题栏 234,206,33 警告色1 218,220,224 亮色,主窗口 231,121,16 警告色2 39,51,56 深灰色,状态栏(背景) 202,51,51 报警 67,77,83 灰色,状态栏(按钮) 133,164,7 状态OK 196,199,204 浅灰色,选项面板,背景 249,247,248 白色,内容板 程序设计标准化 HMI模板套件--HMI模板设计-布局概述 介绍“HMI 模板套件”的设计和概念。预制的操作面板已经包含布局、导航和用户管理,以及信号和诊断系统。 指定导航级别 序号 元素 位置 用途 1 标题栏 显示标题,打开选项面板 2 状态栏 显示重要信息,例如当前配方、登录用户或机器状态显示可以根据机器进 行调整 3 导航栏 一级导航:菜单显示 4 子导航栏 二级导航:屏幕底部边缘的导航栏。在一个机器模块内 5 三级导航栏 三级导航:附加级别,可选 6 四级导航栏 四级导航:附加级别,可选 Copyright © ZR 2023 Page 91 程序设计标准化 HMI模板套件--导航级别详细介绍 一级导航 Copyright © ZR 2023 Page 92 程序设计标准化 HMI模板套件--导航级别详细介绍 二级导航、三级导航 三级导航 二级导航 Copyright © ZR 2023 Page 93 程序设计标准化 HMI模板套件--导航级别详细介绍 四级导航 四级导航 Copyright © ZR 2023 Page 94 程序设计标准化 HMI模板套件--HMI模板元素 标题栏 标题栏位于屏幕的上边缘。它包含一个简短的标题,向工厂的操作员显示它处理的可视化区域。标题应该提供信息。可以 使用右侧的菜单图标激活菜单。 “标题栏”使用强调色。 可访问第一级菜单的标题栏 Copyright © ZR 2023 Page 95 程序设计标准化 HMI模板套件--HMI模板元素 状态栏 “状态栏”位于“标题栏”正下方。 “状态栏”结构各异,向您显示: • 系统不同部分的状态 • 当前正在处理的配方 • 用户 1 3 2 1 不同颜色显示设备状态 4 显示当前登入用户 2 显示设备状态\模式 5 显示设备正常\报警\警告 3 显示当前配方名称 Copyright © ZR 2023 Page 96 4 5 程序设计标准化 HMI模板套件--HMI模板元素 主窗口 操作面板的屏幕边缘用于导航或显示全局功能。工厂的操作区或主窗口位于操作面板的中间。 这是操作员主要关注的区域。为此,在操作面板的主要区域配置机器的可视化。该中心 区域约占 70%。背景颜色为浅灰色。主显示的内容可能包含用于在屏幕内导航的附加选 项卡或控件。 Copyright © ZR 2023 Page 97 程序设计标准化 HMI模板套件--窗口画面 按钮和图标 使用 HMI 样式可确保对每个操作员操作一致地使用相同的元素设计。HMI 模板套件的最小尺寸为 40x40px。这确保所有 按钮都可以通过触摸屏方便、轻松地操作。 Copyright © ZR 2023 Page 98 谢谢! 周仁 Copyright © zhouren 2021 Page 99