热门搜索:
西门子S7-200SMARTCR20s
使用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”。
对西门子故障安全系统有所了解的朋友都知道,西门子的故障安全系统通常都是可以达到较高的安全等级(机械行业较高安全等级要求为PLe或者SIL3)的。因此,我们很多用户或者工程师在选择驱动产品的安全功能时,经常以为系统也是可以达到PLe或者SIL3安全等级的。但实际上,如果大家仔细阅读我们的驱动产品的安全功能的手册或者样本就会发现,我们S120/G120等驱动设备的安全功能其实是只能达到PLd或者SIL2的(表1)。
西门子S7-200SMARTCR20s
表1 驱动产品安全功能列表
有的用户会问,那我们的系统如果用了S120/G120等驱动产品的安全功能,岂不是永远达不到PLe或者SIL3的安全等级了?那我们的设备在评估认证过程中是否还能满足较终要求呢?
这里我们需要说明的是,在西门子的变频器产品的家族中,目前所有的安全功能在标准应用时都是达到PLd或者SIL2安全等级的,但STO功能在特殊情况下,是可以达到PLe或者SIL3的安全等级的。
在此我们给出解决方案的示例供大家参考:
(1)对于单电机的应用,可以采用系统控制驱动系统供电的方式来实现,见图1。
图1 单电机回路的安全驱动解决方案
但注意,这种方式会导致断电后直流环节的电容不再充电,下次变频器重启时应注意预充电时间间隔。
(2)对于多电机的应用,可以采用系统控制电机供电的方式来实现,见图2。
图2 多电机回路的安全驱动解决方案
但对于G120或者新的变频设备,其PLe或者SIL3的解决方案略有不同,并且随着版本的更新,其方案也会有所变化,因此,这里我们不再进行罗列,大家可以随时查询相关的信息。
另外,有的安全功能其实在功能实现的最后阶段,也是进入STO状态,但只有STO的这个过程才有可能达到PLe或者SIL3的安全等级,因此整体安全等级依然达不到PLe或者SIL3。
因此总体来讲,对于驱动的安全功能来讲,只有STO是在一定条件下可以达到PLe或者SIL3的安全等级,其他安全功能都是达到PLd或者SIL2的安全等级,这一点需要大家注意。
西门子S7-200SMARTCR20s