<optgroup id="ibk4j"></optgroup>

  • 技術頻道

    娓娓工業
    您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > Modbus RTU主站功能塊使用說明

    Modbus RTU主站功能塊使用說明

    時間:2023-12-18 17:05:37來源:深圳市雷賽智能控制股份有限公司

    導語:?Modbus RTU是Modbus通訊方式的一種,基于RS485/232串行接口的通訊協議,在PLC控制系統中廣泛應用。在此類控制系統中,通常用一個PLC充當主站,而變頻器、伺服電機驅動器以及其他PLC設備則作為從站。

    雷賽智能

    ● Modbus RTU主站 ●

      功能介紹:

      Modbus RTU是Modbus通訊方式的一種,基于RS485/232串行接口的通訊協議,在PLC控制系統中廣泛應用。在此類控制系統中,通常用一個PLC充當主站,而變頻器、伺服電機驅動器以及其他PLC設備則作為從站。該通訊方式用于PLC控制系統的優勢在于實現簡單、運行可靠、搭建成本低,且一個主站能夠支持最多31個從站的通訊。

      使用場景:

      Modbus RTU是工業自動化系統中被廣泛采用的通信協議,其通過串行接口提供快速可靠的通訊。企業能夠實現對多個從站設備的實時監控和高效控制。

      雷賽PLC中Modbus RTU有兩種實現方式:軟件參數設置和程序指令方式。

      1)軟件參數設置:軟件配置Modbus RTU參數即可完成通訊,這種方式可以直觀的看到設置的參數信息以及通訊的數據交換情況。2)指令方式:在需要很多從站的情況下,可以使用指令方式,使用LS_ModbusMaster功能塊,這種方式一次可添加控制31個從站進行通訊,可以在程序中靈活變化通訊參數等信息,比如可以在程序里面更改所需功能碼;再比如當我們需要用485另一個通道進行通訊時,可以直接更新通道號,無須在設備組態再添加通訊通道重新配置。接下來我們對指令方式做一個詳細的介紹(參數設置方式可參考使用手冊及視頻課程內容):

      01 / 使用步驟

      1、新建工程并命名:MC532_ModbusMaster,然后雙擊左側設備欄“庫管理器”添加庫→選擇高級→在彈出的“添加庫”界面選擇“庫”→點擊安裝→在文件夾中選擇“ModbusMaster_Eng.compiled-library”庫文件→安裝完成如圖所示。

    雷賽智能

    雷賽智能

    雷賽智能

      2、完成各模塊程序功能的編寫,如下圖所示,在主程序PLC_PRG中LS_ModbusMaster功能塊使能變量狀態來實現ModbusMaster具體操作;其中定義的幾個比較重要的變量如圖所示。

    雷賽智能

    雷賽智能

      3、參數配置如下圖。

    雷賽智能

    雷賽智能

      配置完成如圖所示:

    雷賽智能

      使用工具Modbus Slave工具配置從站(從站參數配置,要求與主站參數一致),

      詳細代碼如下:(左右滑動查看完整代碼??)

      ·

      PROGRAM PLC_PRGVAR LS_ModbusMaster_00:LS_ModbusMaster; arstModbusConfig: ARRAY [0..127] OF LS_ModbusMasterlib.ModbusConfig := [(usiFunctionCode := MODBUSFUNTIONCODE.Write_Muluiple_Register, xCycle := FALSE, arwWriteData := [10, 20, 98(0)]), 99(())]; stSerialCommunicationPara00: LS_ModbusMasterlib.SerialCommunicationPara := (udiBaudrate := 9600, udiPARITY := NONE); byModbusConfigNumber: BYTE := 1;END_VARLS_ModbusMaster_00( arstModbusConfig:= arstModbusConfig , stSerialCommunicationPara:=stSerialCommunicationPara00, byModbusConfigNumber:= byModbusConfigNumber, xError=> , ErrorID=> );

    雷賽智能

      配置完后后,登錄并下載程序。登錄后,寫入值,觸發xTrigger,在從站查看結果。如下圖所示。

    雷賽智能

    雷賽智能

      02 / 注意事項

      1、Modbus通訊配置需要在第一次執行功能塊之前配置完成,建議直接在初始值中配置及修改,不要在程序中賦值。

      2、寫入數據放在arwWriteData中,讀取數據數據放在arwReadData中。

      如操作寄存器,直接操作對應的word索引即可;如操作線圈,在word中按照Bit處理。

      例1:使用01功能碼,讀取10個線圈,則讀取返回的數據占用arwReadData[0]的bit0-bit9。

      例2:使用03功能碼,讀取10個寄存器,則讀取返回的數據占用arwReadData[0]- arwReadData[9]。

      3、長度限制

      1)01功能碼支持最大長度2000;

      2)02功能碼支持最大長度2000;

      3)03功能碼支持最大長度125;

      4)04功能碼支持最大長度125

      5)15功能碼支持最大長度1968;

      6)16功能碼支持最大長度123。

      03 / 相關變量介紹

      ◆ ModbusConfig(Modbus通訊配置結構體)

      usiAddress:USINT:=1;//站號

      usiFunctionCode:ModbusFuntionCode:=Read_Coils;//功能碼

      wOffset:WORD:=0;//地址偏移

      wLength:WORD:=1;//數據長度,01/02/03/04/15/16功能碼使用

      xCycle:BOOL:=TRUE;//True:周期循環模式,False:觸發模式

      uiCycleTime:UINT:=100;//循環時間,單位ms

      xTrigger:BOOL;//觸發信號,觸發模式下使用s

      byRetransmissionNumber:BYTE:=3;//重發次數

      xError:BOOL:=FALSE;

      ErrorCode:ModbusMasterErrorCode;

      xDone:BOOL:=FALSE;//處理完成信號

      arwReadData:ARRAY[0..126] OF WORD;//讀取數據緩存區,01/02/03/04功能碼使用

      arwWriteData:ARRAY[0..126] OF WORD;//寫入數據緩存區,05/06/15/16功能碼使用

      ◆ SerialCommunicationPara (串口通訊參數結構體)

      udiPort:UDINT:=3;//串口端口號

      udiBaudrate:UDINT:=115200;//波特率,設置為9600

      udiPARITY:COM.PARITY:=COM.PARITY.EVEN;//校驗,設置為偶校驗

      udiStopBits:COM.STOPBIT:=COM.STOPBIT.ONESTOPBIT;//停止位,1位

      udiTimeout:UDINT:=1000;//超時時間,單位ms

      udiByteSize:UDINT:=8;//數據位

      ◆ ModbusFuntionCode(支持的Modbus功能碼)

      Read_Coils:=16#01,//讀線圈

      Read_DisCrete_Inputs:=16#02,//讀離散輸入寄存器

      Read_Holding_Registers:=16#03,//讀保持寄存器

      Read_Input_Registers:=16#04,//讀輸入寄存器

      Write_Single_Coil:=16#05,//寫單個線圈寄存器

      Write_Single_Register:=16#06,//寫單個保持寄存器

      Write_Muluiple_Coil:=15,//寫多個線圈

      Write_Muluiple_Register:=16,//寫多個寄存器

      ◆ ModbusMasterErrorCode(Modbus主站錯誤碼)

      NO_ERROR:=0,

      OPEN_SERIAL_ERROR:=100,

      NOT_SUPPORT_FUNCTIONCODE:=200,

      INVAILD_DATA_ADDRESS:=300,

      INVAILD_DATA_VALUE:=400,

      SLAVE_ERROR:=500,

      CRC_ERROR:=600,

      INVAILD_DATA_LENGTH:=700,

      TIME_OUT:=800,

      INVAILD_DEVICE:=16#FFFF,

      END

    標簽: 雷賽智能

    點贊

    分享到:

    上一篇:什么是電解液?電解液有什么作用?

    下一篇:應用案例 | HKP直線步進電機...

    中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.yzzhiyu.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

    本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

    網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

    中國傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

    網站客服服務咨詢采購咨詢媒體合作

    Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權所有 粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

    99re在线观看视频精品免费看,欧美性爱欧美精品品,久久精彩视频精品,在线精品无码视频