• <cite id="uwv89"></cite>
      1. 亚洲综合小综合中文字幕,国产久爱免费精品视频,精品国产品香蕉在线,国产午夜精品在人线播放,精品一二三四区在线观看,国产成人无码免费看视频软件 ,色欲久久人妻内射,午夜在线观看成人av
        • «
        • 1
        • 2
        • 3
        • »
        • Pages: 1/3     Go
        華南貓
        PLC無線通訊遠程控制巨控黃工:18922726899
        級別: 探索解密
        精華主題: 0
        發帖數量: 70 個
        工控威望: 178 點
        下載積分: 860 分
        在線時間: 43(小時)
        注冊時間: 2017-02-21
        最后登錄: 2025-08-22
        查看華南貓的 主題 / 回貼
        樓主  發表于: 2019-01-17 14:20
        1. 基本的通訊方式
        基本的通訊方式有并行通訊和串行通訊兩種。

        并行通信:是指數據的各位同時進行傳送的通信方式。

        串行通信:是指數據一位一位順序傳送的通信方式。

        2. 串行通訊的兩種方式
        串行通信的兩種基本形式:同步通信和異步通信。

        異步通信所傳輸的數據幀格式是由1個起始位、1~9個數據位、1~2個停止位組成,依靠起始位和停止位保持同步;

        同步通信所傳輸數據幀格式是由多個字節組成的一個幀,每個幀都有兩個(或一個)同步字符作為起始位以觸發同步時鐘開始發送或接收數據。


        3. 根據傳送方向分類
          根據信息的傳送方向,串行通訊可以進一步分為單工、半雙工和全雙工三種。
          如果在通信過程的任意時刻,信息只能由一方A傳到另一方B,則稱為單工。          
          如果在任意時刻,信息既可由A傳到B,又能由B傳A,但只能由一個方向上的傳輸存在,稱為半雙工傳輸。  
          如果在任意時刻,線路上存在A到B和B到A的雙向信號傳輸,則稱為全雙工。



        4. 串行通訊接口
        串行通訊物理接口按電氣標準及協議來分包括RS-232、RS-422、RS485等,這里主要講一些最常用的RS485接口。

        5. RS485接口電路


        作為一個經常被應用到的SP485R芯片的示范電路,可以被直接嵌入實際的RS-485

        應用電路中。微處理器的標準串行口通過RXD 直接連接SP485R 芯片的RO 引腳,通過TXD直接連接SP485R 芯片的DI 引腳。

        由微處理器輸出的R/D 信號直接控制SP485R 芯片的發送器/接收器使能:R/D 信號為“1”,則SP485R 芯片的發送器有效,接收器禁止,此時微處理器可以向RS-485 總線發送數據字節;R/D 信號為“0”,則SP485R 芯片的發送器禁止,接收器有效,此時微處理器可以接收來自RS-485 總線的數據字節。此電路中,任一時刻SP485R 芯片中的“接收器”和“發送器”只能夠有1 個處于工作狀態。

        連接至A 引腳的上拉電阻R7、連接至B 引腳的下拉電阻R8 用于保證無連接的SP485R芯片處于空閑狀態,提供網絡失效保護,以提高RS-485 節點與網絡的可靠性。

        如果將SP485R 連接至微處理器80C51 芯片的UART 串口,則SP485R 芯片的RO 引腳不需要上拉;否則,需要根據實際情況考慮是否在RO 引腳增加1 個大約10K 的上拉電阻。


        6. 串口MODBUS通訊
              Modbus作為工業通信回路中數據交換的規則已經被廣泛地應用在各個領域,使得具有Modbus 通信協議的設備方便通信,例如PLC、變頻器、流量計、溫濕度、上位機組態軟件、各種傳感器儀表等。

              Modbus通信協議分為兩種串行通信模式,ASCII 和RTU 通信模式。在使用時,需要先設定通信模式以及串行口RS232、RS485的通信參數(波特率,奇偶校驗,從機地址,數據位,停止位,字節順序),在Modbus 總線上的所有設備應具有相同的通信模式和串行通信參數

        modbus信息幀結構組成



        7. MODBUS命令報文
        讀數據    


        8. MODBUS關鍵概念
            

        (1)上位機讀取數據每次間隔時間一般不小于100ms

        (2)設備地址:MODBUS從機通訊地址,在一個網絡中不能有兩個相同的地址。(3)功能碼:MODBUS 協議規定的功能碼

        (4)寄存器地址和寄存器數

        主站命令中的參數是從寄存器地址開始的寄存,讀寄存器長度的N個寄存器。(5)從站響應數據

        從站響應數據是:字節數和N個數字節數據。





        9. MODBUS主站常用操作
            


        1)讀優化:對于不連續地址的數據讀取,是否采取打包讀,則系統使用打包讀命令,一次性完成多個地址的讀取。

        2)讀優化間隔:讀優化時,若地址之間小于此間隔,則會打包到一起,使用多讀命令一次讀取。

        3)最大包長:一次通訊允許的最大數據長度。

        4)字節順序:調整32位雙字的解碼順序。

        以32位整數為例,說明字節順序的含義:

        1234:表示雙字元件不做處理直接解碼,。

        例如:從串口讀到的數據為0000 00 01 表示 1。

        2143:表示雙字元件高低字不顛倒,但字內高低字節顛倒。

        例如:從串口讀到的數據為0000 00 01 表示 0x00000100 (即256)。

        3412:表示雙字元件高低字顛倒,但字內高低字節不顛倒。

        例如:從串口讀到的數據為0000 00 01 表示 0x00010000 (即65536)。

        4321:表示雙字元件內4個字節全部顛倒。

        例如:從串口讀到的數據為00 00 00 01 表示 0x0100 0000 (即1677 721





        10. C語言MODBUS程序
            

        (1).CRC16算法:

        INT16U CRC16(INT8U *puchMsg, INT16U usDataLen)

        {

           INT8U uchCRCHi = 0xFF;               /* 高CRC字節初始化 */

           INT8U uchCRCLo = 0xFF;               /* 低CRC 字節初始化 */

           INT8U uIndex;                        /* CRC循環中的索引 */

           while (usDataLen--)                  /* 傳輸消息緩沖區 */

           {

              uIndex = uchCRCHi ^*puchMsg++;   /* 計算CRC */

              uchCRCHi = uchCRCLo ^auchCRCHi[uIndex];

              uchCRCLo = auchCRCLo[uIndex];

           }

           return (uchCRCHi << 8 |uchCRCLo);

        }



        (2)發送命令程序

        本例程以Mag64為核心CPU

        void Read_InPut(INT8U Addr,INT16UStart,INT16U Len)

        {

           INT16U CRC;

           SendBuffer_485[0]=Addr;                  //設備地址

           SendBuffer_485[1]=0x04;                  //modbus功能碼

           SendBuffer_485[2]=Start/256;             //Start為寄存器地址

           SendBuffer_485[3]=Start%256;

           SendBuffer_485[4]=Len/256;               //Len為讀取寄存器長度

           SendBuffer_485[5]=Len%256;

           CRC=CRC16(SendBuffer_485,6);

           SendBuffer_485[6]=CRC/256;               //CRC校驗高位

           SendBuffer_485[7]=CRC%256;               //CRC校驗低位

           R485_OUT;                                //使能RS485發送

           SendLen_485=8;

           SendNum_485=0;

           CloseINT0();                            //關閉串口接受中斷

           UCSR0B |= BIT(UDRIE0);                  //打開串口發送中斷

        }



        (3)返回數據解析

        數據接收使用串口中斷,ReceivedBuffer_485為接收數據組,ReceivedNum_485為接收到數據長度,ReceivedFlag_485接收到數據標志。函數float Datasum(INT8UBYTE1, INT8U BYTE2, INT8U BYTE3, INT8U BYTE4)把浮點數的4個字節轉換為1個浮點數。

        float Datasum(INT8U FloatByte1, INT8U FloatByte2,INT8U FloatByte3, INT8U FloatByte4)

        {  

        float aa;

        union IntTOFP

           {      

              FP32       F32;

              INT8U      T8[4];

           };

           union IntTOFPaa;

          aa.T8[0] = FloatByte1;                    

        aa.T8[1] = FloatByte2;

        aa.T8[2] = FloatByte3;

        aa.T8[3] = FloatByte4;

        return aa;

        }

        void Read_Lmag(INT8U Ad)

        {

           INT8U  i,j;

           INT8U  Num1[10],BIT;

           INT16UCRC1,CRC2;

           FP32  Flow;                                 //aaa為瞬時流量數值

          ReceivedFlag_485=1;

          Open_Time1_Ms5(20);

          Read_InPut(Ad,0x1010,2);                   //發送設備地址、寄存器地址、寄存器長度

          while(ReceivedFlag_485);                   //等待接收結束

          if((ReceivedNum_485==9)&&(ReceivedBuffer_485[0]==Ad))    // 判斷數據是否正確

           {

              CRC1=CRC16(ReceivedBuffer_485,7);                

             CRC2=ReceivedBuffer_485[7]*256+ReceivedBuffer_485[8];

              if(CRC1==CRC2)

              {// 轉換數據為浮點數

        Flow= Datasum(ReceivedBuffer_485[6], ReceivedBuffer_485[5], ReceivedBuffer_485[4] ,ReceivedBuffer_485[3]);

               }

        }

        }



        11. MODBUS調試軟件MODBUS PULL
            

        以從站地址為1,波特率9600,讀取所有實時數據為例設置方法如下:

        按照表2所示:起始寄存器地址4113  寄存器個數為22

        1. 設置采集命令包括設備地址(1)、MODBUS功能碼(04)、寄存器地址(4113)、寄存器長度(2)、采集間隔(1000)。  


        2.設置串口數據

        根據從機串口格式(1位起始位 8位數據位 1位停止位,無校驗)設置如下圖:


        3.設置數據顯示格式


        4.通訊成功界面

          
        本帖最近評分記錄:
      2. 下載積分:+1(yu1804353868) 真誠感謝!
      3. 下載積分:+3(ipc小許)
      4. 下載積分:+5(祝鐘劍) 真誠感謝!
      5. 下載積分:+5(mk自動化) 真誠感謝!
      6. 下載積分:+1(夏日雪夢) 真誠感謝!
      7. 技術咨詢熱線:18922726899  巨控黃工
        zhong1946
        都2024了
        級別: VIP會員
        精華主題: 3 篇
        發帖數量: 531 個
        工控威望: 772 點
        下載積分: 13781 分
        在線時間: 345(小時)
        注冊時間: 2006-10-12
        最后登錄: 2025-08-19
        查看zhong1946的 主題 / 回貼
        1樓  發表于: 2019-01-18 21:13
        頂!感謝分享!雖然后面C語言的看不懂
        zxong123
        級別: 略有小成
        精華主題: 0
        發帖數量: 187 個
        工控威望: 485 點
        下載積分: 778 分
        在線時間: 355(小時)
        注冊時間: 2018-06-12
        最后登錄: 2025-01-20
        查看zxong123的 主題 / 回貼
        2樓  發表于: 2019-01-19 10:03
        這個頭像是不是要換一下呢         
        本帖最近評分記錄:
      8. 下載積分:+3(方飛2021)
        夏日雪夢
        為了夢,夢一生
        級別: VIP會員
        精華主題: 0
        發帖數量: 528 個
        工控威望: 4295 點
        下載積分: 4306 分
        在線時間: 465(小時)
        注冊時間: 2009-04-03
        最后登錄: 2025-06-02
        查看夏日雪夢的 主題 / 回貼
        3樓  發表于: 2019-01-20 10:23
        非常感謝
        工控菜鳥
        菜鳥一只
        級別: 論壇先鋒
        精華主題: 0
        發帖數量: 990 個
        工控威望: 1169 點
        下載積分: 13914 分
        在線時間: 313(小時)
        注冊時間: 2017-04-12
        最后登錄: 2025-08-27
        查看工控菜鳥的 主題 / 回貼
        4樓  發表于: 2019-01-20 12:01
        講的非常好
        汪傳福
        苦逼的工控人!非標機械設計開發!!電話13689531809
        級別: 工控俠客
        精華主題: 0
        發帖數量: 626 個
        工控威望: 2514 點
        下載積分: 704 分
        在線時間: 168(小時)
        注冊時間: 2017-03-24
        最后登錄: 2024-01-13
        查看汪傳福的 主題 / 回貼
        5樓  發表于: 2019-01-20 14:12
        謝謝樓主的講解
        往事如風
        科技改變制造
        級別: 網絡英雄

        精華主題: 0
        發帖數量: 11912 個
        工控威望: 19504 點
        下載積分: 14751 分
        在線時間: 2806(小時)
        注冊時間: 2013-01-31
        最后登錄: 2025-08-23
        查看往事如風的 主題 / 回貼
        6樓  發表于: 2019-01-20 19:59
        謝謝總結
        三人行者必有我師 ,擇其善者而從之
        l7xing
        級別: 探索解密
        精華主題: 0
        發帖數量: 28 個
        工控威望: 116 點
        下載積分: 2418 分
        在線時間: 103(小時)
        注冊時間: 2014-08-13
        最后登錄: 2025-04-14
        查看l7xing的 主題 / 回貼
        7樓  發表于: 2019-07-06 15:21
        支持一下
        ,留爪印
        roy_poon
        級別: 略有小成
        精華主題: 0
        發帖數量: 115 個
        工控威望: 240 點
        下載積分: 64739 分
        在線時間: 613(小時)
        注冊時間: 2013-11-09
        最后登錄: 2025-08-28
        查看roy_poon的 主題 / 回貼
        8樓  發表于: 2019-07-06 15:22
        謝謝分享!
        zhutaodtyy
        級別: 略有小成
        精華主題: 0
        發帖數量: 73 個
        工控威望: 244 點
        下載積分: 3591 分
        在線時間: 49(小時)
        注冊時間: 2018-04-13
        最后登錄: 2024-04-18
        查看zhutaodtyy的 主題 / 回貼
        9樓  發表于: 2019-07-06 16:47
        PLUS!
        wsad2000
        級別: 正式會員
        精華主題: 0
        發帖數量: 36 個
        工控威望: 89 點
        下載積分: 820 分
        在線時間: 10(小時)
        注冊時間: 2018-11-21
        最后登錄: 2020-05-25
        查看wsad2000的 主題 / 回貼
        10樓  發表于: 2019-07-21 09:28
        😀😀能搞個事例就更好了。
        tangjayi
        老虎屁股也要摸
        級別: 略有小成
        精華主題: 0
        發帖數量: 351 個
        工控威望: 442 點
        下載積分: 597 分
        在線時間: 160(小時)
        注冊時間: 2008-06-08
        最后登錄: 2025-05-27
        查看tangjayi的 主題 / 回貼
        11樓  發表于: 2019-07-22 10:41
        支持一下
        ,留爪印
        • «
        • 1
        • 2
        • 3
        • »
        • Pages: 1/3     Go

        主站蜘蛛池模板: 成人亚洲av免费在线| 久久不见久久见免费视频| 国产欧美丝袜在线二区| 久久成人国产精品免费软件| 国产精品福利片在线观看| 亚洲女同在线播放一区二区| 国产精品一线二线三线区| 国产精品白丝久久av网站| 精品无码人妻| 777米奇色狠狠俺去啦| 成人综合婷婷国产精品久久蜜臀| 国产精品一区在线蜜臀| 国产人成亚洲第一网站在线播放| 久久精品国产91久久麻豆| 国产免费一区二区不卡| 国产亚洲精品在av| 国产精品三级中文字幕| 国产日韩一区二区在线看| 风流老熟女一区二区三区| 久久人妻精品大屁股一区| 成人啪啪高潮不断观看| 国产男女猛烈无遮挡免费视频| 非会员区试看120秒6次| 欧美色欧美亚洲高清在线观看| 热久在线免费观看视频| 久久精品国产久精国产果冻传媒| 中文日韩在线一区二区| 成人午夜福利精品一区二区 | 人妻中文字幕精品系列| 日本不卡三区| 蜜臀av入口一区二区三区| 最新AV中文字幕无码专区| 国产久免费热视频在线观看| 2020年最新国产精品正在播放| 一区二区不卡国产精品| 日本深夜福利在线观看| 国产仑乱无码内谢| 国内精品无码一区二区三区| 日本欧美一区二区三区在线播放| 中文字幕日韩有码国产| 国产一区二区日韩经典|