中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

產品分類

當前位置: 首頁 > 工業控制產品 > 自動化控制 > PLC可編程控制器 > 大型PLC可編程控制器

類型分類:
科普知識
數據分類:
大型PLC可編程控制器

基于VB6.0的西門子PLC與PC的通信實現微機監控功能

發布日期:2022-04-22 點擊率:53 品牌:西門子_Siemens

                   1  引言
  可編程序控制器(programmable controller)簡稱plc是以微處理器為基礎的新型控制裝置,是將計算機技術應于工業控制領域的嶄新產品。它集邏輯運算、順序控制、定時、計數、算術運算功能為一體。另外還可以與其他計算機進行通信聯網,這種通信不但包括不同的plc之間的數據交換,而且還包括plc與計算機之間的通信。本文介紹筆者使用vb6.0實現plc與上位機之間的通信,使運行人員通過油機配電屏的顯示可以監測并控制遠端設備的工作。

2  系統構成
  本系統采用plc采集模擬信號、數據處理,通過串行通信口上傳到計算機,計算機對傳上來的數據進行分析、分類記入數據庫,實時顯示在配電屏上并提供數據查詢。plc為s7-224,串行通信接口的信號線采用rs-485,此信號線為半雙工,即不能同時接收和發送。將plc置于run狀態,就可以將plc中存于發送緩沖區中的數據及信號送入上位機的串口,上位機通過串口通信程序接收這些數據后顯示并通過數據庫控件adodc的綁定,把數據記錄到數據庫,從而完成數據的采樣。本工程所需采集的數據包括日常量、故障量和設備動作量。對于日常量需每時每刻的數據顯示在配電屏的主控制平面上,以便工作人員觀察實時數據,但是不需要把日常量都記入數據庫,只需隔一段時間記錄一次(在這里每隔半小時記錄一次),對于故障量和設備動作量要求只要設備發生故障或動作就要記錄到數據庫,以便工作人員查詢。

3  s7-200的通信方式與通信參數的設置
  s7-200的通信功能很強大,有多種通信方式可供用戶選擇,包括單主站方式、多主站方式、使用調制解調器的遠程通信方式等。本工程選擇 step7-micro/win32支持的通信硬件pc/ppi電纜,它所支持的波特率有9.6kbps和19.2kbps,支持的協議為ppi協議,即點對點接口協議,基于開放系統互聯模型osi。ppi是主/從協議,網絡上的s7-200cpu均為從站,其他cpu、simatic編程器或td200 為主站。s7-200 cpu的通信端口采用rs-485信號標準的連接口,pc/ppi電纜把s7-200 計算機連接起來,通過使用接收中斷、發送中斷和字符中斷等指令,自由端口通信可以控制s7-200cpu通信口的操作模式。本工程使用的是自由端口模式,允許在cpu處于run模式時通信口0使用自由端口模式,通過設定smb30的值,我們可以選擇波特率、奇偶校驗、每個字符的數據位和協議。cpu處于stop模式時,停止自由端口通信,通信口強制轉換成ppi協議模式,此時,就可以向cpu中輸入plc程序,實現編程軟件對plc的編程和控制功能。在這里的通訊過程采用主從方式,即計算機為主機,plc為從機,只有主機計算機發送請求報文后,從機plc才向pc返回發送緩沖區中的數據。

4  自由端口模式下plc的通信
  由于本工程使用的是pc/ppi電纜,所以要在plc的程序中考慮電纜的切換時間。plc接收到請求報文到它返回發送緩沖區的數據的延遲時間必須不小于電纜的切換時間。波特率為9600bps時,電纜的切換時間是2ms。在本工程的程序中是用定時中斷實現切換延時的。
定時中斷子程序:
    network title  ’定時中斷程序int_2
    ld       sm0.0
    dtch    10
    xmt     vb200, 0
  當程序運行到“啟動定時中斷”(即atch int_2, 10)的語句時,就會跳到如上所示的中斷子程序中,sm0.0是特殊存儲器,該位始終為1,即只要plc處于run狀態,這一開關即是接通的。xmt vb200, 0語句是用來發送數據到串口的,此時發送的是存儲在以vb200為首地址的連續的存儲空間中的數據,是通過端口0發送的。
  另外為了提高通信的可靠性,我們需要使用到異或校驗,即在通信的雙方都將每一幀的每一個字符作異或校驗,將兩者進行對比,如果不相同則可以判定通信有誤。
      network1  network title ’求異或校驗碼的子程序fcs
          ld   sm0.0
          movb   0, #xorc    
          bti    #numb, #numi   
          for    #temp1, +1, #numi
         movb 0, #xorc ’用來把異或校驗碼 
                           清零, 用bti#numb,  
                          #numi將字節數
                          轉換為整數
network2
           ld     sm0.0
          xorb   *#pnt, #xorc               
          incd   #pnt       
network3           
          next
  for到next語句指明了一個循環,從這一幀的第一個字符開始(不包括起始字符)到該幀中最后一個字符作異或運算。通過調用這個子程序可以計算所指定的數據存儲空間內的字符的異或校驗碼,如果在上位機中的vb程序中也有計算校驗碼的子程序,那么就可以比較這兩次計算的校驗碼是否相同。可以使用語句(call fcs, &vb102, vb99, vb90)來調用該子程序,其中&vb102是指出子程序fcs進行校驗的起始地址,vb99是用來存儲需要異或的字節數,而vb90是用來存儲計算出來的校驗和。假設把從上位機接收到的校驗碼存儲在vb91中,比較vb90和 vb91中的數據就可以檢驗這次通信是否正確。同樣,我們可以使用這個子程序計算從plc中發送的數據的校驗碼,把它送到上位機中某一特定的地址中,在上位機中比較兩個數據是否正確(在上位機的計算異或校驗碼的vb程序將在后面給出)。
  因為報文的起始字符和結束字符只有8位,接收的報文數據區內出現與起始字符和結束字符相同的字符的幾率很大,這就可能會是數據區字符與起始字符或結束字符發生混淆,為了避免這種情況,可以在發送數據前對數據作一下處理,把數據字符轉換為bcd碼,在s7-200中專門提供了整數與bcd碼的轉換指令,可以使用語句(ibcd vw200)就把輸入的整數轉換為bcd碼,結果送入了vw200中。上位機接收到后需要將其轉換回整數。
  另外,在初始化時要注意自由端口通信協議的設定,一定要使通信過程中的波特率,數據位,奇偶校驗及停止位與上位機vb以及通信線上中設定的參數相同,否則將不能實現通信過程,要么接收不到數據,要么會出現“下標越界”的錯誤。

5  上位機的通信部分采用vb語言編程
  上位機通信接口部分采用vb語言來編寫, 在vb中專門有一個控件microsoft comm control(簡稱mscomm控件)用來提供串行通信。在編程過程中只要設置mscomm控件的屬性, 就可以實現串行通信。mscomm控件一般不包括在常用的工具框中, 需要在右邊的工具框的空白處點擊鼠標右鍵,選擇components選項,就會出現components對話框,在其中的controls標簽下就會找到 microsoft comm control6.0,選定它, 點擊確定就可以把這一控件加入到右邊的工具框中, 圖標為。 
  用鼠標拖動這個圖標到form中,即可設置其屬性。在此控件眾多的屬性當中,需要重新定義的屬性只有commport(傳輸數據的通信端口號)、settings(設置數據傳輸的波特率、奇偶校驗、數據位以及停止位,注意,此參數一定要與plc通信程中設置的參數相一致)、 portopen(設置通信端口的狀態)、inputmode(讀取接收緩沖區的格式)等。本工程采用事件驅動方式處理接受信息,即把 rthreshold屬性設置為非零的值,此時只要接收字符或傳輸線發生變化就會產生串口事件oncomm。通過查詢commevent屬性可以捕獲這些通信事件。
  在vb中實現異或計算的程序及注釋如下:
nbyte(1)=ubound(sdata)+1   ’送數據區字節數
fcs=nbyte(1)               ’校驗碼初始化
for i=2 to ubound(sdata)+2     
nbyte(i)=sdata(i - 2)       ’待發送數據報文數
                           組的數據區
fcs=fcs xor nbyte(i)        ’異或運算, 求校驗碼
next
nbyte(i)=fcs              ’送校驗碼
  其中sdata為發送的數據數組的變量名稱,for-next語句實現所發送的數據每一位都進行異或運算。這樣就可以把發送數據的異或校驗碼送到plc中,在plc比較兩次計算出的校驗碼是否相同,從而提高通信的可靠性。
  本工程中把計算機向下發送控制命令的部分寫成自定義函數send(xi)(i從1到6),在每一個需要發送控制命令的按鈕處調用此函數,只是在send中參數設置為不同的控制數。


圖1     設備動作狀態接收表


  圖1為模擬一個油機配電屏控制面,該軟件可以對三相輸出電壓、電流、功率因數這些實時信號進行采集、顯示并存儲,并對設備的動作狀態、故障情況采集到數據庫中。該控制面上方有一系列的控制按鈕,點擊某一按鈕就會向下位機發送相應的控制命令,控制下位機動作。
  在通信過程中,由于計算機為主機,而plc為從機,因此,plc只有在接收到計算機發送的信息后,才發送數據。計算機發送數據的次數并不是與其接收數據次數是一一對應的,計算機每點擊一次發送控制命令的按鈕(請參看圖1)后,plc就要向計算機傳輸存于其緩沖區內的所有數據,而每引發一次 oncomm事件只能傳輸8個字節,因此假如plc的發送緩沖區中一共右50個數據,那么每要求向上傳送一次數據,就會相應的引發7次oncomm事件,而且,每引發一次oncomm事件程序就會一直執行到end sub為止。這一點可以通過在發送數據的程序中加入測試語句 “debug.print‘start’”,在end sub前加一測試語句“debug.print‘end’”來驗證,我們可以清楚的在立即窗口中發現每一個start后有7個end。

6  與數據庫綁定的控件
  采集數據的最終目的不僅要把需要顯示的數據(比如:日常量)顯示在界面上,另外還要把數據記錄到數據庫中,以備日后查詢。顯示數據的過程很容易實現,就是把接收緩沖區的內容按照事先約定好的順序依次取出即可。要把數據記錄到數據庫就需要用到數據庫綁定控件,在本工程中用到的是adodc控件,這一控件也不包括在常用的工具框中,仍然要依照加mscomm控件的方法把工具條microsoft ado data control6.0(sp4)(oledb)加到工具框中,然后就可以把這一控件拖入form(在本次工作中把adodc控件放在了程序運行時不顯示的查詢畫面中,這樣就可以同時完成記錄到數據庫和查詢工作)中,通過設定adodc1的connectionstring(要求與事先建好的數據庫所存儲的地址相聯接)、 commandtype(由于要向數據庫寫入數據因此要把它設置為2-adcmdtable)以及recordsource(如果指定的數據庫包含多個表,就要選擇一個與此adodc1相對應的表)屬性(其他屬性用默認值即可)就綁定完畢。
  在編程序時,可以通過下面的語句把傳遞上來的信息整理并寫進數據庫:
if rcv(5) then
with adodc1
.recordset.addnew                                   
.recordset(“設備名稱”)=“斷路器1” 
.recordset(“動作狀態”)=“合”                           
.recordset(“動作時間”)=now
.recordset.update
end with
end if
  其中“設備名稱”“動作狀態”“動作時間”是所綁定的數據庫的字段名,等號后面的值是滿足條件語句時向所綁定的數據庫的相應的字段所加的字段值,在本工程中在數組rcv中暫放了從接收緩沖區中接收到的所有數據,而rcv(5)所放置的是是否合斷路器1這個動作信息,約定plc送上來的數據中 rcv(5)=1表示合斷路器1,因此有上述語句,其他的動作狀態記錄、故障狀態記錄及日常量記錄與上述程序幾乎相同,但是由于日常量不需要每時每刻都要記錄到數據庫,因此在日常量向數據庫寫入時用了靜態變量count來計時,假如count的值每增加1時間就增加1s,要求每半個小時記錄一次,那么就可以用count mod 1800 =0來實現這一時間的控制。

7  結束語 
  文中列出了筆者認為plc與計算機通信程序編寫過程中需要注意的問題,并給出筆者認為有難度的程序代碼,本工程已經成功的通過了測試,已交付使用。

參考文獻
[1] 羅朝盛等. visual basic6.0程序設計教程[m]. 北京:人民郵電出版社,2002.
[2] 廖常初. plc編程及應用[m]. 北京:機械工業出版社,2002.

下一篇: PLC、DCS、FCS三大控

上一篇: 索爾維全系列Solef?PV

中文字幕第二一区_久久久久在线视频_精品国产自在现线看久久_亚洲精品一区二区三区电影网

      9000px;">

          678五月天丁香亚洲综合网| 成人国产精品免费| 日韩不卡在线观看日韩不卡视频| 国产91综合网| 91极品美女在线| 久久夜色精品国产欧美乱极品| 亚洲午夜免费电影| 欧美久久免费观看| 日韩av在线播放中文字幕| 日本伦理一区二区| 亚洲视频综合在线| 欧美日韩三级一区| 天天av天天翘天天综合网| 欧美视频一区二区三区四区| 日韩福利电影在线观看| ww久久中文字幕| 成人av免费在线观看| 成人欧美一区二区三区在线播放| 日韩精品一区二区三区在线播放| 看片的网站亚洲| 国产精品你懂的| 欧美精品在线一区二区三区| 久久精品国产**网站演员| 国产欧美日韩另类视频免费观看 | **性色生活片久久毛片| 色婷婷av一区| 国产在线国偷精品免费看| 亚洲免费av高清| 国产亚洲欧美日韩俺去了| 色婷婷av一区二区三区大白胸| 亚洲高清免费视频| 久久综合九色综合欧美就去吻| 黄一区二区三区| 一区二区视频在线| 日韩免费高清电影| 色综合天天狠狠| 国产精品香蕉一区二区三区| 亚洲午夜激情av| 中文字幕一区二区三区视频| 日韩精品中文字幕在线一区| 色综合天天综合网天天狠天天| 午夜视频在线观看一区| 国产精品美日韩| jvid福利写真一区二区三区| 日本欧美大码aⅴ在线播放| 国产精品色一区二区三区| 欧美卡1卡2卡| 欧美午夜一区二区三区免费大片| 国产aⅴ综合色| 美女精品一区二区| 亚洲电影视频在线| 亚洲人成影院在线观看| 久久丝袜美腿综合| 日韩一区二区在线观看视频| 欧美伦理视频网站| 欧美日韩国产一级| 欧美色手机在线观看| 91丨九色丨国产丨porny| 国产91综合一区在线观看| 国产精品一二一区| 国产成人日日夜夜| 国产精品一二三四区| 成人国产精品免费观看视频| 91免费观看在线| 欧美日韩在线观看一区二区| 欧美图区在线视频| 日韩写真欧美这视频| 久久九九影视网| 亚洲三级电影网站| 日韩在线卡一卡二| 国产一区二区0| 国产成人av自拍| 91在线观看视频| 欧美日韩一区国产| 日韩三级免费观看| 日本一区二区电影| 18成人在线视频| 日韩成人精品在线| 国产宾馆实践打屁股91| 欧美视频中文字幕| 久久久久九九视频| 亚洲一区二区三区四区五区黄| 麻豆精品精品国产自在97香蕉| 国产精品一线二线三线精华| 91在线看国产| 欧洲视频一区二区| 精品国产一区二区三区四区四| 国产午夜亚洲精品午夜鲁丝片| 亚洲免费在线播放| 免费在线观看一区| 国产精品系列在线播放| fc2成人免费人成在线观看播放| 国产尤物一区二区在线| 国产精品18久久久久久久久久久久 | 国产精品资源在线| 一区二区欧美视频| 一区二区三区在线观看动漫| 久久久精品国产免大香伊| 精品日韩一区二区| 精品久久人人做人人爽| 色诱亚洲精品久久久久久| 成人av在线播放网站| 激情综合网天天干| 欧美乱熟臀69xxxxxx| 在线成人免费视频| 亚洲三级视频在线观看| 天堂蜜桃一区二区三区| 欧美一区二区三区四区高清| 亚洲欧洲精品一区二区精品久久久| 国产精品欧美久久久久无广告| 蜜臀av一级做a爰片久久| 极品少妇一区二区三区精品视频 | 国产另类ts人妖一区二区| 国产一区不卡视频| 91精品在线免费观看| 欧美成人三级电影在线| 555www色欧美视频| 亚洲天堂精品在线观看| 欧美日韩在线播| 亚洲国产精品久久艾草纯爱 | 一区二区在线观看视频 | 伊人开心综合网| 成人国产精品免费观看动漫| 色婷婷综合激情| 欧美国产成人精品| 日本成人在线网站| 亚洲福中文字幕伊人影院| 97se亚洲国产综合自在线观| 色激情天天射综合网| 依依成人综合视频| 蜜桃一区二区三区四区| 精品国产不卡一区二区三区| 亚洲色图欧美偷拍| 91一区二区三区在线观看| 日韩一区二区三区在线视频| 综合色天天鬼久久鬼色| 欧美亚洲动漫制服丝袜| 欧美激情综合在线| 91丝袜呻吟高潮美腿白嫩在线观看| 91精品一区二区三区久久久久久| 午夜精品久久久久久久久久久| 国产成人自拍网| 欧美视频中文字幕| 国产精品国产三级国产三级人妇 | 久久9热精品视频| 成人丝袜18视频在线观看| 国产精品全国免费观看高清| 免费精品视频最新在线| 一本一道久久a久久精品综合蜜臀| 综合精品久久久| 成人午夜短视频| 一区二区三区中文字幕在线观看| 国产不卡视频在线观看| 亚洲最快最全在线视频| 成人高清在线视频| 99re热视频这里只精品| 99久久精品国产一区| 国产亚洲一区字幕| 美女视频一区二区三区| 精品福利二区三区| 日韩欧美一级精品久久| 国产呦精品一区二区三区网站| 91精品国产综合久久小美女| 国产v综合v亚洲欧| 日本一区二区电影| 欧美一区二区福利在线| 亚洲妇熟xx妇色黄| 国产精品萝li| 国产精品456露脸| 天堂成人国产精品一区| 在线亚洲免费视频| 国产精品亚洲а∨天堂免在线| 欧美精品一区二区在线观看| 91丨porny丨首页| 一区二区在线观看免费视频播放| 欧美一区二区三区四区五区| 亚洲成人av一区| 精品人伦一区二区色婷婷| 色综合天天综合网天天狠天天 | 国产激情视频一区二区在线观看| 亚洲欧美综合另类在线卡通| 国产真实乱对白精彩久久| 日韩精品乱码免费| 精品久久久久久久一区二区蜜臀| 欧美在线|欧美| 蜜臀av性久久久久蜜臀aⅴ流畅 | www.av精品| 国产精品影音先锋| 中文字幕制服丝袜一区二区三区| 日韩欧美黄色影院| 成人av集中营| 成人一区二区三区在线观看| 亚洲一区二区av电影| 综合电影一区二区三区 | 欧美电影免费提供在线观看| 国产精品一级黄| 国产精品2024| 亚洲国产成人av网| 亚洲自拍都市欧美小说| 精品国产亚洲在线|