国产免费AV|泡泡玛特欧洲总部将设在伦敦|中文天堂网www新版资源在线|一本久道综合在线中文|国精产品一二三产区的使用方法|香蕉鱼在线观看|www.27eee

 找回密碼
 注冊
搜索

如何用PC監控PLC

[復制鏈接]
樓主
山海致遠 發表于 2013-1-18 17:28:53 | 只看該作者 |倒序瀏覽 |閱讀模式
1 引言
  由于plc結構緊湊、可靠性高、靈活性強,因而廣泛應用于各種自動化系統?,F在普遍采用觸摸屏加plc的方法來監控設備,但觸摸屏視角窄、不適應惡劣環境,且plc的數據存儲能力相當有限、不易實現大規模網絡互聯。有鑒于此,我們采用優秀的可視化軟件visual basic,由計算機加plc組建監控系統。該系統既克服了由觸摸屏加plc組建的監控系統的不足,又可完成對設備的實時監控。
2 串行通訊協議
  計算機與plc通訊時,一般由計算機發命令給plc,啟動通信,plc收到命令后自動發回應答。下面給出了命令幀、應答幀以及幀檢查的結構。
如何用PC監控PLC q1.jpg
  fcs(frame checksum)表示報頭開始到報文結束間所有數據執行邏輯加操作所得的結果。
  它由兩位ascii碼字符組成,每次plc接收到計算機發送過來的一幀數據,即計算其校驗和,結果記為fcs2,將fcs2與幀中所包含的fcs1比較,可檢查該幀是否有數據錯誤。如果有數據錯誤,plc立即發送錯誤信息給計算機,利用這一機制,有效防止了數據傳輸錯誤。
3 串行通信口初始化
  3.1 計算機串行通信口初始化
  vb的mscomm控件通過串行端口傳送和接收數據。因此,可通過對visual basic的mscomm控件的相關屬性的設置來對串口進行初始化。
  mscomm控件的主要屬性如表1
如何用PC監控PLC q2.jpg
  計算機串口初始化程序段如下:
  with mscomm1
  .portopen = false
  .commport = 1 file://設置通信端口號為1
  .settings=“9600,n,8,1” file://波特率為9600,不作
  file://字符校驗,8位數據位,1位停止位
  .portopen=true file://打開通信端口
  .inputmode=cominputmodebinary file://以字節方式接收數據
  end with

  3.2 plc串行通信口初始化
  西門子s7-200可以采用用戶定義通信協議(自由口)模式實現計算機與plc、plc與plc的通信。自由口通信是通過用戶程序控制s7-200 cpu串行通信口的操作模式。利用自由口模式可實現用戶定義通信協議連接多種智能設備。s7-200 cpu自由口的控制字節描述如表2。
如何用PC監控PLC q3.jpg
  plc串口初始化程序如下:
  ld sm0.1 file://首次掃描閉合
  movb 16#09,smb30 file://初始化自由口,9600波特率,
  file://8位數據,無校驗
  movb 16#e0,smb87 file://初始化接收控制信息,檢測信
  file://息結束符、空閑線信息條件
  movb 16#24,smb88 file://信息字符開始
  movb 16#2a,smb89 file://信息字符結束
  movb +5,smw90 file://設置空閑線超時時間
  movb 200,smb94 file://設置最大允許接收字符數
  atch int_0,23 file://設置接收完成中斷
  atch int_1,9 file://設置發送完成中斷
  eni file://設置用戶中斷允許
4 實時數據傳輸處理
  因為各種原因,使得系統參數發生了變化,因此,監控系統必須具備實時性要求,也就是說,只要設備狀態一改變,監控系統就將信息采集并傳送到計算機,以便監控人員及時了解現場,對現場情況作出判斷、進行相應的操作。實時性包括計算機與plc實時通信以及plc實時監控所聯設備狀態兩方面內容。
  4.1 計算機實時數據處理
  該部分由vb的timer控件完成。通過引發timer事件(timer事件是vb模擬實時計時器的事件),timer控件可以定時執行規定的操作,使得plc所連接的設備狀態信息及時傳送到計算機。
如何用PC監控PLC q4.jpg
  timer控件主要屬性如表3,該部分的程序框圖如圖1所示。
如何用PC監控PLC q5.jpg

  4.2 plc實時數據處理
  由于s7-200系列plc在自由口模式下,通信協議完全由梯形圖程序控制。s7-200cpu連續掃描用戶程序、執行用戶任務。plc在程序執行過程中,基于穩定、快速、靈活等方面考慮,cpu每個掃描周期都通過輸入輸出映像寄存器來執行實際輸入輸出操作,即讀實際輸入點值到映像寄存器、寫映像寄存器值到實際輸出點。由于在中斷中不能順利進行數據讀寫操作,因此,可通過編程,利用plc循環掃描執行程序的特點,使得在程序掃描期間實現數據存儲區與輸入輸出映像寄存器區交換數據,也就是說,計算機只要通過與數據存儲區實時完成通信就可達到實時監控實際輸入輸出點的效果。
  該部分的程序段如下:
  主程序部分:
  ld sm0.1 file://首次掃描閉合
  call subr_0 file://調用子程序0
  movb 1,vb0 file://vb0.0置1
  ld vb0.0 file://設置數據存儲區與映像區交換數據條件
  call subr_1 file://調用子程序1
  ┇
  end file://主程序結束
  子程序1部分程序如下:
  ld sm0.0 file://始終閉合
  movd vd101,id0 file://數據存儲區寫數據到數字量輸入
  file://映像區
  movd id0,vd101 file://讀數字量輸入映像區數據到數據
  file://存儲區
  movd vd201,qd0 file://數據存儲區寫數據到數字量輸
  file://出映像區
  movd qd0,vd201 file://讀數字量輸出映像區數據到數
  file://據存儲區
  movw aiw0,vw301 file://讀模擬量輸入映像區到數據存
  file://儲區
  movw vw401,aqw0 file://數據存儲區寫數據到模擬量輸
  file://出映像區
  ┇
  cret file://子程序返回
  發送、接收部分:
  rcv vb500,0 file://從端口0接收數據存于vb500單元
  file://起始的連續單元
  xmt vb55,0 file://將vb55單元后的指定數據從端口0
  file://連續發出
5 結束語
  從以上敘述,可以看到,由計算機與plc組建實時監控系統關鍵在于解決計算機與plc實時通信、plc對設備狀態實時監控問題。計算機與plc組建的實時監控系統開發成本低、實時性好、操作簡便、通用性強,利用計算機易組網功能,既可以做到工廠內部網絡互聯、信息共享,又可通過調制解調器連接因特網,使異地信息共享、遠程監控變為現實。實際工程中,該系統在惡劣的工業環境下工作穩定、可靠,具有一定的應用推廣價值。
沙發
smithding 發表于 2013-2-3 15:46:28 | 只看該作者
呵呵,組態方便多了
板凳
你把我灌醉 發表于 2013-6-5 02:15:11 | 只看該作者
這么復雜,學習學習
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

手機版|小黑屋|ELEOK |網站地圖

GMT+8, 2026-5-26 02:08

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回復 返回頂部 返回列表