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