• 
    

    
    

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

      ?

      基于Modbus_RTU的遠程輸入輸出接口設(shè)備的設(shè)計

      2014-10-21 12:55謝印釗
      電子世界 2014年23期
      關(guān)鍵詞:抗干擾遠程單片機

      【摘要】介紹了Modbus通信協(xié)議的特點,簡述了遠程輸入輸出接口設(shè)備在分布式控制系統(tǒng)中的作用,提出了一種具有Modbus_RTU接口的遠程輸入輸出接口設(shè)備的設(shè)計,并對軟硬件設(shè)計進行了詳細闡述,該設(shè)計利用了Modbus_RTU協(xié)議的開放性和易用性,在單片機運行、端口隔離等方面進行了抗干擾設(shè)計,對完善分布式控制系統(tǒng)功能具有促進作用。

      【關(guān)鍵詞】遠程;Modbus;輸入輸出;單片機;抗干擾

      引言

      Modbus通信協(xié)議是Modicon公司開發(fā)的一種通信協(xié)議,它采用主從問答方式工作,是一種真正開放、標準的、免收許可費的網(wǎng)絡(luò)通信協(xié)議[1]。Modbus通信協(xié)議廣泛應(yīng)用于過程控制系統(tǒng),是實現(xiàn)控制主站(例如可編程控制器)與分站(例如遠程輸入輸出接口)、傳感器通信的一種常用協(xié)議。在分布式控制系統(tǒng)中,控制主站實現(xiàn)邏輯控制功能,但系統(tǒng)中存在遠程的數(shù)據(jù)采集點和遠程控制輸出點,需要通過現(xiàn)場總線的方式實現(xiàn)數(shù)據(jù)互聯(lián),由于Modbus協(xié)議簡單開放的特點,在這種情況下經(jīng)常應(yīng)用。遠程輸入輸出接口是分布式控制系統(tǒng)的一個重要組成部分,兼容Modbus接口能夠很好地提高設(shè)備的易用性和性價比。Modbus通信模式分為ASCII和RTU兩種,RTU是最常用的模式,本文提出了一種具有Modbus_RTU通信接口的遠程輸入輸出接口的設(shè)計方法,能夠滿足分布式控制系統(tǒng)的應(yīng)用需求。

      1.Modbus協(xié)議簡介

      Modbus通信協(xié)議具有開放性好、易實現(xiàn)、擴展性好、可靠性高等優(yōu)點, 因而具有廣闊的應(yīng)用前景,被越來越多的設(shè)備廠商所支持。不同廠商生產(chǎn)的控制設(shè)備可以連成Modbus工業(yè)網(wǎng)絡(luò),由Modbus通信的主站對 現(xiàn)場設(shè)備和儀表進行遠程監(jiān)控,實現(xiàn)非常好的監(jiān)控效果和系統(tǒng)性能[2]。

      Modbus沒有規(guī)定物理層,它只規(guī)定了可以被通信節(jié)點識別的數(shù)據(jù)結(jié)構(gòu)[3]。Modbus規(guī)定了數(shù)據(jù)的結(jié)構(gòu)、命令和應(yīng)答的形式,數(shù)據(jù)通信采用主從方式,主站可以向特定的從站發(fā)起讀寫命令,也可以向所有從站發(fā)起廣播命令。在同一個通信網(wǎng)絡(luò)中,所有通信節(jié)點(包括主站和從站)都必須設(shè)置相同的通信參數(shù),包括波特率、數(shù)據(jù)位、停止位和校驗位,而字符超時、回復(fù)超時等保護參數(shù)每個通信節(jié)點可以不盡相同。

      Modbus通信模式分為ASCII和RTU兩種,兩者的不同主要在于數(shù)據(jù)格式,兩者的數(shù)據(jù)格式分別如表1和表2所示。

      表1

      位置 起始位 設(shè)備地址 功能碼 數(shù)據(jù) LRC校驗 結(jié)束符

      字符個數(shù) 1 2 3 n 2 2

      表2

      位置 起始位 設(shè)備地址 功能碼 數(shù)據(jù) CRC校驗 結(jié)束符

      位數(shù) 靜止時段 8bit 8bit N*8bit 2*8bit 靜止時段

      Modbus功能碼可以是1-255范圍內(nèi)任何整數(shù)值,有些功能碼適用于所有的通信設(shè)備,有些則只適用于特定的控制器,還有一些用于功能的擴展。

      主站通過時間間隔的方式判斷的通信幀的結(jié)束,從站在收到主站的命令后,需要至少間隔3.5個字符周期才能回復(fù)數(shù)據(jù),如果時間間隔不夠,主站將無法區(qū)分主站的數(shù)據(jù)幀和從站的數(shù)據(jù)幀。如果一幀數(shù)據(jù)在完成之前有一個1.5字符周期的停頓,則接收端會認為數(shù)據(jù)損壞而丟棄數(shù)據(jù)。尤其當通信波特率不大于19.2kbps時,對1.5字符周期和3.5字符周期有嚴格要求,當通信波特率大于19.2kbps時,1.5字符周期固定為750us,3.5字符周期固定為1.75ms。從機必須保證同步主機的時序,否則無法正確接受主機的數(shù)據(jù)。同時,從機還要有合理的收發(fā)轉(zhuǎn)換時間,間隔至少3.5字符周期,否則會導(dǎo)致主機和其他從機誤判,但收發(fā)轉(zhuǎn)換周期也不能超過主機的回復(fù)超時時間,否則主機會做出超時判斷。

      2.硬件設(shè)計

      基于Modbus_RTU的遠程輸入輸出接口的硬件電路框圖如圖1所示。硬件電路主要包括處理器(單片機)、輸入輸出隔離器件和RS485收發(fā)器三個部分。

      圖1 硬件電路框圖

      單片機是輸入輸出接口設(shè)備的核心,其接收來自總線的數(shù)據(jù)命令,根據(jù)命令的形式,控制相應(yīng)的端口輸出或?qū)⒉杉降亩丝谛畔⑦M行回復(fù)。單片機的電路部分又可以分為電源、晶振、看門狗三個部分,電源是數(shù)字電路工作的必須部分,通常單片機的電源是一個降壓穩(wěn)壓電路,通用單片機的工作電壓一般為3.3V或5V,而普通開關(guān)電源或AC-DC模塊的輸出電壓一般為12V或24V,所以需要降壓。為了保證單片機工作的穩(wěn)定,需要在降壓器件的輸出側(cè)加穩(wěn)壓二極管和電容,以保證電壓的穩(wěn)定和降低紋波。晶振為單片機工作提供時基,晶振分為內(nèi)部晶振和外部晶振兩種,外部晶振具有更好的精度和穩(wěn)定性。單片機工作在工業(yè)環(huán)境中,容易受到各種干擾,會導(dǎo)致控制程序出現(xiàn)異常,看門狗電路可以將出現(xiàn)異常的程序及時拉回到正常狀態(tài),防止出現(xiàn)事故。看門狗的原理是定時接收單片機發(fā)出的周期信號,當一定時間內(nèi)沒有收到周期信號后,將單片機熱復(fù)位,讓程序重新運行,而這個過程單片機的RAM不會發(fā)生改變,保證控制功能可以繼續(xù)。

      在工業(yè)控制環(huán)境中,各種干擾會沖擊傳輸線路,這就需要對單片機的端口進行隔離,將干擾阻擋在隔離器件之外,首先保證單片機的安全。常用的隔離器件有光耦和磁耦,光耦傳輸速率相對較低,可以在輸入輸出端口隔離中使用,磁耦的傳輸速率相對較高,可以在通信隔離中使用。

      單片機的串口一般只支持TTL電平,如果需要連接Modbus總線(物理層為RS485),則需要RS485總線收發(fā)器,RS485收發(fā)器將接收到的RS485差分信號轉(zhuǎn)換為單片機可以識別的TTL電平信號,將單片機發(fā)出的TTL電平信號轉(zhuǎn)換為RS485差分信號,以實現(xiàn)Modbus總線與單片機信號的互聯(lián)。

      3.軟件設(shè)計

      軟件設(shè)計流程圖如圖2所示。初始化部分主要完成單片機的初始配置,包括晶振的設(shè)置、定時器的設(shè)置、Modbus_RTU協(xié)議棧的設(shè)置和端口的輸入輸出設(shè)置。采集端口信息部分完成對單片機輸入端口的電平采集,端口的電平狀態(tài)需要進行濾波,防止狀態(tài)出現(xiàn)頻繁跳動,濾波采用平均濾波法,即在一定時間內(nèi)采集數(shù)次端口的電平,數(shù)次電平一致,則認為電平已穩(wěn)定,將穩(wěn)定的電平值定期存儲在Modbus_RTU寄存器中,以備Modbus主站讀取。Modbus數(shù)據(jù)處理部分采用中斷的形式,當總線上收到來自主站的命令時,觸發(fā)一次中斷,置中斷標識。在中斷處理程序中,首先判斷收到的命令是讀命令還是寫命令,如果是讀命令,則根據(jù)Modbus_RTU協(xié)議規(guī)則,把主站想要讀取的寄存器的值回復(fù)給主站,如果是寫命令,則改變相應(yīng)的寄存器的值,進而根據(jù)內(nèi)部寄存器與外部端口的映射關(guān)系,將相應(yīng)的單片機端口置位。整個軟件設(shè)計實現(xiàn)了主站對遠程輸入輸出接口設(shè)備的輸入口信息的采集和主站對遠程輸入輸出接口設(shè)備的輸出口的控制,主站具有總線控制權(quán),可以隨時采集端口信息和控制端口輸出。

      圖2 軟件流程圖

      4.結(jié)語

      按照上述方法設(shè)計的遠程輸入輸出接口設(shè)備能夠?qū)崿F(xiàn)控制主站對遠端輸入端口的數(shù)據(jù)采集,同時控制主站可以實時控制遠端執(zhí)行機構(gòu)動作,軟硬件設(shè)計均進行了抗干擾處理,能夠有效應(yīng)對復(fù)雜的工業(yè)控制環(huán)境。此設(shè)計已在實際應(yīng)用中得到驗證,對完善分布式控制系統(tǒng)功能具有促進作用。

      參考文獻

      [1]呂國芳,唐海龍,李進.基于Modbus RTU的串口調(diào)試軟件的實現(xiàn)[J].計算機技術(shù)與發(fā)展,2009,19(9):236-238.

      [2]何志勇,張茂青,錢偉清.PLC主站對Modbus網(wǎng)絡(luò)的監(jiān)控方法[J].計算機網(wǎng)絡(luò)與通信,2007,29(2):26-28.

      [3]舒凱.基于MODBUS-RTU協(xié)議的PLC多路數(shù)據(jù)采集系統(tǒng)[J].水電自動化與大壩監(jiān)測,2008,32(2):66-69.

      作者簡介:謝印釗(1988—),男,黑龍江鶴崗人,主要研究方向:電氣自動化。

      猜你喜歡
      抗干擾遠程單片機
      河南遠程醫(yī)療將覆蓋所有鄉(xiāng)鎮(zhèn)衛(wèi)生院
      遠程訪問
      艦載雷達面臨的電子對抗威脅及防范措施分析
      變頻器控制回路抗干擾措施及調(diào)試故障處理
      異步電動機節(jié)能控制方法及抗干擾技術(shù)
      C8051F020與80C51單片機的異同點
      單片機I/O口模擬串行通訊的C51實現(xiàn)方法
      單片機調(diào)試方法的探討
      用PIC單片機制作的時間繼電器
      波音757-300中遠程客機
      米泉市| 奈曼旗| 上杭县| 津市市| 永泰县| 磐安县| 郴州市| 农安县| 黑水县| 通海县| 大姚县| 北辰区| 定边县| 阿克陶县| 张掖市| 枞阳县| 离岛区| 宜良县| 兰坪| 宿州市| 怀仁县| 甘德县| 那曲县| 图木舒克市| 盐城市| 安西县| 县级市| 陵川县| 称多县| 应城市| 乌兰察布市| 长沙县| 集安市| 登封市| 囊谦县| 邳州市| 尼玛县| 泽库县| 揭西县| 古蔺县| 泊头市|