IO-Link 應(yīng)用層OD
前言
上回聊到的EVENT狀態(tài)機(jī)和ISDU狀態(tài)機(jī),這倆都屬于OD這個(gè)模塊的內(nèi)容,OD又分為數(shù)據(jù)鏈路層和應(yīng)用層兩塊,今天我們就展開(kāi)聊一下應(yīng)用層的OD和EVENT部分。
01 應(yīng)用層的OD模塊狀態(tài)機(jī)
下圖先看一下主站應(yīng)用層的OD模塊:
從這個(gè)狀態(tài)機(jī),我們看到AL應(yīng)用層的OD部分,僅僅包含了ISDU和DPP兩方面。
對(duì)于index 00和01的讀寫(xiě),劃歸到DL Param部分,對(duì)于其他的劃歸于ISDU部分,當(dāng)主站發(fā)起AL Service時(shí),協(xié)議棧開(kāi)始構(gòu)建DL Service,根據(jù)index來(lái)確定是走左邊,還是走右邊。
當(dāng)進(jìn)入await狀態(tài)時(shí),不允許第二個(gè)AL Service來(lái)訪問(wèn),否則就會(huì)被禁止,直接告知客戶主站正忙。
再來(lái)看下從站AL的OD模塊,如下圖所示:
從站和主站類似,也有await狀態(tài);對(duì)于參數(shù)的讀寫(xiě)分別進(jìn)入await_AL_Write_rsp_1和await_AL_Read_rsp_2;而對(duì)于ISDU的讀寫(xiě),則進(jìn)入Await_AL_RW_rsp_3。
四個(gè)狀態(tài)如下:
02 應(yīng)用層的OD傳輸序列
那么主站和從站的ISDU和DPP是如何交互的呢?
ISDU的傳輸
? 主站APP發(fā)起讀取ISDU參數(shù)(Index>1)指令;
?主站AL層調(diào)用DL的DL_ISDUTransport_req函數(shù)
? 主站DL層把命令封裝到消息中發(fā)送給從站
? 從站調(diào)用DL_ISDUTransport_ind函數(shù)對(duì)主站的ISDU讀命令進(jìn)行解析;
? 解析后上送給AL層進(jìn)行數(shù)據(jù)查詢
? 上層的App進(jìn)行數(shù)據(jù)讀取,返回給AL層并繼而由物理層發(fā)給主站
? 主站接到從站的回應(yīng),解析報(bào)文,上送APP層。
DPP的傳輸
? 主站APP發(fā)起讀取DPP參數(shù)(Inde≤1)指令;
? 主站AL層面調(diào)用DL的DL_ReadParam函數(shù)
? 主站DL層把命令封裝到消息中發(fā)送給從站
? 從站調(diào)用DL_ReadParam函數(shù)對(duì)主站的DPP讀命令進(jìn)行解析;
? 解析后上送給AL層進(jìn)行數(shù)據(jù)查詢
? 上層的App進(jìn)行數(shù)據(jù)讀取,返回給AL并繼而由物理層發(fā)給主站
? 主站接到從站的回應(yīng),解析報(bào)文,上送APP層
關(guān)于AL Abort
查詢ISDU是有時(shí)間限制的,如果查詢從站的ISDU沒(méi)有在規(guī)定的時(shí)間內(nèi)返回,則主站發(fā)送一個(gè)Abort命令,終止ISDU的查詢。
03 應(yīng)用層的EVENT模塊
AL應(yīng)用層也有單獨(dú)的Event處理機(jī)制,我們分別看一下主站AL Event和從站的AL Event。
主站AL EVENT
從站AL EVENT
事件上報(bào)過(guò)程
??從站的App創(chuàng)建一個(gè)事件,并開(kāi)始發(fā)送請(qǐng)求信息
??該請(qǐng)求信息從AL傳遞到DL層,并把事件緩存到內(nèi)存中
??從站的AL激活EventTrigger服務(wù),置位EventFlag
??主站讀取從站的EventFlag后,開(kāi)始讀取從站的StatusCode以及相關(guān)EventCode
??主站把相關(guān)Event繼續(xù)上報(bào)給網(wǎng)關(guān),網(wǎng)關(guān)應(yīng)用確認(rèn)事件消息
??主站把事件確認(rèn)消息同步給從站,寫(xiě)入StatusCode信息,即清除事件標(biāo)志,等待下一個(gè)事件的上報(bào)
結(jié)語(yǔ)
本篇主要對(duì)AL應(yīng)用層的OD和Event做了介紹,從狀態(tài)機(jī)看比DL層稍微簡(jiǎn)單些,主要管理應(yīng)用層面的事務(wù),對(duì)DL的數(shù)據(jù)進(jìn)行管理和控制。

提交
睿遠(yuǎn)研究院丨IO-Link 事件解讀
睿遠(yuǎn)研究院丨IO-Link ISDU詳解
睿遠(yuǎn)研究院丨IO-Link OD模塊解析
睿遠(yuǎn)研究院丨IO-LinkPD處理模塊
睿遠(yuǎn)研究院丨IO-Link M序列解析