工業(yè)互聯(lián)網(wǎng)平臺綜合應(yīng)用 課件 項目二任務(wù)2.2 設(shè)備運維指標(biāo)計算_第1頁
工業(yè)互聯(lián)網(wǎng)平臺綜合應(yīng)用 課件 項目二任務(wù)2.2 設(shè)備運維指標(biāo)計算_第2頁
工業(yè)互聯(lián)網(wǎng)平臺綜合應(yīng)用 課件 項目二任務(wù)2.2 設(shè)備運維指標(biāo)計算_第3頁
工業(yè)互聯(lián)網(wǎng)平臺綜合應(yīng)用 課件 項目二任務(wù)2.2 設(shè)備運維指標(biāo)計算_第4頁
工業(yè)互聯(lián)網(wǎng)平臺綜合應(yīng)用 課件 項目二任務(wù)2.2 設(shè)備運維指標(biāo)計算_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

《工業(yè)數(shù)據(jù)處理與分析》/工業(yè)互聯(lián)網(wǎng)系列課程

項目二工業(yè)設(shè)備健康維度分析任務(wù)二設(shè)備運維指標(biāo)計算>>目錄任務(wù)說明01《工業(yè)數(shù)據(jù)處理與分析》/工業(yè)互聯(lián)網(wǎng)系列課程知識準(zhǔn)備02任務(wù)實施03思考與討論04任務(wù)說明故障預(yù)測的前提是需要采集到故障數(shù)據(jù),在模型中稱為設(shè)備連接變量,四級指標(biāo)、三級指標(biāo)、一級指標(biāo)通常具備相關(guān)性,可以相互推導(dǎo)和拆分,計算機規(guī)則設(shè)置是建模的重要過程,本次任務(wù)將對故障指標(biāo)進(jìn)行分析,并根據(jù)各級指標(biāo)建立沖壓機故障預(yù)警模型。任務(wù)說明學(xué)習(xí)導(dǎo)圖目錄任務(wù)說明01《工業(yè)數(shù)據(jù)處理與分析》/工業(yè)互聯(lián)網(wǎng)系列課程知識準(zhǔn)備02任務(wù)實施03思考與討論04內(nèi)置變量平臺提供了一些內(nèi)置變量,用于協(xié)助物模型屬性進(jìn)行復(fù)雜計算。變量名說明$inputMap

當(dāng)前工況輸入timestamplong

該變量表示當(dāng)前工況的epoch時間戳,以長整型表示,單位:毫秒。支持的控制語句平臺提供了一些控制語句,在特殊條件下,用于協(xié)助物模型屬性進(jìn)行復(fù)雜計算。語句語法示例forfor(def元素變量名:數(shù)組變量名){

語句#1

語句#2

}sum=0

defelements=[0,1,2]

for(defi:elements){

sum=sum+i;

}

printlnsumwhilewhile(循環(huán)條件){

語句#1

語句#2

...

}sum=0

i=0

while(i<10){

sum++

i++

}支持的數(shù)值計算函數(shù)平臺提供了數(shù)值計算函數(shù),用于協(xié)助物模型屬性進(jìn)行數(shù)值計算。支持的字符串處理函數(shù)平臺提供了字符串處理函數(shù),用于協(xié)助物模型屬性的字符串函數(shù)進(jìn)行處理。函數(shù)表達(dá)式說明字符串1.contains(字符串2)字符串1是否包含了字符串2。字符串1.indexOf(子串)字符串1中第一次出現(xiàn)子串的下標(biāo)。字符串1.lastIndexOf(子串)字符串1中最后一次出現(xiàn)子串的下標(biāo)。字符串1.substring(beginIndex)從下標(biāo)beginIndex開始,截取目標(biāo)字符串中的子串。字符串1.startsWith(字符串2)檢查字符串1是否以字符串2開頭。字符串1.endsWith(字符串2)檢查字符串1是否以字符串2結(jié)尾。toLowerCase()將目標(biāo)字符串全轉(zhuǎn)為小寫。toUpperCase()將目標(biāo)字符串全轉(zhuǎn)為大寫。用法示例:$recent("屬性ID")在設(shè)置屬性規(guī)則時,用“$+指標(biāo)名”的方式來實時獲取某一個指標(biāo)值,例如在獲取指標(biāo)的過程中。屬性值調(diào)試屬性值調(diào)試包括設(shè)置屬性值計算規(guī)則、屬性賦值、運行三步。設(shè)置屬性計算規(guī)則:獲取屬性實時值時,使用$recent函數(shù)用來對齊數(shù)據(jù),否則會對表達(dá)式執(zhí)行結(jié)果造成很大影響!屬性值調(diào)試屬性賦值:在給屬性賦值時需要添加變量,然后給變量賦值當(dāng)屬性當(dāng)前值為null時,在計算過程中會取屬性上一值,當(dāng)屬性當(dāng)前值和屬性上一值同時存在時,屬性上一值會失效。屬性值調(diào)試運行屬性規(guī)則:當(dāng)設(shè)置好屬性規(guī)則,并給屬性賦值后,就可以單擊開始運行,當(dāng)電機開始運行后可在運行詳情查看結(jié)果,單擊錯誤按鈕可以查看錯誤信息,單擊清空按鈕可以清空當(dāng)前運行結(jié)果。屬性值調(diào)試常見的錯誤提示和解決方法:給屬性賦值后,開始運行代碼,當(dāng)代碼運行成功時,可以在運行詳情處查看運行結(jié)果,當(dāng)代碼運行不成功時,可以單擊“錯誤”按鈕,查看錯誤提示,如表列舉一些常見的錯誤提示和解決方法。問題描述報錯運行代碼(或者描述)調(diào)試是否通過物模型發(fā)布是否成功解決方法屬性id報錯或者屬性id不存在unknownpropertyin$recent:xxx(屬性id).調(diào)試不通過發(fā)布不成功正確填寫對應(yīng)的屬性idgroovy代碼中,定義的變量名與模型的屬性id相同Parseerror:line2:4thepropertyxxx(屬性id)isread-only.Parseerror:line18:4thepropertyxxx(屬性id)isread-only.調(diào)試通過發(fā)布不成功修改定義的變量名或者屬性id,使兩者不相同groovy代碼中,recent()函數(shù)獲取屬性值沒有處理空值情況Cannotexecutenull+null調(diào)試不通過發(fā)布成功用三目運算符?:做空值判斷。$recent(屬性id)?:0調(diào)試groovy代碼時,時間戳沒有賦值CannotinvokemethodlongValue()onnullobject調(diào)試不通過發(fā)布成功調(diào)試時,給時間戳__timestamp__賦初始值時間窗口時間窗口是指在設(shè)置的時間段內(nèi),對屬性進(jìn)行處理。為了滿足多種場景的需要,對于物模型中的規(guī)則指定來源的屬性,平臺除了支持高級表達(dá)式外,還支持使用時間窗口對屬性進(jìn)行計算,同時允許其他屬性使用已經(jīng)使用時間窗口計算后的屬性。由于一個表達(dá)式不能有兩個時間窗口,所以當(dāng)表達(dá)式里面有一個屬性的值是通過時間窗口算出來的時候,這個表達(dá)式就不能在疊加時間窗口了,因此兩選項不能同時勾選。時間窗口時間窗口參數(shù)說明表參數(shù)說明對上述規(guī)則添加的函數(shù)使用“規(guī)則指定”的屬性值來源,按照定義的規(guī)則計算屬性值,再對其計算結(jié)果執(zhí)行該函數(shù)計算,以該函數(shù)計算結(jié)果作為最終的屬性值輸出。

min:對目標(biāo)值取最小值。

max:對目標(biāo)值取最大值。

sum:對目標(biāo)值求和。

avg:對目標(biāo)值取平均值。

count:計算目標(biāo)值有效的個數(shù)。

dev:對目標(biāo)值計算標(biāo)準(zhǔn)差。

range:計算目標(biāo)值中最大值和最小值的差值。

first:返回目標(biāo)值在窗口中的第一個非空值。

last:返回目標(biāo)值在窗口中的最后一個非空值。

majority:計算目標(biāo)值在窗口中出現(xiàn)最多的值。

例如:規(guī)則指定為B=A*2,對規(guī)則添加min函數(shù),則最后會呈現(xiàn)該屬性所有數(shù)值B中的最小值。規(guī)則容納的時間和規(guī)則執(zhí)行時間間隔例如:規(guī)則容納的時間設(shè)為60,規(guī)則執(zhí)行時間間隔設(shè)為34,則每34秒計算一次前60秒內(nèi)上述規(guī)則的值。缺省值當(dāng)該屬性為空時顯示的內(nèi)容,可以為空值、上一有效值,也可以自定義,例如:{"id":"001","name":"用來舉例的"}。時間窗口使用時間窗口,每隔固定時間(步長),開始對后面某段時間區(qū)間(窗口長度)內(nèi)上報工況進(jìn)行結(jié)算(使用聚合函數(shù)),如求和、最初值、均值等,并輸出運算結(jié)果。假設(shè)為某個設(shè)備的屬性A上報工況的情況,該屬性每秒上報一次工況值,第0秒為初次上報時間,其值為a0,第1秒上報的工況值為a1…,因數(shù)據(jù)上傳頻繁,可以對時間窗口功能對其進(jìn)行聚合。設(shè)置參數(shù)步長為3秒,窗口長度為4秒,函數(shù)為均值,那么,每隔3秒開始結(jié)算后4秒屬性A工況的均值。屬性取值范圍設(shè)置在編輯屬性的過程中,可以給屬性設(shè)置取值范圍;還可以預(yù)設(shè)超出范圍后的取值和異常值保留方式。目錄任務(wù)說明01《工業(yè)數(shù)據(jù)處理與分析》/工業(yè)互聯(lián)網(wǎng)系列課程知識準(zhǔn)備02任務(wù)實施03思考與討論04梳理物模型指標(biāo)點表根據(jù)任務(wù)一中設(shè)備故障的指標(biāo)體系,梳理設(shè)備物模型的屬性點表。沖壓機原始屬性點表的部分內(nèi)容屬性名稱屬性ID數(shù)據(jù)類型讀寫操作設(shè)置屬性值來源主電機溫度motor_tempNumber讀寫連接變量主電機轉(zhuǎn)速motor_speedNumber讀寫連接變量主電機電流motor_currentNumber讀寫連接變量液壓墊通訊狀態(tài)io_comInteger讀寫連接變量液壓墊同步狀態(tài)io_synInteger讀寫連接變量離合器壓力clutch_preNumber讀寫連接變量離合器油箱液位liquid_levelNumber讀寫連接變量滑塊狀態(tài)block_staInteger讀寫連接變量設(shè)備狀態(tài)device_statusInteger讀寫連接變量完整的沖壓機屬性點表梳理物模型指標(biāo)點表通過拆解指標(biāo)體系,整理出指標(biāo)體系的名稱、ID、數(shù)據(jù)類型以及計算規(guī)則。主電機部分屬性點表的屬性計算規(guī)則高級表達(dá)式邏輯梳理本次任務(wù)根據(jù)任務(wù)一的指標(biāo)拆解,梳理設(shè)備各部件報警邏輯,以主電機為例,對設(shè)備主電機零件的健康度進(jìn)行分析,計算步驟為:計算主電機溫度報警標(biāo)識、主電機電流報警標(biāo)識、主電機電流報警標(biāo)識計算主電機報警指標(biāo)計算設(shè)備今日主電機報警次數(shù)、今日主電機報警時長計算主電機今日報警次數(shù)得分與今日主電機報警時長得分計算今日主電機健康度高級表達(dá)式邏輯梳理根據(jù)沖壓機主電機報警標(biāo)識屬性規(guī)則,對其報警標(biāo)識分析。主電機轉(zhuǎn)速報警:轉(zhuǎn)速大于等于3000且設(shè)備工作狀態(tài)為1,則報警,否則正常。主電機電流報警標(biāo)識:電流大于等于20或者小于10,且設(shè)備工作狀態(tài)為1,則報警,否則正常。主電機溫度報警標(biāo)識:溫度大于等于130,且設(shè)備工作狀態(tài)為1,則報警),否則正常。高級表達(dá)式邏輯梳理計算主電機報警指標(biāo):當(dāng)前主電機溫度報警標(biāo)識、當(dāng)前主電機轉(zhuǎn)速報警標(biāo)識、當(dāng)前主電機電流報警標(biāo)識三者中有任意一個為1,則緊急報警,否則為非緊急報警。當(dāng)報警標(biāo)識取值不同時,主電機報警的屬性值取值情況也有所不同。報警標(biāo)識屬性值溫度報警標(biāo)識01111000轉(zhuǎn)速報警標(biāo)識00101110電流報警標(biāo)識00011001主電機報警01111111報警標(biāo)識取值不同時的主電機報警的屬性值取值情況表高級表達(dá)式邏輯梳理計算設(shè)備今日主電機報警時長的步驟高級表達(dá)式邏輯梳理計算設(shè)備今日主電機報警時長的代碼邏輯:高級表達(dá)式邏輯梳理今日主電機報警次數(shù):獲取當(dāng)前的今日主電機報警次數(shù),如果當(dāng)前屬性值為空,默認(rèn)今日主電機報警次數(shù)為0。獲取當(dāng)前主電機報警狀態(tài),如果主電機報警的當(dāng)前屬性值是空的話默認(rèn)為0,即主電機不報警。獲取當(dāng)前時間戳和上一次上云時間戳,判斷是否隔天,隔天則清零,否則判斷當(dāng)前緊急報警狀態(tài)是否為0,為0則返回當(dāng)前次數(shù),否則,當(dāng)前緊急報警狀態(tài)加1。創(chuàng)建設(shè)備物模型創(chuàng)建一個新的物模型的基本步驟:登錄平臺>進(jìn)入控制臺>接入與建模>物>物模型>直接創(chuàng)建。選擇類型設(shè)備,自定義設(shè)置模型名稱為沖壓機模型,選擇其它分類,然后單擊完成物模型的創(chuàng)建。批量導(dǎo)入沖壓機原始數(shù)據(jù),將沖壓機原始屬性點表.xlsx拖拽到上傳屬性位置。創(chuàng)建設(shè)備物模型建立對應(yīng)的網(wǎng)關(guān)物模型和物實例網(wǎng)關(guān)物模型網(wǎng)關(guān)物實例添加物模型屬性分組單擊修改模型,物模型進(jìn)入草稿狀態(tài)。單擊空白處,在菜單欄右側(cè)會出現(xiàn)屬性組欄目。添加物模型屬性分組在全部屬性的子級分組中中有默認(rèn)為未分組的分組,單擊添加子級分組。添加物模型屬性分組可以將已添加的連接進(jìn)行分組,選擇選擇對應(yīng)的分組,單擊關(guān)聯(lián)屬性來對選擇對應(yīng)的屬性,從而達(dá)到分組目的。在添加分組中,分別添加分組名稱為主電機、液壓墊、離合器、滑塊的分組。手動添加設(shè)備計算屬性主電機溫度報警標(biāo)識,主電機轉(zhuǎn)速報警標(biāo)識,主電機電流報警標(biāo)識屬性指標(biāo)點表。手動添加設(shè)備計算屬性添加主電機溫度報警標(biāo)識:設(shè)置屬性名稱為主電機溫度報警標(biāo)識,屬性ID為motor_temp_flag,設(shè)置數(shù)據(jù)類型為Interger類型,讀寫操作設(shè)置選擇讀寫。手動添加設(shè)備計算屬性主電機溫度報警標(biāo)識是根據(jù)設(shè)備采集溫度來判定是否發(fā)出報警,在屬性值值來源處選擇規(guī)則指定,編輯主電機溫度報警標(biāo)識的計算規(guī)則。在指標(biāo)優(yōu)先級設(shè)置過程中,0為最高級,優(yōu)先級默認(rèn)為0。主電機溫度報警標(biāo)識規(guī)則的Groovy語句//獲取當(dāng)前沖壓機的溫度longtemp1=$recent("motor_temp")?:0;//獲取當(dāng)前沖壓機設(shè)備狀態(tài)longworkstatus=$recent("device_status")?:0;//如果設(shè)備處于運行狀態(tài),同時溫度大于130攝氏度,則返回1,否則返回0if(temp1>130&&workstatus==1){return1;}else{return0;}手動添加設(shè)備計算屬性主電機轉(zhuǎn)速報警標(biāo)識:設(shè)置屬性名稱為主電機轉(zhuǎn)速報警標(biāo)識,屬性ID為motor_speed_flag,設(shè)置數(shù)據(jù)類型為Interger類型,讀寫操作設(shè)置選擇讀寫。主電機轉(zhuǎn)速報警標(biāo)識規(guī)則的Groovy語句defspeed1=$recent("motor_speed")?:0;//獲取當(dāng)前主電機轉(zhuǎn)速defworkstatus=$recent("device_status")?:0;//獲取當(dāng)前沖壓機設(shè)備狀態(tài)//如果設(shè)備處于運行狀態(tài),同時主電機轉(zhuǎn)速超過3000ramp,則返回1,否則,返回0if(speed1>=3000&&workstatus==1){return1;}else{return0;}手動添加設(shè)備計算屬性主電機電流報警標(biāo)識:設(shè)置屬性名稱為主電機電流報警標(biāo)識,屬性ID為motor_current_flag,設(shè)置數(shù)據(jù)類型為Interger類型,讀寫操作設(shè)置選擇讀寫。主電機轉(zhuǎn)速報警標(biāo)識規(guī)則的Groovy語句defcur1=$recent("motor_current")?:0;//獲取當(dāng)前主電機電流defworkstatus=$recent("device_status")?:0;//獲取當(dāng)前沖壓機的狀態(tài)//如果設(shè)備處于運行狀態(tài),同時當(dāng)前主電機電流大于20A,或者小于20A,返回1,否則返回0if((cur1>=20||cur1<=10)&&workstatus==1){return1;}else{return0;}手動添加設(shè)備計算屬性在更多配置中設(shè)置出發(fā)方式為參與規(guī)則的任一屬性有工況上報即觸發(fā)(__online__除外),歷史數(shù)據(jù)保存方式選擇全部保存。手動添加設(shè)備計算屬性單擊手動添加,添加主電機報警基本信息,屬性名稱為主電機報警,屬性ID為motor_alarm,數(shù)據(jù)類型使用Integer,讀寫操作設(shè)置為讀寫。進(jìn)行主電機報警屬性配置,屬性值來源選定規(guī)則指定,編輯主電機報警的計算規(guī)則。優(yōu)先級設(shè)置為1級。intflag1=$recent("motor_temp_flag");//獲取主電機溫度報警標(biāo)識intflag2=$recent("motor_speed_flag");//獲取主電機轉(zhuǎn)速報警標(biāo)識intflag3=$recent("motor_current_flag");//獲取主電機電流報警標(biāo)識//如果主電機溫度和主電機轉(zhuǎn)速和主電機電流任意一個為1則報警if(flag1==1||flag2==1||flag3==1){return1;}else{return0;}主電機報警規(guī)則的Groovy語句手動添加設(shè)備計算屬性單擊手動添加,添加今日主電機報警時長基本信息,屬性名稱為今日主電機報警時長,屬性ID為motor_dah,數(shù)據(jù)類型使用Number,讀寫操作設(shè)置為讀寫。進(jìn)行今日主電機報警時長屬性配置,屬性值來源選定規(guī)則指定,編輯今日主電機報警時長的計算規(guī)則。優(yōu)先級設(shè)置為2級。今日主電機報警時長規(guī)則的Groovy語句//獲取當(dāng)前今日主電機報警時長deftemp_duration=$recent("motor_dah")//如果今日主電機報警時長為空,則今日主電機報警時長為0if(temp_duration==null){temp_duration=0}//獲取當(dāng)前數(shù)據(jù)時間戳Longcurrent_timestamp=__timestamp__.longValue()/1000//獲取上一數(shù)據(jù)時間戳Longlast_timestamp=$lastStamp()/1000?:current_timestamp//指定'年-月-日'轉(zhuǎn)化格式j(luò)ava.text.SimpleDateFormatsf=newjava.text.SimpleDateFormat("yyyy-MM-dd")//將格式為長整型的當(dāng)前數(shù)據(jù)時間戳轉(zhuǎn)化為'年-月-日'格式的字符串StringnowTimeStr=sf.format(newjava.util.Date(current_timestamp*1000))//將格式為長整型的上一數(shù)據(jù)時間戳轉(zhuǎn)化為'年-月-日'格式的字符串StringlastTimeStr=sf.format(newjava.util.Date(last_timestamp*1000))//如果當(dāng)前時間和上一時間不相等,則判斷為隔天if(nowTimeStr<=>lastTimeStr){//初始化今日主電機報警時長為0temp_duration=0//指定'年-月-日-時-分-秒'轉(zhuǎn)化格式j(luò)ava.text.SimpleDateFormatsdf_convert=newjava.text.SimpleDateFormat("yyyy-MM-ddHH:mm:ss")//上一時間戳設(shè)置為當(dāng)天的0時0分0秒,并將其轉(zhuǎn)化為數(shù)值格式last_timestamp=((sdf_convert.parse(nowTimeStr+"00:00:00")).getTime())/1000}//如果當(dāng)前主電機報警為1,if($recent("motor_alarm")==1){//狀態(tài)時長與轉(zhuǎn)化秒的時間片段累加temp_duration=temp_duration+(current_timestamp-last_timestamp)}//返回今日主電機報警時長returntemp_duration手動添加設(shè)備計算屬性單擊手動添加,添加今日主電機報警次數(shù)基本信息,屬性名稱為今日主電機報警次數(shù),屬性ID為motor_dac,數(shù)據(jù)類型使用Number,讀寫操作設(shè)置為讀寫。進(jìn)行今日主電機報警次數(shù)屬性配置,屬性值來源選定規(guī)則指定,編輯今日主電機報警次數(shù)的計算規(guī)則。優(yōu)先級設(shè)置為2級。今日主電機報警次數(shù)規(guī)則的Groovy語句//獲取當(dāng)前今日主電機報警次數(shù)deftodayAlarmCoun=$recent("motor_dac")?:0;//獲取當(dāng)前主電機報警defnowCount=$recent("motor_alarm")?:0;longnow=__timestamp__.longValue();longlast=$lastStamp()?:now;java.text.SimpleDateFormatsf=newjava.text.SimpleDateFormat("yyyy-MM-dd")StringnowTimeStr=sf.format(newjava.util.Date(now))StringlastTimeStr=sf.format(newjava.util.Date(last))//隔天重新計算//如果當(dāng)前時間和上一時間不相等,則判斷為隔天,返回0if(nowTimeStr<=>lastTimeStr){return0;}//如果主電機報警為0,則返回當(dāng)前今日主電機報警次數(shù)if(nowCount==0){returntodayAlarmCoun;}else{//否則,返回當(dāng)前今日主電機報警次數(shù)加1returntodayAlarmCoun+1;}手動添加設(shè)備計算屬性單擊手動添加,添加今日主電機報警時長得分基本信息,屬性名稱為今日主電機報警時長得分,屬性ID為motor_dah_df,數(shù)據(jù)類型使用Number,讀寫操作設(shè)置為讀寫。進(jìn)行今日主電機報警時長得分屬性配置,屬性值來源選定規(guī)則指定,編輯今日主電機報警時長得分的計算規(guī)則。優(yōu)先級設(shè)置為3級。今日主電機報警時長得分規(guī)則的Groovy語句//獲取當(dāng)前今日主電機報警時長defalarmHour=$recent("motor_dah")?:0//如果報警時長小于等于60秒時,報警時長的得分為100-1*今日主電機報警時長/60if(alarmHour<=60||alarmHour==0){return100-1*alarmHour/60;}elseif(alarmHour>60&&alarmHour<=360){//當(dāng)報警時長大于60秒,并且小于等于360秒時,返回得分為99-2*(今日主電機報警時長/60-1)return99-2*(alarmHour/60-1);}elseif(alarmHour>360&&alarmHour<=1428){//當(dāng)報警時長大于360秒,并且小于等于1428秒時,返回89-5*(今日主電機報警時長/60-6)return89-5*(alarmHour/60-6);}else{//當(dāng)?shù)梅执笥?428秒時,得分為0return0}手動添加設(shè)備計算屬性單擊手動添加,添加今日主電機報警次數(shù)得分基本信息,屬性名稱為今日主電機報警次數(shù)得分,屬性ID為motor_dac_df,數(shù)據(jù)類型使用Number,讀寫操作設(shè)置為讀寫。進(jìn)行今日主電機報警次數(shù)得分屬性配置,屬性值來源選定規(guī)則指定,編輯今日主電機報警次數(shù)得分的計算規(guī)則。優(yōu)先級設(shè)置為3級。今日主電機報警次數(shù)得分規(guī)則的Groovy語句//今日主電機報警次數(shù)defalarmCount=$recent("motor_dac")?:0//如果今日報警次數(shù)為0次或者1次時,返回得分為100-1*今日主電機報警次數(shù)if(alarmCount==1||alarmCount==0){return100-1*alarmCount;}elseif(alarmCount>=2&&alarmCount<=5){//如果今日報警次數(shù)大于等于2次,小于等于5次時,返回得分99-2*(今日主電機報警次數(shù)-1)return99-2*(alarmCount-1);}elseif(alarmCount>=6&&alarmCount<=23){//如果今日報警次數(shù)大于等于6次,小于等于23次時,返回得分99-5*(今日主電機報警次數(shù)-5)return91-5*(alarmCount-5);}else{//所有當(dāng)報警次數(shù)大于23次時,返回得分為0return0}手動添加設(shè)備計算屬性單擊手動添加,添加今日主電機健康度基本信息,屬性名稱為今日主電機健康度,屬性ID為today_motor_health,數(shù)據(jù)類型使用Numb

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論