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