c语言变量命名规则_浅谈工控软件的符号变量命名规则

话说唐僧师徒被困平顶山莲花洞,金角大王的紫金葫芦着实厉害,孙悟空多次被银角大王用葫芦收了进去。危难之际,悟空变身为毕加索,继续叫阵。

07ee230c4e6f273a8c857c0b5223432e.png

       各位看官,天生娇子_银角大王一战败北,“宝宝太难了,宝宝真是比窦娥还冤。”由此可见名字的重要性。

  2010年以来,随着半导体行业的快速发展,工控行业的产品硬件进行了较大的升级换代,各品牌也推出了与之配套的全新软件平台,像西门子TIA Portal、倍福TwinCAT3、3S公司CoDeSys V3、欧姆龙Sysmac Studio、施耐德EcoStruxure(原SoMachine)等软件平台。全新的软件平台,也在推进PLC/控制器地址从直接变量到符号变量的转变。

  • 常见工控软件平台符号变量命名规则:

1、Siemens西门子TIA Portal

TIA Portal是西门子重新定义的自动化工具平台,最新软件版本16。“博途”变量命名的规则比较宽泛,随意性强:

允许使用字母、数字和特殊符号;不可使用引号(“”);变量名称唯一性。如果命名不合规,会有以下提示:“名称中存在语法错误”。

2、Beckhoff倍福TwinCAT3

TwinCAT3是倍福推出的基于Windows的控制和自动化技术软件系统。其变量命名规则:

变量名以字母或下划线开头,不允许包括空格与特殊字符,不能与关键字相同;变量名不区分大小写。如果命名不合规,会有以下提示:

The name mustbegin with a letter or underscore. The name contains illegal characters. Onlyletters, numbers, space and the underscore are allowed, space will be replacedby underscore.”。(TwinCAT2类似)

3、3S欧德神思CoDeSys V3

CoDeSys V3是由3S(Smart Software Solution)公司开发的独立于设备生产商的基于IEC61131标准的自动化软件,目前最新版本为V3.5 SP15。它支持IEC61131-3标准LD、 FBD 、IL、ST、 SFC、 CFC六种PLC编程语言,支持多种现场总线,支持多任务;它为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如Visual C++);可作为实时扩展软件应用于Windows操作系统(Windows不是实时操作系统,实时操作系统(RTOS)有VxWorks、Windows CE、RT Linux及QNX等)。基于以上特点,其作为一款标准的软件平台,目前与很多工控品牌合作。比如倍福的TwinCAT和施耐德的SoMachine是基于CodeSys平台进行二次开发,同时还有博世力士乐、伊顿、伦茨、欧姆龙等进口品牌,和利时、汇川、研华等国内品牌。其变量命名规则:

变量名不允许包括空格与特殊字符,不能与关键字相同;变量名不区分大小写;允许包含下划线。如果命名不合规,会有提示:“变量名不合法。”。

4、OMRON欧姆龙Sysmac Studio

Sysmac Studio是欧姆龙一款以控制机器整体为目的而开发的软件。其变量命名规则:

可以由英文大小写字符,数字和下划线组成的字符串,最大长度是127字节。第一个字符不是数字、下划线或P_。最后一个字符不是下划线。不能出现连续2个以上下划线在一起。禁止字符:. , ! ” $ % ^ & * ( ) - + = { } [ ] / \ ? # @ ~ ’ ` |; : < > 空格。如果命名不合规,会有以下提示:“变量名不合法。(相关命名规则)”。

5、Pro-face普洛菲斯GP-Pro EX

GP-Pro EX是普洛菲斯推出的一款集成化人机界面画面和逻辑编程软件。其变量命名规则:

可以由英文大小写字符,数字和下划线组成的字符串。第一个字符可以是英文字母或下划线_,不能以数字打头。禁止字符:+  -  * / % & ^ | “  > \ : @ .. , [ ] # ? = &TAB DEL SP 空格。禁止使用了地址格式的字符串。如果命名不合规,会有以下提示:“系统变量名称中含有无效字符。命名符号变量时请勿使用以下字符串。(相关禁止)请定义有效的符号名称。

GP-ProEX支持以上品牌PLC/控制器系统的符号变量导入应用,对导入的PLC/控制器变量有命名规范要求:

变量名以字母、下划线和数字组成。以字母或下划线开头,不可以以数字开头;变量名不能有二义性;最大长度是255字节;不能含有“LSUSERSCRPRT”字符,禁止空格等特殊字符。

  • 常见高级语言的符号命名规范:

  • 常见高级语言的自定义标识符、变量名的规则:

1、  C/C++语言的标识符是由字母、数字、下划线组成,并且数字不能在首位,严格区分大小写。变量名同样遵循这一规则,同时不能使用关键字、预定义标识符和已定义标识符。C语言和C++对标识符和变量名的长度有限制,最常见的限制是32个字符。

2、  JAVA语言标识符必须以字母、下划线、或者美元符$开头,但不建议美元符和下划线开头;后面部分可以由数字组成;变量名不限制长度,但不建议名称太长,建议使用有意义的名字缩写;变量名不可以和java的关键字冲突;命名字母中大小写是有区别的;不建议使用中文或拼音命名。

3、  Python 语言的标识符必须由字母、下划线和数字组成;不能以数字开头,不能与关键字重名;区分大小写。(此处的字母并不局限于 26 个英文字母,可以包含中文字符、日文字符等)

4、  Golang语言的命名必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。首字母的大小写来确定访问权限,无论是方法名、常量、变量名还是结构体的名称,如果首字母大写,则可被其他包访问;反之只能在本包中使用。

  • 几种常见的命名法

以下命名法可视为一种命名惯例,并无绝对与强制,为的是增加识别和可读性。一旦选用或设定好命名规则,在程式编写时应保持格式的一致性。

1、骆驼式命名法(Camel-Case):是指混合使用大小写字母来构成变量和函数的名字。又可分为小驼峰法和大驼峰法两种命名规范。

5f738cb97d8db152e66f006169b0e3ff.png

  1. 小驼峰法:当变量名或函数名是由一个或多个单词组成,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母。myAge、 myWeight、myrName[20]。Java较多采用该命名法。在给C#中的私有成员变量(private)须以小驼峰命名法命名,并以一个下划线开头。

  2. 大驼峰法,即帕斯卡命名法(pascal):当变量名和函式名称是由二个或以上单词构成,将每个单词的首字母大写,用以增加可读性。比如:int UserAge ; float UserWeight; charUserName[20]。在给C#中的公共成员变量(public)、受保护的成员变量(protect)、或内部成员变量(internal)命名时,一般使用帕斯卡命名法。

2、匈牙利命名法(Hungarian)):在变量名前加上对应小写字母的符号标识作为前缀,标识出变量的作用域,类型等,变量名由属性+类型+描述组成,其中属性、类型和描述部分都有对应的字母缩写。广泛应用于象Microsoft Windows这样的环境中Windows 编程中用到的变量(还包括宏)的命名规则。

3、下划线命名法(UnderScoreCase):名称中的每一个逻辑断点都用一个下划线来标记,例如:print_employee。下划线命名法是随着C语言的出现流行,C/C++ 和 python 会使用下划线,在UNIX/LIUNX这样的环境,以及GNU代码中使用非常普遍。

  • 建议统一的、可读性强的符号命名规范:

1、  建议符号变量命名规则:

参考几个主要品牌工控软件平台和高级语言对符号变量命名的要求,建议规则如下:

  1. 名称由字母、下划线和数字组成,不含特殊字符(比如空格等),字母区分大小写。

  2. 名称建议以字母开头,不能以数字开头。名称不能与关键字重名。变量名称唯一性。

  3. 名称字符数建议控制在32个字节以内,字母尽量使用缩写代替(如EStop为急停缩写)。

2、  建议符号变量命名规范:

结合各命名法的特点,为了增强符号变量的识别性、可读性和一致性。建议规范如下:

  1. 标准数据类型符号名称采用小驼峰命名法,即首字母小写,后面的首字母大写。比如整型数据(int),示例cylPosition气缸位置(cylinder可缩写为cyl)。

  2. 用户自定义数据类型符号名称采用大驼峰命名法(pascal),即相关首字母大写。比如结构体(struct),示例MotorTrans输送电机结构体(Transfer可缩写为Trans)。

  3. 下划线_可加强变量可读性,可在突出变量属性或类型中使用。比如变量属性,示例G_errNotice为全局变量;waterTemp_Real为浮点型数据。

  • 规范工控软件的符号变量的意义:

   犹如银角大王遇到了毕加索,即使有再高的天分、再强的配置,也顶不住命名不规范、太随意造成的伤害。规范命名的意义总结以下几点:

  1. 可以在查看和应用符号变量时赏心悦目,给人以愉悦的阅读享受。

  2. 对程序标准化有较强的协助作用。通用性的符号变量命名规则,有助于养成良好的开发习惯,即使更换不同的软件平台也可快速导入。程序后期的可维护性强。

  3. 对工控行业的电气工程师接触高级语言提供了一定基础,在进行高级语言学习、开发或维护时会比较顺畅。

备注:相关资料的整理供大家交流讨论,如有不当之处请包涵,恳请各位不吝赐教。如有侵权之处,请与我方联系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值