Browse FAQs

Video: How to use the DATA_EXCH function block on the M580 via the NOC module to read data from a another Ethernet IP device

Published date: 19 November 2020

Is there a working example of the DATA_EXCH function block on the M580 using CIP explicit messaging?

Product Line:
Ethernet IP NOC module, M580

Unity Pro software


Follow steps below:
  1. Create a M580 project and add a NOC module
  2. Add an IP address to the NOC module and disable security in the DTM browser
  3. Create a section, in this example, ST was used.
  4. Add the DATA_EXCH function block and configured it as shown below
converted_address := ADDM('0.2.0{}UNC.CIP'); (* the application sends a CIP explicit message from the  BMENOC0311.2 to a device at The ADDM function converts the string to an ADDM_TYPE to be used by the Data_EXCH block*)
ActionType := 1;

send_buffer[0] := 16#024E; (*High Byte - Path Size, Low Byte - Service Code: Read Holding Registers *)
send_buffer[1] := 16#4420;  (*High Byte - Class, Low Byte - Class Segment *)
send_buffer[2] := 16#0124;  (*High Byte - Instance, Low Byte - Instance Segment *)
send_buffer[3] := 16#0032;  (*Location of the first word to read, in this case 50 *)
send_buffer[4] := 16#0001;   (*Number to read, in this case 1 *)
management_parameters[2] := 10; (* timeout - 1 second 100 x 10 *)
management_parameters[3] := 10;  (* length of senbd buffer in bytes *)

DATA_EXCH (EN := enable,
    ADR := converted_address, (* result of ADDM function in "init" section *)
    TYP := ActionType,      (* Value of 1 - transmission followed by await reception *)    
    EMIS := send_buffer,        (*message to send *)
    GEST := management_parameters, (* control block *)
    RECP => receive_buffer);   (* buffer for returned message *)

Was this helpful?

What can we do to improve the information ?

Can't find what you are looking for?

Reach out to our customer care team to receive information on technical support, assistance for complaints and more.