在程序初始化时将
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 以双字型访问,避免了类型转换。
为了避免使用时混淆,最好以明确的符号定义来区分字类型和双字类型。在此强烈推荐
类匈牙利命名法:以前缀指示变量类型,用首字母大写的有意义的英文单词的组合作变量
名。本人习惯用以下缀:的,不用白不用,不用也是浪费了。
;
同理,如果有字节型变量经常需要与字类型变量相互转换,让字节变量占用一个字的
内存宽度浪费一个字节,避免类型转换。