国产精品久久久久久麻豆一区/夜鲁鲁鲁夜夜综合视频欧美/欧美性专区/pornuxxx

  • ModBus通訊總線在電量監(jiān)測中的應(yīng) 用

    合肥市巢湖水源廠低壓配電房安裝了7臺型號為CD194E-2S4型電力儀表,通過RS485口,用雙屏蔽通訊線將它們與上位機(jī)連接起來,上位機(jī)選用的是研華工控機(jī)。上位機(jī)的通信軟件采用VB6.0的開發(fā)環(huán)境。一般用VB開發(fā)串行通信程序有兩種方法:一是利用Windows的通信API函數(shù);另一種是采用VB標(biāo)準(zhǔn)控件Mscomm來實現(xiàn)。利用API編寫串口通信程序較為復(fù)雜,需要掌握大量通信知識,其優(yōu)點是可實現(xiàn)的功能更豐富、應(yīng)用面更廣泛,更適合于編寫較為復(fù)雜的低層次通信程序。VB通信控件Mscomm提供了功能完善的串口數(shù)據(jù)的發(fā)送和接收功能,Mscomm控件具有兩種處理方式:

    1、事件驅(qū)動方式:由Mscomm控件的OnComm事件捕獲并處理通信錯誤及事件;

    2、查詢方式:通過檢查CommEvent屬性的值來判斷事件和錯誤。Mscomm控件的通信功能實現(xiàn),實際上是調(diào)用了API函數(shù),而API函數(shù)是由Comm.drv解釋并傳給設(shè)備驅(qū)動程序執(zhí)行的,對于VB程序開發(fā)者只需知道Mscomm控件的屬性和事件的用法即可以實現(xiàn)串口的操作。不論采用哪種方法編寫的串行端口通信程序,一般都可分為以下幾個過程:

    一、初始化串行端口

    在初始化程序中,需要設(shè)定好整個幀結(jié)構(gòu)的命令數(shù)組、傳輸波特率、奇偶校驗、停止位,開辟數(shù)據(jù)緩沖區(qū),完成一些必須的串口初始化設(shè)定。

    二、數(shù)據(jù)傳輸

    讀寫串行端口可分四種方式:查詢方式、同步I/O、異步(后臺)I/O和事件驅(qū)動I/O。命令字的發(fā)送應(yīng)該嚴(yán)格按照Modbus規(guī)約所設(shè)計的幀格式和上下位機(jī)在該規(guī)約基礎(chǔ)上所定義的通信協(xié)議來編程。

    三、超時控制

    為了防止意外情況使串口讀寫無休止地等待,必須在程序中設(shè)置超時控制。

    四、CRC校驗的實現(xiàn)

    目前儀表類比較普遍采用的是CRC16校驗碼。其生成多項式為X16+X15+X2+1。在算法實現(xiàn)上,可以先預(yù)置一個16位的寄存器FFFF(全1),然后把8位的2進(jìn)制數(shù)據(jù)(一個字節(jié))與16位的CRC寄存器低8位異或,并把結(jié)果放回CRC寄存器同時寄存器內(nèi)容右移,MSB補(bǔ)0,并檢查移出的LSB。如果LSB為0則繼續(xù)右移動,為1則CRC寄存器與多項式異或。重復(fù)上面操作到一個8bit字節(jié)完成,再繼續(xù)對下一個數(shù)據(jù)進(jìn)行相同處理,直到所有數(shù)據(jù)結(jié)束。這個時候CRC寄存器中的數(shù)據(jù)就是我們所要的CRC碼了。

    下位機(jī)一般是使用固化好通信協(xié)議及工作指令的單片機(jī)。因為測控系統(tǒng)多采用的是單發(fā)多收的通信機(jī)制[4],所以在下位機(jī)要允許用戶預(yù)先設(shè)定本機(jī)的地址碼,并且保證不能重復(fù)。此外,要注意通信波特率必須與上位機(jī)的波特率相匹配。在下位機(jī)軟件開發(fā)中,要遵循Modbus規(guī)約的通信幀結(jié)構(gòu)對上位機(jī)傳輸?shù)拿钸M(jìn)行解析:非呼叫對象應(yīng)能及時重新恢復(fù)等待接受狀態(tài);響應(yīng)呼叫的下位機(jī)要解析命令代碼并進(jìn)行相應(yīng)的功能處理,對非法的命令操作要能回送報錯信息。在具體的工程開發(fā)中,下位機(jī)多是采用各個廠家出產(chǎn)的基于Modbus規(guī)約的智能儀表。這樣雖然簡化了我們開發(fā)的工作量,但是下位機(jī)的合理安排與設(shè)計能降低系統(tǒng)誤碼率、提高可靠性。因此是每個工業(yè)系統(tǒng)設(shè)計人員所不應(yīng)該忽略的重要部分。在工業(yè)控制中,因為各種干擾源的存在且一般下位機(jī)數(shù)量較大,要對RS-485芯片選型有很認(rèn)真的考慮。條件許可的話盡量選用抗電擊和有較大級連驅(qū)動能力的芯片。理論上485芯片的級連能力至少32門,目前很多芯片廠家都能使工業(yè)級的級連數(shù)達(dá)到128以上。在實際應(yīng)用中應(yīng)該讓系統(tǒng)具有一定的富余度,一般級連數(shù)不能超過該器件滿載的70%。在選配RS232到RS485轉(zhuǎn)換頭的時候也應(yīng)該盡量選用有源的轉(zhuǎn)換器,以提高驅(qū)動能力和穩(wěn)定性。此外,工業(yè)現(xiàn)場的降噪、隔離、布線、屏蔽等等措施的合理<

     
     
    網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點導(dǎo)航