超碰成人av-青青草97-天天做天天躁天天躁-久久精品国产亚洲一区二区-亚洲天堂狠狠干-在线观看欧美精品-国产精品美女一区二区视频-国产成人欧美日韩在线电影-一级片免费看视频-免费国产视频在线观看-伊人网久久久-无码人妻丰满熟妇啪啪网不卡-精品欧美乱码久久久久久-国产真实夫妇视频-中文久草

  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 1/3     Go
華南貓
PLC無線通訊遠程控制巨控黃工:18922726899
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 68 個
工控威望: 178 點
下載積分: 860 分
在線時間: 43(小時)
注冊時間: 2017-02-21
最后登錄: 2025-08-22
查看華南貓的 主題 / 回貼
樓主  發(fā)表于: 2019-01-17 14:20
1. 基本的通訊方式
基本的通訊方式有并行通訊和串行通訊兩種。

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

串行通信:是指數(shù)據(jù)一位一位順序傳送的通信方式。

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

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

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


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



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

5. RS485接口電路


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

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

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

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

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


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

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

modbus信息幀結(jié)構(gòu)組成



7. MODBUS命令報文
讀數(shù)據(jù)    


8. MODBUS關(guān)鍵概念
    

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

(2)設(shè)備地址:MODBUS從機通訊地址,在一個網(wǎng)絡(luò)中不能有兩個相同的地址。(3)功能碼:MODBUS 協(xié)議規(guī)定的功能碼

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

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

從站響應(yīng)數(shù)據(jù)是:字節(jié)數(shù)和N個數(shù)字節(jié)數(shù)據(jù)。





9. MODBUS主站常用操作
    


1)讀優(yōu)化:對于不連續(xù)地址的數(shù)據(jù)讀取,是否采取打包讀,則系統(tǒng)使用打包讀命令,一次性完成多個地址的讀取。

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

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

4)字節(jié)順序:調(diào)整32位雙字的解碼順序。

以32位整數(shù)為例,說明字節(jié)順序的含義:

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

例如:從串口讀到的數(shù)據(jù)為0000 00 01 表示 1。

2143:表示雙字元件高低字不顛倒,但字內(nèi)高低字節(jié)顛倒。

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

3412:表示雙字元件高低字顛倒,但字內(nèi)高低字節(jié)不顛倒。

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

4321:表示雙字元件內(nèi)4個字節(jié)全部顛倒。

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





10. C語言MODBUS程序
    

(1).CRC16算法:

INT16U CRC16(INT8U *puchMsg, INT16U usDataLen)

{

   INT8U uchCRCHi = 0xFF;               /* 高CRC字節(jié)初始化 */

   INT8U uchCRCLo = 0xFF;               /* 低CRC 字節(jié)初始化 */

   INT8U uIndex;                        /* CRC循環(huán)中的索引 */

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

   {

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

      uchCRCHi = uchCRCLo ^auchCRCHi[uIndex];

      uchCRCLo = auchCRCLo[uIndex];

   }

   return (uchCRCHi << 8 |uchCRCLo);

}



(2)發(fā)送命令程序

本例程以Mag64為核心CPU

void Read_InPut(INT8U Addr,INT16UStart,INT16U Len)

{

   INT16U CRC;

   SendBuffer_485[0]=Addr;                  //設(shè)備地址

   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發(fā)送

   SendLen_485=8;

   SendNum_485=0;

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

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

}



(3)返回數(shù)據(jù)解析

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

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為瞬時流量數(shù)值

  ReceivedFlag_485=1;

  Open_Time1_Ms5(20);

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

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

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

   {

      CRC1=CRC16(ReceivedBuffer_485,7);                

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

      if(CRC1==CRC2)

      {// 轉(zhuǎn)換數(shù)據(jù)為浮點數(shù)

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

       }

}

}



11. MODBUS調(diào)試軟件MODBUS PULL
    

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

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

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


2.設(shè)置串口數(shù)據(jù)

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


3.設(shè)置數(shù)據(jù)顯示格式


4.通訊成功界面

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

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

    主站蜘蛛池模板: 国产一区二区三区内射高清 | 欧美综合自拍亚洲综合图片区 | 日本不卡在线视频 | 国产一级午夜 | 国产91网 | 天天操天天碰 | 国产精品无码一区二区在线 | 在厨房拨开内裤进入在线视频 | 国产精品果冻麻豆精东天美 | 激情综合丁香五月 | 荷兰欧美一级毛片 | 日出水了特别黄的视频 | 男女视频在线观看 | 欧美电影免费网站 | 一本色道久久综合无码人妻 | 2022国产成人精品视频人 | 一区二区日韩精品 | 国产三级无码内射在线看 | 91成人在线视频 | 欧美成人在线免费观看 | 精品无码一区二区三区爱欲 | 国产激情| 久久久久亚洲精品影视 | 强辱丰满人妻hd中文字幕 | 亚洲国产成人无码av在线播放 | 亚洲精品宾馆在线精品酒店 | 国产在线视频一区二区三区 | 一本加勒比hezyo无码人妻 | 久久精品国产99国产精品导航 | 欧美性生交大片18禁止 | 免费中日高清无专码有限公司 | 久久激情国产 | 99久久久国产 | 亚洲精品无码久久久久久 | 下面一进一出好爽视频 | 娇妻被各种姿势c到高潮小说 | 欧美精品久 | 日韩福利视频一区 | 中国大陆高清aⅴ毛片 | 久久网页 | 久久丁香 | 亚洲成熟女人毛毛耸耸多 | 中文日韩在线 | 大尺度做爰床戏呻吟免费观 | 毛片网站网址 | 宅男lu666噜噜噜在线观看 | 成人一区二区在线观看视频 | 国产成人精品一区二区在线 | 一级在线| 亚洲视频国产一区 | 国产精品一卡二卡三卡 | av无码国产在线看免费网站 | 精品人无码一区二区三区 | 国产极品美女高潮无套在线观看 | 国产男女交性视频播放 | 国产乱人伦精品一区二区 | 成人做爰www网站视频 | 在线无码午夜福利高潮视频 | 久久中文字幕电影 | 国产精品视频yy9299 | 日韩福利在线 | 国产日韩久久久精品影院首页 | 午夜福利理论片在线观看播放 | 亚洲综合一区二区三区 | 欧美成人免费全部网站 | 欧洲精品码一区二区三区免费看 | 亚洲国产欧美日韩一区二区三区 | 亚洲精品一区二区三区在线观看 | 中国熟妇浓毛hdsex | 毛片a级放荡的护士hd | 特级西西人体444www高清大胆 | 天天摸天天做天天爽水多 | 成人一区二区在线 | 亚洲中文字幕av无码专区 | 日本久久久久 | 亚洲精品国偷拍自产在线麻豆 | 免费一看一级毛片 | 国产日产一区二区三区久久久久久 | 日本在线观看中文字幕 | 三级在线观看 | 国产高清在线看免费视频观 | 日韩av在线不卡 | 色图综合网 | www.成人免费视频 | 黄视频| 欧美另类videosbestsex久久 | 噜噜噜亚洲色成人网站 | 97精品人妻系列无码人妻 | 无码av天天av天天爽 | 国产大片在线观看 | 狠狠人妻久久久久久综合蜜桃 | 国产妇女馒头高清泬20p多毛 | 精品无码国产自产拍在线观看蜜 | 国产资源在线观看 | 天天干免费视频 | 欧美特黄一级 | 97人妻天天爽夜夜爽二区 | 久久久精品人妻一区亚美研究所 | 狠狠操在线观看 |