industrialNETworXnetx

DrunkenHero

DrunkenHero

| 20.10.2009 | 10:13 | 1 reply

No Communiation between master and slave

Hello,

I m trying to start a communication between a Master(CIFX 50-RE/EIP) and a slave (Ixxat Modul).
I configured the master with sycon("cifxeim.nxf") and for the slave I used a ENIP Generic Adapter.
Here is the eds file from Ixxat with which I cconfigured the slave:

$ EZ-EDS Version 3.3 Generated Electronic Data Sheet

[File]
DescText = "EDS file for IEM";
CreateDate = 10-23-2007;
CreateTime = 10:00:00;
ModDate = 04-09-2009;
ModTime = 15:58:49;
Revision = 1.1;
HomeURL = "http://www.ixxat.com";

[Device]
VendCode = 81;
VendName = "IXXAT Automation GmbH";
ProdType = 12;
ProdTypeStr = "Communications Adapter";
ProdCode = 1;
MajRev = 1;
MinRev = 2;
ProdName = "Industrial Ethernet Module";
Catalog = "EtherNet/IP Adapter Module";
Icon = "IEM.ico";

[Device Classification]
Class1 = EtherNetIP; $ ,
$ 1_RSNetWorx_Connectable_Module;

[Params]
Param2 =
0,
,,
0x0210,
0xC7,
2,
"Producing Size",
"Byte",
"",
1,1,1,
,,,,
,,,,
;
Param3 =
0,
,,
0x0210,
0xC7,
2,
"Consuming Size",
"Byte",
"",
1,1,1,
,,,,
,,,,
;
Param4 =
0,
,,
0x0210,
0xC6,
1,
"Producer ID",
"",
"",
101,101,101,
,,,,
,,,,
;
Param5 =
0,
,,
0x0210,
0xC6,
1,
"Consumer ID",
"",
"",
100,100,100,
,,,,
,,,,
;

[Assembly]
Assem1 =
"Producing Assembly",
,
2,
0x0000,
,,
16,;
Assem2 =
"Consuming Assembly",
,
2,
0x0000,
,,
16,;

[Connection Manager]
Connection1 =
0x02030002, $ trigger & transport
$ 0-15 = supported transport classes (class 1)
$ 16 = cyclic (1 = supported)
$ 17 = change of state (1 = supported)
$ 18 = on demand (1 = supported)
$ 19-23 = reserved (must be zero)
$ 24-27 = input only
$ 28-30 = reserved (must be zero)
$ 31 = client 0 (don't care for classes 0 and 1)
0x44240305, $ connection parameters
$ 0 = O=>T fixed (1 = supported)
$ 1 = O=>T variable (0 = not supported)
$ 2 = T=>O fixed (1 = supported)
$ 3 = T=>O variable (0 = not supported)
$ 4-7 = reserved (must be zero)
$ 8-11 = O=>T header (0 byte heartbeat)
$ 12-15 = T=>O header (4 byte run/idle)
$ 16-19 = O=>T connection type (point-to-point)
$ 20-23 = T=>O connection type (multicast)
$ 24-27 = O=>T priority (scheduled)
$ 28-31 = T=>O priority (scheduled)
,0,, $ O=>T RPI,Size,Format
,Param2,Assem1, $ T=>O RPI,Size,Format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"Read from IEM", $ connection name
"", $ Help string
"20 04 24 01 2C FE 2C 65"; $ inputs only path

Connection2 =
0x01030002, $ trigger & transport
$ 0-15 = supported transport classes (class 1)
$ 16 = cyclic (1 = supported)
$ 17 = change of state (1 = supported)
$ 18 = on demand (1 = supported)
$ 19-23 = reserved (must be zero)
$ 24-27 = exclusive owner
$ 28-30 = reserved (must be zero)
$ 31 = client 0 (don't care for classes 0 and 1)
0x44240305, $ connection parameters
$ 0 = O=>T fixed (1 = supported)
$ 1 = O=>T variable (0 = not supported)
$ 2 = T=>O fixed (1 = supported)
$ 3 = T=>O variable (0 = not supported)
$ 4-7 = reserved (must be zero)
$ 8-10 = O=>T header (4 byte run/idle)
$ 11 = reserved (must be zero)
$ 12-14 = T=>O header (0 byte heartbeat)
$ 15 = reserved (must be zero)
$ 16-19 = O=>T connection type (point-to-point)
$ 20-23 = T=>O connection type (point-to-point)
$ 24-27 = O=>T priority (scheduled)
$ 28-31 = T=>O priority (scheduled)
,0,, $ O=>T RPI,Size,Format
,Param2,Assem1, $ T=>O RPI,Size,Format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"Listen to IEM", $ connection name
"", $ Help string
"20 04 24 01 2C FF 2C 65"; $ outputs only path

Connection3 =
0x04030002, $ trigger & transport
$ 0-15 = supported transport classes (class 1)
$ 16 = cyclic (1 = supported)
$ 17 = change of state (1 = supported)
$ 18 = on demand (1 = supported)
$ 19-23 = reserved (must be zero)
$ 24-27 = exclusive owner
$ 28-30 = reserved (must be zero)
$ 31 = client 0 (don't care for classes 0 and 1)
0x44640405, $ connection parameters
$ 0 = O=>T fixed (1 = supported)
$ 1 = O=>T variable (0 = not supported)
$ 2 = T=>O fixed (1 = supported)
$ 3 = T=>O variable (0 = not supported)
$ 4-7 = reserved (must be zero)
$ 8-11 = O=>T header (4 byte run/idle)
$ 12-15 = T=>O header (4 byte run/idle)
$ 16-19 = O=>T connection type (point-to-point)
$ 20-23 = T=>O connection type (multicast)
$ 24-27 = O=>T priority (scheduled)
$ 28-31 = T=>O priority (scheduled)
,Param3,Assem2, $ O=>T RPI,Size,Format
,Param2,Assem1, $ T=>O RPI,Size,Format
,, $ config part 1 (not used)
,, $ config part 2 (not used)
"Read/Write IEM", $ connection name
"", $ Help string
"20 04 24 01 2C 64 2C 65";

[Capacity]
ConnOverhead = .01;
MaxIOConnections = 5;
MaxMsgConnections = 27;
TSpec1 = TxRx, 1, 100;
TSpec2 = TxRx, 1, 100;

$ [Connection Configuration]
$ Revision = 2;

The Sycon diganose tool shows me:
DeviceStatus:
run:green
Bereit:yellow
Networkstatus:
Betrieb:green
Configurationstatus
Bus Ein:green

I connected the two devices with a hub.
Here is a little wireshark log (Forward Open+Connection Failure)

No.     Time        Source                Destination           Protocol Info
      1 0.000000    192.168.1.126         192.168.1.123         CIP      Forward Open

Frame 1 (154 bytes on wire, 154 bytes captured)
Arrival Time: Oct 13, 2009 11:43:54.708794000
[Time delta from previous captured frame: 0.000000000 seconds]
[Time delta from previous displayed frame: 0.000000000 seconds]
[Time since reference or first frame: 0.000000000 seconds]
Frame Number: 1
Frame Length: 154 bytes
Capture Length: 154 bytes
[Frame is marked: True]
[Protocols in frame: eth:ip:tcp:enip:cip]
[Coloring Rule Name: TCP]
[Coloring Rule String: tcp]
Ethernet II, Src: Hilscher_20:ca:cf (00:02:a2:20:ca:cf), Dst: IxxatAut_02:40:8a (00:05:94:02:40:8a)
Destination: IxxatAut_02:40:8a (00:05:94:02:40:8a)
Address: IxxatAut_02:40:8a (00:05:94:02:40:8a)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: Hilscher_20:ca:cf (00:02:a2:20:ca:cf)
Address: Hilscher_20:ca:cf (00:02:a2:20:ca:cf)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Type: IP (0x0800)
Internet Protocol, Src: 192.168.1.126 (192.168.1.126), Dst: 192.168.1.123 (192.168.1.123)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 140
Identification: 0x1e0d (7693)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0xd815 [correct]
[Good: True]
[Bad : False]
Source: 192.168.1.126 (192.168.1.126)
Destination: 192.168.1.123 (192.168.1.123)
Transmission Control Protocol, Src Port: dbsa-lm (1407), Dst Port: EtherNet/IP-2 (44818), Seq: 1, Ack: 1, Len: 100
Source port: dbsa-lm (1407)
Destination port: EtherNet/IP-2 (44818)
[Stream index: 0]
Sequence number: 1 (relative sequence number)
[Next sequence number: 101 (relative sequence number)]
Acknowledgement number: 1 (relative ack number)
Header length: 20 bytes
Flags: 0x18 (PSH, ACK)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...1 .... = Acknowledgement: Set
.... 1... = Push: Set
.... .0.. = Reset: Not set
.... ..0. = Syn: Not set
.... ...0 = Fin: Not set
Window size: 2048
Checksum: 0x0381 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
[SEQ/ACK analysis]
[Number of bytes in flight: 100]
[PDU Size: 100]
EtherNet/IP (Industrial Protocol), Session: 0x0071DCA2, Send RR Data
Encapsulation Header
Command: Send RR Data (0x006f)
Length: 76
Session Handle: 0x0071dca2
Status: Success (0x00000000)
Sender Context: E4A00C806B000000
Options: 0x00000000
Command Specific Data
Interface Handle: CIP (0x00000000)
Timeout: 0
Item Count: 2
Type ID: Null Address Item (0x0000)
Length: 0
Type ID: Unconnected Data Item (0x00b2)
Length: 60
Common Industrial Protocol
Service: Forward Open (Request)
0... .... = Request/Response: Request (0x00)
.101 0100 = Service: Forward Open (0x54)
Request Path Size: 2 (words)
Request Path: Connection Manager, Instance: 0x01
8-Bit Logical Class Segment (0x20)
Class: Connection Manager (0x06)
8-Bit Logical Instance Segment (0x24)
Instance: 0x01
Command Specific Data
Priority/Time_tick: 0x03
Time-out_ticks: 250
Actual Time Out: 2000ms
O->T Network Connection ID: 0x00000000
T->O Network Connection ID: 0x00000000
Connection Serial Number: 0x6A00
Vendor ID: Hilscher GmbH (0x011b)
Originator Serial Number: 0x0000517D
Connection Timeout Multiplier: *32 (3)
Reserved Data
O->T RPI: 100ms (0x000186A0)
O->T Network Connection Parameters: 0x4806
0... .... .... .... = Owner: Exclusive (0)
.10. .... .... .... = Connection Type: Point to Point (2)
.... 10.. .... .... = Priority: Scheduled (2)
.... ..0. .... .... = Connection Size Type: Fixed (0)
.... ...0 0000 0110 = Connection Size: 6
T->O RPI: 100ms (0x000186A0)
T->O Network Connection Parameters: 0x2803
0... .... .... .... = Owner: Exclusive (0)
.01. .... .... .... = Connection Type: Multicast (1)
.... 10.. .... .... = Priority: Scheduled (2)
.... ..0. .... .... = Connection Size Type: Fixed (0)
.... ...0 0000 0011 = Connection Size: 3
Transport Type/Trigger: 0x01
0... .... = Direction: Client (0)
.000 .... = Trigger: Cyclic (0)
.... 0001 = Class: 1 (1)
Connection Path Size: 9 (words)
Connection Path: [Key], Assembly Object, Instance: 0x01, Connection Point: 0x64, Connection Point: 0x65
Electronic Key Segment (0x34): VendorID: 0x0000, DevTyp: 0x0000, 0.0
Key Format: 0x04
Vendor ID: Unknown (0x0000)
Device Type: Generic Device (0)
Product Code: 0x0000
Compatibility Bit Cleared, Major Revision: 0
0... .... = Compatibility: Bit Cleared (0x00)
.000 0000 = Major Revision: 0
Minor Revision: 0
8-Bit Logical Class Segment (0x20)
Class: Assembly Object (0x04)
8-Bit Logical Instance Segment (0x24)
Instance: 0x01
8-Bit Logical Connection Point Segment (0x2C)
Connection Point: 0x64
8-Bit Logical Connection Point Segment (0x2C)
Connection Point: 0x65

No. Time Source Destination Protocol Info
2 0.016339 192.168.1.123 192.168.1.126 CIP Connection failure

Frame 2 (100 bytes on wire, 100 bytes captured)
Arrival Time: Oct 13, 2009 11:43:54.725133000
[Time delta from previous captured frame: 0.016339000 seconds]
[Time delta from previous displayed frame: 0.016339000 seconds]
[Time since reference or first frame: 0.016339000 seconds]
Frame Number: 2
Frame Length: 100 bytes
Capture Length: 100 bytes
[Frame is marked: True]
[Protocols in frame: eth:ip:tcp:enip:cip]
[Coloring Rule Name: TCP]
[Coloring Rule String: tcp]
Ethernet II, Src: IxxatAut_02:40:8a (00:05:94:02:40:8a), Dst: Hilscher_20:ca:cf (00:02:a2:20:ca:cf)
Destination: Hilscher_20:ca:cf (00:02:a2:20:ca:cf)
Address: Hilscher_20:ca:cf (00:02:a2:20:ca:cf)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Source: IxxatAut_02:40:8a (00:05:94:02:40:8a)
Address: IxxatAut_02:40:8a (00:05:94:02:40:8a)
.... ...0 .... .... .... .... = IG bit: Individual address (unicast)
.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
Type: IP (0x0800)
Internet Protocol, Src: 192.168.1.123 (192.168.1.123), Dst: 192.168.1.126 (192.168.1.126)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 86
Identification: 0xce2f (52783)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 64
Protocol: TCP (0x06)
Header checksum: 0x2829 [correct]
[Good: True]
[Bad : False]
Source: 192.168.1.123 (192.168.1.123)
Destination: 192.168.1.126 (192.168.1.126)
Transmission Control Protocol, Src Port: EtherNet/IP-2 (44818), Dst Port: dbsa-lm (1407), Seq: 1, Ack: 101, Len: 46
Source port: EtherNet/IP-2 (44818)
Destination port: dbsa-lm (1407)
[Stream index: 0]
Sequence number: 1 (relative sequence number)
[Next sequence number: 47 (relative sequence number)]
Acknowledgement number: 101 (relative ack number)
Header length: 20 bytes
Flags: 0x18 (PSH, ACK)
0... .... = Congestion Window Reduced (CWR): Not set
.0.. .... = ECN-Echo: Not set
..0. .... = Urgent: Not set
...1 .... = Acknowledgement: Set
.... 1... = Push: Set
.... .0.. = Reset: Not set
.... ..0. = Syn: Not set
.... ...0 = Fin: Not set
Window size: 8192
Checksum: 0xc4e1 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
[SEQ/ACK analysis]
[This is an ACK to the segment in frame: 1]
[The RTT to ACK the segment was: 0.016339000 seconds]
[Number of bytes in flight: 46]
[PDU Size: 46]
EtherNet/IP (Industrial Protocol), Session: 0x0071DCA2, Send RR Data
Encapsulation Header
Command: Send RR Data (0x006f)
Length: 22
Session Handle: 0x0071dca2
Status: Success (0x00000000)
Sender Context: E4A00C806B000000
Options: 0x00000000
Command Specific Data
Interface Handle: CIP (0x00000000)
Timeout: 1024
Item Count: 2
Type ID: Null Address Item (0x0000)
Length: 0
Type ID: Unconnected Data Item (0x00b2)
Length: 6
Common Industrial Protocol
Service: Forward Open (Response)
1... .... = Request/Response: Response (0x01)
.101 0100 = Service: Forward Open (0x54)
Status: Connection failure, Extended: 0x0315
General Status: Connection failure (0x01)
Additional Status Size: 1 (word)
Additional Status: Invalid Segment Type or Segment Value in Path (0x0315)

Hope that somebody can help me.

Andreas Jacob

Andreas Jacob

Hilscher Gesellschaft fuer Systemautomation mbH

| 20.10.2009 | 14:54

Hi,

the trace looks ok for me.
The only thing I am concerned about is, that the I/O lengths in both messages are different. Into O -> T direction you should have a RUN/Idle header and 0 byte of use data's. In T -> O direction you should set modeless and 1 byte.

The other thing is that the slave sent the error code 0x315. This error stands for an invalid segment in the path. But this I can not confirm with this trace. Please ask the manufacturer of the slave, when this error is sent.

Login