本的特征,以便進行下一步的處理。
[0066]根據功耗信息樣本對應的工作狀態,對計算得到的功耗特征信息進行標類,總計 標成8類。將標類后得到的功耗樣本信息特征數據分成等數目的兩組,一組使用libsvm工具 箱基于SVM機器學習算法訓練得到監控分類器,此時根據功耗信息樣本時間長度的不同得 到四個監控分類器,然后使用訓練得到的監控分類器對另一組進行識別,
[0067]采用上述4個監控分類器分別對任一 PLC程序進行監控識別實驗,按待識別程序種 類的不同,分別做測試,在測試過程中使用5折交叉驗證的方法進行評估統計分析,識別的 準確率如圖3所示,可以看出時間長度為1 Os時,監控準確率最高。
[0068] (2)使用 U2541A 型數據采集器分別以 250KSa/s、125KSa/s、50KSa/s、25KSa/s 和 5KSa/s的采樣速率采集S7-300型PLC分別運行8種程序時產生的功耗數據,將這些功耗數據 分割成l〇s每段的功耗樣本,獲得PLC運行8種程序時產生的功耗信息樣本各1200個(包含五 種不同采樣速率獲得的信息樣本各300個)。
[0069] 采用以下公式提取并計算出每個功耗信息樣本對應功耗特征信息。
[0070] 琢構估.
[0071] (1)
[0072]
[0073] (2)
[0074]
[0075] (3)
[0076]
[0077] C4)
[0078]
[0079] (5)
[0080]
[0081 ] (:6)
[0082]
[0083] (.7).
[0084]
[0085] (8)
[0086] 其中N為功耗數據點數,Xk是第K個點的數值,σ是標準差,ak為進行頻域變換后第K 個頻率fk處的能量大小,f是頻譜均值,Vs是頻譜方差。
[0087]除計算以上八個功耗特征信息之外,同時使用libxtract工具箱計算Tonality、 power以及irregularity_j三個功耗特征信息,得到共計11個功耗特征信息反映功耗信息 樣本的特征,以便進行下一步的處理。
[0088]根據功耗信息樣本對應的工作狀態,對計算得到的功耗特征信息進行標類,總計 標成8類。將標類后得到的功耗樣本信息特征數據分成等數目的兩組,一組使用libsvm工具 箱基于SVM機器學習算法訓練得到監控分類器,此時根據功耗信息樣本采樣速率的不同得 到五個監控分類器,然后使用訓練得到的監控分類器對另一組進行識別,
[0089]采用上述5個監控分類器分別對任一 PLC程序進行監控識別實驗,按待識別程序種 類的不同,分別做測試,在測試過程中使用5折交叉驗證的方法進行評估統計分析,識別的 準確率如圖4所示,可以看出采樣速率為250KSa/s時,監控識別準確率最高。
[0090] (3)使用U2541A型數據采集器以250K/Sa/s的采樣速率采集S7-300型PLC分別運行 8種程序時產生的功耗數據,將這些功耗數據分割成10s每段的功耗樣本,獲得PLC運行8種 程序時產生的功耗信息樣本各300個。
[0091]采用以下公式提取并計算出每個功耗信息樣本對應功耗特征信息。
[0092] 平均值:
[0093] (1)
[0094]
[0095] (2)
[0096]
[0097] (3)
[0098]
[0099] (4)
[0100]
[0101] (5)
[0102]
[0103] (6)
[0104]
[0105] (7)
[0106]
[0107] (8)
[0108] 其中N為功耗數據點數,Xk是第K個點的數值,σ是標準差,ak為進行頻域變換后第K 個頻率fk處的能量大小,歹是頻譜均值,Vs是頻譜方差。
[0109]除計算以上八個功耗特征信息之外,同時使用libxtract工具箱計算Tonality、 power以及irregularity_j三個功耗特征信息,得到共計11個功耗特征信息反映功耗信息 樣本的特征,以便進行下一步的處理。
[0110]根據功耗信息樣本對應的工作,對計算得到的功耗特征信息進行標類,總計標成8 類。將標類后得到的功耗樣本信息特征數據分成等數目的兩組,一組使用libsvm工具箱基 于SVM機器學習算法訓練得到監控分類器,此時根據訓練分類器時所用特征數據數目的不 同得到五個監控分類器,然后使用訓練得到的監控分類器對另一組進行識別,
[0111]采用上述5個監控分類器分別對任一 PLC程序進行監控識別實驗,按待識別程序種 類的不同,分別做測試,在測試過程中使用5折交叉驗證的方法進行評估統計分析,識別的 準確率如圖5所示,可以看出當訓練用特征數據數目為150個,監控識別準確率最高。
[0112]上述【具體實施方式】用來解釋說明本發明,而不是對本發明進行限制,在本發明的 精神和權利要求的保護范圍內,對本發明作出的任何修改和改變,都落入本發明的保護范 圍。
【主權項】
1. 一種基于旁路信息的化C安全監控方法,其特征在于:包括W下步驟: 1) 通過在化C的電源模塊W及CPU模塊之間串入取樣電阻,使用高速數據采集設備采集 PLC在運行時產生的功耗信息。 2) 從采集得到的原始功耗旁路信息中,計算得到能夠反映 PLC不同工作狀態的功耗特 征信息。 3) 使用計算得到的功耗特征信息結合SVM機器學習算法訓練監控分類器。 4) 由步驟3)得到的監控分類器,監測化C的當前工作狀態,實現安全監控。2. 根據權利要求1所述的一種基于旁路信息的PLC安全監控方法,其特征在于:所述的 步驟1)中在電源模塊與CPU模塊之間串聯接入阻值大小為0.1歐姆的電阻,進行化C功耗信 息的提取,通過W下公式將功耗信息轉換為易測量的電壓信號: Vi = Ii*R 其中,Vi為高速數據采集器測量的實時電壓數值,Ii為電源模塊與CPU模塊之間的實時 電流值,即實時功耗信息,R為電源模塊與CPU模塊之間串入的電阻,大小為0.1歐姆。同時使 用高速數據采集器實時采集串入的取樣電阻兩端的電壓變化情況,采樣速率為250KSa/s, 采樣精度為16bit。3. 根據權利要求1所述的一種基于旁路信息的PLC安全監控方法,其特征在于:所述的 步驟2)中將通過高速數據采集器獲得的化C在不同工作時產生的原始功耗旁路信息切割成 等時間長度的功耗旁路信息片段,每一個功耗旁路信息片段就是一個功耗信息樣本,采用 W下公式提取并計算出每個功耗信息樣本對應的能夠反映化C不同工作的功耗特征信息。平均值: 偏度: 峰度: 頻譜均值: 頻譜方差: 頻譜標準差: 不規律性: 均方根振幅: (8) 其中N為功耗數據點數,Xk是第K個點的數值,O是標準差,ak為進行頻域變換后第K個頻 率fk處的能量大小,玄;是頻譜均值,Vs是頻譜方差。 除計算W上八個功耗特征信息之外,同時使用Iibxhact工具箱計算Tonal ity、power W及irregularity_jS個功耗特征信息,得到共計11個功耗特征信息反映功耗信息樣本的 特征,W便進行下一步的處理。4. 根據權利要求1所述的一種基于旁路信息的化C安全監控系統,其特征在于:所述的 步驟3)中對計算得到的相應功耗信息樣本的功耗特征信息,根據對應的化C工作狀態對運 些功耗特征信息進行標類。借助標類后得到的功耗樣本特征數據,使用Iibsvm工具箱基于 SVM機器學習算法訓練監控分類器。5. 根據權利要求1所述的一種基于旁路信息的化C安全監控系統,其特征在于:所述的 步驟4)中使用步驟3)中訓練得到的監控分類器,對化C運行時產生的實時功耗數據進行監 控,從而判斷出其當前工作,實現對當前化C的安全監控。
【專利摘要】本發明公開了一種基于旁路信息的PLC安全監控方法。借助對功耗旁路信息的分析實現對PLC當前工作的安全監控。以在PLC的供電線路中串入取樣電阻的方式,使用高速數據采集設備獲取PLC運行時產生的實時功耗信息,根據獲取的功耗信息計算出能夠反映PLC當前工作的特征信息,根據這些計算得到的特征信息,使用SVM算法構造分類器,實現對PLC當前工作的有效識別。本發明硬件結構簡單,無需修改工業控制系統的硬件以及軟件系統,不會影響工業控制系統的正常運行,同時能夠以高準確率實現對PLC的安全監控。
【IPC分類】G05B19/05
【公開號】CN105652781
【申請號】
【發明人】徐文淵, 王灝然
【申請人】浙江大學
【公開日】2016年6月8日
【申請日】2016年3月12日