[摘  要]
    可編程控制器與PLC機組成的集散控制系統,越來越廣泛的應用于生產過程自動化領域。本文就PC機與多臺PLC組成的網絡之間數據通訊的通用模式及軟、硬件實現方案加以探討。
[關鍵詞]
    計算機  PLC  網絡通訊&nb">

      技術頻道

      實現WINDOWS下上位機與PLC網絡之間的數據通訊

      [摘 要]
      可編程控制器與PLC機組成的集散控制系統,越來越廣泛的應用于生產過程自動化領域。本文就PC機與多臺PLC組成的網絡之間數據通訊的通用模式及軟、硬件實現方案加以探討。
      [關鍵詞]
      計算機 PLC 網絡通訊 軟硬件
      一、引言
      PLC以其高可靠性、適應工業過程現場、強大的聯網功能等特點,被廣泛應用。可實現順序控制、PID回路調節、高速數據采集分析、計算機上位管理PLC分散控制的集散管理系統,是實現機電一體化的重要手段和發展方向。
      WINDOWS操作系統以其圖形用戶界面、多任務、自動內存管理等特點,已取代了DOS操作系統的地位。WINDOWS操作系統為用戶提供了API接口函數,但非專業開發人員難以掌握。VB作為WINDOWS下的應用軟件開發平臺以其易學好用的優點給程序員提供了強大的可視化編程工具。
      在微機與PLC之間構成的集散控制系統中,多數是由一臺PC計算機與數臺PLC之間形成1-N的通信模式。該模式系統中PLC負責現場高速數據采集、實現邏輯、定時、計數、PID調節等控制任務并通過串行通訊口向微機傳送PLC工作狀態機有關數據從而實現計算機對控制系統的管理,提高了PLC的控制能力的控制范圍。使其從設備級的控制發展到生產線級乃至工廠級的控制,從而實現工廠智能化的目標。該集散控制系統中,PLC與微型計算機之間的通訊顯得尤為重要。因此如何提高保證它們之間的通訊準確程度、可靠性及效率是通訊成功與否的關鍵技術之一,下面就對該關鍵技術做一些探討。
      二、上位計算機與PLC之間的鏈接方式
      本文介紹的是上位機與多臺PLC組成的多鏈系統,常用的連接方式有兩種:
      方式一使用連接適配器較少,也不用信號轉換,但若中間一臺PLC出故障,其后續的PLC無法與上位機通訊。

      方式二雖然使用了信號轉換,但可避免前級故障對后級的影響。

      三、上位計算機與PLC的鏈路通訊
      以OMRON公司CPM1A型PLC和上位計算機通訊為例,通訊協議如下:

      按上圖順序發送/接受命令。每次通訊發送/接受的一組數據稱為一“幀”。幀由少于131個字符的數據構成,若發送數據要進行分割幀發送,分割幀的結尾用CR碼(CHR(13))一個字符的分界符(分段字符)來代替終端。發送幀的一方具有發送權,發送方發送完一幀后,將發送權交給接受方。
      發送幀的基本格式為:
      @機號 識別碼 正文 FCS *CR
      其中:@ 為幀開始標志
      機號 網絡通訊中每一臺PLC被分配給的唯一番號
      識別碼 該幀的通訊命令碼
      正文 用來設定命令參數
      FCS 幀校驗和
      終端 命令結束符
      響應的基本格式為:
      @機號 識別碼 結束碼 正文 FCS *CR
      其中:@機號 識別碼 正文等同發送幀意義
      結束碼 返回命令結束有無錯誤等狀態
      關于多于131個字符的分割幀這里不在贅述。

      四、通訊過程
      通訊開始先由上位計算機依次對網的PLC發出一串字符的測試幀命令。為充分利用上位機CPU的時間,可使上位機與PLC并行工作,在上位機等待PLC回答信號的同時,使CPU處理其它任務或線程。某PLC在接到上位機的一個完整幀以后,首先判斷是不是自己的代號,若不是就不予理睬,若是就發送呼叫回答信號。上位機接到回答信號后,與發送測試的數據比較,若兩者無誤,發出可以進行數據通訊的信號,轉入正常數據通訊,否則提示用戶檢查線路重新測試或通訊失敗。

      五、上位計算機WINDOWS下的通訊程序設計
      上位機通訊軟件是用VB開發的,因VB具有強大的圖形顯示功能,可以開發出界面良好的WINDOWS標準風格的圖形用戶界面。同時VB還提供了串行端口控件MSCOMM,程序員在利用該控件時,只需設置、監視其屬性和事件,即可完成對串行口的初始化和數據的傳輸工作。
      Sub forml_load()
      Mscomml.comport = 1
      Mscomml.settings = "9600,n,8,1"
      End sub
      Sub commandl_click
      Mscomml.inputlen = 0
      If mscomml.portopen = false then
      Mscomml.portopen = true
      End if
      For I = 1 to n ;N為網絡系統中的PLC個數
      If i<10 then
      S$ = "@"+"0"+str$(i)+"ts"+"abcd"
      Else
      S$ = "@"+str$(i)+ts"+"abcd" ;abcd為測試字符
      Endif
      … ;形成上位機測試命令數據塊sedata$;
      Mscomml.output = sedata$
      Timerl_on = false
      Timetl.enable = true
      Do until (mscomml.inbuffercountá&ntilde;0)
      or (timerl_on = true)
      Domy = doevents()
      Loop
      Timerl.enable = false

      Redata$ = mscomml.input
      If redata$ = sedata$
      … ;轉入正常通訊數據處理
      Else
      Labell.caption = str$(i)+“測試通訊失敗,檢查線路后再測試”
      Endif
      Endsub

      六、PLC方的通訊設置
      計算機與PLC通訊的目的是實現計算機對PLC運行狀態、數據區的監控、PLC工的管理并可用計算機編程。一般來說,在通訊過程中PLC是被動的,每一次通訊都由計算機發起與終止,但也可由PLC發起。
      通訊前需用外部輸入設備在系統設定區域的DM6650-DM6653中進行通訊條件設定。

      通道地址

      設定

      功能說明

      DM6650

      00 - 07

      01

      通訊標準定為

      08 - 11

      任意

      12 - 15

      0

      上位鏈接模式

      DM6651

      00 - 07

      03

      波特率為9600BPS

      08 - 15

      08

      8位數據1位停止

      DM6652

      00 - 15

      0000

      延時設定

      DM6653

      00 - 07

      00 - 31

      機號設定為00 - 31

      08 -15

      任意

      七、結束語
      本文旨在探討用可視化編程語言實現PC機與PLC網絡之間的數據通訊的技術及軟硬件實現方案,合理充分利用系統的資源及特點,提高通訊效率。對同類系統的設計與實現有一定的啟發和幫助。

      文章版權歸西部工控xbgk所有,未經許可不得轉載。

      主站蜘蛛池模板: 亚洲av无码片vr一区二区三区 | 日本免费一区二区三区最新| 国产在线一区观看| 国产成人无码精品一区二区三区 | 中文字幕在线一区| 精品国产AV无码一区二区三区| 麻豆高清免费国产一区| 国产高清不卡一区二区| 亚洲视频在线一区二区| 国模视频一区二区| 国产一区二区在线| 中文字幕一区日韩精品| 人妻激情偷乱视频一区二区三区| 国产AV午夜精品一区二区三| 一区 二区 三区 中文字幕| 国产一区二区三区日韩精品| 国产一区二区三区播放心情潘金莲| 色久综合网精品一区二区| 久久精品一区二区三区资源网| 日韩精品人妻一区二区中文八零| 久久国产午夜精品一区二区三区| 欧洲精品码一区二区三区免费看| 国产伦精品一区二区三区在线观看| 国产精品美女一区二区三区| 日韩在线观看一区二区三区| 国产丝袜无码一区二区视频| 日韩视频在线一区| 影院无码人妻精品一区二区| 久久成人国产精品一区二区 | 亚洲欧洲一区二区| 精品不卡一区二区| 精品国产一区在线观看 | 国产成人AV一区二区三区无码| 亚洲A∨无码一区二区三区| 精品欧洲AV无码一区二区男男| 中文乱码字幕高清一区二区| 国产免费av一区二区三区| 影院无码人妻精品一区二区| 国产一区二区精品久久| 亚洲视频一区在线观看| 国产精品亚洲综合一区在线观看|