目前PLC中的变量命名没有统一的规则,这方面我们可以参考PC编程,在PC的编程中有如下规则:
l camelCase,又叫骆驼命名法,变量中第一单词首字母小写,后面单词的首字母大写,就像camelCase名称一样。Java、C++等高级语言中普遍使用。
l snake_case,又叫蛇蛇命名法,单词都小写,单词与单词间用下划线隔开。是Python推荐的命名风格
l PascalCase,帕斯卡命名法,源自于Pascal语言。和camelCase相似,不过首字母也大写。几乎在所有的高级语言中,用来命名类名。
l Hungarian,有匈牙利人发明,所以也叫匈牙利命名法。微软早期推荐的风格。现在也基本没人使用。
结论:推荐普通变量,全局变量,共享DB,FC函数用camelCase。而FB用PascalCase,相应的背景数据块则在后面加DB。对于常量用全大写的SNAKE_CASE。有些名字如果传统就是大写,就不要改小写,比如HMI,FC,FB,SV,PV等。在SCL中,建议关键词用小写,系统自带的函数用大写,以区分用户的函数,这个TIA Portal会自动完成。
变量取名
写程序最头痛的事不是组织逻辑关系,而是变量的命名。一个有意义的名字会让程序清晰不少。
l 对于Q输出,都是完成某一动作,最好用动词+名词,或名词+动词。
l 对于I输入,按钮启动电机(push button),可以写成pbStartMotor, 旋转开关(switch button)切换自动手动,可以写成sbAutoMan,限位开关(limit switch)可以写成lsCylinderOut。如果反应一个位置状态,那么就写成名词+形容词或名词+方位。比如lsCylinderOut,vehicleOnLeft等等。最好固定一类词。这次小车叫vehicle,那么下次就不要叫dolly。
l 对于某些bool型变量,很难归类,比如想表达“是否完成”等判断概念,写成hasDone,isGood会比较好。
l 对于M,如果是完成动作,和Q一致,如果是表示状态,和I一致。
l 对于定时器和计数器较难命名,但可以写成以ton或ctu开头的,以区分一般变量。
l 在SCL中,对于循环变量,习惯用i,j,k来表示。
l 对于FC和FB比较麻烦,如果是完成动作,用动词+名词。如果是组织程序,用工位号来代替。
变量的取名很难,这里就不一一列举。