那么可以使用多個設(shè)備構(gòu)成一個網(wǎng)絡(luò),在這個網(wǎng)絡(luò)中,為了識別各個不同的設(shè)備,給每一個設(shè)備加上一個標(biāo)志,一般來說把這個標(biāo)志稱作設(shè)備地址。這個總線上的設(shè)備分為主設(shè)備和從設(shè)備兩類。在工作時,從設(shè)備一直在通訊線路上的數(shù)據(jù),并對這些數(shù)據(jù)進(jìn)行分析,當(dāng)收到對自己的請求時,會發(fā)送一個相應(yīng)的應(yīng)答幀。主設(shè)備在工作時會根據(jù)需要向從設(shè)備發(fā)送請求幀,請求一些數(shù)據(jù)或者是發(fā)送一條命令,在發(fā)完請求幀后主設(shè)備需等待從設(shè)備的回答,這個等待的過程有一個超時時間限制。如果過了一定的時間還沒有收到回答,它會認(rèn)為本次通訊失敗,然后按照一定的邏輯判斷是應(yīng)該重發(fā)請求還是放棄。 通訊使用的通訊協(xié)議,分為ASCII 通訊和16 進(jìn)制通訊兩類。PLC 的通訊協(xié)議中大多數(shù)都是使用16 進(jìn)制通訊。而且在串口通訊中,為了保證通訊的正確性、完整性,通常在通訊幀的尾部加上校驗,常見的有和校驗,異或校驗,CRC 校驗等等。 在通訊過程中,上位機(jī)的MCGS 監(jiān)控軟件調(diào)用PLC 驅(qū)動,根據(jù)具體協(xié)議,向PLC 設(shè)備發(fā)送寄存器的讀寫命令,并接收應(yīng)答數(shù)據(jù)。3 主要流程3.1 采集流程 為便于說明,此處以一個采集周期內(nèi)僅需單次采集的簡情況為例。在5.1 中的密集采集模式中,描述了對一周期內(nèi)需多次采集的算法。 采集過程描述如下:首先進(jìn)行初始化,隨后創(chuàng)建通道。進(jìn)入數(shù)據(jù)采集周期,在每個數(shù)據(jù)采集周期中,首先形成讀命令,隨后校驗發(fā)送數(shù)據(jù)幀,讀寫串口完成一次通訊,如果通訊成功,那么校驗后將接收到的數(shù)據(jù)解碼輸出到通道,返回成功標(biāo)識,如果通訊不成功或校驗失敗,返回失敗標(biāo)識。