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