制定规则在规范化工作流程中的哪个阶段
制定规则处于规范化工作流程的三个阶段中的程序设计规范,它的作用类似于制定标准,是在一个工程项目内,或工厂内,甚至在企业内部约束执行的规范,这样才能起到它所具有的功效。
制定统一规则的意义
意义:
1.对千开发维护人员来说,规则可让无论是谁开发的程序,对千任何人来说都是具有比较强的可读性,非常易于理解,为维护和调试减少了一定难度。
2.规则的制定有利于重复使用的程序转化为库,并在对库的更新迭代过程中可实现版本管理。
3.由于采用了面向机器对象的编程方式,相同的机器具有相同的FB程序块,可通过TIAPortal的SiVArc功能定义机器的画面模板,实现自动生成面面,提高了工程效率。
4.以上说的三点都和效率有关,提高了编程效率、调试效率、以及故障处理效率,Zui终提高的是工程效率和生产效率,无论对于制造商还是Zui终用户都会带来很大的益处。
制定规则能带来哪些益处
对于Zui终用户
统一的规则能让软件更透明,容易使用
使用包含经过反复验证的库,可大大减少错误的产生
可减少程序开发和调试工作
在生产中能更有效的进行故障诊断和处理
可避免发生并行工程,而浪费资源
对于制造商
在相同行业,可制定普遍适用的规则,这有助于在同一行业内,比如汽车行业,保持和提高竞争力
可简化机器管理,便于实现柔性化生产
在统一的规则下,可将复杂的工程任务拆分,有多个工程师协同完成,提高工程效率
也便于通过虚拟调试验证工程设计,缩短设计周期,减少工程风险,达到降低成本的目的
1.命名规则
制定命名规则的对象及语义
在工程项目中命名对象包括硬件,软件,以及网络
硬件包括PLC,HMI,IO模块,分布式IO等
软件对象包括PLC变量,程序块,PLC数据类型,常量等
网络对象则包括子网,如PN/IE子网,Profibus子网,或者是AS-i子网,以及主站系统,如PRIFINETIO系统。
命名的名称在工程项目中可能包含以下信息:公司名称,工厂信息,车间信息...
这些信息互相之间有关联,构成了名称的层级结构,用以清晰理解它所代表的对象是什么,以及它所在的位置。
如上图示例,这个符号结构包含了从公司名称,工厂名称到控制系统硬件的名称,包括PLC,HMI和IO模块,名称中的每个字段都定义他们的含义和取值范围,比如设备类型可定义三个字符,C,D,H,其中C代表控制器,D代表IO设备,H代表HMI设备。
如定义设置的名称:它的符号到设置编号就截止了,我们通过上面的符号信息能获知它是02号控制器,并且知道它所在的位置。
如为IO模块定义符号:可以从他所属的控制器来定义它的位置,名称中可识别它是什么类型的模块,在几号插槽。
这就是我们说的符号名称所表达的语义,语义清晰的符号名称能帮助我们快速高效的引用和识别。
软件对象的命名和组功能
规范化编程中的命名规则主要针对软件对象的命名
语义
命名时名称中的语义可能包含功能,类型,位置等信息,使人能一目了然理解其所代表的含义,功能。
示例:如图中的IO变量名,第一个的名称中有传送带1和指示灯1的含义,就能判断是传送带1中第一个工位的传感器。
组功能
利用博途的分组功能可以更方便快捷是管理查找这些元素。在规范化编程中我们可以按照机器功能单元的层级结构划分程序元素的成组目录结构。
这些呈现的分别是程序块中的成组目录结构,变量表中的成组目录结构,以及PLC数据类型的成组目录结构,可以看出都有Machine目录以及下层Conveyor目录,也就是说这些不同元素的组目录定义规则是相同的,都是基于功能单元的层级结构。
基本命名规则介绍
课程中推荐了一些命名规则供大家参考,在这里叫它基本命名规则,是因为这些规则适用范围广,不局限于行业或某种机器。它所包含的内容有:
- 名称长度
- 首字母的大小写定义
- 前缀
- 特殊字符的使用限制
- 第一个是长度限制Zui多24个字符。
- 第二个是使用英文字符,这里制定使用英文字符的规则的原因,主要是考虑英文字符可区分大小写,名称中包含多层含义时容易断义,就是说容易通过划分单词理解语义。
- 第三个是不包含特殊字符。驼峰命名法
骆驼命名法
它的主要特征是名称中除第一个单词的首字母是小写外,其它单词的首字母都是大写。
骆驼命名法适用于:全局变量,块的接口参数,多重背景数据块以及UDT类型等元素。
示例:jogBackward、jogForward、manualMode
第一个单词的首字母都是小写,JOG中的第一个字母j是小写,manual中的第一个字母m是小写,名称中其它单词的第一个字母都是大写,这样在名称中单词和单词之间有明确的接线,很容易辨识。
再附加一些其它的定义,就完善了骆驼命名法在博途中的应用,如:名称中不能有特殊字符作为连接符
其它的有些特殊元素可对前缀制定命名规则,使用前缀规则可方便识别元素的类型。图片中所列的都是常用到的,包括:
静态变量的前缀小写的stat
临时变量的前缀为小写的temp
UDT类型的前缀为小写的type
多重背景的前缀是小写的inst
帕斯卡命名法
帕斯卡命名法
它与骆驼命名法Zui大的不同就是首字母是大写,它和骆驼命名法适用的元素是完全不同的,包含全局DB,单一背景DB,还有程序块,变量表,监控表等元素。
示例:
组名称Conveyor,FB名称Conveyor,单一背景数据块名称InstConveyor,名称第一个单词的首字母都是大写。
在首字母规则的基础上,还可对单一背景DB的前缀指定命名规则,如前缀定义为Inst,第一个字母是大写,而多重背景的前缀inst中是小写,两个对比具有很直观的辨识度。
其他命名规则
除了以上两个典型的命名法之外,还需要考虑博途中的一些特殊元素的命名。
如数组变量的定义,它的名称定义符合骆驼命名法,但考虑数组代表的是多重变量,可以定义在名称中用名词的复数形式定义,如示例中轴数据axeData,可以在axe后面加个s表示多个轴,符合数组变量的含还有常量定义,它的名称定义不遵守骆驼和帕斯卡命名法的任何一个,定义为全部为大写字母,并且单词之间使用下划线作为连接符。
命名规则检查工具TestSuite
博途的V16版本开始提供一个工具选件:Test Suite
其中的一个功能就是可以检查项目中符号定义是否满足所定义的规则。
在博途中安装这个插件后,可以看到在项目数中提供了一个Testsuite的目录,在它下面还有两个目录:
Styleguide
Application test
分别可用于命名规则检查和程序测试。
命名规则的检查可检查的内容包括:
大小写
包含或不包含的内容
前缀,后缀
名称的Zui大长度
还能检查元素属性中的设置,比如可以检查块号是否自动编号
Test Suite工具使用条件:需要授权。
安装条件:
已经安装了Step7专业版V16的update1的更新包
已经安装了包含有update1更新包的PLCSIM Advanced V3.0
命名规则检查工具TestSuite编辑器
检查规则导出/导入:
在命名的检查规则定义窗口中,可以xml文件的形式导入导出检查规则,这样可在多个博途项目中多次使用,而不需要重复定义了。
示例:面向对象进行骆驼法规则的检查
1.选择检查类型
2.选择检查的对象,示例中检查的对象是PLC变量表中的变量
3.检查目标是名称,在选择大小写检查类型时,目标不可设置
4.类别中可选择错误或警告,示例中选择的是错误,表示检查不符合规则是将报错
5.Zui后可选择这条检查规则启不启用