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