S7-1200_1500 的编程风格指南(翻译带解读)

已锁定

奈泊舟

  • 帖子

    9
  • 精华

    0
  • 被关注

    3

论坛等级:游士

注册时间:2014-04-04

普通 普通 如何晋级?

S7-1200_1500 的编程风格指南(翻译带解读)

8671

8

2019-01-31 16:23:23

文档地址:

S7-1200 和 S7-1500 的编程指南和编程风格指南

文档中有S和R区分,在此作如下翻译:

rule:规则

suggestion:建议

文档参照:

一、基本规则

1、Block/s without errors after compiling.Possible warnings are checked and evaluated.

翻译:编译后,确保块没有报错。警告也应该检查并确认。(规则)

辅助解读:废话。编译不通过怎么下载。

2、All required PLC data types exist in the project/library.   

翻译:项目中或库中包含所有需要的数据类型 。(规则)

辅助解读:废话。需要的功能没有编什么程序。

二、一般说明:

2.1格和客户要求(这个翻译不是很准)

3、Rule violations are documented in the program code and were discussed.

翻译:违反规则应该在讨论后在程序中标记出来。(规则)

辅助解读:当公司标准与客户标准冲突时,需有相应的处理办法。

2.2 TIA Porta的设置:

4、The language is always consistent in PLC programming as well as in the HMI (English, German, ...).  

翻译: PLC程序与HMI中所用的语言应该是始终一致的。(规则)

辅助解读:个人觉得,PLC内最好不要使用中文,但HMI面向中国人的还是使用中文吧。


5、The editing and reference language is set to English (United States).

翻译:编辑和参考语言设定为英语(美国)。(规则)

辅助解读:在中国使用汉语吧。

6、The user interface language used in the TIA Portal is English(United States). 

翻译:TIA Portal用户界面语言使用英语(美国)。(建议)

辅助解读:同上   

7、 Mnemonic (language setting for programming languages) mustbe set to “International”.

翻译:助记符(编程语言设定的语言)必须设置为“国际”。(规则)

辅助解读:默认就是。不设国际,设"德国"更不懂。

8、Tab characters are not permitted in the source text. Indentations must be realized with two space characters.

翻译:源文本中不允许使用制表符Tab。缩进必须使用两个空格符号。(规则)

辅助解读:真个没看懂。不过可在博图中找到设置。“选项”“设置”“常规”“脚本/文本编辑器”。我的V14 SP1默认设置。

 



2.3标识符/助记符

9、The identifiers are all composed in English language. 

翻译:标识符全部使用英语。(规则)

辅助解读:之前在论坛中看到一个讨论编程中使用英文的帖子,个人觉得不错,找到了再贴上。

10、It is not permitted to use identifiers with the same name that only differ in upper and lower case. 

翻译:不允许使用只有大小写区分但名称相同的标识符。(规则)

辅助解读:不点评。

11、Identifiers are defined in camelCasing notation.

翻译:标识符使用骆驼命名法。(规则)

辅助解读:PLC没有统一的命名法,但可以参考PC编程。主要的有三种;

骆驼命名法(camelCase):除第一个单词外,其他单词首字母大写,中间没有其他连接符或空格。西门子推荐全局变量(global tags)、块(FC、FB)形参(Input、Output、InOut、Static、Temp)、多重背景数据块(Multi-instance)和PLC数据类型(UDT)都使用这种命名方法。

帕斯卡命名法(PascalCase):与骆驼命名法的区别是第一个单词首字母也要大写。西门子推荐全局数据块(Global DB)、单个实例背景数据块(Single Instance DB)、程序块(OB、FB、FC)、变量表、监控表、Trace、组合测量、工艺对象等的命名均采用此命名方法。

还有其他命名法,如蛇命名法(snake_case),匈牙利命名法(Hungarian),就不再讨论了。另外,程序命名中用下划线“_”的比较多,西门子对下划线的建议用法仅限于常量,要求全部大写,单词间使用x下划线连接(见第43条)。

资料: Programming Guideline for S7-1200/S7-1500

12、Identifiers have a maximal length of 24 characters.  

翻译:标识符最大长度不要超过24个字节(建议)。

辅助解读:无  

13、special characters or blanks are not used. 

翻译;不要使用特殊标识符和/或空格。(规则)

辅助解读:特殊标识符不容易使用到,但空格要注意。

14、only meaningful identifiers are used.  

翻译:使用有实际意义的标识符。(规则)

辅助解读:引用主题帖【探讨】PLC编码规范, 持续更新的一句话:程序中注释,过去一直认为越详细越好,不过世道变了,现在推荐代码自我注释,也就是说,清晰的代码不要注释也很容易理解,而凌乱的代码即使有注释也不大理解。注释不要去解释某条语句或指令,要写出代码的意图。

15、 the uniform abbreviations are used correctly.  

翻译:正确使用缩写。(建议)

辅助解读:正确使用缩写。

16、only one abbreviation per identifier is used.  

翻译:要求每个标识符只有一个缩写。(建议)

辅助解读: 有没有哪位大侠整理过一些标识符,共享一下。 看西门子库程序,电机(Motor)简称Mtr,阀(Valve)简称Vlv,但没详细的表格。



三、PLC程序

3.1 程序块和外部源文件

(英语原文是Program blocks and sources,个人猜测这个sources是外部源文件。)

17、Only short, functional names are used for blocks.  

翻译:使用简短有实际意义的名字为块命名。(建议) 

辅助解读:同14.

18、All identifiers of blocks start with a capital letter. 

翻译:所有块的标识符第一个字母大写。(规则)

辅助解读:使用PascalCase命名法,参照11点评。   

19、Instances have the prefix “inst” / “Inst”。

翻译:背景数据块加前缀“inst ”或“Inst”,多重背景数据块使用“inst”(骆驼命名法,参照第11点评),单个实例背景数据块使用“Inst”(帕斯卡命名法)(规则)

辅助解读:FB块和FC块使用时,其形式参数命名方式不同。其中Input、Output和InOut不推荐使用前缀,静态变量(Static)使用前缀“stat”,临时变量(Temp)使用前缀temp。这样方便用户区分不同的数据类型,增强程序需可读性。

20.Auto numbering is activated in all blocks.

翻译;所有的块都使用自动编号。(规则)

辅助解读:使用自动编号可避免块重复。



21、The line length in the program editor is max. 80 characters long.

翻译:程序编辑器行长度最大不超过80个字符。(建议)

辅助解读:看资料说为了可读性。

22、No sources (SCL, STL) are used.

翻译:不使用外部源文件。(规则)

辅助解读:还是搞不懂这个源是什么。资料说,为了使用博图完整功能,保证编译,不要使用外部编辑或后来导入的源程序。这个源是刚刚我猜测的那个外部源文件吗?

   


23. SCL is preferably used as programming language.

翻译:SCL是比较好的编程语言。(建议)

辅助解读:

24. If possible, multi-instances are a

S7-1200_1500 的编程风格指南(翻译带解读) 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15100条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。