• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種基于STM32和與HMI組態(tài)屏的交互系統(tǒng)

      2020-08-19 06:47馮俊吳佳雯
      電腦知識與技術(shù) 2020年19期
      關(guān)鍵詞:組態(tài)命令單片機

      馮俊 吳佳雯

      摘要:本文介紹了一種基于STM32以及HMl組態(tài)屏的交互系統(tǒng)的設(shè)計方案,該系統(tǒng)的硬件部分主要有STM32F103C8T6單片機和HMl組態(tài)屏。該系統(tǒng)的軟件代碼由C語言編寫。本系統(tǒng)通過連接STM32與HMl組態(tài)屏,使得用戶可以在觸摸屏上進行操作來完成一些簡單的工作。該系統(tǒng)在工作過程中HMl組態(tài)屏作為主機會不斷地給單片機發(fā)一些碼,在收到碼后單片機作為從機必須也給HMl組態(tài)屏,以一種相當(dāng)于一問一答的方式實現(xiàn)交互。

      關(guān)鍵詞:STM32F103C8T6;HMl組態(tài)屏;問答式交互

      中圖分類號:TP311文獻標(biāo)識碼:A

      文章編號:1009-3044(2020)19-0211-02

      開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      社會在變化,科技在發(fā)展,時代在進步,越來越多的領(lǐng)域都用上了觸摸屏,通過在觸摸屏上輸人命令,隨后系統(tǒng)便開始按照命令完成工作,為此本文也研究了一種交互系統(tǒng),來實現(xiàn)單片機與觸摸屏的交互來完成一些簡單的工作。通過研究MOD-BUS協(xié)議,我們了解到HMI組態(tài)屏想要與STM32成功進行交互,就必須在主機發(fā)送請求后,從機進行應(yīng)答,這樣才能成功交互。以此為基礎(chǔ)我們研究的系統(tǒng)也存在一定的可行性,對一些領(lǐng)域具有一些參考價值。

      1 STM32F103C8T6簡介

      STM32F103C8T6這款單片機從名字上來看,我們可以知道開頭的ST代表的是意法半導(dǎo)體,其后的M代表的是微電子學(xué)的意思,32就是32位的意思,所以STM32合起來的意思就是一款由ST公司研究開發(fā)的32位的微處理器。F103就表示其中的增強型芯片,后面的C代表的是引腳的數(shù)目為48個引腳,8則代表FLASH的大小為64K,T表示的是它的封裝方式,6表示的是它溫度的范圍。它不僅結(jié)構(gòu)簡單,易于學(xué)習(xí),而且成本價格低,功耗低,功能多,在各種地方還都可以見到STM32產(chǎn)品的身影,比如學(xué)習(xí)、醫(yī)療、手環(huán)、平衡車等,可以說它是最璀璨的新星,受到各大工程師的青睞,能與之媲美的也是寥寥無幾。

      2 MODBUS協(xié)議

      Modbus協(xié)議簡單地來說就是一個主機請求,從機應(yīng)答的協(xié)議,并且它會提供給用戶規(guī)定的功能碼。Modbus包括許多協(xié)議,如TCP協(xié)議,RTU協(xié)議等等,它不存在規(guī)定的物理層,其中Modbus的RTU協(xié)議規(guī)定數(shù)據(jù)的結(jié)構(gòu),對答方式,消息和命令,數(shù)據(jù)通過主機發(fā)出請求命令消息,然后從站接收到消息之后,判斷其正確性,如果正確則發(fā)送數(shù)據(jù)到主站請求響應(yīng)。該協(xié)議也只有主站擁有主動權(quán)可以主動的發(fā)送消息,從站只能被動地接受然后進行回應(yīng),以及在錯誤時進行回答,將錯誤報出。

      Modbus最重要的一部分其實就是對數(shù)據(jù)的分析,然后判斷數(shù)據(jù)正誤,在本文在使用到的是RTU協(xié)議中的16位CRC校驗。CRC的作用大概就是當(dāng)從機收到主機的命令后進行計算,然后校驗CRC,若CRC正確則說明命令傳輸正確,錯誤說明命令傳輸過程中可能受到干擾等原因,此命令不能使用,在從機收到正確的命令之后進行回復(fù)的時候,還需要計算一次正確的CRC,然后填充在需要回復(fù)的代碼后面,再發(fā)給主機完成應(yīng)答過程,因為在通信過程中需要不斷的計算CRC的值,所有由此可見CRC校驗尤為的重要。

      3 HMI工業(yè)組態(tài)屏界面編輯

      如果想要使用HMI組態(tài)屏,就需要去Kinco的官網(wǎng)下載KincoHMIware組態(tài)編輯軟件,下載完這款軟件之后,就開始如下圖所示的步驟開始我們軟件的體驗:

      在熟悉了如何在軟件上進行編輯之后,我們就可以開始對我們的系統(tǒng)的界面開始編輯設(shè)計了。首先我們需要選擇本次所需要用到的HMI組態(tài)屏-MT4043R,然后我們需要選擇與其通信的PLC,因為本次采用的通信協(xié)議是Modbus中的RTU協(xié)議,所以選用Modbus RTU這款PLC,最后用串口將他們連接起來,當(dāng)然要注意的就是需要連同一個COM口,最終編輯完的硬件連接圖如下2所示:

      在完成基礎(chǔ)的連接之后,就可以進入HMI組態(tài)屏中,對顯示界面進行編輯了,可以拖動位狀態(tài)設(shè)定,位狀態(tài)切換開關(guān),位狀態(tài)顯示燈,文本顯示這些模塊來完成界面的編輯。

      4 系統(tǒng)界面設(shè)計

      因為技術(shù)水平有限,所以本文打算將系統(tǒng)界面設(shè)計成如下圖3的樣子:

      首先從PLC元件中選擇4個位狀態(tài)切換開關(guān),將它們的地址類型都設(shè)置成OX,將它們的地址分別設(shè)置成1,2,3,4,再將他們的開關(guān)類型都設(shè)置成切換開關(guān),再設(shè)置他們的標(biāo)簽內(nèi)容,這樣就可以完成4個位狀態(tài)切換開關(guān)的設(shè)置了,然后再選擇2個位狀態(tài)設(shè)定開關(guān),將他們的地址類型都設(shè)置成OX,地址設(shè)置成5,6,將這些開關(guān)的地址設(shè)置成不同是為了他們能在工作的時候不會相互干擾,接著把他們的開關(guān)類型設(shè)置成復(fù)位開關(guān),最后為了改變開關(guān)的顯示方式我們需要從外面導(dǎo)人上下箭頭的圖標(biāo),這樣下來2個位狀態(tài)設(shè)定開關(guān)也完成了,接下來就是文本顯示模塊了,直接設(shè)置地址類型為3X,地址為1就完成了,最后要設(shè)置的是位狀態(tài)顯示燈了,設(shè)置它的地址類型為OX,地址為1,之所以設(shè)置為1,是為了讓它與sw0開關(guān)的工作狀態(tài)同步,比如開關(guān)按下的時候,指示燈亮,就代表外部開始工作,最后改變位狀態(tài)顯示燈的圖標(biāo)即可,方法同位狀態(tài)設(shè)定開關(guān)。在完成這些之后系統(tǒng)界面的設(shè)計也就完成了。

      5 軟件設(shè)計及原理

      本系統(tǒng)的主要原理就是主機和從機通過Modbus協(xié)議,進行CRC校驗來完成主機從機之間一種請求應(yīng)答的過程。知道了這一點我們就可以開始進行測試了,首先我們通過,連接兩個USB轉(zhuǎn)串口的模塊,然后將它們連到電腦上,打開串口助手之后選擇一個COM口,然后Kinco軟件中在線模擬的時候選擇另一個COM口,這樣就可以在串口助手上看見HMI組態(tài)屏作為主機給單片機發(fā)的功能碼了,經(jīng)過我們實驗測試所知,我們會收到01功能碼,以及04功能碼,其中04功能碼由文本顯示模塊所發(fā),01功能碼均由其他模塊所發(fā)。因為知道了收到的功能碼的類型,所以單片機作為從機在應(yīng)答的時候就需要回復(fù)01功能碼與04功能碼,這樣主機從機就完成了通訊。主機收到了從機的功能碼后就會執(zhí)行一系列的操作,在本系統(tǒng)中主機收到從機發(fā)的功能碼后,組態(tài)屏上會把開關(guān)按鈕都顯示出來,這些都是在接收01功能碼后的操作,如果接收到的是04功能碼,那么文本顯示模塊上的內(nèi)容則會改變。在開關(guān)顯示出來之后,我們需要改變它們的狀態(tài),所以我們肯定會去點擊這個按鍵,這時候組態(tài)屏就會像單片機發(fā)送05功能碼,單片機接收到05功能碼后,必須立刻做出反應(yīng),向組態(tài)屏發(fā)送同樣的05功能碼,這樣主機從機間又完成一次通訊,然后我們想要的功能才會實現(xiàn)。以此為基礎(chǔ),整個系統(tǒng)的工作原理就顯得不是那么的困難了,無非就是收發(fā),收發(fā),在發(fā)完之后執(zhí)行相應(yīng)的操作。軟件的程序設(shè)計流程如圖4。

      6 總結(jié)與展望

      本系統(tǒng)的設(shè)計所需要用到的是STM32的單片機,本次選用的是以STM32F103C8T6為核心的這款單片機,因為還在學(xué)習(xí)研究該單片機以及Kinco軟件的階段,所以設(shè)計出來的系統(tǒng)相對的比較簡單一些,通過以后的不斷學(xué)習(xí),該系統(tǒng)還有很大的改進提升空間。就本次研究實驗而言,過程也并不是十分順利的,在過程中也遇到了許多問題,在剛開始寫代碼的時候,因為C語言學(xué)的不是非常的透徹,在獲取CRC校驗位的時候總是出錯或者接收不到校驗位,后來通過查閱書籍以及問同學(xué)解決了該問題。最后在進行在線模擬的時候發(fā)現(xiàn),操作的時候存在很大的延遲,但是將工程下載到HMI組態(tài)屏中后,并沒有發(fā)現(xiàn)延遲??偠灾?,該系統(tǒng)的研究過程并不是一帆風(fēng)順的,但最終還是實現(xiàn)了交互的功能,這為以后的一些研究提供了一些基礎(chǔ),還是有些參考價值的。

      參考文獻:

      [1]侯殿有,單片機C語言程序設(shè)計[M].北京:人民郵電出版社,2010.

      【通聯(lián)編輯:聞翔軍】

      猜你喜歡
      組態(tài)命令單片機
      只聽主人的命令
      基于PLC及組態(tài)技術(shù)的恒溫控制系統(tǒng)開發(fā)探討
      基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
      基于單片機的層次漸變暖燈的研究
      基于單片機的便捷式LCF測量儀
      移防命令下達后
      基于PLC和組態(tài)的智能電動擰緊系統(tǒng)
      這是人民的命令
      鑄造行業(yè)三維組態(tài)軟件的應(yīng)用
      Microchip推出兩個全新PIC單片機系列
      宣威市| 新绛县| 凤城市| 理塘县| 黄石市| 诸城市| 泗阳县| 扶余县| 孝昌县| 东安县| 麻城市| 资阳市| 昆明市| 精河县| 丽水市| 北碚区| 甘肃省| 盖州市| 东台市| 陵水| 侯马市| 运城市| 临颍县| 乐业县| 万载县| 定陶县| 博爱县| 剑川县| 邵武市| 元朗区| 东台市| 威远县| 宝鸡市| 西乌| 安丘市| 黄山市| 宁化县| 宁晋县| 商水县| 阳城县| 涟源市|