施耐德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来完成,可能就无法如此轻易的实现了。