• 
    

    
    

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

      ?

      基于Modbus協(xié)議的串行通信的應(yīng)用

      2013-09-25 14:13:14金海琴翟林鵬
      電子設(shè)計(jì)工程 2013年8期
      關(guān)鍵詞:個(gè)字符控件字符

      金海琴,陳 興,翟林鵬

      (揚(yáng)州大學(xué) 江蘇 揚(yáng)州 225127)

      該數(shù)據(jù)采集系統(tǒng)由上位機(jī)、GPRS模塊和三相多功能電量采集模塊3部分組成。

      文中以揚(yáng)州市電網(wǎng)為例,實(shí)現(xiàn)對(duì)各個(gè)現(xiàn)場(chǎng)儀表數(shù)據(jù)的遠(yuǎn)程無線采集,及儀表的集中管理與控制,詳細(xì)介紹基于C#開發(fā)平臺(tái)實(shí)現(xiàn)Modbus通訊協(xié)議的方法,該程序可用于上位機(jī)經(jīng)過GPRS模塊與下位機(jī)(即三相多功能電量采集模塊)的串口通訊。測(cè)試時(shí),將下位機(jī)三相多功能電量采集模塊通過RS485接口連接GPRS模塊,則可以把采集的數(shù)據(jù)通過GPRS網(wǎng)絡(luò)傳給上位機(jī),上位PC機(jī)通過虛擬串口接收發(fā)送過來的數(shù)據(jù),并對(duì)接收到的參數(shù)進(jìn)行實(shí)時(shí)數(shù)據(jù)顯示、查詢和管理。

      1 Modbus協(xié)議

      1.1 Modbus協(xié)議簡(jiǎn)介

      Modbus協(xié)議是應(yīng)用于電子控制器上的一種通用語言。通過此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通信。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。有了它,不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控??刂破魍ㄐ攀褂弥鳌獜募夹g(shù),即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢),其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。本文中的Modbus協(xié)議應(yīng)用于點(diǎn)對(duì)多點(diǎn)的通信,物理層采用RS485串行通信標(biāo)準(zhǔn)。

      1.2 RTU模式格式

      Modbus通信協(xié)議具有兩種傳輸模式:ASCII模式和RTU模式。使用ASCII模式,消息以“:”字符開始,以回車換行符結(jié)束。而使用RTU模式,消息發(fā)送至少要以3.5個(gè)字符時(shí)間的停頓間隔開始,因此在網(wǎng)絡(luò)波特率下多樣的字符時(shí)間,這是很容易實(shí)現(xiàn)的(如圖1的T1—T2—T3—T4所示)。傳輸?shù)牡谝粋€(gè)域是設(shè)備地址??梢允褂玫膫鬏斪址鞘M(jìn)制的0…9,A…F。網(wǎng)絡(luò)設(shè)備不斷偵測(cè)網(wǎng)絡(luò)總線,包括停頓間隔時(shí)間內(nèi)。當(dāng)?shù)谝粋€(gè)域(地址域)接收到,每個(gè)設(shè)備都進(jìn)行解碼以判斷是否發(fā)往自己的。在最后一個(gè)傳輸字符之后,一個(gè)至少3.5個(gè)字符時(shí)間的停頓后才能發(fā)生一個(gè)新的消息。整個(gè)信息必須連續(xù)發(fā)送。如果在發(fā)送幀信息期間,出現(xiàn)大于1.5個(gè)字符的靜止時(shí)間時(shí),則接收設(shè)備刷新不完整的信息,并假設(shè)下一個(gè)地址數(shù)據(jù)。同樣一個(gè)信息后,立即發(fā)送的一個(gè)新信息(若無3.5個(gè)字符的靜止時(shí)間)這將會(huì)產(chǎn)生一個(gè)錯(cuò)誤。是因?yàn)楹喜⑿畔⒌腃RC校驗(yàn)碼無效而產(chǎn)生的錯(cuò)誤。一個(gè)典型的消息幀如圖1所示。

      圖1 RTU消息幀F(xiàn)ig.1 RTU message frame

      2 CRC校驗(yàn)

      2.1 CRC校驗(yàn)介紹

      RTU方式時(shí),采用CRC(即循環(huán)冗余碼校驗(yàn))方法計(jì)算錯(cuò)誤校驗(yàn)碼,CRC校驗(yàn)傳送的全部數(shù)據(jù)。它忽略信息中單個(gè)字符數(shù)據(jù)的奇偶校驗(yàn)方法。

      CRC碼為2個(gè)字節(jié),16位的二進(jìn)制值。由發(fā)送設(shè)備計(jì)算CRC值,并把它附到信息中去。接收設(shè)備在接收信息過程中再次計(jì)算CRC值并與CRC的實(shí)際值進(jìn)行比較,若二者不一致,亦產(chǎn)生一個(gè)錯(cuò)誤,校驗(yàn)開始時(shí),把16位寄存器的各位都置為“1”,然后把信息中的相鄰2個(gè)8位字節(jié)數(shù)據(jù)放到當(dāng)前寄存器中處理,只有每個(gè)字符的8位數(shù)據(jù)用于CRC處理。起始位,停止位和校驗(yàn)位不參與CRC計(jì)算。

      2.2 C#實(shí)現(xiàn)CRC校驗(yàn)代碼

      3 串行通信的實(shí)現(xiàn)

      串口通信技術(shù)應(yīng)用廣泛,在數(shù)據(jù)通信、計(jì)算機(jī)網(wǎng)絡(luò)以及分布式控制系統(tǒng)中,經(jīng)常采用串行通信來交換數(shù)據(jù)和信息。文中采用Visual Studio 2010提供的SerialPort控件實(shí)現(xiàn)串口通信。SerialPort控件和C#的其他控件一樣,都是通過對(duì)其一系列的方法、屬性、事件與用戶之間進(jìn)行交互。只要對(duì)SerialPort控件的屬性、方法、事件進(jìn)行設(shè)計(jì),就可以發(fā)送和接收數(shù)據(jù)。

      3.1 串口屬性設(shè)置

      3.2 打開串口及初始化

      3.3 發(fā)送數(shù)據(jù)

      3.4 接收數(shù)據(jù)

      3.5 串口通信界面

      軟件界面設(shè)計(jì)滿足清晰、簡(jiǎn)潔的要求,使得操作簡(jiǎn)單、調(diào)理清晰,易于進(jìn)行測(cè)試操作。在程序運(yùn)行后,首先設(shè)置串口的參數(shù),本系統(tǒng)串口參數(shù)設(shè)置為:

      串口號(hào):COM3;波特率:9 600 bps;數(shù)據(jù)位:8 位;停止位:1位;校驗(yàn)位:無校驗(yàn)位。

      然后打開串口,設(shè)置設(shè)備地址、功能碼、起始地址、寄存器數(shù)量,進(jìn)行發(fā)送。發(fā)送要查詢的數(shù)據(jù)命令,模塊就會(huì)作出相應(yīng)的回應(yīng)。如圖2所示,是發(fā)送查詢模塊類型寄存器,即3504(HEX)。

      圖2 串口通信界面Fig.2 Serial communication interface

      3.6 數(shù)據(jù)實(shí)時(shí)顯示界面

      文中是以揚(yáng)州儀征市電網(wǎng)為例,實(shí)現(xiàn)了現(xiàn)場(chǎng)數(shù)據(jù)的采集,以便于監(jiān)控中心的實(shí)時(shí)集中監(jiān)控,如圖3所示。文中采集了兩路電網(wǎng)的三相電壓、電流,有功功率,無功功率,功率因素5個(gè)參數(shù)。

      4 結(jié) 論

      圖3 數(shù)據(jù)實(shí)時(shí)顯示界面Fig.3 Real-time data display interface

      文中采用C#編程語言和串口技術(shù)實(shí)現(xiàn)了基于RTU模式的Modbus數(shù)據(jù)通信,解決了電網(wǎng)現(xiàn)場(chǎng)數(shù)據(jù)的采集及遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè)。系統(tǒng)利用三相多功能電量采集模塊實(shí)現(xiàn)了電網(wǎng)數(shù)據(jù)采集的智能化,以及GPRS模塊作為通訊介質(zhì),大大節(jié)省了通訊成本。同時(shí)為工控領(lǐng)域的應(yīng)用提供了可行性參考。

      [1]吳曉艷.計(jì)算機(jī)串行通信接口及其應(yīng)用[J].現(xiàn)代電子技術(shù).2010(18):83-86.

      WU Xiao-yan,Computer serial communication interface and its application[J].Modern Electronic Technology,2010(18):83-86.

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

      猜你喜歡
      個(gè)字符控件字符
      尋找更強(qiáng)的字符映射管理器
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計(jì)
      電子制作(2019年19期)2019-11-23 08:41:50
      消失的殖民村莊和神秘字符
      關(guān)于.net控件數(shù)組的探討
      軟件(2018年7期)2018-08-13 09:44:42
      不讓長(zhǎng)文件名成為“絆腳石”
      電腦迷(2014年8期)2014-04-29 07:37:40
      就這樣玩會(huì)VBA中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      工資報(bào)表計(jì)算機(jī)軟件論述
      卷宗(2011年9期)2011-05-14 17:51:19
      庖丁解牛,小說按章分割
      在PowerBuUder中利用WinSock控件制作簡(jiǎn)單的Web服務(wù)器
      东乡族自治县| 镇沅| 梁山县| 衡南县| 射阳县| 凤庆县| 三穗县| 乐山市| 鄯善县| 中山市| 阿拉善右旗| 喜德县| 天津市| 新乐市| 常山县| 耒阳市| 岑巩县| 南丹县| 额敏县| 凤城市| 济南市| 武穴市| 浪卡子县| 锡林浩特市| 洮南市| 奉贤区| 班戈县| 昭苏县| 淳化县| 高平市| 丽水市| 宁晋县| 武邑县| 邢台县| 宜良县| 平顶山市| 濮阳市| 壤塘县| 五家渠市| 梅州市| 平南县|