回复:关于博图程序设计规范指南V2.0

已锁定

贤贤易色

  • 帖子

    1280
  • 精华

    6
  • 被关注

    57

论坛等级:奇侠

注册时间:2016-05-15

黄金 黄金 如何晋级?

发布于 2021-11-10 21:46:13

14楼

展开查看
以下是引用HITIAR在2021-11-10 20:19:11的发言 >13楼

个人觉得有这几个建议比较好:

1、AL002建议:定义从0到常数值的数组边界

数组边界从0开始,以一个符号常量作为数组的上边界结束。

? 对于块内部的数组,必须在块接口的本地数据中定义常量

? 对于全局数据块和PLC数据类型中的数组,用作上限的常数必须在PLC变量表中定义

? 常量以及用于访问数组元素的索引的数据类型,从性能方面的原因应使用DINT

示例:

BUFFER_UPPER_LIMIT DINT 10

diagnostics Array[0.. BUFFER_UPPER_LIMIT] of typeDiagnostics

说明: 数组索引以0开头有几个好处:(1)某些系统指令和数学运算是基于零开始工作的,例如模函数,通过这种方式,索引可以直接用于此类函数而无需进行任何调整。(2)WinCC(Comfort,Advanced,Professional and Unified)可以处理脚本中基于零的数组。

在数组边界不能以零为基础的情况下,则应将符号常量用于上限和下限。

2、DA008规则:输出参数只写一次

每个执行周期只写入一次输出变量和返回值。 这应在可能的情况下,在函数块的末端集中进行。

不允许读取自己的输出参数或返回值,必须使用临时或静态变量。

说明: 这样可以确保所有输出值的一致性。


DA008规则   这个规则不错.....如果用SCL写,可能一个变量,重复好多次,..达到条件给变量赋值1,或者0...如果像叙述事情的方式来,后期看程序相当麻烦,像是贴膏药.... 如果汇总到一个地方则清晰许多.   但是我又想到另一个疑惑,,,,返回值每个周期只一次..如果我变量是反馈错误的如何处理,假如电机过流(反馈16#7),以及联锁信号同时到来(16#8)..是先显示那一个呢?这个程序该如何解决呢?那位大神提供下思路.

养活一团春意思,撑起两根穷骨头
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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