這篇文章要探討的是多個連續單點狀態寫入命令,雖然是多個連續單點狀態寫入,但並不像單點控制命令那樣可以寫入抑能/致能狀態,只能寫入ON/OFF狀態。所以這個命令實際上是多點ON/OFF控制命令,而被控制的接點會受到PLC的硬體和程式影響,電腦控制命令的控制權是最小的

 

 

多個連續單點狀態寫入的命令說明如下:

20081017-06  

 

命令寫入字串的組成:起始碼+站號+命令碼+個數+起始單點號碼+連續單點狀態+偵誤碼+結束碼


個數是由2個16進制的數值組成,範圍是00~FF,換算成10進制數值是0~255,而永宏把00當成是10進制數值256,因此實際個數的輸入範圍是1~256


起始單點號碼就是要控制的多個連續單點頭1個編號,要注意的是單點類型後面的數值編碼一定是4位數


同樣要注意的是接點的數量有固定範圍,當起始單點號碼+個數超過接點有效範圍是會通訊錯誤的


連續單點狀態由左至右是以低位元往高位元排列,其中0代表OFF,1代表ON


PLC回應字串的組成:起始碼+站號+命令碼+錯誤碼+偵誤碼+結束碼

 

 

程式控制面版的構成如下:

20081017-01  

接點狀態是以開關陣列組成,在程式內會在轉換成01字串狀態

 

 

完成的程式架構如下圖:

20081017-02  

 

同樣是3格流程控制,起始碼、結束碼、通訊參數和關閉通訊埠等不能更改的部份一樣寫到格子外

 

 

第1格寫入命令的部份

20081017-03  

 

為了預防寫入資料錯誤,接點狀態那邊有多做幾項步驟,以確保寫入的是正確資料


首先把個數的16進制數值字串轉換成10進制數值,這個數值到時要用在把接點狀態的Boolean資料轉成單一接點狀態字串


其次用For Loop迴圈把多個連續單點Boolean狀態轉換成文字,再組成單一字串


接下來就是把所有字串和已算好的偵誤碼組合寫入PLC內

 

 

第2格延遲時間同樣設定在120~200ms即可,但寫入的點數非常多時,設定時間還要再增加,才能完整讀到PLC回應字串

20081017-04  

 

 

第3格同樣用Property Node元件設定為Bytes at Port接收判定PLC回應字串長度


同樣從PLC回應字串的錯誤碼中可以看出是否通訊成功

20081017-05  

, ,

未出師的小工程師 發表在 痞客邦 PIXNET 留言(0) 人氣()