background image

    在程序初始化时将

 VW0 清零(如果是不需要记忆的变量,直接将 dVarName 清零

也可

)或者在数据块中将 VW0 设置为零。则以后需要以字类型访问变量时就用 wVarName,

需要以双字类型访问变量时就用

 dVarName。完全不需要类型转换。 

    本方法可以极大的减少程序语句数,使程序更简洁、可读性更好,由于不需要做耗
时的类型转换,程序运行效率也得到提高。且数学运算量越大,效率提高越明显。
    
        同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量
占用一个字的内存宽度浪费一个字节,避免类型转换。
               关于第 3 点"使用 SET 指令只执行一次即可,不必每次扫描都执行这个指令,有些工
程人员忽视了这个问题,使用了常规的方法来驱动

SET 指令,无意中增加了 PLC 程序扫描

运行时间

不是很理解

,能不能说得细一点,

               1:如果在 ob 里编写子程序段,是扫描的,但是如果您编写为 FC 调用,那么在
FC 的调用条件没有满足时,FC 中的程序暂时不执行。这也是我所说节省时间的意思。 
     2:PLC 的执行步数根据程序长短会不同,扫描时间会根据执行步数的不同而不同,如
果用一个

mov 指令完成 8 个数字量输出的控制,当然比用 8 个 mov 指令完成 8 个数字量输

出的控制所需要的程序步数少。上海三广数码科技有限公司是一家有着多年测控经验并专门
从事测控技术的公司。主营产品包括电流开关、电流感应开关、电流传感器、电压传感器、电流
变送器、自动烧录机

 。

                添加一个: 
4:避免了类型转换,方法如下: 
  以

S7-200 为例,它的内存格式与我们常用的 PC 机正好相反,它是高字在前,低字在

后的。所以我们可以将字变量放在后两个字节,在程序初始化时将前两个字节清零

(程序的

其它地方不得使用这两个字节

)。 

  如我们定义符号时将字变量定义在

 VW2,同时保持 VW0 的值为零。则程序中可以用

 

VW2 以字型访问该变量,同时也可以 VD0 以双字型访问,避免了类型转换。 
  为了避免使用时混淆,最好以明确的符号定义来区分字类型和双字类型。在此强烈推荐
类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量
名。本人习惯用以下缀:的,不用白不用,不用也是浪费了。

;

  同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的
内存宽度浪费一个字节,避免类型转换。