
通訊部分采用芯片MAX232C與上位機通訊,具體接線如圖4所示。

此通訊電路僅能實現(xiàn)15m的通訊距離,如果需要更長距離通訊,則需先將信號轉(zhuǎn)換為RS422全雙工信號,在計算機一端再轉(zhuǎn)換為RS232接入計算機即可。
2 編程環(huán)境及程序
本系統(tǒng)使用Keil V3.0作為編程環(huán)境(編程環(huán)境介紹見參考文獻(xiàn)),MAXl86采集子程序如下:

開關(guān)量輸入輸出部分的程序在main函數(shù)中,由串口收到的上位機開關(guān)量狀態(tài)數(shù)據(jù)直接作為單片機輸出數(shù)據(jù)輸出到P0口,P0各位作為一個開關(guān)量通過圖3所示的放大電路驅(qū)動各開關(guān)量負(fù)載。單片機開關(guān)量輸入數(shù)據(jù)直接發(fā)送回上位機回顯單片機Pl口各位狀態(tài)。
3 結(jié)束語
本系統(tǒng)通過PCB制板封裝后,調(diào)試正常,16路數(shù)據(jù)采集正常,16路開關(guān)量輸入、16路開關(guān)量輸出正常,工作可靠安全,可脫離上位機單獨使用。如果需要擴(kuò)展輸入輸出端口,只需使用MODBUS協(xié)議將此套系統(tǒng)組成RTU設(shè)備網(wǎng)絡(luò)即可實現(xiàn)。本系統(tǒng)不建議采用多片選通的方式增加輸入輸出口,這樣系統(tǒng)執(zhí)行速度會受到影響,采用STC89C52單片機一片不足5元,為了系統(tǒng)安全可靠的運行,所以采用多片單片機組成MODBUS網(wǎng)絡(luò)來進(jìn)行擴(kuò)展可以增加系統(tǒng)可靠性,而且每個控制模塊出現(xiàn)故障時不影響其他控制模塊的正常運行和通訊。










