91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

睿遠研究院丨IO-Link規(guī)范解讀(九): PD與OD處理模塊詳解

傳感器專家網(wǎng) ? 來源:睿遠研究院 ? 作者:睿遠研究院 ? 2025-11-17 18:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

書接上文,這周我們就開始深入解讀下PD與OD模塊。PD即周期性數(shù)據(jù),每次主從站間通信都會交互的數(shù)據(jù)類型,它分為PDin與PDout。OD的全稱是On-Request Data,即在請求時才會應(yīng)的報文。OD模塊通常分為三個部分,ISDU、Command和Event。

01

主站消息狀態(tài)機回顧

上回我們講到消息處理模塊最重要的M-Sequence Type以及主從站的消息狀態(tài)機,主站的消息狀態(tài)機會稍微復(fù)雜一點,我們在開發(fā)主站協(xié)議棧的時候,也碰到一些無法理解的規(guī)則。

在規(guī)范中DL_WRITE和DL_READ都是通過Page通道讀寫通信參數(shù)的,應(yīng)該都是在Startup階段才能進行,是不允許在PREOP和OP階段進行的。但是小編在1.1.3版本時就發(fā)現(xiàn)一個問題,從PREOP切換到OP時,需要DL_WRITE發(fā)送切換模式的命令,同時發(fā)送一個masterCycletime的寫入指令,這個指令也是DL_Write的命令。

這就造成了一個困惑,雖然在狀態(tài)機中DL_Write_DeviceMode這個命令屬于單獨的命令,在PREOP階段也適用,但是DL_Write(0x01, "MasterCycleTime")可是確確實實的DL_Write,理論上不應(yīng)該出現(xiàn)在PREOP階段的它,卻出現(xiàn)了,直到目前最新的1.1.4版本尚未給任何說明。

具體如下圖,DL_Write(0x01, "MasterCycleTime")這條命令是在從PREOP切換到OP前發(fā)出的,也就是其還在PREOP階段。

wKgZO2kVuQ2ATbZaAAQx4wSm5Ew031.png

好了,我們希望下個版本能夠解決這個問題,同時各位小伙伴也可以測試一下自家的主站是否會發(fā)出DL_Write(0x01, "MasterCycleTime")這個命令。

這條命令僅僅在這個圖中出現(xiàn)了一次,在其他地方再無提及,猜測這個命令未必是必須的,因為主站通知從站我的mastercycletime也沒有多大作用,畢竟從站都是被動式應(yīng)答,只有主站詢問了,從站才會回答。

02

關(guān)于ProcessData

下面來講講PD處理模塊,在1.0時代,IO-Link規(guī)范規(guī)定了PD交互的多種方式,要求每次交互就2字節(jié),PD和OD交錯運行,PD多余2個字節(jié),就得拆包,多次發(fā)送,這個效率可想而知,非常低下,因此1.1版本做了重大改革,廢除了這種低下的方式。

wKgZO2kVuQ2AZscRAAMreT1t16o999.png

1.1版本后,每次最大32字節(jié)PD數(shù)據(jù),中間還可以夾帶OD數(shù)據(jù),大大提升發(fā)送效率;當(dāng)然對于像RFID這種上百個字節(jié)的,還是需要拆分字節(jié),多次發(fā)送,再組包。

wKgZO2kVuQ2ALJg1AACkBpdDKnQ130.png

03

主從站的PD狀態(tài)機

3.1 主站PD狀態(tài)機

wKgZO2kVuQ2AHek2AAIUPQ0O860036.png

為了兼容1.0版本,狀態(tài)機里還把遺留的PDInInterleave放到了里面,從1.1版本來看,PD就兩個狀態(tài),Inactive狀態(tài)(即Startup和PREOP所處的裝狀態(tài))和PDSingle狀態(tài)(即OP所處的狀態(tài))。

3.2從站PD狀態(tài)機

wKgZO2kVuQ2AfAroAAGC7FXqAzo081.png

從站的PD狀態(tài)機也比較簡單,從inactive狀態(tài)被激活后,進入active狀態(tài),Handle PD主要是1.0版本的遺留,在多個字節(jié)數(shù)據(jù)挨個處理的時候來回在PD ActiveHandle PD之間交互,而1.1版本,直接進行DL_PDInputUpdate就行了。

3.3總結(jié)

綜上所述,PD就是簡單的收發(fā)數(shù)據(jù),沒有太多的處理,應(yīng)該算IO-Link協(xié)議棧內(nèi)部最簡單的模塊了。

那么拿到睿遠的IO-Link協(xié)議棧怎么處理PD數(shù)據(jù)呢,雖然簡單,但PD也是IO- Link最重要的數(shù)據(jù),對于老版本的睿遠協(xié)議棧,可以直接操作PDE_PDInPDE_PDOut這個指針就行了。

按照大端排序的原則,PDE_PDIn[0]就是上傳主站PD數(shù)據(jù)的最左邊的那個字節(jié),因為PDE_PDIn的內(nèi)存是動態(tài)創(chuàng)建的,故要避免指針越界的問題。

在新版本中我們封裝了一個函數(shù):

UIntegerT8 CeresStackSetPDInData(UIntegerT8 *pdin_data, UIntegerT8 pdin_len)

通過該函數(shù),可以盡量避免指針越界的問題。

對于SSP的版本,進一步封裝了直接給測量值賦值的函數(shù),這個就后續(xù)在SmartSensorProfile這個章節(jié)再講了。

04

主站的OD數(shù)據(jù)處理

wKgZO2kVuQ6AZnb4AAGj89rzBf4825.png

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

1

當(dāng)收到EventFlag時,狀態(tài)機將切換到Event處理模塊,在完整讀取Event信息后,它將返回到ISDU處理狀態(tài);

2

當(dāng)收到DL_Control,則狀態(tài)機將切換到Command處理模塊;完成相關(guān)命令后,狀態(tài)機將返回到之前的狀態(tài)(ISDU或Event狀態(tài))

3

當(dāng)收到DL_Write_DeviceMode命令,也會切換到Command模塊,用于處理DL Mode的狀態(tài)切換,這是1.1.4版本增加的內(nèi)容

05

從站的OD數(shù)據(jù)處理

wKgZO2kVuQ6AVugrAAE6tBmzwXE490.png

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

Param讀寫模塊

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

Command模塊

用于切換從站的狀態(tài),保持和主站的同步

ISDU模塊

讀寫ISDU

Event模塊

讀寫Event

06

DPP&ISDU的處理

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

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

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

wKgZO2kVuQ6Af-3qAAEBVQcOa8A311.png

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

wKgZO2kVuQ6AB8S2AAEUqVqIisk906.png

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

wKgZO2kVuQ6Ac5-AAAFZ3x6BU0o268.png

07

MasterCycleTime&MinCycleTime

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

wKgZO2kVuQ6AZZKnAABWElGcwqo592.png

wKgZO2kVuQ6ABV5qAABExT1vLeQ232.png

wKgZO2kVuQ6AIGv5AACCSDF9Nro103.png

08

M-sequence Capability編碼格式

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

wKgZO2kVuQ6AVgqDAAG4HJEAA8U544.png

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

09

ProcessDataIn& ProcessDataOut

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

wKgZO2kVuQ-ALvxrAAA-9djEa10125.png

wKgZO2kVuRSAILINAAFPZ-BOMNs016.png

結(jié)語

本期的內(nèi)容就先到這里,以上就是本期PD處理模塊、OD處理模塊與DPP主要字節(jié)的解析,DPP作為IO-Link的關(guān)鍵參數(shù),包含了IO-Link設(shè)備的關(guān)鍵信息。下一期,我們就開始介紹與參數(shù)配置相關(guān)的ISDU部分,這也是IO-Link技術(shù)的核心價值體現(xiàn)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IO-Link
    +關(guān)注

    關(guān)注

    2

    文章

    199

    瀏覽量

    20691
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    研究院IO-Link規(guī)范解讀(十五):數(shù)據(jù)類型詳解

    前言 本篇對IO-Link規(guī)范的附錄F的數(shù)據(jù)類型做個詳細解釋,附錄定義了 ?基本數(shù)據(jù)類型 (Basic Data Types) 和? 組合數(shù)據(jù)類型 (Composite Data Types),并
    的頭像 發(fā)表于 01-14 18:25 ?5322次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(十五):數(shù)據(jù)類型<b class='flag-5'>詳解</b>

    研究院IO-Link規(guī)范解讀(十四):DS模塊詳解

    前言 ? 上回說到PM模塊,那么緊跟著的一定就是DS模塊了。DS的全稱是Data Storage。雖然DS是很多單詞的縮寫,在IO-Link領(lǐng)域可是比較神圣的一個模塊,還有一個汽車品牌
    的頭像 發(fā)表于 12-23 18:28 ?8632次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(十四):DS<b class='flag-5'>模塊</b><b class='flag-5'>詳解</b>

    研究院IO-Link規(guī)范解讀(十三):參數(shù)模塊解析

    Manager定義 在IO-Link規(guī)范中,特別定義了一個Parameter Manager這個模塊,它要負責(zé)處理完整的數(shù)據(jù)檢查以及參數(shù)的
    的頭像 發(fā)表于 12-12 21:51 ?7405次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(十三):參數(shù)<b class='flag-5'>模塊</b>解析

    研究院IO-Link規(guī)范解讀(十二):SM模塊與CM模塊解析

    我們本期來好好聊聊SM模塊與CM模塊,SM模塊的全稱是System Manager,是IO-Link最核心的模塊,負責(zé)承上啟下的管理各個
    的頭像 發(fā)表于 12-04 18:27 ?5206次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(十二):SM<b class='flag-5'>模塊</b>與CM<b class='flag-5'>模塊</b>解析

    研究院IO-Link規(guī)范解讀(十一):ISDU狀態(tài)機與EVENT事件

    上篇我們介紹了ISDU的典型編碼格式和應(yīng)用案例,本篇我們就來詳細介紹下,ISDU的狀態(tài)機,并把EVENT事件的邏輯,給大家好好解析下。 1主站ISDU狀態(tài)機 如上圖所示,ISDU的狀態(tài)機的核心是 請求,等待和響應(yīng) 。 ? 如果主站請求的是DPP參數(shù),即ISDU 0x00,0x01的參數(shù),從AL層還是走的ISDU邏輯,但底層走了DL_Read/WriteParam的邏輯,即走的是Page通道。也就是好端端的ISDU愣是被它拆分了兩個通道, 增加了復(fù)雜性。 ? 因為通常讀寫ISDU的命令都很長,一個循環(huán)放不下,都
    的頭像 發(fā)表于 11-29 18:28 ?4724次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(十一):ISDU狀態(tài)機與EVENT事件

    研究院IO-Link規(guī)范解讀(十):ISDU詳解

    的參數(shù)。傳感器的各項參數(shù)設(shè)置都要靠它,它不僅可以設(shè)置參數(shù),也可以作為只讀參數(shù)來讀取,甚至可以作為命令,基本是無所不能了。 1 ISDU總覽 ISDU與PD數(shù)據(jù)不同,在請求的狀態(tài)下才會發(fā)起,一般由主站發(fā)起相關(guān)請求,比如讀ISDU和寫ISDU。 ISDU的數(shù)據(jù)可以和PD數(shù)據(jù)一
    的頭像 發(fā)表于 11-24 10:37 ?5531次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(十):ISDU<b class='flag-5'>詳解</b>

    研究院IO-Link規(guī)范解讀(八):M-Sequence Type 與消息處理狀態(tài)機

    上回咱們分解到IO-Link的消息處理模塊,消息處理模塊就是對每個字節(jié)進行初步分析,按照不同的通道交給不同的
    的頭像 發(fā)表于 11-07 16:18 ?6303次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(八):M-Sequence Type 與消息<b class='flag-5'>處理</b>狀態(tài)機

    研究院IO-Link規(guī)范解讀(七):消息處理模塊

    前言 本周來到消息處理模塊,通信世界的精髓就是消息的處理,如何把0,1,0,1解析成有意義的數(shù)據(jù),就是消息模塊需要打下的基礎(chǔ)。 消息處理
    的頭像 發(fā)表于 11-01 17:43 ?9054次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(七):消息<b class='flag-5'>處理</b><b class='flag-5'>模塊</b>

    研究院IO-Link規(guī)范解讀(六):主從站狀態(tài)機解析

    EstablishComm_1到Startup_2。依次以COM3~COM1來傳出,一旦傳輸成功,則激活消息處理程序并配置為COMx 3 T5 從EstablishComm_1到Idle_0。三個速
    的頭像 發(fā)表于 10-28 17:34 ?6199次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(六):主從站狀態(tài)機解析

    研究院IO-Link規(guī)范解讀(三):物理層概覽

    前言 物理層是 IO-Link 通信的 “硬件底座”,它直接決定了系統(tǒng)的可靠性、抗干擾能力和部署靈活性。打個比方,就像蓋房子,物理層就是地基和骨架,地基不穩(wěn)、骨架不牢,房子肯定住著不踏實。本期我們
    的頭像 發(fā)表于 10-21 17:26 ?3107次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(三):物理層概覽

    IO-Link規(guī)范解讀(五):數(shù)據(jù)鏈路層解析

    包含消息處理模塊、模式轉(zhuǎn)換模塊PD處理OD處理
    的頭像 發(fā)表于 10-20 18:08 ?4337次閱讀
    <b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(五):數(shù)據(jù)鏈路層解析

    研究院IO-Link規(guī)范解讀(二):IO-Link通信技術(shù)概述

    前言 今天我們繼續(xù)解讀IO-Link 1.1.4規(guī)范,本篇文章將給大家介紹IO-Link技術(shù)的概覽,包含IO-Link命名的含義、主從站交互
    的頭像 發(fā)表于 09-25 19:25 ?912次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(二):<b class='flag-5'>IO-Link</b>通信技術(shù)概述

    研究院IO-Link規(guī)范解讀(一):技術(shù)定義與組織規(guī)范

    ? IO-Link 技術(shù)定義與組織規(guī)范 從今日起,小將開始長篇連載IO-Link規(guī)范解讀系列文
    的頭像 發(fā)表于 09-18 18:17 ?998次閱讀
    <b class='flag-5'>睿</b><b class='flag-5'>遠</b><b class='flag-5'>研究院</b><b class='flag-5'>丨</b><b class='flag-5'>IO-Link</b><b class='flag-5'>規(guī)范</b><b class='flag-5'>解讀</b>(一):技術(shù)定義與組織<b class='flag-5'>規(guī)范</b>

    RASIGHT IO-Link智能傳感器通信解決方案

    ? 南京工業(yè)互聯(lián)網(wǎng)有限公司?是一家技術(shù)驅(qū)動的工業(yè)通信及工業(yè)物聯(lián)網(wǎng)解決方案提供商,構(gòu)建了以IO-Link技術(shù)為核心的產(chǎn)品矩陣,提供產(chǎn)品的定制開發(fā)、技術(shù)服務(wù)以及相關(guān)解決方案,致力于以標(biāo)準(zhǔn)化、低成本
    的頭像 發(fā)表于 08-11 17:42 ?714次閱讀
    RASIGHT <b class='flag-5'>睿</b><b class='flag-5'>遠</b> <b class='flag-5'>IO-Link</b>智能傳感器通信解決方案

    Analog Devices / Maxim Integrated MAXREFDES177 IO-Link通用模擬IO特性/框圖

    IO-Link收發(fā)器。該器件旨在演示軟件可完全配置的模擬IO模塊的性能,該模塊采用了MAX22000工業(yè)可配置模擬IO器件。MAX1448
    的頭像 發(fā)表于 06-30 09:30 ?780次閱讀
    Analog Devices / Maxim Integrated MAXREFDES177 <b class='flag-5'>IO-Link</b>通用模擬<b class='flag-5'>IO</b>特性/框圖