技術(shù)頻道

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

Modbus RTU主站功能塊使用說明

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

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

雷賽智能

● Modbus RTU主站 ●

  功能介紹:

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

  使用場景:

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

  雷賽PLC中Modbus RTU有兩種實現(xiàn)方式:軟件參數(shù)設(shè)置和程序指令方式。

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

  01 / 使用步驟

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

雷賽智能

雷賽智能

雷賽智能

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

雷賽智能

雷賽智能

  3、參數(shù)配置如下圖。

雷賽智能

雷賽智能

  配置完成如圖所示:

雷賽智能

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

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

  ·

  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,在從站查看結(jié)果。如下圖所示。

雷賽智能

雷賽智能

  02 / 注意事項

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

  2、寫入數(shù)據(jù)放在arwWriteData中,讀取數(shù)據(jù)數(shù)據(jù)放在arwReadData中。

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

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

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

  3、長度限制

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

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

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

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

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

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

  03 / 相關(guān)變量介紹

  ◆ ModbusConfig(Modbus通訊配置結(jié)構(gòu)體)

  usiAddress:USINT:=1;//站號

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

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

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

  xCycle:BOOL:=TRUE;//True:周期循環(huán)模式,F(xiàn)alse:觸發(fā)模式

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

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

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

  xError:BOOL:=FALSE;

  ErrorCode:ModbusMasterErrorCode;

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

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

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

  ◆ SerialCommunicationPara (串口通訊參數(shù)結(jié)構(gòu)體)

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

  udiBaudrate:UDINT:=115200;//波特率,設(shè)置為9600

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

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

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

  udiByteSize:UDINT:=8;//數(shù)據(jù)位

  ◆ 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

標(biāo)簽: 雷賽智能

點贊

分享到:

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

下一篇:應(yīng)用案例 | HKP直線步進電機...

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

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

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

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

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號