學習生產者消費者模式!!!

2021-08-17 14:33:42 字數 1740 閱讀 2610

​controlnet是基於生產者/消費者模式

(producer/consumermodel)的網路。controlnet允許在同一鏈路上有多個控制器共存,支援輸入資料或端到端的多路傳送,這就大大的減少了網路上的交通量,提高了網路效率和網路效能。controlnet是高度確定性、可重複性的網路。controlnet能預見資料何時能夠可靠傳輸到目標的能力,同時資料的傳輸時間不受網路節點新增/刪除情況或網路繁忙狀況而保持恆定的能力。在實際應用中,通過網路組態時選擇性設定有計畫i/o分組或互鎖時間,這些要求能得到更進一步的保證。

生產者/消費者模式允許網路中所有的節點同時獲取來自同一資料來源的資料。最終,該模式提高了效率,因為資料只傳送一次,而與資料使用者(consumer)的數量無關,並且具有精確的同步性。因為資料將同時到達每乙個節點。生產者-消費者模式的優點在於:多個節點可以同時消費(consume,即讀取)來自同乙個生產省(producer,即資料來源)所提供的資料。節點間易於同步,可以獲得更為精確的系統效能,裝置可以實現自主通訊,無需系統主站。controlnet提供了簡單、高度確定而且靈活的傳輸資料方式。controlnet在執行操作、資料實時監控時不會影響到i/o控制的效能。因此,controlnet非常適用於一些控制關係有複雜關聯、要求控制控制資訊同步、協調實時控制、資料傳輸速度要求較高的應用場合。

controlnet的明顯優點是:同一鏈路上滿足i/o資料、實時互鎖、端到端報文傳輸和程式設計/組態等資訊應用的多樣要求;是確定性、可重複性的控制網路,適合離散控制和過程控制;同一鏈路上允許有多個控制器同時共存;輸入資料和端到端資訊的多路傳送支援;可選的介質冗餘和本徵安全;安裝和維護的簡單性;網路上節點居於對等地位,可以從任意節點實現網路訪問;靈活的拓撲結構(匯流排型、樹型、星型等)和介質選擇(同軸電纜、光纖和其它)。

類似與點對點傳送,又略有不同,乙個生產者可以對應n個消費者,但是乙個消費者只能對應乙個生產者,每個生產者消費者對應乙個位址,佔乙個網路節點,屬於預定性資料,在網路中優先順序最高。

由於此模式如果在網路中設定過多會影響網路傳輸速度,一般用在傳輸比較重要的資訊上,比如裝置的啟動、停止、故障、急停等等,因為在controlnet網路中節點數是有限制的,最高節點數為99。

如果兩個控制器之前建立了多個生產者消費者的連線,只要乙個失敗,則所有的均失敗。將資料整合到使用者自定義結構或陣列中 ,兩個控制器中只保留乙個連線。

生產者消費者資訊可以通過乙太網

和controlnet傳輸,但是同時只能通過一種途徑傳輸。 在建立標籤時必須建立在全域性變數裡面,不能建立在區域性變數裡標籤的大小不能超過500b。如果生產者幾個資料傳輸到到同乙個控制器的的幾個消費者中,將幾個資料合併在乙個使用者自定義標籤中,可以減少連線數,但合併後的資料將會會用相同的rpi。

生產者消費者標籤只能用dint和real,或它們的陣列,或使用者自定義結構資料,因為對外運算元據必須是32位的,如果有sint和int的資料要傳輸,必須將它們組合在使用者自定義結構中傳送,生產者和消費者的標籤資料格式必須一致,才能確保資料的準確性,如果資料打包後超過了 32位,那麼生產者和消費者雙方必須使用乙個複製緩衝指令,以獲得資料的同步,例如control logix中的cps指令。

如果生產者要傳送的32位

資料,與非control logix的對方裝置的資料結構不匹配,例如對方是16位的資料,為避免偏差,改為使用者自定義結構。

消費者的 rpi必須大於等於網路重新整理時間nut,如果幾個消費者請求同乙個生產者,則會以最小最快的rpi為準

業務需要咯!自己先留著學習學習

生產者消費者 生產者與消費者模式

一 什麼是生產者與消費者模式 其實生產者與消費者模式就是乙個多執行緒併發協作的模式,在這個模式中呢,一部分執行緒被用於去生產資料,另一部分執行緒去處理資料,於是便有了形象的生產者與消費者了。而為了更好的優化生產者與消費者的關係,便設立乙個緩衝區,也就相當於乙個資料倉儲,當生產者生產資料時鎖住倉庫,不...

生產者 消費者模式

一 我哥們把資料存入redis快取區 生產者 二 我從緩衝器取資料,並作處理!消費者 詳細 如下 取訂單並判斷 redis new redis conn flag redis connect redis translate usefull host,redis translate usefull p...

生產者消費者模式

常見場景 某個模組負責產生資料,這些資料由另乙個模組來負責處理。產生資料的模組,就形象地稱為生產者 而處理資料的模組,就稱為消費者。該模式還需要有乙個緩衝區處於生產者和消費者之間,作為乙個中介。生產者把資料放入緩衝區,而消費者從緩衝區取出資料 緩衝區作用 1.解耦,生產者和消費者只依賴緩衝區,而不互...