西门子s7与wincc变量命名规范

作者:老电工时间:2015-10-23 09:52:36

西门子s7与wincc变量命名规范

其实一个规范的工程项目,所有设备,都应该有位号,所以在变量命名时,最简单的方式是使用位号来命名,而同一位号之下的各种输入输出,手动、自动、启动、停止、打开、关闭、运行反馈、故障、开度、频率等等,就可以统一规范的使用英文了,毕竟这点英文单词数量还不算多。

而具体到位号的命名以及链接了后面的功能点的命名,就不可避免要出现链接符号,综合S7的符号表的命名规则和WINCC的变量的命名规则,很多符号是禁止使用或者使用中有风险的。比如:/\<>!+,;等基本都不能使用。

作为分隔符来说,点(.)是最方便的。但可惜的是,WINCC已经缺省当作是结构变量的分隔符了,如果如链接S7-200,S7-1200的变量,不能使用结构变量,直接通过OPC传输的变量,则无法再使用点(.)
减号(-),现实的文档中经常用,但我说有风险的恰恰就是它。在它上面我曾经吃过亏,一个晚上几个小时,翻来覆去倒腾好几次变量,都是因为这个减号。

测试:
在单独起变量名字时,不管在S7中还是WINCC中,都是合法的可以使用的,但如果使用WINCC7.2的变量表复制粘贴功能,你从WINCC复制到EXCEL还是可以的,但倒过来复制时,所有变量名里面的减号都给变成了下划线(_)。

还有是,如果是模拟量需要进行变量归档,如果又使用了压缩归档,那么在压缩以后,不知道啥时候变量名也给变成了下划线(_)!
是的。原来最好用的是下划线。其实也只有下划线最好用,所以所有人在命名时本来也都喜欢用它,最终一个完整的位号加功能链接起来后的变量就会到泛滥的程度,这就就又出现问题了。比如:
 

LS_DT_8_LEAK_F
LS_DT_9_LEAK_F
LS_DT_12_LEAK_F
LS_DT_13_LEAK_F

这些变量名,在WINCC中使用是没有问题的,但如果我要用到变量前缀功能呢?如果WINCC程序处理中需要通过变量的分隔符来确定位号和功能,这么多下划线可就乱套了。

在去年年底的一个项目中,我曾经非常痛苦的每天晚上花4-5个小时来处理几千个变量的变量表,配合方每发来一次更新的变量表,我就要处理一次,以达到程序可用的规范。更换掉不可以使用的字符,更换掉不合适的使用了下划线的变量。

直到最后,项目已经完工了,突然想到了一个更容易的解决方案,既然滥用下划线,那索性更滥用好了,分隔符的地方,使用连续两个下划线(_ _)可好?
比如上面的变量名就变成:
 

LS_DT_8__LEAK_F
LS_DT_9__LEAK_F
LS_DT_12__LEAK_F
LS_DT_13__LEAK_F

只要和配合方在递交变量点表时提前约定这样一个规范不就OK了么!

然后转过年来,又一个WINCC报表项目,我查了下项目中的变量的命名方式,直接提出了这样的要求,所以变量名字就变成了:
 

FT-2128__L
FT-2128__S
FT-2128__D
FT-2128__M
FT-BCEG01__L
FT-BCEG01__S
FT-BCEG01__D
FT-BCEG01__M


当然朋友在做时是一头雾水,不明白为啥要这样,现在看到这里,应该也明白了吧。
至于变量名中还有的减号,因为变量已经建立,已经既成事实,就只好将错就错了。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc