91精品在线视频观看-91精品中文字幕-二区视频在线-二区视频在线观看-激情久久av一区av二区av三区-激情久久久-男人疯狂高潮呻吟视频-男人干女人视频-日韩久久一区-日韩久久一区二区-性欧美欧美巨大69-性欧美日本-中文字幕韩日-中文字幕黑人-中文日产幕无线码6区收藏-51福利国产在线观看午夜天堂

技術頻道

PC和PLC自由口通信在數碼顯示中的應用

  1 引言

  隨著可編程控制器(plc)技術的迅速發展,plc以其通用性強、可靠性高、抗干擾能力強、控制系統結構簡單、編程方便及易于使用等優點,在我國各個廠業控制領域中得到了越來越廣泛的應用,在計算機控制系統中占有著重要的地位,為實現工業生產過程自動化、改善控制系統品質、提高企業經濟效益起著積極的作用。

  西門子公司生產的s7-200系列小型plc,以其功能強大,使用穩定且性價比高而在中國市場上占有很重要的地位,深得用戶的喜愛。其內部集成的通信接口為用戶提供了強大的通信功能,根據不同的協議通過接口使得plc可與不同的設備進行通信并組成網絡,實現數據傳送及控制等功能。s7-200系列plc支持多種通信協議,其中包括西門子產品之間所使用的ppi協議,用于多機之間通信的mpi協議,和變頻器之間通信的uss協議,以及用戶可以白行開發的白由口協議。尤其是自由口協議,它為用戶在使用時,提供了很多方便之處。

  2 系統硬件配置

  本系統主要上位機、下位機、打印機和電氣控制柜等組成。系統采用一臺x86兼容電腦作為上位機,其配置如下:操作系統是windows xp專業版;處理器是英特爾celeron 2.40ghz;內存是ddr400 1g;硬盤是希捷80g;顯示器:三星純平17英寸;光驅是三星cd-rom。系統還采用s7-200系列plc作為下位機,中央處理單元為西門子公司推的plc采用s7-200系列cpu226,該cpu在本機體中集成了2個rs-485通訊口,其性價比高,能滿足本系統的所有要求。

  考慮到上位機的串行通信協議為rs-232標準,而西門子s7-200plc的串行通信協議為rs-485標準,因此可以采用具有rs-232/rs485轉換功能的pc/ppi電纜將其連接起來,便可實現上下位機之間的串行通信的協議轉換,其硬件連接如圖1所示。

  3 系統控制任務

  3.1 上位機控制任務

  (1)控制要求描述:a、b、c、d、e、f、g、h是組成0到9數字的八組數碼信號燈,數碼顯示plc控制的任務是首先八組數碼信號燈依次亮,每組燈只亮一次,亮后熄滅,接著下一組亮,如此循環直至八組燈亮完,然后依次顯示由八組數碼信號燈組成的0到9數字,顯示9后,八組數碼信號燈依次亮,循環下去,示意如下:

  a→b→c→d→e→f→g→h→abcdef→bc→abdeg→abcdg→

  bcfg→acdfg→acdefg→abc→abcdefg→abcdfg→a→b→c……

  (2)i/o分配:根據上位機控制任務,對plc的輸入輸出端口分配如表1所示。

  3.2 上位機監控內容

  上位機監控軟件的開發平臺選擇vb 6.0作為windows環境下的一種可視化編程工具,vb6.0在開發監控系統方面有著界面友好、編程方便等獨特優勢。根據上位機控制任務,用vb 6.0軟件做的監控界面如圖2所示。

  我們通過運行上位機plc程序和vb程序,實現對數碼顯示的控制,并通過自由口通信,促使數碼燈顏色改變,從而plc控制信號反映在基于vb的監控畫面上。對于監控界面圖,信號燈亮與不亮的顏色會發生變化。當信號燈亮時,對應的文本框顯示1;當信號燈不亮時,對應文本框顯示0。

  4 pc機與s7-200系列plc通信設計

  4.1 pc機與s7-200系列plc通信原理

  上下位機之間的通信,可通過使用plc開發商提供的系統協議和網絡適配器來實現,但由于其通信協議不公開,因此還必須使用plc開發商提供的上位機組態軟件,并采用支持相應協議的外設。可以說這種方式是plc開發商為自己的產品量身定做的,因此難以滿足不同用戶的需求。

  上下位機之間的通信,也可以使用專業的工控組態軟件,如組態王、intouch、wincc等,來實現上下位機之間的通信。這些組態軟件以其功能強大、界面友好、開發簡潔等優點目前在計算機監控領域已經得到了廣泛的應用,但其成本較高,而且在小型系統中使用不夠靈活。

  而自由通信接口協議,可由用戶自定義通信協議,不需要增加投資,并且具有與外圍設備通信方便、易于微機控制軟件開發等特點,特別適合于小規模的計算機控制系統。

  s7-200系列plc的通信端口主要有兩種通信模式:ppi模式和自由口模式。ppi通信協議是西門子公司專門為s7-200系列plc開發的一種通信協議,一般不對外開放。而自由口模式則是對用戶完全開放的。在自由口模式下通信協議是由用戶定義的。在自由口模式下pc機與plc之間是主從關系,pc機始終處于主導地位,計算機通過串行口發送指令到plc的通信端口,plc通過rcv接收指令信息,然后對指令進行譯碼。譯碼后再調用相應的子程序實現pc機發出的指令要求并通過xmt指令返回指令執行的狀態信息。本上下位機通信系統通信原理如圖3示。

  4.2 plc通信程序設計

  s7-200plc控制程序則使用step7-micro/win32編程軟件進行開發。step7-micro/win32編程軟件是基于windows的應用軟件,功能強大,主要用于開發程序,也可用于適時監控用戶程序的執行狀態。s7-200plc的cpu連續執行用戶的程序,任務的循環寫輸出序列稱為掃描。cpu的掃描周期如圖4所示。

  為了不延長cpu的機時,縮短s7-200 plc的掃描周期,通信程序應盡可能短小。

  自由通信模式下plc的控制程序可以使用接收中斷、發送中斷、發送指令(xmt)和接收指令(rcv)來控制通信操作。s7-200的cpu處于run模式時,能夠進行自由端口通訊。在這一模式下,用戶可以通過plc程序來選擇協議,可以使用接收中斷、發送中斷、發送指令(xmt)和接收指令(rcv)來進行通信操作。在run模式下,對于port0(port1),當smb30協議選擇域(mm)置1(smbi30協議選擇域(mm)置1)時,便選擇了自由端口模式。在stop狀態下,自由端口模式被禁止,cpu能夠與可編程設備(如編程器)之間通信。

  plc程序分為主程序和中斷程序。主程序完成初始化通訊口、開中斷、判斷、發送數據等功能,中斷程序完成接收和發送數據的功能。接收指令(rcv)啟動或終止接收信息功能,必須為接收操作指定開始和結束條件。發送指令(xmt)在自由口模式下依靠通信口發送數據。

  初始化通信程序:

  ld sm0.0

  movb 16#05, smb30 // // 初始化自由口:sm30=“ppdbbbmm” =16#05=0000

  0101

  movb 16#b0, smb87 // // 初始化rcv信息控制字符:sm87=16#b0 =1011 0000

  movb 16#0a, smb89 // // 設定信息結束字符為“16#0d”(smb89 =“16#0d”)

  movw +5, smw90 // // 設置空閑線超時時間為5ms (smw90=5)

  movb 100, smb94 // // 設置最大字符數為100(smb94=100)

  atch int_0, 23 // // 連接中斷0到接收結束事件

  atch int_2, 9 // // 連接中斷2到發送結束事件

  eni // // 允許用戶中斷

  rcv vb100, 0 // // 執行接收指令,接收緩沖區指向vb100

  4.3 vb通信程序設計

  上位機通信軟件是在vb環境下開發的,vb語言是基于windows操作系統的面向學習對象的程序設計語言。因vb具有強大的圖形顯示功能,可以很容易地開發出界面良好、滿足用戶需求的windows標準風格的圖形界面。vb帶有專門管理串行通信的mscomm串行端口控件,程序員在利用該控件時,只需設置、監視其屬性和事件,即可完成對串行口的初始化和數據的傳輸工作,實現plc與pc串行通信。要完成通信必須設置mscomm的如下相關屬性值:

  (1)commport:設置或傳回通信連接端口代號。

  (2)settings:設置初始化參數,以字符串的形式設置或傳回連接速度、奇偶校驗、數據位和停止位等參數。

  (3)portopen:設置或傳回通信連接端口的狀態。

  (4)input:從輸入寄存器傳回并移除字符。

  (5)output:將一個字符串寫入輸出寄存器。

  (6)inputlen:指定由串行端口讀入的字符串長度。

  (7)inbuffercoun t:傳回在接收寄存器中的字符數。

  用vb編制的部分通信程序如下:

  程序過程名:mscomm1_on comm。它的作用:完成上位計算機(vb監控程序)與下位機(plc)之間的串行通信。程序如下:

  private sub mscomm1_oncomm()

  static scoms as string

  dim s1 as string

  if mscomm1.commevent = comevreceive then

  s1 = mscomm1.input

  if (s1 = chr(&h1b)) and (len(scoms) 》 2) then

  scoms = “”

  else

  if s1 《》 chr(&hd) then

  scoms = scoms & s1

  else

  call mysave(scoms)

  end if

  end if

  end if

  end sub

  程序過程名:mysave。它的作用:對從下位機(plc)傳輸到上位機(vb監控軟件)的數據進行初始化處理。程序如下:

  private sub mysave(scoms as string)

  scoms = trim(scoms)

  scoms = mid(scoms, 1, 10)

  for i = 1 to 8

  text1(i).text = mid(scoms, i, 1)

  next i

  for i = 0 to 1

  text2(i).text = mid(scoms, i + 9, 1)

  next i

  end sub

  程序過程名:form_load。它的作用:完成窗體載入時的程序設置。

  private sub form_load()

  timer1.enabled = true

  timer1.interval = 100

  with mscomm1

  .commport = 1

  .settings = “19200,n,8,1”

  .inputmode = cominputmodetext

  .rthreshold = 1

  .inputlen = 1

  end with

  if mscomm1.portopen = false then

  mscomm1.portopen = true

  end if

  end sub

  5 結束語

  本文介紹了用可視化編程語言vb實現pc機與s7-200plc之間的數據通訊技術及實現方法,研討基于自由口通信模式的上下位機通信方式,通過分析其通信流程,開發相應的通信程序,并將其應用于數碼顯示監控系統中,實現了生產過程的自動控制,還有可視化的操作界面,充分體現了人機交互的優勢。實踐證明,這種通信方式簡單,可靠,實時性好、成本低、便于調試,這種通信方式也可以應用于其它相關的通信場合,具有普遍和現實工程意義。

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

91精品在线视频观看-91精品中文字幕-二区视频在线-二区视频在线观看-激情久久av一区av二区av三区-激情久久久-男人疯狂高潮呻吟视频-男人干女人视频-日韩久久一区-日韩久久一区二区-性欧美欧美巨大69-性欧美日本-中文字幕韩日-中文字幕黑人-中文日产幕无线码6区收藏-51福利国产在线观看午夜天堂
  • 
    
  • 主站蜘蛛池模板: 91久久久精品| 亚洲美女喷白浆| 国产精品成人免费电影| 欧美在线免费观看| 国产成人拍精品视频午夜网站| 97激碰免费视频| 日本aⅴ大伊香蕉精品视频| 国产精品第100页| 国产在线精品成人一区二区三区| 国产欧美精品va在线观看| 成人av在线亚洲| 日韩av在线不卡| www.亚洲人.com| 欧美激情久久久久| 国产91九色视频| 亚洲国产精品成人精品| 亚洲视频在线看| 精品久久久久久中文字幕大豆网| 欧美福利视频网站| 国产精品欧美激情| 精品偷拍一区二区三区在线看| 在线观看久久av| 色综合天天综合网国产成人网 | 日韩一二三在线视频播| 欧美日韩美女在线| 国产999在线| 日韩成人在线网站| 欧美巨乳在线观看| 亚洲国产精品专区久久| 菠萝蜜影院一区二区免费| 久久久久久国产精品| 国产在线日韩在线| 综合网中文字幕| 98视频在线噜噜噜国产| 91久久精品国产91久久性色| 国产亚洲一区二区精品| 欧美精品精品精品精品免费| 成人久久久久久| 欧美猛交ⅹxxx乱大交视频| 国产精品久久久久久久av电影| 亚洲美女视频网|