吐槽
這既要保證梯形圖是對的,還要保證接線是對的,總是報錯error事件3,還要去猜是哪里錯了,真的難。
硬件接線
1.PLC接線
西門子的PLC 200-smart自帶一個RS485的接線孔,如圖:這本例中使用RS485中的半雙工模式,即圖中的RS485-2W(二線制)。
參考:RS485針腳pin腳功能說明以及常見pin腳解法的解釋
PLC實物接線如圖:
2.儀表接線
首先看儀表手冊,這個很重要,本例中儀表手冊的接線定義圖如下:(DATA+, DATA-,邏輯地。其實就對應A, B, 地)
然后照著儀表對應接線,實物接線圖如下:
軟件編程
1.儀表設置
這步概況地說就是邊寫邊查手冊。手冊功能參數表如下:
本例中對應為:30-1,31-1,32-0,33-4,34-01。即全部為默認參數,MODBUS-RTU協議的19200波特率,從站地址為01。這部分的參數對應梯形圖編程時的MBUS_MSG的填寫。
2.STEP7的梯形圖編寫
2.1.從庫中拖出來之后,鼠標放在上面摁F1可以查看幫助和說明,這里不一一講解參數意義。只對重要的幾點進行說明。
梯形圖完整如下
2.2.查儀表手冊得知測量值的存放地址。
這里我想讀取long型地址,則為十六進制的606,但是。。。
在MBUS_MSG中Addr里填寫的地址需要是:
(40001+(儀表中的對應地址轉換成十進制,例如0x606=1542)1542=41543)
2.3.這個程序中,我通過I0.0的輸入產生一次讀取訪問,結束時數據存在VB100開始的連續兩位(即VB100和VB101,也就是VD100)。之后用I0.1輸入去MOV_D就可以在運行的時候看到結果了。
心得
這種下位機之間的通訊,最好還是先買轉接口讓兩個下位機(儀表和PLC)和電腦連接,確定各自連接訪問沒問題后(用串口調試軟件),再試他們兩個的連接。