工控網首頁
>

應用設計

>

睿遠研究院丨IO-Link OD模塊解析

睿遠研究院丨IO-Link OD模塊解析

2025/6/30 14:48:43

前言

書接上文,這周我們就開始深入解讀下OD模塊。OD的全稱是On-Request Data,即在請求時才會應的報文。OD模塊通常分為三個部分,ISDU、Command和Event,這也是我們解讀OD狀態機的過程中,重點分析的內容。

01 主站的OD數據處理圖片

上圖是主站的狀態機,主站的On-request處理程序是DL-Mode處理模塊中“Startup_2”“PreOperate_3”和“Operate_4”狀態下的一個從屬狀態機。它控制其他三個狀態機,即ISDU處理模塊、command處理模塊和Event處理模塊的狀態機,默認情況下,它始終在ISDU狀態。

1 當收到EventFlag時,狀態機將切換到Event處理模塊,在完整讀取Event信息后,它將返回到ISDU處理狀態;

2 當收到DL_Control,則狀態機將切換到Command處理模塊;完成相關命令后,狀態機將返回到之前的狀態(ISDU或Event狀態)

3 當收到DL_Write_DeviceMode命令,也會切換到Command模塊,用于處理DL Mode的狀態切換,這是1.1.4版本增加的內容

02 從站的OD數據處理

圖片

從站對OD的請求重定向4個獨立的小模塊:

??Param讀寫模塊

該模塊主要讀寫DPP部分的數據,專門走了Page通道

??Command模塊

用于切換從站的狀態,保持和主站的同步

??ISDU模塊

讀寫ISDU

??Event模塊

讀寫Event

03 DPP&ISDU的處理

DPP即Direct Parameter Page,其實屬于ISDU部分,DPP1對應ISDU的Index 0x00,DPP2對應ISDU Index 0x01。

規范中明確如果不支持ISDU,就直接采用DPP1和DPP2進行參數的讀寫,這是為了方便一些簡化版本的協議棧進行簡單的IO-Link控制。

那么我們看DPP和ISDU在規范中的定義:

圖片

DPP1和DPP2就是從屬于ISDU的,只是協議棧規定了DPP走的PAGE通道,其余ISDU走ISDU通道,個人認為,其把簡單的東西復雜化了,如果合二為一豈不是更好。圖片

其中0x00:MasterCommand主要用于接收主站的各類命令,進入Command模塊進行處理:

圖片

04 MasterCycleTime&MinCycleTime

MinCycleTime是從站主動上傳匯報給主站的循環時間,而MasterCycleTime則是主站最終根據字節大小,從站匯報的循環時間決策出的實際時間,都是采用Timebase|Multiplier的方式,具體如下:

圖片

圖片圖片

05 M-sequence Capability編碼格式

這個編碼在前面的章節中已經詳細介紹,這里就不多說了,直接看一個例子:

圖片

這是從站回復的一個示例,這回復的0x21這個數據中,表明了自己分別在Preop和OP模式下的OD字節大小

06 ProcessDataIn& ProcessDataOut

PDIn和PDOut的字段,都是采用是否Byte位和Length來組成,把一個字節的作用摳到了極致。

圖片

圖片

寫在最后  

好了,以上就是本期OD處理模塊與DPP主要字節的解析,DPP作為IO-Link的關鍵參數,包含了IO-Link設備的關鍵信息。下一期,我們就開始介紹與參數配置相關的ISDU部分,這也是IO-Link技術的核心價值體現。 

審核編輯(
王靜
)
投訴建議

提交

查看更多評論
其他資訊

查看更多

睿遠研究院丨IO-LinkPD處理模塊

睿遠研究院丨IO-Link M序列解析

睿遠研究院丨IO-Link消息處理模塊

睿遠研究院丨IO-Link主從狀態機解析

睿遠研究院丨IO-Link數據鏈路層解析