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:
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
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 *)
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:
- Create a M580 project and add a NOC module
- Add an IP address to the NOC module and disable security in the DTM browser
- Create a section, in this example, ST was used.
- 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 *)
Released for: Schneider Electric Australia
Need help?
Product Selector
Quickly and easily find the right products and accessories for your applications.
Get a Quote
Start your sales inquiry online and an expert will connect with you.
Where to buy?
Easily find the nearest Schneider Electric distributor in your location.
Help Centre
Find support resources for all your needs, in one place.