首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

工程师精心编写的精彩内容 编程风格指南的八个重要规则

使用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://kuaibao.qq.com/s/20200911A0LCO700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券