詳細介紹
ABB/07BT62R1
ABB/07BT62R1
主營產品:
DCS、PLC、工業機器人備件、伺服驅動器、輸入輸出模塊、冗余容錯控制系統卡件,Allen Bradley羅克韋爾1756-1785-1771-1784-1746-1747-1757系列模塊1336、1305/1398系列觸摸屏驅動,FXOBORO福克斯波羅FBM模塊,施耐德140模塊,西門子TI系列MOOER模塊,霍尼韋爾DCS卡件,GE、英維思TRICONEX,黑馬HIMA、本特利350系統備件、西屋模塊等。
施耐德plc通訊的套路就是三個功能塊,ADDM ,READ_VAR,WRITE_VAR,下面分別介紹
1、ADDM
ADDM功能塊是地址轉換,就是把PLC 的物理地址轉換成PLC可識別的地址類型,這句話比較拗口,通俗講,就是把字符串型變量,轉換成ADDRESS 型變量,我們還是看例子,圖中紅色圓圈內就是一個字符串型變量 '2,1' *個數字2表示PLC 的串口2,第二個數字1 表示讀取的從站地址,也就是變頻器的地址,而此功能塊就是把此地址轉換成ADDRESS型變量 A1_Add。也許你會有疑問,為什么這么做?我也不知道,此款PLC就是這樣,這就是它的套路,對于此種套路,我們只能牢記。在其他PLC特別是日系,一般是通過設置參數的方式實現,也有使用指令的。
還有一點,黃色熒光筆部分的三個黑點,是表示電路相通,而它正是把轉換好的地址賦值給下面我們要介紹的功能塊。也就是說,讀寫功能塊讀取或寫入變量的從站地址就是使用變量A1_Add。
2 、WRITE_VAR
此功能塊是用于往從站寫數據,也就是寫入變頻器的運行頻率。
這個功能塊的信息量就很大了,我們一點點分析
1 看黃色熒光筆部分 Addr,這個就是從站的地址,也就是變頻器的地址,它是一個ADDRESS型變量,就是我們在ADDM功能塊中轉化的,就是圖一的那三個黑點,就是連接到此處的,這也是CFC的優點,要用的變量輕松一連,而在FBD或是LD 中,我們就要建立一個中間變量傳遞一下了。
2 下面三處用熒光筆表示的 就是此功能塊的精髓了,它表示往變頻器的地址0002開始寫入一個WORD型變量,而寫的這個數值放在PLC變量Fre里,這就是這個功能塊的目的,也是此次通信的目的,執行結果,就是把PLC變量Fre的值,寫到了變頻器的0002里面。當然,此處我們只寫入了一個WORD,其實此功能塊是支持一次寫入125個的,因為Quantity是一個SINT型變量。Fre是一個數組型變量,當我們要一次寫入很多數值的時候,用數組就很方便了。
此處有個知識點,通信只能讀取或是寫入WORD型變量,而WORD型變量的值只能是正數,當我們要讀取或是寫入負數的時候,該怎么辦呢?大家可以思考一下。
3 右邊紅色圓圈是功能塊的輸出,它表示了功能塊執行的各種狀態,它是標準的PLCopen信號(關于PLCopen以后會詳細介紹,今天只介紹與此功能塊有關的)
Done 表示功能塊執行正常后置為TRUE,此處,我們取它的反信號來監控通信狀態,如果超過3S沒有Done信號,我們可以認為此次寫入失敗,那么就代表通信失敗。
Busy表示功能塊執行情況的輸出,如果為高電平,表示功能塊正在執行。我們讀取它的下降沿,來觸發下一次操作。
Error是功能塊的錯誤,可能你會有疑問,為什么通信錯誤不用這個信號呢?其實這個錯誤表示的范圍更廣,它表示功能塊檢測到錯誤就報警,有時候,我們通信正常,但是當我們讀取的數據有問題,或是參數設置不正確時,也會報錯,而我在程序中的錯誤僅僅是通信不上的錯誤,也就是,這個Error表示的范圍更廣泛,它更適合我們調試的時候監控。而我在程序中取的通信錯誤,是在上位機做監控用的。
3、READ_VAR
讀取和寫入的功能塊*一樣,大家可以嘗試自己分析一下。