• 
    

    
    

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

      ?

      基于STM32的中央空調控制策略通信方法與實現(xiàn)

      2014-09-06 08:25:41,,,
      機械與電子 2014年9期
      關鍵詞:組態(tài)王消息控制策略

      ,, ,

      (上海大學機電工程與自動化學院,上海 200072)

      基于STM32的中央空調控制策略通信方法與實現(xiàn)

      嚴良文,賴雪峰,韓濤,張在房

      (上海大學機電工程與自動化學院,上海 200072)

      0 引言

      Modbus是Modicon公司推出的一種通信協(xié)議, 在工業(yè)自動化行業(yè)的廣泛使用已使之成為事實工業(yè)標準。在自動化系統(tǒng)中有大量支持Modbus協(xié)議的設備,包括PLC和智能儀器儀表等,以高性能嵌入式微處理器作為從站,能夠很好地適應系統(tǒng)對功能、可靠性、成本、體積及功耗方面的嚴格要求[1]。S7-200PLC 是德國西門子公司生產(chǎn)的一種小型PLC,其功能強大,在自動化控制設備中得到了廣泛的應用。在PLC 控制系統(tǒng)的運行過程中,操作人員為了更好地進行控制,需要實時改變系統(tǒng)的某些參數(shù),也需要了解、掌握控制系統(tǒng)中的一些實時信息。利用上位機組態(tài)王、單片機系統(tǒng),與PLC 控制系統(tǒng)通過RS232/RS485傳輸媒介,可以實現(xiàn)控制系統(tǒng)的實時控制和監(jiān)測。

      在此,設計開發(fā)了基于STM32F103C8T6單片機的從站,采用Modbus協(xié)議,以實現(xiàn)與主站PLC及PC的通信,主要完成控制策略算法的計算和相關參數(shù)的處理。

      1 單片機STM32F103選型

      STM32F103單片機使用的是意法半導體公司的32位ARM Cortex-M3內核。為了實現(xiàn)它與具有Modbus協(xié)議的PLC和組態(tài)王之間的通訊,設計出了相應的軟硬件。

      系統(tǒng)采用的是STM32F103C8T6,最高工作頻率為72MHz,擁有可達64KB的閃存、20KB的SRAM和非常豐富的外設。內部集成了復位電路、調壓器、低電壓檢測和精確的RC振蕩器等,使用戶的開發(fā)過程更加方便。STM32F103系列單片機功能強大且功耗低,是32位市場上功耗最低的產(chǎn)品。

      2 Modbus協(xié)議及通信模式

      Modbus通信采用主從方式,即僅主設備可以初始化通信過程,從設備只能根據(jù)主設備提供的數(shù)據(jù)做出響應。標準的Modbus使用RS232C、RS422或RS485串行接口。Modbus一次通信發(fā)送和接收的數(shù)據(jù)包由若干幀組成,協(xié)議正是定義了這些幀的意義,控制器只要按照協(xié)議解釋其接收和發(fā)送的數(shù)據(jù),就能與在同一網(wǎng)絡中采用同樣協(xié)議的控制器實現(xiàn)通信[2]。由于RS485采用平衡發(fā)送和差分接收,具有抑制共模干擾能力,并且傳輸距離為幾十米到上千米,因此,設計采用RS485串行接口。

      Modbus協(xié)議有2種傳輸模式:ASCII(美國信息交換碼)模式和RTU(遠程終端單元)模式。用戶可根據(jù)自己的需要來選擇通訊模式,但Modbus網(wǎng)絡上的所有設備都必須選擇相同的傳輸模式和所設置的參數(shù)(包括波特率、校驗方式和數(shù)據(jù)位等)。RTU模式信息幀的8位數(shù)據(jù)包括2個4位16進制字符,相對于ASCII模式,RTU模式表達相同的信息需要較少的位數(shù),并且在相同速率下具有更大的數(shù)據(jù)流量。系統(tǒng)采用的是西門子S7-200系列PLC,其集成了RTU模式的指令。因此,采用Modbus協(xié)議的RTU模式。

      在RTU模式中,沒有起始位也沒有停止位,傳送信息開始于一個默認的至少3.5個字符時間的間隔。然后發(fā)送的第1個域是設備地址域。每個從設備接收到第1個域時都進行判斷是否發(fā)給自己的,在接收到最后一個字符后,一個至少3.5個字符時間的停頓標定了消息的結束,新的消息可在此停頓后開始,整個消息幀必須是一個連續(xù)的流傳輸。如果在幀完成之前有超過1.5個字符時間的停頓,接收設備將刷新不完整的信息并假定下一個字符是一個新消息的地址域。同樣,如果一個新消息在小于3.5個字符時間內接著前一個消息開始,接收的設備將認為它是前一個消息的延續(xù)。由于在最后的CRC域的值是不可能正確的,將導致一個錯誤。RTU消息幀的結構如表1所示。

      表1 RTU格式消息幀結構

      起始位站地址功能代碼數(shù)據(jù)CRC低字節(jié)CRC高字節(jié)結束符≥3.5字符8bit8bitN個bit16bit≥3.5字符

      a.站地址。第1個域為站地址,用來選擇相應的從設備。

      b.功能碼。從站接收到主站發(fā)來的功能代碼,將執(zhí)行相對應的功能。

      c.數(shù)據(jù)域。主站發(fā)給從站的數(shù)據(jù)域中,包含了從站要完成功能指示的動作所必需的附加信息。

      d.CRC校驗。RTU模式傳輸時,信息包含了一個基于CRC方法的校驗域,用來判斷數(shù)據(jù)傳輸?shù)恼_與否。CRC編碼方法通常有程序計算法和查表法,為提高通訊速度,系統(tǒng)采用查表法。

      3 系統(tǒng)通信程序設計與實現(xiàn)

      3.1 單片機Modbus協(xié)議設計

      在系統(tǒng)中,STM32F103作為從站,PLC和上位機組態(tài)王作為主站進行通訊,選用RTU傳輸模式進行數(shù)據(jù)傳輸,從站通訊流程如圖1所示。

      圖1 從站通訊流程

      通訊時主站向從站發(fā)送Modbus協(xié)議幀,包含了從站地址、功能碼,從站執(zhí)行該功能的相關參數(shù)及16位的CRC校驗,單片機產(chǎn)生中斷,開始接收消息;消息接收完成后先判斷從站地址是否與本機相符,如不相符拋棄該消息返回主程序;否則進行CRC校驗,若校驗錯誤則生成錯誤代碼返回,請求主機重發(fā)消息;如果校驗正確,則判斷功能碼儀表是否支持,是則按功能碼進入相應的處理程序[3]。

      3.2 STM32F103串口USART配置

      Modbus協(xié)議在使用RTU傳輸模式時,需對其波特率、數(shù)據(jù)位、停止位、校驗位和控制特性進行配置。串口初始化代碼如下:

      USART_InitStructure.USART_BaudRate = 9600;//波特率設置,9600

      USART_InitStructure.USART_WordLength=USART_WordLength_8b;//數(shù)據(jù)位數(shù)設置,8位

      USART_InitStructure.USART_StopBits = USART_StopBits_1; //停止位設置,1位

      USART_InitStructure.USART_Parity = USART_Parity_No ;//是否奇偶校驗,無

      USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//硬件流控制模式設置,沒有使能

      USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//接收與發(fā)送都使能

      USART_Init(USART3, &USART_InitStructure);//初始化USART3

      3.3 接收與發(fā)送消息幀處理程序設計

      系統(tǒng)在從站接收到主站發(fā)來的消息幀后,判斷其地址,CRC校驗后,根據(jù)其功能碼06H(寫單個保持寄存器),10H(寫多個寄存器)和03H(讀取保持寄存器),來判斷從站進入相應功能程序。功能選擇是PLC和組態(tài)王根據(jù)用戶信息輸入來選擇Modbus相應功能參數(shù),參數(shù)包括傳輸模式、服務類型和響應模式等。若系統(tǒng)對象有其他的功能需求,可以進行擴充。

      系統(tǒng)中組態(tài)王將采集到的多個待處理的數(shù)據(jù)通過Modbus總線傳輸給單片機,單片機通過控制策略計算后返回相應數(shù)據(jù)量的數(shù)據(jù)。當組態(tài)王發(fā)送多個數(shù)據(jù)時,單片機將一一接收到數(shù)據(jù),把數(shù)據(jù)保存到數(shù)組中后,程序進入相應寫寄存器功能程序,根據(jù)Modbus格式幀響應主站。當接收到讀數(shù)據(jù)功能要求時,進入功能碼程序Func03(),則將保存到數(shù)組中的值經(jīng)過一系列計算處理后返回對應值。設計中定義了03H,06H和10H功能函數(shù),方便功能的選擇。

      3.4 RTU接收響應幀格式的確定

      Modbus協(xié)議規(guī)定RTU幀的起始與結束標志要大于3.5個字符時間,并且在一串消息幀里,字符之間的傳輸時間不能大于1.5個字符的時間,若不符合,設備將刷新不完整的消息并假定下一個字節(jié)是新消息的地址。系統(tǒng)利用STM32內部定時器TIM2做超時檢測的方法,來判斷一個幀結束與否,控制過程如圖2所示。

      圖2 響應幀格式判斷流程

      a.主站沒有發(fā)送消息時,USART串口處于等待中斷狀態(tài),接收字符數(shù)大小變量ReceiveSize賦值為0。

      b.當開始接收消息幀時,進入串口中斷,每接收到一個字節(jié)就啟動定時器TIM2。Time從零開始計時,并在進入中斷時將Time賦值給Time0,在主函數(shù)中不斷檢測Time的值是否大于3.5個字符時間,若滿足,則認為接收完畢,進入相應服務函數(shù)。同時也檢測Time0的值是否在1.5到3.5個字符時間內,若滿足條件則將ReceiveSize賦值0,即將上幀數(shù)據(jù)丟棄,這幀當做新的一幀消息接收。

      4 單片機Modbus模塊調試

      4.1 單片機與Modbus調試軟件通訊調試

      通過Modbus串口調試軟件實現(xiàn)單片機與PC的通信。串口調試軟件上可以實現(xiàn)03H,06H,10H等功能,只有嚴格按照Modbus協(xié)議才能使調試軟件上的讀寫通訊正常。系統(tǒng)要實現(xiàn)寫入16個數(shù)據(jù),返回2個數(shù)到組態(tài)王,1個數(shù)到PLC。

      4.2 單片機與中央空調設備通訊調試

      中央空調控制系統(tǒng)將各樓層的調節(jié)閥開度值和機組的各個參數(shù)采集到組態(tài)王后,在組態(tài)界面顯示所采集的值,并將其寫入單片機,單片機經(jīng)過控制策略運算后再返回結果到組態(tài)王和PLC,如圖3所示。

      圖3 數(shù)據(jù)流向

      在通訊過程中,組態(tài)王將多個模擬量值一一對應寄存器地址,并在單片機程序中編寫對應的寄存器地址變量,對應每個樓層和機組的各參數(shù)。當組態(tài)王將多個值寫入時,將會覆蓋上次寫入的值,同時將每次寫入的值保存在一數(shù)組中,當收到03H讀取功能碼時,則把保存在數(shù)組中的值取出進入控制策略運算,返回計算結果。根據(jù)數(shù)據(jù)起始地址來判斷是組態(tài)王還是PLC發(fā)出的讀取命令,從而返回對應的運算結果。

      5 結束語

      系統(tǒng)選擇了廣泛采用的Modbus作為通信協(xié)議,并以組態(tài)王作為上位機,實時監(jiān)控并將數(shù)據(jù)傳輸?shù)礁髟O備進行處理。而單片機STM32作為Modbus協(xié)議從站,在設計過程中實現(xiàn)了Modbus協(xié)議的正常發(fā)送與響應,并且針對系統(tǒng)需求實現(xiàn)了其特定功能。單片機從站在運行過程中通信良好,實現(xiàn)了控制策略算法和相關參數(shù)的處理,在系統(tǒng)中起到重要作用。當其他設備需要擴充特定功能,但由于自身成本、體積和功耗等限制時,可用單片機系統(tǒng)來完成,這樣就能充分發(fā)揮單片機和其他設備各自的優(yōu)點,相互配合,取得較好的控制效果。該通信的實現(xiàn)表明,STM32單片機在自動化控制系統(tǒng)中有較好的應用前景,同時在其他嵌入式系統(tǒng)的串口通信實現(xiàn)上也有很好的借鑒意義。

      [1] 彭道剛,張 浩,李 輝,等. 基于Modbus協(xié)議的ARM嵌入式監(jiān)測平臺設計與實現(xiàn)[J]. 電力自動化設備,2009,29(1):115-119.

      [2] 彭慶海,胡小強. Modbus協(xié)議及其在MCU與PLC通信中的應用[J]. 機電工程,2010,27(4):52-55.

      [3] 李 娜. 基于Modbus協(xié)議的智能儀表的設計[D]. 北京:北京郵電大學,2008.

      Method and Realization of Central Air Conditioning Control Strategy CommunicationBased on STM32

      YANLiangwen,LAIXuefeng,HANTao,ZHANGZaifang

      ( School of Mechatronic Engineering and Automation, Shanghai University, Shanghai 200072,China )

      采用Modbus通信協(xié)議,以西門子S7-200PLC和上位機組態(tài)王為主站,設計開發(fā)了基于STM32F103C8T6單片機的從站。介紹了兩者之間的RS485/RS232方式的通信協(xié)議的建立和程序的設計,詳細描述了單片機與PC之間、單片機與PLC之間的通訊調試,從而實現(xiàn)了基于RTU模式Modbus協(xié)議的串行通信。該系統(tǒng)應用于中央空調控制系統(tǒng)中,其控制策略和主要控制算法由STM32從站計算,能取得較好的控制效果。

      STM32F103單片機;通信;Modbus協(xié)議; 中央空調

      With the Siemens S7-200PLC and upper computer KingView being the master, a slave station of STM32F103C8T6 microcontroller is developed based on Modbus protocol. The establishment and program designing of communication protocol using RS485/RS232between master and slave is introduced firstly. Then the process of debugging between the microcontroller and PC, the microcontroller and the PLC is elaborated. Thus serial communication is implemented based on Modbus protocol in RTU mode. The system will be applied in central air-conditioning control system. A good control effect will be obtained as the controlling strategy and main algorithm can be computed in the STM32slave station.

      STM32F103microcontroller; communication; Modbus protocol; central air conditioning

      2014-04-15

      國家自然科學基金資助項目(51205242);上海市科委科技創(chuàng)新行動計劃資助項目(13111102900)

      TP206

      A

      1001-2257(2014)09-0063-03

      嚴良文(1967-),男,湖北荊州人,副研究員,研究方向為機電一體化系統(tǒng)和數(shù)字傳熱學研究;賴雪峰(1989-),男,福建上杭人,碩士研究生,研究方向為機電一體化。

      猜你喜歡
      組態(tài)王消息控制策略
      考慮虛擬慣性的VSC-MTDC改進下垂控制策略
      能源工程(2020年6期)2021-01-26 00:55:22
      一張圖看5G消息
      工程造價控制策略
      山東冶金(2019年3期)2019-07-10 00:54:04
      現(xiàn)代企業(yè)會計的內部控制策略探討
      消費導刊(2018年10期)2018-08-20 02:57:02
      基于組態(tài)王軟件和泓格PIO-D64 板卡的流水燈控制
      電子制作(2017年23期)2017-02-02 07:17:16
      容錯逆變器直接轉矩控制策略
      MATLAB實現(xiàn)組態(tài)王中TCP/IP讀卡器監(jiān)控方法
      基于PLC與組態(tài)王煤礦壓風機的設計研究
      河南科技(2015年8期)2015-03-11 16:23:55
      消息
      消息
      枣庄市| 古浪县| 安阳县| 德清县| 黎平县| 锡林浩特市| 浑源县| 达日县| 德钦县| 探索| 阜阳市| 嵊泗县| 嘉峪关市| 澄迈县| 鄂伦春自治旗| 陆川县| 齐河县| 精河县| 伊川县| 广河县| 滨州市| 富宁县| 邢台县| 松江区| 德令哈市| 南涧| 临安市| 三亚市| 汕尾市| 冷水江市| 卓资县| 明水县| 当雄县| 临桂县| 抚顺县| 虹口区| 玉门市| 奉节县| 炉霍县| 长岭县| 庆云县|