Simulink - TCP/IP Send / Receive Variable Size

Dear all,
I want to implement a Modbus TCP communication between MATLAB Simulink and a measurement device by using the Instrument Control Toolbox. For the Modbus protocol different function codes are defined, e.g. 0x04 for reading registers and 0x16 for writing registers. Depending on the function code the message to send/receive by the TCP/IP block differs in size. For both blocks (TCP/IP Send and Receive) you need to predefine how many bytes the message will be. You are also restricted to only use one block for the same target (IP/Port) in one model. Therefore it is impossible to do Modbus TCP/IP read and writing operations within the same model. I think this is quite a big limitation. Anybody has an idea how to overcome this challenge?
Regards
Jonathan

 Respuesta aceptada

Govind KP
Govind KP el 14 de Jul. de 2020

1 voto

Hi Jonathan,
One possible way I can see is to create and use an m-func block in Simulink to call the modbus function.
You can find more details at this link

1 comentario

johnnynoc4sh
johnnynoc4sh el 14 de Jul. de 2020
Exactly the way how I implemented it. Thanks for the valuable hint!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Versión

R2020a

Preguntada:

el 7 de Jul. de 2020

Comentada:

el 14 de Jul. de 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by