故事作者:绫

最近创作

看看TA的故事

【周三技术工坊】编程风格指南的八个重要规则

已锁定

总坛主

  • 帖子

    1533
  • 精华

    120
  • 被关注

    237

论坛等级:至圣

注册时间:2019-03-20

钻石 钻石 如何晋级?

【周三技术工坊】编程风格指南的八个重要规则

10018

18

2019-09-03 17:40:19

star star star

        使用SIMATIC控制器或者SIMOTION编程时,程序员的任务是创建一个尽可能清晰可读的用户程序。 每个程序员都会使用自己的方法和策略,例如命名变量或程序块甚至是注释的写法。 不同的程序员的方法和策略创建了非常不同的用户程序,最终会产生各种不同的代码。

        这对程序维护和协作工作会造成一定的困难。因此可以考虑采用一致的编程风格。


        *使用一致的编程风格的优势

        如果有几个程序员在同一个程序上工作,建议坚持使用统一协调的编程风格。 这提供了以下优点:

  • ·一致的连续风格

  • ·易于阅读和理解

  • ·简单的维护和可重用性

  • ·轻松快速的故障排除和纠错

  • ·多个程序员在同一项目中高效工作


  • 规则1: camelCasing表示法定义标识符-比如tempMaxLength

        1. 如果编程风格中没有注明标识符表示法的其他规则

        2. 指南,各自的标识符写在camelCasing中。

        3. 以下规则适用于camelCasing:

                a. 首字母以小字体书写。

                b. 不使用分隔符(如连字符或下划线)。

        4. 如果标识符由多个单词组成,则每个单词的首字母为写成大写字母。


  • 规则2:块的标识符以大写字母开头;实例DB块的前缀使用'inst'/'Inst'

块(OB,FB,FC,DB,背景数据块,TO等)的标识符以大写字母开头

        例如: ConveyorControl

        实例DB块的前缀使用'inst'/'Inst':

        例如:

        单次实例:InstHeater (大写→自己的块)

        多重实例: instTimerMotor(小写→在一个实例中)


  • 规则3:在程序中初始化临时变量

        临时变量(TEMP)必须由用户进行初始化。通常,必须确保在读取临时变量之前始终先初始化或者写入临时变量值。

        Example

        #tempAcceleration := 0.0;

        #tempVelocity := #MAX


  • 规则4:在FC或者FB中,仅使用本地数据变量.FC和FB中不允许访问全局数据

        1. FC和FB中不允许访问全局数据。这包括以下内容:

                a. 访问全局数据块和使用其他实例数据块

                b. 访问标签(标签表)。

        2. 访问数据通过接口进行。


  • 规则5:始终评估错误代码

        如果程序中调用的FC,FB或系统函数提供错误信息和标识,则始终需要对这些信息和标识进行评估。通过设置布尔错误变量来指示错误。


  • 规则6:常量的定义使用大写字母和下划线

        常量的定义使用大写字母和下划线,常量的名称总是以大写字母书写要检测单个单词或缩写,应在单个单词或缩写之间使用下划线。 比如:MAX_VELOCITY。而且应该尽量使用本地常量。


  • 规则7:对于复杂的变量比如需要使用结构体的情况下定义为用户数据类型

        用户定义数据类型的标识符前面带有前缀“type”。


  • 规则8:在程序的开始进行重要信息的注释

        程序代码(SCL,LAD,FBD),需要描述重要的信息,例如:

        //============================================

        // Company// (c)Copyright (year)

        //-----------------------------------------------------------------------------

        // Library: (that the source is dedicated to)

        // Tested with: (test system with FW version)

        // Engineering: TIA Portal (SW version)

        // Restrictions: (OB types, etc.)

        // Requirements: (hardware, technological package, memory needed, etc.)

        // Functionality:(that is implemented in the block)

        //-----------------------------------------------------------------------------

        // Change log table:

        // Version Date Expert in charge Changes applied

        // 01.00.00 dd.mm.yyyy (Name of expert) First released version //============================================

 

 

        更多详细信息,请参考如下文档:

        https://support.industry.siemens.com/cs/us/en/view/109478084


                                                                                              -------来自 西门子技术支持工程师

【周三技术工坊】编程风格指南的八个重要规则 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

自动化so酷

共有80条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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