男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

當前位置:機電之家首頁 >> PLC技術>> plc資料下載 >> PLC通信軟件 >> 基于PLC和PC的分布式計算機監控系統的設計(下)
基于PLC和PC的分布式計算機監控系統的設計(下)

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 bbbb的機號)開始,然后為報頭、報文、校驗碼、結束符(只有一幀時)或分隔符(多幀時)。中間幀以報文開始,然后為校驗碼、分隔符,中間幀報文每幀最多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 bbbbbb
     a(0)="@00RR00200004" ’單元號和報頭報文
     a(1)=FCS(a(0))  ’命令格式中的校    
 驗位
     a(2)=a(0)+a(1)+"*"+Chr$(13) 
’命令碼
     MSComm1.Output=a(2) ’向PLC發送命令
a(3)=MSComm1.bbbbb
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 bbbbbstr As bbbbbb) As bbbbbb
    Dim slen, n, xorresult As Integer
    Dim tempfcs As bbbbbb
    slen=Len(bbbbbstr)
    xorresult=0
    For n=1 To slen
    xorresult=xorresult Xor Asc(Mid$(bbbbbstr, 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。可以查看主界面上位號所對應的PLC位、名稱、觸點狀態等信息以便于故障分析,參見圖8。系統運行總狀態指示如圖6所示。

圖 4  故障點信息顯示     

[NextPage]

     

 圖 5  PLC后備電池故障顯示

圖 6  系統運行狀態指示

圖 7  數據庫查詢

圖 8  位號對應信息查詢

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

 

作者:未知 點擊:1060次 [打印] [關閉] [返回頂部]
本文標簽:基于PLC和PC的分布式計算機監控系統的設計(下)
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《基于PLC和PC的分布式計算機監控系統的設計(下)》相關權利人與機電之家網取得聯系。
電子樣本

SN系列樣冊
:鞏經理
:13915946763
:南京塞姆泵業有限公司
個人求購

王經理 【求購】  西湖輪胎  2026-3-20
蘇紅慶 【求購】  工業除濕機  2026-3-20
金喜 【求購】  線纜  2026-3-20
林杰 【求購】  自粘結鐵芯  2026-3-20
任建波 【求購】  鋰電鉆  2026-3-20
劉經理 【求購】  吊具電纜總...  2026-3-20
潘梟 【求購】  高強鋼焊絲  2026-3-19
李經理 【求購】  丹弗斯液壓...  2026-3-18
VIP公司推薦

主站蜘蛛池模板: 新丰县| 慈利县| 札达县| 吐鲁番市| 金秀| 浮梁县| 奎屯市| 南京市| 顺平县| 遵义市| 桃源县| 姜堰市| 浮梁县| 武川县| 米脂县| 柏乡县| 南开区| 富顺县| 芦溪县| 井研县| 成安县| 英超| 华蓥市| 古浪县| 辽阳县| 竹溪县| 九龙城区| 灵璧县| 遂平县| 黄浦区| 南雄市| 徐汇区| 专栏| 恭城| 星子县| 凤冈县| 普安县| 诸暨市| 海口市| 潼关县| 独山县|