加快啟動(dòng)速度
縮短? IO? 設(shè)備的啟動(dòng)時(shí)間
啟動(dòng)? IO ?設(shè)備所需的時(shí)間取決于各種因素,可以通過不同的方法來縮短。?
通過? PROF INET ?的“優(yōu)先啟動(dòng)”(Prioritized startup)? 功能,可顯著縮短啟動(dòng)時(shí)間。為了進(jìn)一步縮短啟動(dòng)時(shí)間,除“優(yōu)先啟動(dòng)”功能之外,還可采取以下措施:
●? 優(yōu)化端口設(shè)置
●? 優(yōu)化端口布線
●? 在用戶程序中執(zhí)行相應(yīng)措施(僅限擴(kuò)展系統(tǒng))
即使不使用“優(yōu)先啟動(dòng)”功能,以上措施也可加速? IO ?設(shè)備的啟動(dòng)過程。但如果將“優(yōu)先啟動(dòng)”功能與以上所有措施一同使用,最快啟動(dòng)速度也只能達(dá)到約? 500 ms。
優(yōu)先化啟動(dòng)是? PROFINET 功能之一,用于在支持? RT 通信的? PROFINET ?IO ?系統(tǒng)中加快 IO ?設(shè)備的啟動(dòng)速度。它可以縮短各個(gè)已組態(tài)? IO ?設(shè)備實(shí)現(xiàn)下列情況中的循環(huán)用戶數(shù)據(jù)交換所需要的時(shí)間:
●? 恢復(fù)電源后
●? 在站返回后
●? 在激活? IO? 設(shè)備后
PROFINET IO? 系統(tǒng)中多次使用? IP 地址/ 設(shè)備名時(shí)的數(shù)據(jù)交換
為實(shí)現(xiàn)較快起動(dòng),在設(shè)備起動(dòng)時(shí),IO ?控制器會(huì)檢查對(duì)應(yīng)? IP 地址設(shè)備名稱的唯一性。? 如果設(shè)備名或? IP 地址的分配不正確或重復(fù)分配,在? IO ?控制器對(duì)錯(cuò)誤做出響應(yīng)前,可進(jìn)行短時(shí)數(shù)據(jù)交換。? 此時(shí),IO ?控制器可與錯(cuò)誤的設(shè)備進(jìn)行? IO ?數(shù)據(jù)交換。
調(diào)試時(shí),應(yīng)確保在? PROFINET IO 系統(tǒng)中沒有? IP 地址/ 設(shè)備名被分配多次。
對(duì)于自動(dòng)化工業(yè)中自動(dòng)機(jī)械裝置的工具更換,可以使用“優(yōu)先化啟動(dòng)”功能。
用于快換設(shè)備的快速啟動(dòng)連接IO設(shè)備.
可以在用戶程序中進(jìn)行某些更改以加快在運(yùn)行期間替換的擴(kuò)展系統(tǒng)的? IO ?設(shè)備的啟動(dòng)速度。?
PROFINET 的“優(yōu)先化啟動(dòng)”功能允許? PROFINET ?IO ?應(yīng)用于已經(jīng)永久更換了機(jī)器部件或工具以及? IO ?設(shè)備的情況。? 通過此優(yōu)先化啟動(dòng),重新啟動(dòng)的預(yù)定進(jìn)程之間的等待時(shí)間(幾秒鐘)縮短為最小。? 這加快了使用替換? IO ?設(shè)備(PROFINET 的“擴(kuò)展系統(tǒng)” 功能)的生產(chǎn)過程(例如在換刀器應(yīng)用場合中),并能大幅提高生產(chǎn)能力。?
PROFINET 的“優(yōu)先化啟動(dòng)”功能可大幅提升下列應(yīng)用場合的性能:在“通電”之后或站故障/站恢復(fù)之后要求? IO ?設(shè)備具有快速啟動(dòng)時(shí)間,或者在啟動(dòng)? IO ?設(shè)備時(shí)。
第一次啟動(dòng)后的優(yōu)先化啟動(dòng)
第一次組態(tài)? IO ?設(shè)備后且首次啟動(dòng)? PROFINET ?IO ?系統(tǒng)時(shí),總是提供? IO ?設(shè)備的優(yōu)先化啟動(dòng)性能。? 即使對(duì)于備件或復(fù)位為出廠設(shè)置時(shí),第一次啟動(dòng)對(duì)于各自組態(tài)的? IO ?設(shè)備
而言也是一次標(biāo)準(zhǔn)啟動(dòng)。
具有優(yōu)先化啟動(dòng)的? IO? 設(shè)備(分布式? I/O )的數(shù)量
在一個(gè)? PROFINET ?IO ?系統(tǒng)中,只能使用? PROFINET 的“優(yōu)先化啟動(dòng)”功能啟動(dòng)所設(shè)的最大數(shù)量的? IO ?設(shè)備。? 最大數(shù)量取決于所用的? IO ?控制器。
要通過更改用戶程序加快啟動(dòng)速度,請(qǐng)執(zhí)行以下步驟:
1. ? 在? OB ?1 ?循環(huán)開始時(shí),通過調(diào)用指令“D_ACT_DP”來激活和取消激活? IO ?設(shè)備。如果更換了? IO ?設(shè)備,則必須取消激活這個(gè)不再需要的設(shè)備,并激活新設(shè)備。
2. ? 如果通過應(yīng)用程序控制? IO ?設(shè)備的“打開電源”(Power ON)? 命令,則近乎同時(shí)通過對(duì)應(yīng)調(diào)用“D_ACT_DP”指令來開始激活? IO ?設(shè)備。? 為此必須對(duì)? IO ?設(shè)備進(jìn)行物理連接。
3. ? 在“D_ACT_DP”指令返回“IO ?設(shè)備已激活”消息后,使用直接訪問命令來訪問? IO ?設(shè)備。
在VASS標(biāo)準(zhǔn)中我們想快速接通或關(guān)斷網(wǎng)絡(luò)設(shè)備會(huì)使用FB144來實(shí)現(xiàn).
該塊采用 SFC70? 創(chuàng)建設(shè)備的診斷地址(PN_System/Device_Nr);SFC12 要用到該地址。
如果在 SFC12 ?中沒有需要激活或去活的任務(wù),則讀出設(shè)備的當(dāng)前狀態(tài)。若某個(gè)設(shè)備被去活,則將其輸入到 DB852 ?中。?
任務(wù)完成時(shí),通過 TN_aktiviert ?或 TN_deaktiviert ?輸出輸出模塊的狀態(tài)。
每次? CPU ?重啟時(shí),可采用 _CFG = W#16#1 對(duì)設(shè)備進(jìn)行注冊(cè)。
檢查IO模塊的起始地址:
iRETVAL_SFC70 := GEO_LOG(MASTER? := PNSystem,
??????????????????????? STATION?:= DeviceNr,
??????????????????????? SLOT??? :=?INT#0,
??????????????????????? SUBSLOT?:= INT#0,
??????????????????????? LADDR?? :=?wDiagnose_Adresse
??????????????????????? );?
檢查模塊的起始地址
假設(shè):模塊的相關(guān)模塊插槽是通過信號(hào)模塊通道獲知的。使用SFC 70 "GEO_LOG" (將物理地址轉(zhuǎn)換成邏輯地址),可以確定模塊的相關(guān)起始地址,即最小的I地址或Q地址。
若在電源模塊或帶壓縮地址的模塊(ET 200S)上使用SFC 70,則返回診斷地址。
用SFC 12 "D_ACT_DP"激活和取消激活DP從站/PROFINET IO設(shè)備:
iRETVAL_SFC12 := D_ACT_DP(REQ?? := xSteuerparameter,
???????????????????????????? MODE?? := bAuftragskennung,
???????????????????????????? LADDR? :=?wDiagnose_Adresse,
???????????????????????????? BUSY?? := xAktivekennung
???????????????????????????? );?
利用SFC 12 "D_ACT_DP,可以明確地取消激活及再次激活已組態(tài)的DP從站/PROFINET IO設(shè)備。此外,還可以確定當(dāng)前是激活還是取消激活每個(gè)已分配的DP從站或PROFINET IO設(shè)備。
如果使用SFC 12取消激活I(lǐng)E/PB Link PN IO類型的網(wǎng)關(guān),則連接的所有PROFIBUS DP從站也將停止運(yùn)行。這些故障將被報(bào)告。
SFC 12不能用在通過DP/PA鏈接與DP主站系統(tǒng)相連的PROFIBUS PA現(xiàn)場設(shè)備上。
如果在實(shí)際并不存在或非當(dāng)前所需的CPU中組態(tài)DP從站/PROFINET IO設(shè)備,則該CPU仍會(huì)繼續(xù)以正常時(shí)間間隔訪問這些DP從站/PROFINET IO設(shè)備。而在取消激活這些從站后,則其它CPU訪問也將停止。使用PROFIBUS DP,有可能達(dá)到最快的DP總線周期,同時(shí)不再發(fā)生相應(yīng)的錯(cuò)誤事件。
用SFC 12取消激活DP從站/PROFINET IO設(shè)備后,其過程輸出將被設(shè)置為已組態(tài)的替換值或0 (安全狀態(tài))。所分配的DP主站/PROFINET IO控制器不繼續(xù)尋址該組件。DP主站/PROFINET IO控制器或CPU上的錯(cuò)誤LED不會(huì)將取消激活的DP從站/PROFINET IO設(shè)備識(shí)別為出現(xiàn)故障或丟失。
而取消激活的DP從站/PROFINET IO設(shè)備輸入的過程映像將用0更新,即將其作為有故障的DP從站/PROFINET IO設(shè)備處理。
如果要使用程序直接訪問先前取消激活的DP從站/PROFINET IO設(shè)備的用戶數(shù)據(jù),將調(diào)用I/O訪問錯(cuò)誤OB (OB 122),并在診斷緩沖區(qū)中輸入相應(yīng)的啟動(dòng)事件。如果嘗試使用SFC (即SFC 59 "RD_REC")訪問取消激活的DP從站
/PROFINET IO設(shè)備,則會(huì)在RET_VAL中收到一條出錯(cuò)信息(與訪問不可用的DP從站/PROFINET IO設(shè)備相同)。
取消激活DP從站/PROFINET IO設(shè)備不會(huì)啟動(dòng)程序錯(cuò)誤OB (OB 85),即使其輸入或輸出屬于要更新的系統(tǒng)范圍的過程映像。診斷緩沖區(qū)中不輸入任何條目。
取消激活DP從站/PROFINET IO設(shè)備是否會(huì)啟動(dòng)導(dǎo)致在診斷緩沖區(qū)中輸入一個(gè)條目的機(jī)架故障OB (OB 86),這取決于MODE參數(shù)。
審核編輯:劉清
評(píng)論