在施耐德電氣的plc中提供有一定數量的常量字kw,但絕大多數使用者在編程時都未使用過這部分常量字kw,究其原因,一是對常量字kw的功能不熟悉,另外一方面編程時不使用常量字kw同樣能完成所需的功能,所以對此也沒有重視。
其實,常量字kw的使用非常簡單,用好這部分資源對程序的優(yōu)化,提高程序的效率都有很大的好處。
下面內容將會介紹幾種常量字kw在通訊程序中的應用,當然,介紹的內容都是本人經常使用到的,相信常量字kw仍然有許多在此之外的應用,等待我們去發(fā)掘。
一、用在通訊的數據區(qū)
在與微型打印機等設備進行通訊時,做為主站的twido plc經常需要向這些設備發(fā)送一些文字數據,一般的編程者習慣將這此固定的文字信息填寫到內部字變量mw中,其實,如果將這部分內容填寫到常量字kw中可以更好地實現這一功能。下面來看一下兩種方式的對比。
用內部變量字mw方式:
用常量字kw方式:
先在常量字表中填寫常量字kw:
在程序中將常量字kw表賦值給內部變量表:
可以看到,使用常量字kw編寫通訊程序的數據區(qū)時,帶來的好處是減小了程序的長度,同時也能降低程序的掃描時間。
二、用在通訊的指令填寫
在另一篇文章《優(yōu)化twido及micro中與modbus多子站通訊程序的方法》中介紹的編程方式中(詳情請參考該文章),會出現下面的程序段:
如果通訊的子站比較多時,同樣的重復程序段也會相應加長,我們可以用常量字kw來減小程序長度,節(jié)約內部變量字mw的使用量:
先在常量字表中填寫常量字kw:
在程序中調用常量字kw中的地址信息:
在這種情況下使用常量字kw代替內部變量字mw,可以減小程序長度,加快plc的掃描周期,同時節(jié)省了內部變量字mw。
在這里順便提一下這種通訊地址是連續(xù)變化的另外一種處理方法,同樣可以可以減小程序長度,加快plc的掃描周期,同時節(jié)省了內部變量字mw。
這里指的“地址是連續(xù)變化”是指的從站的地址是連續(xù)的,中間沒有空的或不存在的從站號的情況,否則只有用常量字kw的方式來優(yōu)化程序。
先看產生當前通訊地址信息部分:
用程序生成從“0103”開始的一直到“1603”共44個地址加讀操作指令的程序段:
程序的原理很簡單,如果對此感興趣,可以自己分析一下這一小段程序。
在使用各種優(yōu)化手段后,本人為客戶編寫的一個與22臺tesysu控制器的共44條通訊指令,整個程序的長度一共10個梯級,比用常規(guī)的編程方式所得到的程序簡短很多。當然,這樣的實現方式也是充分結合了twido plc的特點實現的,如果使用其它品牌的plc來完成,可能就無法如此輕易的實現了。