相關(guān)產(chǎn)品推薦更多 >>
花生油流量計(jì)和計(jì)算機(jī)間的通信協(xié)議分析介紹
點(diǎn)擊次數(shù):1955 發(fā)布時(shí)間:2021-01-19 14:38:34
花生油流量計(jì)通過(guò)串行RS一485標(biāo)準(zhǔn)總線與站內(nèi)PC機(jī)連接。在進(jìn)行數(shù)據(jù)傳輸時(shí),站內(nèi)PC機(jī)先發(fā)出地址幀對(duì)指定的節(jié)點(diǎn)設(shè)備尋址,在得到確認(rèn)之后向選中的節(jié)點(diǎn)設(shè)備發(fā)送命令及參數(shù),或者接收節(jié)點(diǎn)設(shè)備采集的數(shù)據(jù)。為了滿足簡(jiǎn)單實(shí)用的要求,根據(jù)RS一485數(shù)據(jù)總線通信的特點(diǎn)可以將節(jié)點(diǎn)的花生油流量計(jì)和站內(nèi)PC機(jī)間的通信協(xié)議分為三層:物理層、數(shù)據(jù)鏈路層、報(bào)文層。
一、物理層
花生油流量計(jì)等節(jié)點(diǎn)設(shè)備和站內(nèi)PC機(jī)之間的通信符合RS一485電氣規(guī)范。采用平衡式差分長(zhǎng)線驅(qū)動(dòng),半雙工。通信介質(zhì)采用雙絞線或同軸電纜。
二、數(shù)據(jù)鏈路層
花生油流量計(jì)等節(jié)點(diǎn)設(shè)備和站內(nèi)PC機(jī)間的通信采用異步串行通訊控制規(guī)程,并采用地址位喚醒握手協(xié)議。因此在協(xié)議中規(guī)定了傳地址和傳數(shù)據(jù)兩種不同的幀格式,如圖.64所示。地址幀和數(shù)據(jù)幀由11位構(gòu)成,幀格式為l位起始位,l位停止位,8位數(shù)據(jù)位,1位*9位。我們將*9位設(shè)定為“地址/數(shù)據(jù)指示位”,用來(lái)區(qū)分所發(fā)送/接受的幀信息是地址幀還是數(shù)據(jù)幀。*9位為1,表示PC機(jī)發(fā)送/接受的是“地址幀”*9位為O,表示主機(jī)發(fā)送/接受的是“數(shù)據(jù)幀”。命令幀與校驗(yàn)和的發(fā)送格式與數(shù)據(jù)幀相同,因此可由數(shù)據(jù)幀演化得到。
三、報(bào)文層
在花生油流量計(jì)等節(jié)點(diǎn)設(shè)備和C機(jī)通信的過(guò)程中,由地址幀、命令幀、數(shù)據(jù)幀、校驗(yàn)和可組成各種功能不同的報(bào)文。由于采用主從工作方式來(lái)實(shí)現(xiàn)通信,花生油流量計(jì)等節(jié)點(diǎn)設(shè)備僅能接收并執(zhí)行PC機(jī)發(fā)送來(lái)的控制命令,而不能發(fā)送命令給PC機(jī)。因此,由PC機(jī)發(fā)往流量計(jì)等節(jié)點(diǎn)設(shè)備的報(bào)文一般包括一個(gè)地址幀,一個(gè)命令幀,若干個(gè)數(shù)據(jù)幀和一個(gè)校驗(yàn)和,其報(bào)文格式圖.6a5所示;而由流量計(jì)等節(jié)點(diǎn)設(shè)備發(fā)往PC機(jī)的報(bào)文一般包括一個(gè)地址幀,若干個(gè)數(shù)據(jù)幀和一個(gè)校驗(yàn)和,其報(bào)文格式如圖6.5b所示。
由于RS一485電氣標(biāo)準(zhǔn)規(guī)定每段只能聯(lián)結(jié)犯?jìng)€(gè)節(jié)點(diǎn)設(shè)備,因此可用地址幀中五個(gè)二進(jìn)制位表示這32個(gè)地址,其余3位用來(lái)表示命令,從而構(gòu)成地址命令幀。對(duì)于控制命令需求不超過(guò)八個(gè)的通信系統(tǒng),采用地址命令幀可壓縮報(bào)文長(zhǎng)度提高通信效率。在污水網(wǎng)絡(luò)監(jiān)控系統(tǒng)中,花生油流量計(jì)和PC機(jī)通信的主要目的是將流量計(jì)中的有用數(shù)據(jù)讀到PC機(jī)中。這些數(shù)據(jù)包括:總累積流量、正向累積流量、反向累積流量、瞬時(shí)流量。通信時(shí),PC機(jī)只需向花生油流量計(jì)發(fā)送讀總累積流量、讀正向累積流量、讀反向累積流量、讀瞬時(shí)流量命令即可,因此二者間通信所用的地址幀和命令幀可合二為一,用一個(gè)地址命令幀代替。PC機(jī)和花生油流量計(jì)間的地址命令幀定義如圖.66所示。根據(jù)污水網(wǎng)絡(luò)監(jiān)控系統(tǒng)中PC機(jī)與花生油流量計(jì)間通信的特殊性,二者通信所使用的報(bào)文可簡(jiǎn)化為圖.67的格式。
四、通信規(guī)程
采用地址喚醒握手協(xié)議后,流量計(jì)和PC機(jī)間的通信按照下面甲乙機(jī)間的通信規(guī)程進(jìn)行。在通信規(guī)程中,甲機(jī)代表網(wǎng)絡(luò)中的PC機(jī),乙機(jī)代表網(wǎng)絡(luò)中的花生油流量計(jì)。通信規(guī)程中的3個(gè)通信重復(fù)計(jì)數(shù)器及其所對(duì)應(yīng)的通信出錯(cuò)信息各不相同,以便于通信出錯(cuò)原因的查找確定。甲機(jī)和乙機(jī)間具體通信規(guī)程如下:
甲機(jī):為了得到花生油流量計(jì)中的有用數(shù)據(jù),甲機(jī)*先向網(wǎng)絡(luò)中發(fā)出與流量計(jì)通信地址相關(guān)的地址命令幀,以啟動(dòng)一次數(shù)據(jù)通信。
乙機(jī):接收到與地址有關(guān)的幀信息后,乙機(jī)將幀信息中的地址與本身所分配的網(wǎng)絡(luò)地址相比較。如果幀信息中的地址與其本身的網(wǎng)絡(luò)地址一致,乙機(jī)建立甲乙機(jī)間的鏈路連接并從幀信息中讀取命令,然后向甲機(jī)發(fā)送包含本身地址的地址幀,進(jìn)入等待回應(yīng)信號(hào)狀態(tài);否則,乙機(jī)忽略得到的地址信息,不做任何反應(yīng)。
甲機(jī):如果在發(fā)送完地址命令幀的1秒內(nèi)甲機(jī)沒(méi)有收到地址幀,甲機(jī)發(fā)送地址命令幀重新啟動(dòng)一次通信。收到乙機(jī)發(fā)回的地址幀后,甲機(jī)將地址幀中的地址與曾經(jīng)發(fā)出的地址相比較。如果地址相同,甲機(jī)向乙機(jī)發(fā)送oCC(H11oO11O0)數(shù)據(jù)幀做為回應(yīng)信號(hào);否則,甲機(jī)重新發(fā)送地址命令幀。
乙機(jī):發(fā)送完地址幀的乙機(jī)接到數(shù)據(jù)幀后,判斷數(shù)據(jù)幀中是否存在n和00的組合連接。如果存在,則表明該信息是回應(yīng)信號(hào),乙機(jī)按照命令要求發(fā)送*一個(gè)數(shù)據(jù);否則,乙機(jī)將該信息忽略,繼續(xù)等待甲機(jī)的回應(yīng)信號(hào)。
甲機(jī):如果在發(fā)送完回應(yīng)信號(hào)的1秒內(nèi)甲機(jī)沒(méi)有收到數(shù)據(jù)幀,甲機(jī)發(fā)送地址命令幀重新啟動(dòng)一次通信。當(dāng)?shù)刂访顜闹匕l(fā)次數(shù)已達(dá)到3次仍未得到數(shù)據(jù)幀時(shí),甲機(jī)放棄通信任務(wù)并發(fā)出通信出錯(cuò)信息。收到數(shù)據(jù)幀后,甲機(jī)向網(wǎng)絡(luò)中發(fā)送OCCH(11001100)數(shù)據(jù)幀做為回應(yīng)信號(hào),以通知乙機(jī)發(fā)送下一個(gè)數(shù)據(jù)幀信息。
乙機(jī):發(fā)送完數(shù)據(jù)的乙機(jī)接到數(shù)據(jù)幀后,判斷數(shù)據(jù)幀中是否存在11和00的組合連接。如果存在,則表明該信息是回應(yīng)信號(hào),乙機(jī)發(fā)送下一個(gè)數(shù)據(jù);否則,乙機(jī)將該信息忽略,繼續(xù)等待甲機(jī)的回應(yīng)信號(hào)。
甲機(jī):如果在發(fā)送完回應(yīng)信號(hào)的1秒內(nèi)甲機(jī)沒(méi)有收到下一個(gè)數(shù)據(jù)幀,甲機(jī)重發(fā)回應(yīng)信號(hào)OCCH。當(dāng)回應(yīng)信號(hào)的重發(fā)次數(shù)已達(dá)到3次仍未得到數(shù)據(jù)幀時(shí),甲機(jī)放棄本次通信,然后重新啟動(dòng)一次讀取該數(shù)據(jù)的通信。當(dāng)同一通信重新啟動(dòng)3次仍不能正常時(shí),甲機(jī)放棄通信任務(wù)并發(fā)出通信出錯(cuò)信息。
乙機(jī):當(dāng)發(fā)送完*后一個(gè)數(shù)據(jù)幀(校驗(yàn)和)后,乙機(jī)退出甲乙機(jī)的鏈路連接,結(jié)束一次通信。
甲機(jī):收到*后一個(gè)數(shù)據(jù)幀(校驗(yàn)和)后,甲機(jī)將已收到數(shù)據(jù)累加得到的校驗(yàn)和同收到的校驗(yàn)和進(jìn)行比較。如果兩個(gè)校驗(yàn)和的數(shù)據(jù)一致,甲機(jī)結(jié)束本次通信;否則,甲機(jī)重新啟動(dòng)一次通信。當(dāng)同一通信重新啟動(dòng)3次仍得不到正確數(shù)據(jù)時(shí),甲機(jī)放棄該通信任務(wù)并發(fā)出通信出錯(cuò)信息。
一、物理層
花生油流量計(jì)等節(jié)點(diǎn)設(shè)備和站內(nèi)PC機(jī)之間的通信符合RS一485電氣規(guī)范。采用平衡式差分長(zhǎng)線驅(qū)動(dòng),半雙工。通信介質(zhì)采用雙絞線或同軸電纜。
二、數(shù)據(jù)鏈路層
花生油流量計(jì)等節(jié)點(diǎn)設(shè)備和站內(nèi)PC機(jī)間的通信采用異步串行通訊控制規(guī)程,并采用地址位喚醒握手協(xié)議。因此在協(xié)議中規(guī)定了傳地址和傳數(shù)據(jù)兩種不同的幀格式,如圖.64所示。地址幀和數(shù)據(jù)幀由11位構(gòu)成,幀格式為l位起始位,l位停止位,8位數(shù)據(jù)位,1位*9位。我們將*9位設(shè)定為“地址/數(shù)據(jù)指示位”,用來(lái)區(qū)分所發(fā)送/接受的幀信息是地址幀還是數(shù)據(jù)幀。*9位為1,表示PC機(jī)發(fā)送/接受的是“地址幀”*9位為O,表示主機(jī)發(fā)送/接受的是“數(shù)據(jù)幀”。命令幀與校驗(yàn)和的發(fā)送格式與數(shù)據(jù)幀相同,因此可由數(shù)據(jù)幀演化得到。
三、報(bào)文層
在花生油流量計(jì)等節(jié)點(diǎn)設(shè)備和C機(jī)通信的過(guò)程中,由地址幀、命令幀、數(shù)據(jù)幀、校驗(yàn)和可組成各種功能不同的報(bào)文。由于采用主從工作方式來(lái)實(shí)現(xiàn)通信,花生油流量計(jì)等節(jié)點(diǎn)設(shè)備僅能接收并執(zhí)行PC機(jī)發(fā)送來(lái)的控制命令,而不能發(fā)送命令給PC機(jī)。因此,由PC機(jī)發(fā)往流量計(jì)等節(jié)點(diǎn)設(shè)備的報(bào)文一般包括一個(gè)地址幀,一個(gè)命令幀,若干個(gè)數(shù)據(jù)幀和一個(gè)校驗(yàn)和,其報(bào)文格式圖.6a5所示;而由流量計(jì)等節(jié)點(diǎn)設(shè)備發(fā)往PC機(jī)的報(bào)文一般包括一個(gè)地址幀,若干個(gè)數(shù)據(jù)幀和一個(gè)校驗(yàn)和,其報(bào)文格式如圖6.5b所示。
由于RS一485電氣標(biāo)準(zhǔn)規(guī)定每段只能聯(lián)結(jié)犯?jìng)€(gè)節(jié)點(diǎn)設(shè)備,因此可用地址幀中五個(gè)二進(jìn)制位表示這32個(gè)地址,其余3位用來(lái)表示命令,從而構(gòu)成地址命令幀。對(duì)于控制命令需求不超過(guò)八個(gè)的通信系統(tǒng),采用地址命令幀可壓縮報(bào)文長(zhǎng)度提高通信效率。在污水網(wǎng)絡(luò)監(jiān)控系統(tǒng)中,花生油流量計(jì)和PC機(jī)通信的主要目的是將流量計(jì)中的有用數(shù)據(jù)讀到PC機(jī)中。這些數(shù)據(jù)包括:總累積流量、正向累積流量、反向累積流量、瞬時(shí)流量。通信時(shí),PC機(jī)只需向花生油流量計(jì)發(fā)送讀總累積流量、讀正向累積流量、讀反向累積流量、讀瞬時(shí)流量命令即可,因此二者間通信所用的地址幀和命令幀可合二為一,用一個(gè)地址命令幀代替。PC機(jī)和花生油流量計(jì)間的地址命令幀定義如圖.66所示。根據(jù)污水網(wǎng)絡(luò)監(jiān)控系統(tǒng)中PC機(jī)與花生油流量計(jì)間通信的特殊性,二者通信所使用的報(bào)文可簡(jiǎn)化為圖.67的格式。
四、通信規(guī)程
采用地址喚醒握手協(xié)議后,流量計(jì)和PC機(jī)間的通信按照下面甲乙機(jī)間的通信規(guī)程進(jìn)行。在通信規(guī)程中,甲機(jī)代表網(wǎng)絡(luò)中的PC機(jī),乙機(jī)代表網(wǎng)絡(luò)中的花生油流量計(jì)。通信規(guī)程中的3個(gè)通信重復(fù)計(jì)數(shù)器及其所對(duì)應(yīng)的通信出錯(cuò)信息各不相同,以便于通信出錯(cuò)原因的查找確定。甲機(jī)和乙機(jī)間具體通信規(guī)程如下:
甲機(jī):為了得到花生油流量計(jì)中的有用數(shù)據(jù),甲機(jī)*先向網(wǎng)絡(luò)中發(fā)出與流量計(jì)通信地址相關(guān)的地址命令幀,以啟動(dòng)一次數(shù)據(jù)通信。
乙機(jī):接收到與地址有關(guān)的幀信息后,乙機(jī)將幀信息中的地址與本身所分配的網(wǎng)絡(luò)地址相比較。如果幀信息中的地址與其本身的網(wǎng)絡(luò)地址一致,乙機(jī)建立甲乙機(jī)間的鏈路連接并從幀信息中讀取命令,然后向甲機(jī)發(fā)送包含本身地址的地址幀,進(jìn)入等待回應(yīng)信號(hào)狀態(tài);否則,乙機(jī)忽略得到的地址信息,不做任何反應(yīng)。
甲機(jī):如果在發(fā)送完地址命令幀的1秒內(nèi)甲機(jī)沒(méi)有收到地址幀,甲機(jī)發(fā)送地址命令幀重新啟動(dòng)一次通信。收到乙機(jī)發(fā)回的地址幀后,甲機(jī)將地址幀中的地址與曾經(jīng)發(fā)出的地址相比較。如果地址相同,甲機(jī)向乙機(jī)發(fā)送oCC(H11oO11O0)數(shù)據(jù)幀做為回應(yīng)信號(hào);否則,甲機(jī)重新發(fā)送地址命令幀。
乙機(jī):發(fā)送完地址幀的乙機(jī)接到數(shù)據(jù)幀后,判斷數(shù)據(jù)幀中是否存在n和00的組合連接。如果存在,則表明該信息是回應(yīng)信號(hào),乙機(jī)按照命令要求發(fā)送*一個(gè)數(shù)據(jù);否則,乙機(jī)將該信息忽略,繼續(xù)等待甲機(jī)的回應(yīng)信號(hào)。
甲機(jī):如果在發(fā)送完回應(yīng)信號(hào)的1秒內(nèi)甲機(jī)沒(méi)有收到數(shù)據(jù)幀,甲機(jī)發(fā)送地址命令幀重新啟動(dòng)一次通信。當(dāng)?shù)刂访顜闹匕l(fā)次數(shù)已達(dá)到3次仍未得到數(shù)據(jù)幀時(shí),甲機(jī)放棄通信任務(wù)并發(fā)出通信出錯(cuò)信息。收到數(shù)據(jù)幀后,甲機(jī)向網(wǎng)絡(luò)中發(fā)送OCCH(11001100)數(shù)據(jù)幀做為回應(yīng)信號(hào),以通知乙機(jī)發(fā)送下一個(gè)數(shù)據(jù)幀信息。
乙機(jī):發(fā)送完數(shù)據(jù)的乙機(jī)接到數(shù)據(jù)幀后,判斷數(shù)據(jù)幀中是否存在11和00的組合連接。如果存在,則表明該信息是回應(yīng)信號(hào),乙機(jī)發(fā)送下一個(gè)數(shù)據(jù);否則,乙機(jī)將該信息忽略,繼續(xù)等待甲機(jī)的回應(yīng)信號(hào)。
甲機(jī):如果在發(fā)送完回應(yīng)信號(hào)的1秒內(nèi)甲機(jī)沒(méi)有收到下一個(gè)數(shù)據(jù)幀,甲機(jī)重發(fā)回應(yīng)信號(hào)OCCH。當(dāng)回應(yīng)信號(hào)的重發(fā)次數(shù)已達(dá)到3次仍未得到數(shù)據(jù)幀時(shí),甲機(jī)放棄本次通信,然后重新啟動(dòng)一次讀取該數(shù)據(jù)的通信。當(dāng)同一通信重新啟動(dòng)3次仍不能正常時(shí),甲機(jī)放棄通信任務(wù)并發(fā)出通信出錯(cuò)信息。
乙機(jī):當(dāng)發(fā)送完*后一個(gè)數(shù)據(jù)幀(校驗(yàn)和)后,乙機(jī)退出甲乙機(jī)的鏈路連接,結(jié)束一次通信。
甲機(jī):收到*后一個(gè)數(shù)據(jù)幀(校驗(yàn)和)后,甲機(jī)將已收到數(shù)據(jù)累加得到的校驗(yàn)和同收到的校驗(yàn)和進(jìn)行比較。如果兩個(gè)校驗(yàn)和的數(shù)據(jù)一致,甲機(jī)結(jié)束本次通信;否則,甲機(jī)重新啟動(dòng)一次通信。當(dāng)同一通信重新啟動(dòng)3次仍得不到正確數(shù)據(jù)時(shí),甲機(jī)放棄該通信任務(wù)并發(fā)出通信出錯(cuò)信息。