Technical FAQs

Ask a Question

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

Issue:
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

Environment:
Unity Pro software

Resolution:



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{192.168.1.140}UNC.CIP'); (* the application sends a CIP explicit message from the  BMENOC0311.2 to a device at 192.168.10.21. 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 ?