記得第一次接觸的plc是西門子的226,當時看到老師通過這么一個灰色的大方塊就能使電機/氣缸/指示燈等東西執(zhí)行不同的動作,感覺很神奇。
參加工作后,因西門子的變頻器價格高,要使用通訊的方式與第三方的變頻器進行通信,查看設(shè)備手冊后,發(fā)現(xiàn)都支持modbus-rtu協(xié)議,既節(jié)約了成本又可以實現(xiàn)需要的功能,就它了??墒墙酉聛韱栴}不斷,解決了pid問題,通信的問題一大堆,要么3號錯誤,要么6號錯誤,看了幫助,看了例程,才發(fā)現(xiàn)輪詢機制沒有做好,好吧,最簡單的使用上個指令的完成位激活下個指令的起始位,不報錯了,心中竊喜,這下可以搞定了吧,結(jié)果讀不到數(shù)據(jù),這又是為什么?一個頭比兩個大!看了老半天資料,靈光一閃,是不是地址不對啊,結(jié)果最終發(fā)現(xiàn)讀取的變頻器的參數(shù)的地址沒有與plc中的地址對應(yīng)上,終于搞定了這個問題。成功通信,可以實現(xiàn)對變頻器的控制,可以讀寫參數(shù),使用效果良好啊,當然項目做成,得到老板嘉獎,來個自駕游,放松下心情,老板還是不錯滴!
還有一次調(diào)試西門子pcs7系統(tǒng),使用的是s7-400fh,需要modbus通信,采購了cp341和硬狗,寫好cfc程序,當然輪詢機制必須沒問題啊,結(jié)果調(diào)試的時候不能和第三方儀表通信,奇怪啊,檢查接線和程序,沒問題,檢查第三方儀表,可以用modscan讀到數(shù)據(jù),百思不得其解?。?br>
后來實在沒辦法,拆了,換一個,結(jié)果拆下來的時候,突然瞄到cp341后面缺了點什么,暈菜,硬狗呢?裝好,搞定,看到了讓人興奮的指示燈的交替閃爍。竊喜后,在db塊中修改個地址參數(shù),繼續(xù)聯(lián)機通信,傻眼了,不能通信了,一個指示燈常亮,這又是為什么?好吧,同事說是不是程序有問題?重新寫,建好兩個db塊,通信,結(jié)果沒有問題,修改了一個db塊中的地址參數(shù),問題又來了,無奈只能求助于西門子工程師,原來是沒有在更改db塊后進行數(shù)據(jù)塊更新。
所以總結(jié)了下:
1:進行modbus通訊時要做好軟件及硬件的準備工作。首先軟件modscan,modsim軟件,也有用vspd的;硬件部分:我們一般都使用筆記本那就需要準備usb-rs232的串口線,我一般用z-tek的,然后就是rs232-rs485的模塊,我一般會用moxa的,有人問買那么貴的干什么,我有慘痛教訓啊,在實驗室環(huán)境下用一般的模塊沒有問題,可以通訊,但是有時在現(xiàn)場就出問題了。
2:第三方設(shè)備通訊參數(shù),特別是地址要搞清楚,然后就是西門子的通訊程序必須做好,注意不管是200還是300、400plc都要做好輪詢機制,300、400plc需要配置硬件狗。接線問題就帶過吧,注意屏蔽等問題,防止電磁干擾等。
3:關(guān)于冗余plc,使用cp341進行驅(qū)動下載時,特別要注意:rack1的cpu需要斷電,rack0 的cpu要處于stop位置,才能下載。
4:關(guān)于300、400plc中對通訊程序的db塊進行參數(shù)修改后必須進行數(shù)據(jù)更新,方法:“視圖”--切換為“數(shù)據(jù)視圖”---“編輯”---“初始化數(shù)據(jù)塊”,然后將修改后的程序下載。