<wbr id="pbjqz"><pre id="pbjqz"><noscript id="pbjqz"></noscript></pre></wbr>

            <nav id="pbjqz"></nav>
              <wbr id="pbjqz"><legend id="pbjqz"><video id="pbjqz"></video></legend></wbr>

              PLC技術資料
                基于PLC和PC的分布式計算機監控系統的設計(下)
                發布者:用戶投稿  發布時間:2008/5/4 19:36:56
                3.2 軟件設計
                    本系統PLC的編程使用CX-ProgrammerV3.1編寫,實現PLC對故障繼電器的初步監控;上位機監控使用VisualBasic6.0編寫主監控程序,實現故障實時監控報警、顯示、記錄、故障點信息查詢修改以及運行狀態查詢等功能。
                    (1)PLC程序:該程序包括三個輸入模塊和一個輸出模塊,用于對48個故障信息的采集和分類,并對PLC后備電池狀態監控。
                    將故障信息轉存到20通道:

                    將故障分類: 

                    PLC后備電池狀態轉存至23通道:

                    (2)上位機程序:主要負責與PLC進行串口通信,讀取PLC內部通道狀態加以分析,在主界面上實現故障報警、顯示、故障點信息查詢、故障信息記錄查詢以及節點信息修改查詢等功能。上位機PC與PLC通訊時,按應答方式進行,由上位計算機發給PLC一組ASCⅡ碼字符數據,這一數據稱為命令塊。PLC收到命令塊后經分析認為命令正常,則按照命令進行操作,將操作結果返回給上位計算機,PLC返回給上位計算機的這一組數據稱為響應塊。若PLC收到命令后經分析確認命令不正常,則返回給上位計算機錯誤命令響應塊。上位計算機和PLC通訊時,PLC是被動的,必須由上位計算機給PLC發出命令塊,PLC作出響應發還給上位計算機響應塊。
                本程序采用多重通訊方式,多重通訊時首幀以單元號(即HOST LINK的機號)開始,然后為報頭、報文、校驗碼、結束符(只有一幀時)或分隔符(多幀時)。中間幀以報文開始,然后為校驗碼、分隔符,中間幀報文每幀最多125個字符。尾幀以報文開始,然后為校驗碼、結束符,尾幀報文最多124個字符。
                    校驗碼FCS(Frame Check Sequence)是8位(bit)二進制數轉換成的2位字符。這8位二進制數是一幀中校驗碼前的所有字符的ASCⅡ碼按位異或的結果。轉換成字符時按照2位十六進制數字轉換成對應的數字字符。
                    PLC收到上位計算機發出的命令塊后,經分析操作返回給上位計算機響應塊,在響應塊中含有響應碼。如果PLC正常完成上位計算機的命令,則響應碼為00,否則,響應碼中含有出錯信息。
                    (3)上位機PC與PLC的串口通信程序設計。
                    Timer2的值設為2000,即每隔2s上位機PC向PLC發送一次讀取命令,讀取信息。
                    Private Sub Timer2_Timer()
                     Dim a(10) As String
                     a(0)="@00RR00200004" ’單元號和報頭報文
                     a(1)=FCS(a(0))  ’命令格式中的校    
                 驗位
                     a(2)=a(0)+a(1)+"*"+Chr$(13) 
                ’命令碼
                     MSComm1.Output=a(2) ’向PLC發送命令
                a(3)=MSComm1.Input
                a(4)=Mid$(a(3),6,2) ’響應碼
                Call Message(a(4)) ’調用響應碼的錯
                誤信息
                     If errortime > 3 Then
                     Timer2.Enabled=False
                     intr=MsgBox(“通訊錯誤,是否退出檢查連接?”,vbYesNoCancel+vbExclamation,“通訊連接中”)
                      If intr=vbYes Then
                    ………
                      Else
                    ………  
                      End If
                      End If
                ’如果通訊連接正常則讀取數據:

                [NextPage] 
                      a(6)=Mid$(a(3),24,2) ’響應塊中的校驗碼
                a(7)=Mid$(a(3),1,23)
                a(8)=FCS(a(7)) ’計算校驗碼
                     If a(8)=a(6) Then ’比較校驗碼是否相同
                     a(9)=Mid$(a(3),8,16)
                     a(10)=Hex2Bin$(a(9))
                     z=a(10) ’得到PLC內部通道數據
                    Else
                  MsgBox (“校驗碼不正確”)
                    ………
                      End If
                    (4)校驗碼計算函數設計
                    Function FCS(ByVal inputstr As String) As String
                    Dim slen, n, xorresult As Integer
                    Dim tempfcs As String
                    slen=Len(inputstr)
                    xorresult=0
                    For n=1 To slen
                    xorresult=xorresult Xor Asc(Mid$(inputstr, n, 1))
                    Next n
                    tempfcs=Hex$(xorresult)
                    If Len(tempfcs)=1 Then
                    tempfcs=“0”+tempfcs
                    End If
                    FCS=tempfcs
                    End Function
                    將響應碼中的數據轉換為二進制數據:
                    Function Hex2Bin$(HexValue$)   
                    Const BinTbl=“0000000100100011010001010110011110001001101010111100110111101111”
                      Dim X,Work$
                      Work$=“”
                      For X=1 To Len(HexValue$)
                  Work$=Work$+Mid$(BinTbl,Val(“&h”+Mid$(HexValue$, X, 1))*4+1,4)
                      Next
                      Hex2Bin$=Work$
                    End Function

                4  監控程序完成的功能
                4.1 監控程序功能

                    故障信息及節點查詢參見圖4。PLC電池故障顯示參見圖5。數據庫將記錄系統運行狀態,記錄故障發生的時間及相關信息,故障修復的時間及相關信息并提供查詢功能參見圖7?梢圆榭粗鹘缑嫔衔惶査鶎腜LC位、名稱、觸點狀態等信息以便于故障分析,參見圖8。系統運行總狀態指示如圖6所示。

                圖 4  故障點信息顯示     

                [NextPage]

                     

                 圖 5  PLC后備電池故障顯示

                圖 6  系統運行狀態指示

                圖 7  數據庫查詢

                圖 8  位號對應信息查詢

                5  結束語
                    本系統是為齊魯石化氯堿廠生產車間設計的電路故障報警系統,現已投入運行。在實際應用中提供了真實可靠的生產實時數據,運行情況良好。為企業減少了人力資源浪費,化工廠生產車間環境較差,改善了工人的工作環境降低了工作強度,并實現了集中監控。本系統的可擴展性也很好的適應了車間改良的需求,可根據用戶的要求增加監控點并將本車間故障分類輸出到上一級監控站,受到了用戶的好評。

                 

                版權聲明PLC信息網轉載作品均注明出處,本網未注明出處和轉載的,是出于傳遞更多信息之目的,并不意味 著贊同其觀點或證實其內容的真實性。如轉載作品侵犯作者署名權,或有其他諸如版權、肖像權、知識產權等方面的傷害,并非本網故意為之,在接到相關權利人通知后將立即加以更正。聯系電話:0571-87774297。
              0571-87774297  
              免费人成激情视频在线看