施耐德PLC通讯程序中巧用常量字KW

在施耐德电气的plc中提供有一定数量的常量字KW,但绝大多数使用者在编程时都未使用过这部分常量字KW,究其原因,一是对常量字KW的功能不熟悉,另外一方面编程时不使用常量字KW同样能完成所需的功能,所以对此也没有重视。
其实,常量字KW的使用非常简单,用好这部分资源对程序的优化,提高程序的效率都有很大的好处。
下面内容将会介绍几种常量字KW在通讯程序中的应用,当然,介绍的内容都是本人经常使用到的,相信常量字KW仍然有许多在此之外的应用,等待我们去发掘。
一、用在通讯的数据区
在与微型打印机等设备进行通讯时,做为主站的Twido PLC经常需要向这些设备发送一些文字数据,一般的编程者习惯将这此固定的文字信息填写到内部字变量MW中,其实,如果将这部分内容填写到常量字KW中可以更好地实现这一功能。下面来看一下两种方式的对比。
用内部变量字MW方式:

用常量字KW方式:
先在常量字表中填写常量字KW:

在程序中将常量字KW表赋值给内部变量表:

可以看到,使用常量字KW编写通讯程序的数据区时,带来的好处是减小了程序的长度,同时也能降低程序的扫描时间。

二、用在通讯的指令填写
在另一篇文章《优化Twido及Micro中与Modbus多子站通讯程序的方法》中介绍的编程方式中(详情请参考该文章),会出现下面的程序段:

如果通讯的子站比较多时,同样的重复程序段也会相应加长,我们可以用常量字KW来减小程序长度,节约内部变量字MW的使用量:
先在常量字表中填写常量字KW:


在程序中调用常量字KW中的地址信息:

在这种情况下使用常量字KW代替内部变量字MW,可以减小程序长度,加快PLC的扫描周期,同时节省了内部变量字MW。
在这里顺便提一下这种通讯地址是连续变化的另外一种处理方法,同样可以可以减小程序长度,加快PLC的扫描周期,同时节省了内部变量字MW。
这里指的“地址是连续变化”是指的从站的地址是连续的,中间没有空的或不存在的从站号的情况,否则只有用常量字KW的方式来优化程序。
先看产生当前通讯地址信息部分:

用程序生成从“0103”开始的一直到“1603”共44个地址加读操作指令的程序段:

程序的原理很简单,如果对此感兴趣,可以自己分析一下这一小段程序。
在使用各种优化手段后,本人为客户编写的一个与22台TeSysU控制器的共44条通讯指令,整个程序的长度一共10个梯级,比用常规的编程方式所得到的程序简短很多。当然,这样的实现方式也是充分结合了Twido PLC的特点实现的,如果使用其它品牌的PLC来完成,可能就无法如此轻易的实现了。