華
男,現(xiàn)任施耐德電氣(中國)投資有限公司工業(yè)自動(dòng)化部產(chǎn)品推廣經(jīng)理。
6 數(shù)據(jù)編輯器
數(shù)據(jù)編輯器可通過項(xiàng)目的結(jié)構(gòu)化視圖,進(jìn)行調(diào)用。這一編輯工具,可以用來完成以下任務(wù):
● 對變量和功能塊數(shù)據(jù)進(jìn)行聲明 (聲明它們的類型,實(shí)例和屬性)。
● 在不同庫中,對功能塊數(shù)據(jù)類型的使用和歸檔 。
● 數(shù)據(jù)結(jié)構(gòu)的分級(jí)視圖 。
● 數(shù)據(jù)的查找,分類和過濾 。
● 創(chuàng)建超鏈接,以便于能夠從任何變量注釋對詳細(xì)描述進(jìn)行訪問。
數(shù)據(jù)的顯示有以下四種選項(xiàng)卡:
● “變量”選項(xiàng)卡,用于創(chuàng)建和管理以下數(shù)據(jù)實(shí)例:位,字,雙字,輸入/輸出,表格以及結(jié)構(gòu) 。
● “DDT類型”選項(xiàng)卡,用于創(chuàng)建派生數(shù)據(jù)類型 (表格和結(jié)構(gòu))。
● “功能塊”選項(xiàng)卡,用于對EFB和DFB功能塊進(jìn)行聲明 。
● “DFB類型”選項(xiàng)卡,用于創(chuàng)建DFB 用戶功能塊數(shù)據(jù)類型。
每一個(gè)數(shù)據(jù)實(shí)例都有若干個(gè)屬性,其中:
● 變量的名字和類型是必須的。
● 注釋,在內(nèi)存中的物理地址或者初始值是可選的。
在編程過程中,任何時(shí)候都可以訪問數(shù)據(jù)屬性編輯器,其方法是選擇變量,然后進(jìn)行數(shù)據(jù)修改或者創(chuàng)建。
7 DFB用戶功能塊
用戶可以根據(jù)特定應(yīng)用的需要,在Atrium, Premium,M340和Quantum平臺(tái)上使用Unity Pro軟件來創(chuàng)建自己的功能塊。在用戶功能塊創(chuàng)建完畢并保存到庫中以后,用戶就可以像EFB (基本功能塊)一樣很方便地使用它們。
用戶功能塊可以用于結(jié)構(gòu)化編程。尤其適用于應(yīng)用中多次重復(fù)一個(gè)程序序列,或者需要確定一個(gè)標(biāo)準(zhǔn)的程序。它們可以設(shè)置為只讀保護(hù)模式或者讀/寫保護(hù)模式。這些功能塊可以導(dǎo)出到其他的Unity Pro應(yīng)用程序中去。在一個(gè)或者多個(gè)應(yīng)用程序中使用DFB功能塊有以下好處:
● 簡化了程序設(shè)計(jì)和輸入 。
● 增加了程序的可讀性,使程序變得更加明確 。
● 方便了程序調(diào)試操作 (由DFB功能塊所處理的所有程序都在數(shù)據(jù)編輯器中進(jìn)行了標(biāo)識(shí)) 。
● 用戶可以使用針對DFB的私有變量,這些變量獨(dú)立于應(yīng)用程序。
DFB功能塊的編制過程分為以下幾步:
● 對DFB進(jìn)行設(shè)計(jì),通過數(shù)據(jù)編輯器為其分配一個(gè)名字,一套參數(shù) (輸入,輸出,公共和私有內(nèi)部變量)和一個(gè)注釋。
● 創(chuàng)建相關(guān)代碼,可以使用一個(gè)或多個(gè)程序區(qū)段完成。 根據(jù)需要從下列語言中進(jìn)行選擇:結(jié)構(gòu)化文本,指令表,梯形圖或者功能塊圖(ST, IL, LD或FBD)。
● 帶有一個(gè)關(guān)聯(lián)版本號(hào)的DFB被存儲(chǔ)到庫中。
● 在數(shù)據(jù)編輯器中創(chuàng)建一個(gè)DFB實(shí)例,或者在程序編輯器中調(diào)用該功能時(shí)為其創(chuàng)建一個(gè)實(shí)例。
● 該實(shí)例在程序中和EFB (基本功能塊) 使用方式一樣 (該實(shí)例可以在程序內(nèi)建)。
(1)輸入和輸入/輸出的最大累積數(shù)為32。(2)輸出和輸入/輸出的最大累積數(shù)為32。
功能和功能塊庫管理器包含了Unity Pro軟件提供的所有元件。功能庫分成很多族,通過它來組織功能和功能塊。根據(jù)所選擇的PLC類型以及處理器型號(hào),用戶會(huì)擁有一套子庫,用于編寫自己的應(yīng)用程序。不過,“基礎(chǔ)庫”包含了一套基本功能和功能庫,其中的大部分都可以與其他的平臺(tái)兼容。而且,它包含了與IEC61131-3兼容的功能塊。
“基礎(chǔ)庫”分成許多族:
● 定時(shí)器和計(jì)數(shù)器
● 過程控制
● 數(shù)組管理
● 比較
● 日期和時(shí)間管理
● 邏輯運(yùn)算
● 數(shù)學(xué)運(yùn)算
● 統(tǒng)計(jì)運(yùn)算
● 字符串運(yùn)算
● 數(shù)據(jù)類型轉(zhuǎn)換
該庫含蓋了標(biāo)準(zhǔn)的自動(dòng)化功能,加上其他更有針對性的庫進(jìn)行補(bǔ)充,就形成了針對特定平臺(tái)的庫:
● 管理庫,用于運(yùn)動(dòng)控制和高速計(jì)數(shù)。
● 過程控制庫,連續(xù)控制庫可以用來建立過程回路控制。 并且,它還提供了控制器包含的微分和積分控制功能。
● 通信庫,通過此通信庫,可以將PLC的通信程序與用于人機(jī)界面的PLC應(yīng)用程序結(jié)合起來。和其他功能塊一樣,各種語言都可以使用這些基本功能塊來共享數(shù)據(jù),或者發(fā)送數(shù)據(jù)到人機(jī)界面進(jìn)行顯示。
● 擴(kuò)展庫,提供了附加的算法,比如說用來計(jì)算平均值,選擇最大值,通過一階插補(bǔ)運(yùn)算來進(jìn)行運(yùn)動(dòng)控制,進(jìn)行邊緣檢測,定義一個(gè)過程變量的限位值,等等。
● 診斷庫,執(zhí)行器監(jiān)視,信號(hào)組監(jiān)視,還有用于:主動(dòng)式診斷,反應(yīng)式診斷,連鎖診斷,過程控制條件診斷,動(dòng)態(tài)診斷等方面的基本功能塊。
● “系統(tǒng)”庫, 使基本功能塊能夠執(zhí)行系統(tǒng)功能:其中包括估算掃描時(shí)間以及若干個(gè)系統(tǒng)時(shí)鐘的有效性,SFC程序段的監(jiān)視,系統(tǒng)狀態(tài)顯示,等等。
● 最后,還有一個(gè)“過期”庫,其中包含了所有老系統(tǒng)編程軟件所使用,并且在進(jìn)行應(yīng)用程序轉(zhuǎn)換時(shí)會(huì)用到的功能塊。
用戶功能庫
用戶可以自行創(chuàng)建庫和族,以便于存儲(chǔ)自己的DFB功能塊和DDT數(shù)據(jù)結(jié)構(gòu)。這一增加功能,可以讓用戶建立適合自己的編程標(biāo)準(zhǔn),并進(jìn)行相關(guān)的版本管理。用戶可以進(jìn)行以下操作:
● 把應(yīng)用程序中所用元件的版本和存儲(chǔ)在庫中的元件版本進(jìn)行比較。
● 如果需要的話,進(jìn)行升級(jí)操作。
9 調(diào)試工具
Unity Pro軟件提供了一整套對Atrium,Premium,M340或者Quantum應(yīng)用程序進(jìn)行調(diào)試的工具。通過一個(gè)工具板,可以直接訪問這些主要的功能:
● 程序的動(dòng)畫
插入/刪除觀察點(diǎn)
● 設(shè)置觀察點(diǎn)或斷點(diǎn)(不在事件觸發(fā)的任務(wù)中使用)
執(zhí)行命令
● 單步程序執(zhí)行。該模式的一個(gè)功能是允許程序逐段執(zhí)行。指令也可以從前一個(gè)斷點(diǎn)處逐條執(zhí)行過程。如果需要處理的元件是一個(gè)子程序(SR)或者DFB 用戶功能塊,就可以使用三種執(zhí)行命令:
● 指定的單步執(zhí)行,或者“Step Into”,使用該命令會(huì)移到SR或者DFB定義的開始元件處。
● 全部的單步執(zhí)行,或者“Step Over”,使用該命令會(huì)對整個(gè)SR或者DFB進(jìn)行處理。
● 跳出的單步執(zhí)行,或者“Step Out”,使用該命令會(huì)移到SR或者DFB元件的下一個(gè)指令處。
● 獨(dú)立執(zhí)行主任務(wù) (MAST),快速任務(wù) (FAST),輔助任務(wù) (AUX),以及事件觸發(fā)式任務(wù) (EVTi)。
程序元件的動(dòng)畫
ST程序的動(dòng)畫
動(dòng)畫是按照程序段來進(jìn)行管理的。使用工具欄內(nèi)的一個(gè)按鈕來激活或者關(guān)閉每一個(gè)程序段的動(dòng)畫。
在運(yùn)行PLC的時(shí)候,可使用該模式來同時(shí)觀看以下內(nèi)容:
● 程序段的動(dòng)畫,不管該程序段使用何種語言
● 應(yīng)用對象的的動(dòng)畫,他們是從所觀察的程序段中,自動(dòng)創(chuàng)建的變量窗口而獲得。
可以在同一時(shí)間顯示若干窗口的動(dòng)畫。可以用帶有幫助氣泡的“工具提示”功能,在用鼠標(biāo)(或者其他定點(diǎn)設(shè)備)選擇了對象以后,對一個(gè)變量的內(nèi)容進(jìn)行瀏覽。
系統(tǒng)支持兩種動(dòng)畫:
● 標(biāo)準(zhǔn)的:活動(dòng)程序段的變量在主任務(wù)(MAST)結(jié)束時(shí)會(huì)被更新。
● 同步的:可以使用觀察點(diǎn)來使動(dòng)畫的變量與某個(gè)程序元件保持同步,以便于在程序中的這個(gè)確定點(diǎn)處給定它們的值。
仿真表
仿真表
含有監(jiān)視和修改的變量表格,可以通過數(shù)據(jù)輸入,或者選擇程序段自動(dòng)的初始化來生成。除了數(shù)據(jù)動(dòng)畫以外,用戶還可以:
● 修改位變量,或者強(qiáng)制它們?yōu)?或1。
● 更改顯示格式。
● 復(fù)制或者移動(dòng)變量 。
● 通過交叉對照表查找 。
● 顯示強(qiáng)制位的列表 。
這些表格可以存儲(chǔ)在應(yīng)用程序中,待日后需要時(shí)予以恢復(fù)。
DFB用戶功能塊調(diào)試
使用動(dòng)畫表格,用戶可以用實(shí)時(shí)的方式顯示這些功能塊的參數(shù)和公共變量,并對需要對象進(jìn)行修改和強(qiáng)制操作。
和其他程序元件完全一樣的操作,觀察點(diǎn),斷點(diǎn),單步執(zhí)行,以及程序代碼診斷功能都可以用來分析DFB的動(dòng)作。在一個(gè)DFB用戶功能塊實(shí)例中設(shè)置一個(gè)斷點(diǎn),會(huì)中止包含有該功能塊的任務(wù)的執(zhí)行。
在順序功能圖(SFC)語言中進(jìn)行調(diào)試
在SFC語言中同樣可以使用各種各樣的調(diào)試工具。不過,與其他程序區(qū)段 (IL, ST, LD或者FBD)不同,逐步執(zhí)行的SFC程序區(qū)段不會(huì)中止任務(wù)的執(zhí)行,它會(huì)凍結(jié)SFC圖表。在一個(gè)SFC程序區(qū)段內(nèi)可以同時(shí)聲明若干個(gè)斷點(diǎn)。
這種調(diào)試模式可以通過控制面板使用很多命令:
● 關(guān)閉活動(dòng)步(s)
● 激活初始步(s)
● 關(guān)閉步執(zhí)行時(shí)間功能
● 凍結(jié)圖表而不顧及轉(zhuǎn)移條件
● 中止步處理
● 根據(jù)轉(zhuǎn)移條件,移到下一個(gè)步
● 允許轉(zhuǎn)移并跳到下一個(gè)步的功能(指定的單步執(zhí)行命令,“Step Into”)
● 允許轉(zhuǎn)移功能,以執(zhí)行宏步的末尾段(跳轉(zhuǎn)的逐步執(zhí)行命令 “Step Out”)
● 各個(gè)步中已經(jīng)作了標(biāo)記的前置圖表,等等。