PLC编程规范--命名定义规范标准(第一讲)
目的: 规范自动化设备PLC控制器编程方法,以利于后续产线设备的维护与管理。
一、命名定义规范
规定所有用户自定义名称,必须使用英语或英语缩写 作为名词表达,包含且不仅限于本章节涉及内容。变量定义原则是使其具有自我解释功能。
a) 项目命名规范
为了方便备份和程序查找需要按照如下标准命名项目,再根据日 期来判断最新的备份数据。项目代号,设备供应商代号,生产拉线代号,工序代号都已经存在。工作站代号与PLC的IP站号一致,如图1所示。例如:LCC_M203_L39_020-001。
(图1 项目命名)
b) 变量分割符
综合PLC程序编程软件和触摸屏程序的变量的命名规则,很多符号是禁止使用或者使用中有风险的。比如:/\,<>,!,+等基本都不能使用。变量分割符 统一使用下划线“_”。
c) IO 定义
命名原则:为使得程序的 使用者可以在短时间内定位到触点位置和功能,如图2所示。(Sample: DI_Cleaner_01)
(图2 IO定义)
d) 常量定义
常量的定义使用大写字母和下划线,常量的名称总是以大写字母书写要检测单个单词或缩写,应在单个单词或缩写之间使用下划线。 比如:MAX_VELOCITY。为了保证以后在库中使用这些块,在这些块中仅使用局部常量。这样可以保证在用户程序中编译不会由于缺少程序部件而 导致错误。如图3所示。
(图3 常量定义)
e) 中间变量定义
命名原则:用下横线分隔各个命名部分,第一部分首字母大写 表明功能,第二部分首字母大写表明属性。如果功能简答统一,可只使用一部分,当功能描 述复杂,则按需增加分隔部分,规定首字母大写。如图4所示。
示例:Timer_Operation。
(图4 中间变量定义)
f) FOR等循环因子定义
优先使用: i,j,k,l,m,n。
g) 功能块定义
1) 命名原则
以工 艺功能为首,字母大写,尽可能简略或使用通俗易懂的简称,使用下横线分隔,第二部 分以大写字母表示功能块属性,使用下横线分隔,第三部分以 FB 结尾作为功能块标识。 如图 5 所示。
示例:POSDEV_1S2D2P_FB (单电控,二通二位阀)。
(图5 命名原则)
2) 补充
功能块引脚名称定义,全部使 用大写首字母,优先使用:功能/对象_属性,Xxx_Xxx 的形式。根据复杂意义的需求, 可按需增加分隔,以简洁易懂为原则。
示例:Alarm_Mode
h) 用户自定义结构定义
数据结构的定义相当重要,并尽量统一这些结构,不要顾虑存储空 间,当今的PLC内存足以容纳大量的数据。说明一点的是尽量不要在类的外部定义数据结构 (UDT),而是在类里面定义,虽然会造成不同类中同一结构的重复性定义,但却提高了类的独 立性。
1) 外层结构名称
命名原则:以工艺功能为首,字母大写,尽可能简略或使用通俗易懂的 简称,使用下横线分隔,第二部分以大写字母表示结构属性,使用下横线分隔,第三部 分以 UDT 结尾作为功能块标识。如图 6 所示。
示例:OPMODE_UDT
(图6 外层结构名称)
2) 结构内部命名
命名原则:用下横线分隔各个命 名部分,第一部分首字母大写表明功能,第二部分首字母大写表明属性。如果功能简单 统一,可只使用一部分,当功能描述复杂,则按需增加分隔部分,规则同首字母大写, 如图 7 所示。
示例:Plant_Identifier
(图7 结构内部命名)
今天PLC编程规范小编就分享到这,更多干货后续持续更新,这些都是我们在给客户编写程序必须要遵循的编程标准,大家可以收藏使用,如果遇到问题或者不能理解的地方可以私聊或评论留言,如果喜欢关注小编,点赞转发谢谢!
下篇预告…… (程序结构、程序调用方式、程序树标准、程序结构模板、功能块编程规则等干货内容)
PLC的各种变量怎样使用?
我最早接触“静态变量”的概念是在计算机C语言的编程中,清楚的记得它需要用"static"关键字来声明。静态变量(Static Variable)其实也是一种变量(Variable),因此在介绍静态变量(Static Variable)之前,我们先来介绍下在计算机和PLC的编程中“变量(Variable) ”的概念。
1 什么是变量
所谓“变量 ”,是在程序的运行过程中,其值可以根据某些条件而发生变化的量。与“变量”相对的是“常量(Constant) ”,顾名思义,常量的值在整个程序的运行中保持不变。
变量的名字称为“变量名”,变量名通常是一个助记符,用来表示一个物理地址。在这个地址上存放着变量的值。
变量有两个特性:作用域和生命周期。
2 全局变量与局部变量
变量的作用域是指变量的作用范围,也就是在哪些范围内该变量是有效的。根据作用域的不同,变量可以分为全局变量(Global Variable)和局部变量(Local Variable)。
全局变量在整个程序范围内都有效。
在C语言中,全局变量是在函数外部声明的变量。比如下面C语言代码中的“a”和“x”都是全局变量:
注:由于C语言从上而下执行,全局变量x并不能在函数func1中访问。
在西门子S7系列PLC的编程中,那些存放在公共存储区的变量都属于全局变量。公共存储区包括输入缓存区(I)、输出缓存区(Q)、位存储区(M)、全局数据块(Global DB)、定时器(T)、计数器(C)等等。比如,位存储区的M0.0,你可以在主程序(OB)或子程序(FB、FC)中访问它,它是全局的。
局部变量(Local Variable)是只能在某个子程序(FB或FC)中访问的变量。
也就是说,局部变量是私有的,子程序(FB或FC)只能访问其自身内部定义的变量,而不能访问其它子程序内部定义的变量。
从生命周期来看,全局变量的生命周期是整个程序的运行周期。也就是说,只要PLC还运行用户程序,全局变量就一直有效。
而局部变量的生命周期则取决于其存放的位置。
2 临时变量与静态变量
对于S7系列PLC而言,局部变量有两个存放的位置:临时变量存储区 (堆栈)和背景数据块 (Instance DB)。
临时变量存储区(堆栈),也称为局部变量存储区(Local Memory),用来存放FB或FC在运行过程中的临时变量 。
在S7系列PLC中,FB、FC或者OB都被称为“程序组织单元(POU,program organizational unit)”。PLC为每个POU分配一定数量的临时变量存储区,在S7-300/400 PLC中,这个区域的大小为256字节;在S7-200 Smart PLC中,这个区域的大小为64字节。
临时变量存储区中的变量称为“临时变量 ”,它们只在当前POU运行时有效。当POU运行结束后,该变量将被释放(无法保存)。
注:当POU由于中断而被挂起时,其临时变量会被保存,以便下次中断现场恢复后继续执行。
如果想保存程序运行的中间值怎么办呢?答案是使用静态变量(Static Variable)。
在博途(TIA Portal)环境或Step7开发环境中,功能块(FB)接口有“Static(STAT)”一项。所有在“STAT”栏内定义的变量都将会被存放到背景数据块中。在FB运行结束后,“STAT”中定义的变量不会被释放。这种变量称为“静态变量 ”。如下图中的变量“STAT_test1”和“STAT_test2”:
注:FB中的IN、OUT参数也会保存到背景数据块中。背景数据块中的数据只能被拥有它的功能块(FB)访问。
说到这里,你应该明白了吧?静态变量从作用域上分属于局部变量;从生命周期上来看,它与用户程序的生命周期相同。临时变量也属于局部变量,不过其生命周期短,仅在POU运行的过程中有效。
相关问答
plc变量名的命名规则一般如下?
PLC变量命名一般是根据外围信号然后用拼音首字母和数字来命名,最好是去向一个设备的用一个字母开头。PLC变量命名一般是根据外围信号然后用拼音首字母和数字...
plc生成一个变量要输入什么?
要输入绝对值,就是一个常用的定量要输入绝对值,就是一个常用的定量
三菱plc变量怎么命名?
在三菱PLC编程中,变量的命名应该具有一定的规范性和可读性,以便于程序的编写和维护。一般来说,变量名应该简洁明了,能够准确地反映出变量的含义和作用。同时...
plc变量如何分配?
在PLC(可编程逻辑控制器)编程中,变量分配通常涉及将物理输入/输出信号映射到PLC内存中的变量。以下是变量分配的基本步骤:确定输入和输出信号:首先,需要识...
plc变量类型有哪些?
BOOL布尔类型,值为TRUE和FALSE,意思是真和假,用于逻辑判断二、整型变量三、REAL、LREAL二者都属于浮点类型,不过REAL是32位浮点、LREAL是64位浮点...在实...
在PLC中,符号名寻址是什么意思?主要有几种寻址方式?
符号名寻址实际上可以理解为变量名称寻址,例如AB的PLC,在编辑变量时,需要给每个变量分配名称,地址,描述等等。在编程调用变量时,直接输入变量名称即可,这...
西门子1200plc临时变量?
其实使用临时变量只要注意一点就可以了,即先赋值后使用,因为西门子在调用完FB,FC后并不回收临时变量资源,所以可能被其他FB,FC修改数值。其实使用临时变量只...
wincc怎么查找plc对应的变量?
在WinCC中查找PLC对应的变量可以使用变量窗口。在WinCC导航栏中选择“变量”,在弹出的窗口中选择PLC与其对应的通讯设置,在右侧的变量列表中可以查看到PLC中所...
组态王变量如何与PLC变量对应?
通过设置辅助继电器M,即可实现和组态王对应,假设,我们现在组态王需要做一个点,变量名为“启动”,那么,我们定义变量属性时,就可以选择M继电器,同时,在S7...通...
plc变量和db块怎么关联?
在PLC编程中,变量和DB块之间的关联可以通过以下步骤进行:1创建变量:在PLC编程软件中,创建需要与DB块关联的变量。这些变量可以包括输入、输出或中间变量,...