前言
上回說(shuō)到PM模塊,那么緊跟著的一定就是DS模塊了。DS的全稱是Data Storage。雖然DS是很多單詞的縮寫,在IO-Link領(lǐng)域可是比較神圣的一個(gè)模塊,還有一個(gè)汽車品牌也是DS的縮寫,可是“女神”的含義。
好了,我們今天就來(lái)好好揭開(kāi),這個(gè)DS模塊的“神秘面紗”。
1
DS的定義
數(shù)據(jù)存儲(chǔ)(DS)機(jī)制使得從站設(shè)備參數(shù)在上層系統(tǒng)(如PLC程序或現(xiàn)場(chǎng)總線參數(shù)服務(wù)器)上能夠一致且及時(shí)地進(jìn)行緩存。
主站和從站之間的數(shù)據(jù)存儲(chǔ)在IO-Link標(biāo)準(zhǔn)中進(jìn)行了規(guī)定,而相鄰的上層數(shù)據(jù)存儲(chǔ)機(jī)制取決于各自的現(xiàn)場(chǎng)總線或系統(tǒng)。設(shè)備持有一組標(biāo)準(zhǔn)化的對(duì)象,提供有關(guān)數(shù)據(jù)存儲(chǔ)的參數(shù)信息,例如內(nèi)存大小要求以及數(shù)據(jù)存儲(chǔ)機(jī)制的控制和狀態(tài)信息。
數(shù)據(jù)存儲(chǔ)參數(shù)集的修訂,通過(guò)參數(shù)校驗(yàn)和來(lái)標(biāo)識(shí)。

Data Storage機(jī)制和Block Parameter機(jī)制差不多,他們的檢查機(jī)制相同。DS采用如上圖的ISDU,包括DS的Command、狀態(tài)、大小、checksum以及Index 列表。
說(shuō)白了,DS就是參數(shù)持久化的一種方式,其實(shí)最簡(jiǎn)單的本地DS,就是設(shè)備把參數(shù)存儲(chǔ)在自己的flash或者eeprom里,下次上電再恢復(fù)即可。
而IO-Link里講的DS,則是把參數(shù)保存在從站的上層,也就是主站的FLASH或者再上面的PLC的存儲(chǔ)里,就是希望在主站的該端口,無(wú)論插入什么樣的設(shè)備,都能統(tǒng)一下發(fā)一致的數(shù)據(jù),避免參數(shù)不一致的情況。
2
DS的設(shè)備調(diào)試功能
IO-Link規(guī)范對(duì)“設(shè)備調(diào)試(Commissioning)”,分了2種:在線調(diào)試和離線調(diào)試。
系統(tǒng)參數(shù)(On-line commissioning)
過(guò)程:設(shè)備和 PLC 系統(tǒng)一起,在現(xiàn)場(chǎng)使用工程工具(如 TIA Portal、PACTware 等)進(jìn)行配置和參數(shù)設(shè)置。
參數(shù)下載:用戶通過(guò)工具給設(shè)備分配參數(shù)值,這些值被下載到設(shè)備中,成為激活參數(shù)(active parameters)。
數(shù)據(jù)存儲(chǔ):
·當(dāng)系統(tǒng)發(fā)出 ParamDownloadStore 命令時(shí),主站(Master)會(huì)將這些參數(shù)上傳(復(fù)制)到其數(shù)據(jù)存儲(chǔ)區(qū)(Data Storage)中。
·然后主站可以根據(jù)上層系統(tǒng)的特性進(jìn)行備份操作。
適用于設(shè)備已經(jīng)在現(xiàn)場(chǎng)安裝好的場(chǎng)景。
離線調(diào)試(Off-site commissioning)
過(guò)程:使用如“USB-Master”等外部工具,以及設(shè)備的 IODD 文件,在非現(xiàn)場(chǎng)的地方(例如辦公室),對(duì)設(shè)備進(jìn)行配置和參數(shù)設(shè)置。
參數(shù)激活:通過(guò)工具完成配置和驗(yàn)證后,工具會(huì)設(shè)置 DS_UPLOAD_FLAG,標(biāo)志該參數(shù)集為“已激活”。
安裝后自動(dòng)上傳:
·當(dāng)設(shè)備安裝到現(xiàn)場(chǎng)并連接到主站后,主站會(huì)自動(dòng)將這些參數(shù)上傳到其數(shù)據(jù)存儲(chǔ)中,完成備份。
說(shuō)到USB-Master,強(qiáng)烈安利我們的USB-Master設(shè)備,這可是做傳感器廠家的必備,童叟無(wú)欺,人見(jiàn)人愛(ài),一設(shè)備在手,調(diào)試IO-Link不用愁。

再配合上位機(jī)軟件,可以快速掌握IO- Link知識(shí),調(diào)試IO-Link設(shè)備。

3
DS的數(shù)據(jù)結(jié)構(gòu)
我們?cè)谏罹緿S前,先看一下他的數(shù)據(jù)結(jié)構(gòu),其就是把ISDU的index、subindex、length和data挨個(gè)存儲(chǔ)起來(lái),另外還要加個(gè)頭部,包括校驗(yàn)碼,設(shè)備的ID等。

DS的頭部:

4
DS的狀態(tài)機(jī)
DS是主站和從站配合完成的,從站狀態(tài)機(jī)如下圖所示,在啟動(dòng)后,基本就是在idle和dsactivity之間切換,說(shuō)白了,就是負(fù)責(zé)ISDU的讀取和寫入。

下圖是主站的DS狀態(tài)機(jī)。

主站的DS狀態(tài)機(jī)略微復(fù)雜,它的核心在Updown里;如果主站關(guān)閉了DS功能,則其就在off階段,如果打開(kāi)了ds,則會(huì)進(jìn)入waitingonDSActivity等待DS的upload或者startup流程。

在整體的UpDownload階段,分為檢查,判斷合法性,上傳/下載,Ready幾個(gè)階段,任何一個(gè)階段的錯(cuò)誤都會(huì)直接進(jìn)入DS Fault,并告知具體的錯(cuò)誤原因。
看這幾個(gè)階段的具體功能:

在Upload和Download子過(guò)程中,就是不停的和從站進(jìn)行交互,讀取和寫入ISDU。
5
DS標(biāo)識(shí)檢查
我們知道,如果主站打開(kāi)了DS模塊,也就是端口模式配置了Manual模式,且指定了Backup & restore或者Restore模式之后就開(kāi)始了DS流程。
在UpDownload2中,首先主站會(huì)檢查自己存儲(chǔ)的DS標(biāo)識(shí)是否匹配從站的Vendor ID, Device ID;如果不匹配,就不會(huì)進(jìn)入如下的流程。
那么這里的檢查是怎么匹配的,這里就要回顧到SM模塊的流程中,從下圖看,有三種匹配方式:

1
NO_CHECK
顧名思義,不會(huì)檢查任何ID,直接走后續(xù)流程
2
TYPE_COMP
只檢查Vendor ID和Device ID,不檢查SerialNumber,也就是只要是這一類的產(chǎn)品,都可以進(jìn)行DS
3
IDENTICAL
最嚴(yán)格的,要檢查SerialNumber,SerialNumber不對(duì),也就走不到后續(xù)流程,但該選項(xiàng)在規(guī)范中已經(jīng)明確不再要求實(shí)現(xiàn)了
6
CheckMemSize
上述檢查完成后,第二步就是CheckMemSize。
首先,主站發(fā)送 03 03 即查詢DataStorageIndex的subindex 03,查詢從站的DS大小,判斷是否合適,規(guī)范規(guī)定不能超過(guò)2048字節(jié),如果從站不支持DS模塊,一定會(huì)回復(fù)一個(gè)0x8012,表示該subindex不存在。
主站收到0x8012,則會(huì)認(rèn)為它的大小超過(guò)2048字節(jié),就進(jìn)入了DS fault流程,雖然結(jié)果是一致的,但總覺(jué)得這是規(guī)范是欠缺考慮的。如果從站不支持DS,是否應(yīng)該直接通過(guò)某個(gè)標(biāo)志告知主站,主站無(wú)需再進(jìn)入DS流程即可。
查詢Size之后,就開(kāi)始檢查是否要upload;首先發(fā)送03 02 ,查看State Property,如果bit7位為1,標(biāo)識(shí)DS_UPLOAD_Flag 為true,同時(shí)模式為Upload & restore,就直接進(jìn)入U(xiǎn)pload流程。
如果模式不是Upload &resotre,是Restore模式,表示Upload被Disable了;又或者Upload的標(biāo)志位沒(méi)有被置位,則還需要進(jìn)行DS Validity的驗(yàn)證。也就是看看主站本地的DS是否有效,前面所講的,只有Upload標(biāo)志位有效,同時(shí)Upload Enable,就強(qiáng)制直接進(jìn)入U(xiǎn)pload,其他的情況得等候DS Validity。
在DS Validity這個(gè)階段,主站檢查自己的DS數(shù)據(jù)是否有效,如果無(wú)效則也進(jìn)入U(xiǎn)pload流程;如果有效,則跳過(guò)Upload。
那么DS什么時(shí)候無(wú)效呢?比如DS里數(shù)據(jù)為空,就是無(wú)效;比如在Upload過(guò)程中,傳輸失敗,那么DS也是無(wú)效。只要DS是無(wú)效的,就會(huì)走Upload流程。而DS有效,則主站認(rèn)為不應(yīng)該再上傳從站的數(shù)據(jù),這時(shí)候就要檢查Checksum了。
7
Checksum
在檢查Checksum流程,主站發(fā)送03 04查詢Checksum,如果Checksum一致,表示主從的數(shù)據(jù)是一致的;如果Checksum不一致,則主站強(qiáng)行下載數(shù)據(jù)給從站,覆蓋從站的ISDU。下載成功則進(jìn)入DS ready,下載失敗,則進(jìn)入DS fault。
最后附上Upload和Download的流程。


結(jié)語(yǔ)
好了,以上就是本期DS模塊處理與檢查流程的解析,DS作為IO-Link的關(guān)鍵功能,能夠大幅度降低現(xiàn)場(chǎng)設(shè)備更換的難度,也是IO-Link作為“工業(yè)4.0最后一米技術(shù)”的獨(dú)特優(yōu)勢(shì)。
-
IO-Link
+關(guān)注
關(guān)注
2文章
199瀏覽量
20697 -
工業(yè)4.0
+關(guān)注
關(guān)注
48文章
2073瀏覽量
124727 -
IO-Link收發(fā)器
+關(guān)注
關(guān)注
0文章
16瀏覽量
6298
發(fā)布評(píng)論請(qǐng)先 登錄
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十五):數(shù)據(jù)類型詳解
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十三):參數(shù)模塊解析
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十二):SM模塊與CM模塊解析
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十一):ISDU狀態(tài)機(jī)與EVENT事件
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十):ISDU詳解
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(八):M-Sequence Type 與消息處理狀態(tài)機(jī)
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(七):消息處理模塊
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(六):主從站狀態(tài)機(jī)解析
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(三):物理層概覽
IO-Link規(guī)范解讀(五):數(shù)據(jù)鏈路層解析
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(二):IO-Link通信技術(shù)概述
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(一):技術(shù)定義與組織規(guī)范
RASIGHT 睿遠(yuǎn) IO-Link智能傳感器通信解決方案
Analog Devices / Maxim Integrated MAXREFDES177 IO-Link通用模擬IO特性/框圖
睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(十四):DS模塊詳解
評(píng)論