技術頻道

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

Modbus RTU主站功能塊使用說明

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

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

雷賽智能

● Modbus RTU主站 ●

  功能介紹:

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

  使用場景:

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

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

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

  01 / 使用步驟

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

雷賽智能

雷賽智能

雷賽智能

  2、完成各模塊程序功能的編寫,如下圖所示,在主程序PLC_PRG中LS_ModbusMaster功能塊使能變量狀態(tài)來實現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=> );

雷賽智能

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

雷賽智能

雷賽智能

  02 / 注意事項

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

  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:周期循環(huán)模式,False:觸發(fā)模式

  uiCycleTime:UINT:=100;//循環(huán)時間,單位ms

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

  byRetransmissionNumber:BYTE:=3;//重發(fā)次數

  xError:BOOL:=FALSE;

  ErrorCode:ModbusMasterErrorCode;

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

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

  arwWriteData:ARRAY[0..126] OF WORD;//寫入數據緩存區(qū),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.treenowplaneincome.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

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

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

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

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

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