新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PLC的模糊神經網絡算法實現方法

        基于PLC的模糊神經網絡算法實現方法

        作者: 時間:2016-12-16 來源:網絡 收藏
          模糊神經網絡是模糊邏輯控制和神經網絡兩者結合的產物。這兩者單獨使用時存在一定缺陷。模糊邏輯在一定的論域上具有很好的收斂性,并具有模糊量運算優勢;而神經網絡具有強自學習、自適應、并行運算和精確計算的能力。因此,這兩者相結合可大大提高綜合能力。

          plc在工業控制中應用廣泛,因此,功能強大,使用方便。因此,將模糊神經網絡算法應用于PLC中具有實際應用價值,使PLC在機械、民用等領域廣泛應用。這里提出一種基于PLC的模糊神經網絡算法實現方法。

        本文引用地址:http://www.104case.com/article/201612/330832.htm

          1、模糊神經網絡系統結構

          模糊神經網絡具有很多種結構和算法,對于不同控制對象,綜合考慮運算速度和精度,模糊神經網絡結構也有所不同。由于該實現方法沒有實際控制對象,為了說明在PLC上能實現模糊神經網絡算法,故選擇模糊神經網絡,如圖1所示。假設其中輸入兩個變量X1、X2,輸出變量為Y。將每個輸入因子分為:NM,NS,ZO,PS,PM等5個模糊狀態。

          2、模糊神經網絡的學習步驟

          選擇在線學習,在線學習期間學習速度不變。在線學習終止條件是性能指標E小于等于某一數值。這個指標值隨控制對象的改變而改變的。當確定控制對象時,該指標值可根據經驗確定。但是為了便于說明問題這里設置該指標值為0.002。具體學習步驟是:①θji、σji、ωi及η的初始值在[0,1]之間隨機選取,η的值為恒定值,根據經驗決定。②根據模糊神經算法計算出比較理想的θji(k+1)、σji(k+1)、ωi(k+1)值。③根據模糊神經算法計算E,若E≤0.002,迭代結束。否則,令θji(k+1)、σji(k+1)、ωi(k+1)為初始值并返回②。

          3、模糊神經網絡算法在PLC的應用

          3.1模糊神經網絡學習階段的實現

          在學習階段實現過程中,利用上位機向下位機傳輸樣本數據,具體運算過程是由下位機實現。

          3.1.1學習階段上位機程序實現

          根據模糊神經網絡理論知識可知,樣本值是根據實際控制對象的需要而定的。為了說明問題,采用含有兩個輸入值和一個輸出期望值的較為簡單的樣本值。學習過程中上位機程序設計流程如圖2所示,具體過程如下:

          (1)初始化初始化樣本值和為后續傳輸樣本值做準備,通過PLC指令把樣本值寫入PLC的儲存地址,再次賦值給發送區的數據區,并把存儲第一個樣本值地址分別賦給VD712,VD716,VD720地址指針,這樣可為再次發送樣本值做準備。因為要發送的樣本值是不斷變化的,但是發送區不能變化,故使用地址指針達到兩者同步。

          (2)接受請求接收下位機向上位機傳送的數據,該數據是告之上位機是否向下位機傳送樣本值。

          (3)判斷VB703數據請求標志位VB703,對所接收的數據,判斷其值是否等于16#FF。而16#FF是通信協議中規定上位機給下位機傳送數據的標志。如果等于16#FF,則向下位機傳輸數據;否則就再次返回上一步。

          (4)發送數據通過上位機通信程序向下位機發送樣本值,發送完后就結束第一次傳送樣本值,啟動新接收,等待下位機請求數據傳送信號。

          3.1.2下位機程序實現

          圖3為下位機程序流程,從中可以看到學習階段下位機程序的基本構想。

          針對下位機程序流程這里需要說明的是:

          (1)初始化首先隨機選取[0,1]內θji、σji、ωi及η的初始值,通過PLC指令把這些值賦給存儲單元;其次對學習過程中用到的常數賦值,同樣賦給存儲單元;最后,要把請求數據傳送的標志位VB703置位。

          (2)初始值計算由于初始化中請求數據傳送,首先通過下位機的通信程序取得數據,并且接收樣本數據后.復位VB703,告知上位機不再傳送數據。接著利用初始化已賦值的第一組權值,計算第一組樣本值為輸入時輸出值、輸出值與期望輸出值的差值以及后續計算所要用到的數據。

          (3)權值、E(性能指標)值計算在第上一步的基礎上計算權值和E值。具體算法可參考模糊神經網絡算法.且易于在PLC平臺上實現。

          (4)E值判斷把計算的E值與0.002相比較。如果E≤0.002,說明計算的函數變量、權值已達到預期目標,學習過程結束。結束的同時觸發外接設備的開關量,利用外接設備讀取這些計算結果。相反,則需繼續學習過程。并將不滿足性能指標第3步計算出的函數變量、權值賦給下一步重新計算y值所需的地址內,把請求數據標志位VB703置位.并向上位機發送,從而為新y值的計算做好準備。


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 调兵山市| 绥棱县| 怀柔区| 昌平区| 会同县| 德庆县| 临城县| 安阳市| 教育| 天长市| 沅江市| 新竹市| 依安县| 图们市| 西昌市| 都匀市| 察隅县| 临西县| 策勒县| 平果县| 福贡县| 襄城县| 大城县| 新竹市| 壤塘县| 龙川县| 太仓市| 宜宾县| 永泰县| 呈贡县| 辽宁省| 祥云县| 海宁市| 若尔盖县| 达拉特旗| 会同县| 沾益县| 吴堡县| 屯留县| 沽源县| 肇州县|