然后用串口接上mudbus通信用的線,電腦用modscan32軟件與PLC通信。通信正常,Modscan上未有任何異常。但是Q0.0輸出燈就發(fā)現(xiàn)有異常。比如原來是亮3秒黑3秒,現(xiàn)在就亮一秒左右,黑5秒或者是亮5秒黑一下。VW2與VW4等參數(shù)都未有任何改動,Modscan上讀出來的也是正常數(shù)據(jù)。
我就想問是不是Modbus通信協(xié)議上會占用或者干擾某些定時(shí)器或者刷新什么東西導(dǎo)致子程序受到干擾。依據(jù)我的觀察,每次modscan32發(fā)出信號至PLC,PLC里子程序的自保電路就會斷開。是不是MBUS_SLAVE在調(diào)用的時(shí)候其他子程序會被刷新么?
主程序
子程序
1、是不是Modbus通信協(xié)議上會占用或者干擾某些定時(shí)器或者刷新什么東西導(dǎo)致子程序受到干擾?
網(wǎng)上modscan32軟件的版本有許多,這種類型的軟件只不過是一款測試通訊軟件,不能用來進(jìn)行精密的控制。這種軟件多用VC、VB等高等語言編制,由于電腦的操作系統(tǒng)運(yùn)行環(huán)境及后臺服務(wù)等各有所異,對于這種軟件的運(yùn)行不能要求其有實(shí)時(shí)性。
2、如果應(yīng)用S7-200的MIRCOWIN的變量監(jiān)視或從S7-200的輸出模板輸出點(diǎn)的指示燈狀態(tài)觀察,判斷程序的運(yùn)行結(jié)果正確,這樣就可以了。
3、如有條件應(yīng)用WINCC或其他正式廠家的組態(tài)軟件進(jìn)行監(jiān)視。如果PLC運(yùn)行正常,這些組態(tài)軟件肯定就能夠顯示正常。
4. Modscan軟件作為測試Modbus的通訊軟件,只需設(shè)置相關(guān)的通訊參數(shù),設(shè)置后按照間隔時(shí)間(缺省為1s)自動發(fā)出Modbus請求,并采用偵聽方式接受從站的響應(yīng),與軟件運(yùn)行平臺無任何關(guān)系,更不會在偵聽方式對PLC的運(yùn)行產(chǎn)生影響。同時(shí),該軟件自動發(fā)布到現(xiàn)在,已經(jīng)經(jīng)過了長期的考驗(yàn),可靠性毋庸置疑。
5. Modscan軟件本省很小,和組態(tài)軟件相比,由于只處理一個(gè)從站的響應(yīng),實(shí)時(shí)性更高。而組態(tài)軟件可能同時(shí)完成一個(gè)串口多個(gè)設(shè)備的輪詢掃描外,還可以需要完成多個(gè)串口或多個(gè)通訊卡的掃描,同時(shí)要完成報(bào)警、趨勢、對客戶機(jī)的響應(yīng)等多中實(shí)時(shí)處理。因此,如果在多任務(wù)處理等方面處理不好,實(shí)時(shí)性根本無法保證。因此,用Modscan測試正常,用組態(tài)軟件不見得就能測試正常。
建議還是檢查PLC程序吧,如果希望確認(rèn)時(shí)否Modscan影響,很簡單,斷開連接,看Q0.0的輸出是否正常,如果不正常,PLC程序問題;如果正常,就需要檢查Modbus從站的中斷程序問題。