T/JQZN
T/JQZN 002-2025
西门子PLC程序编写规范
嘉兴市机器人与智能装备协会 发布
前言
本标准按GB/T1.1-2009《标准化工作导则第1部分:标准的结构和编写》规定的进行起草.作为组织生产和检验产品的依据,其中的各项技术要求将随技术进步及产品的改进而修改.
本标准由嘉兴市机器人与智能装备协会提出
本标准由麒盛科技股份有限公司、嘉兴一路帮机电技术服务有限公司、嘉兴大学、嘉兴视联智能科技股份有限公司、上海市人工智能技术协会、昆山市人工智能应用创新协会、海宁红狮宝盛科技有限公司、嘉兴子言科技有限公司负责起草.
国、沈力、韩圣贤、潘嘉怡、严欢欢. 本标准主要起草人:蔡孝挺、杨国、陈斌、徐晓华、周毅、周振峰、汪未雅、朱伟民、马维、沈振
本标准批准人:周振峰
本标准为首次发布.
1、目的
规范公司自动化设备在招标、设计、采购、制造、安装、调试验收等阶段的电气程序编写标的,有利于后续产线设备的管理与维护.
2、范围
本规范适用于设备制造商在进行定制项目设计、制造阶段应当遵守的必要环节.
3、定义与缩写
3.1定义
3.1.1总体要求
针对工厂产线自动化设备在PLC控制器程序设计时所涉及的程序结构、变量定义、控制流程等相关内容进行表述
--程序结构 --变量定义--控制流程规范
3.1.2程序结构
针对PLC程序编程结构做出明确的规定
3.1.3变量定义
明确规定了PLC程序变量的命名规范与定义方法
3.1.4控制流程规范
针对产线设备的启动控制、报警操作流程控制做出统一的要求
3.2缩写
3.2.1 PLC
可编程逻辑控制器(ProgrammableLogicController,简称PLC),一种具有微处理器的数字电子设备,用于自动化控制的数字逻辑控制器,可以将控制指令随时加载存储器内存储与运行.可编程控制器由内部CPU,指令及数据存储器、输入输出单元、电源模块、数字模拟等单元所模块化组合成.
3.2.2FC
FC块在PLC中是功能代码(FunctionCode)的简称,它相当于一个函数或子程序.FC块用于执行特定的运算或控制任务,通常不包含自己的数据存储区域,而是在运行时使用临时数据区.FC块可以多次调用,简化了对经常重复发生的任务的编程
3.2.3FB
函数块(FunctionBlock,简称FB)是一种在工业自动化领域中广泛使用的编程概念.它是根据功能划分的程序组织单元,用于实现特定的功能或任务.每个函数块都可以看作是一个独立的子程序,拥有输入、输出和内部变量等参数.
3.2.4OB
OB块,英文名为Organization Block,中文名为组织块,可以视为PLC程序中的主函数(main function),负责协调PLC的各种操作和任务.它的功能涵盖了从CPU启动、程序循环执行到错误处理的多个方面,是PLC程序运行的核心.OB块的执行优先级由编号决定,编号小的优先级高.
4、细则/描述
4.1程序结构
4.1.1程序调用方法
一一功能的主要函数(FC)/逻辑程序需要在启动程序或主流程序中进行调用.一不同功能的函数之间不进行互相调用,而只使用相关数据块变量进行数据交换和逻辑运算.
需要细分的子程序和函数,可以由相关功能的主要函数/程序进行调用.
函数程序调用逻辑应该简洁直观,按照此功能进行独立.如图所示
程序调用方式示意
FB应具有详细的功能说明,且能正确实现每一个对象的控制,其控制逻辑、报警处理、型号交互等应简洁明了、便于查看,确保设备维护人员能快速掌握功能块结构.
4.1.2程序树内容
简易设备及单一功能程序可对其中未使用的模块留空,但应保留组项以保证功能区分的统一. 程序项目树需要进行明确分组,分组依据为程序编程的具体功能,主程序树应包含但不局限以下内容,
a)MasterCopies程序结构模板用于保存程序初始样例,作为编程结构大纲使用,核心控制程序样例同样保存于此程序组中,以便调取和修改使用.b)Type_PLC程序组用于编写核心工艺功能块,规范规定常用于工艺需要尽可能使用封装功能块的功 能的方式编程,每个功能程序组会有不同数量的功能块需要编写,所以Type_PLC程序组中需要再次细分组别,分组结构依据与主程序树相同c)编写Organization_Blocks用于统一调用各功能模块子程序,仅作调用功能,力求简洁高效,不进行d)当使用带安全功能的PLC时,应在Safety程序中编写安全相关逻辑程序.若PLC未集成安全功 逻辑判断及额外功能编程.能,则也将系统安全联锁、急停等相关功能编写在Safety组内.e)调用初始化程序功能块,恢复程序和相关参数至初始状态,检查报警信息是否正常.)程序树目录中每个子程序的注释必须要清楚的解释对应子程序的功能及内容,遵循实际物理工序排布,工位自动程序优先,中间不能穿插功能程序,方便维修人员快速定位目标程序位置处理设备 异常.g)人机界面管理程序组用于在固定显示屏与移动操作面板上实现操作模式管理、画面功能的调用,以及切换操作模式等.h)运行模式程序组用于编写操作模式的调用指令,并且启动不同模式下的顺序控制指令.顺控相关功i 生产信息程序组用于调用生产相关数据功能块和数据块.数据配合HMI设置,将生产信息完整无 能块的函数应该根据不同操作模式,分别存放于操作模式名称相对应的子程序中.误的显示于人机界面.i)诊断信息程序组用于调用系统诊断相关功能函数,将诊断所需的数据块编制在组内,对于需诊断子设备较多的产线,需要对诊断数据块进行分组.
程序数目录示意图
4.1.3编程语言
a)主程序只能用梯形图LAD或者SFC作为编程语言,禁止使用STL、ST及SCL等高级编程语言.b)运算和特殊功能块(和映射相关)可以用高级编程语言(仅限于功能块内或重复功能的子程序,避 免重复调用,功能块不得加密).c)子程序的编写与主程序编写要求一致.
4.1.4编程规则
a)程序中的输入输出型号(I/O),需要建立PLC变量中转,以便在PLC输入输出触点变化时可以快b)自动模式切换到手动状态可单工位复位,跳转步用工序名称加步号. 速修改程序.c)电机气缸等执行机构需在自动切换手动时可在满足安全的情况下进行操作,切换成自动后可正常运行.d)报警类目需细分为:一级报警、二级报警、提示信息,一级报警为设备处于急停状态,此时设备无法进行任何动作,运行指示灯亮红色且蜂鸣器报警,二级报警为对产品的质量/安全、对设备的效 率/DT时间产生影响的故障,指示灯及蜂鸣器状态与一级一致,提示信息为工站缺料提示、保养提示等不影响设备运行的信息.e)报警程序需要置位自锁,人员完成故障确认后并通过按钮完成报价清除.)程序执行机构(伺服、气缸、直线电机等包括但不限于)的驱动信号要有安全限制条件,必须在满 足安全保护条件下才能执行动作(如不满足安全条件需进行信息提示).
4.1.5程序功能要求
a)在程序中建立动作步流程功能块、并且要在HMI中显示当前设备执行的步数,各步序动作当前状态状态(自动运行中、手动中、故障中),需要在HMI中清晰的体现出来,方便维护人员快速定位