Pular para o conteúdo principal

AB6674 Ethernet/IP Forward Open Connection Failure

Comentários

20 comentários

  • Deryck Beliveau

    Hi @pdesai,

    What exactly are you looking to accomplish? What is the explicit message that you are sending what data are you trying to read? Are you trying to access an object directly on the host?

    If you are looking to read and write process data you might just be looking to read the produce/consume instances.

    image
    image727Ã548 52.4 KB


    You should be able to use the get attribute single (0x0E) and Set Attribute Single (0x10) services to read and write these attributes
    Service: 0x0E/0x10
    Class obj. 0x04
    instance 0x64/0x96
    attribute 1

     

     

    0
  • pdesai

    Hi @deryck_hms,

    As per my understanding, Explicit messaging communicates using TCP/IP, which has greater overhead but is a more secure method of message delivery. Explicit messaging can be performed in two ways: Connected and Unconnected. This capability allows dynamic changes to the message request (the function, the type of data, the size of data, etc:) where Implicit does not. This should be considered for more non-time critical communications like configuration and setting parameters.

    Implicit messaging communicates using UDP, which is a faster transport protocol, but there are no built-in verification methods. Implicit messaging is performed as a "Connected" message only, so each end is pre-configured and knows implicitly what to expect without all of the additional packet baggage. To change the data being requested with the Implicit method requires a costly teardown of the connection and a re-connection. But once the Implicit messaging is up and running, it is faster because it sends data bi-directionally and has less overhead versus Explicit Messaging.

     
    deryck_hms:

    You should be able to use the get attribute single (0x0E) and Set Attribute Single (0x10) services to read and write these attributes
    Service: 0x0E/0x10
    Class obj. 0x04
    instance 0x64/0x96
    attribute 1

    I am able to request/respond Explicit message using the Get/Set Attribute Single (0x0E/0x10) Service See attached Wireshark screenshots.

     

    2021-01-25 13_42_11-AB6674 Ethernet_IP Forward Open Connection Failure - Anybus Support _ Embedded -
    2021-01-25 13_42_11-AB6674 Ethernet_IP Forward Open Connection Failure

     

    2021-01-25 13_38_38-AB6674 Ethernet_IP Forward Open Connection Failure - Anybus Support _ Embedded -
    2021-01-25 13_38_38-AB6674 Ethernet_IP Forward Open Connection Failure

    The problem I am having is while making an Implicit Message request, which ends up being a connection failure as highlighted in the original post.

     

     

     

     

    0
  • pdesai

    Also, another point to note is that Anybus Statemachine State stays in WAIT_PROCESS while I send/receive the Explicit Message to Assembly Object 0x04, Instance 0x64/0x96. Class 1 Implicit message connection will make it transition to PROCESS_ACTIVE.

    0
  • Deryck Beliveau

    I think you issue is with the service you are using.

    What class and instance are you connecting to? What Master/software are you using to setup the connection?

    Deryck

    0
  • pdesai

    I am using EtherNet/IP Explorer to setup the connection.
    I am connecting to Assembly Class (0x04), Instance - Producing (0x64), Attribute #3

    0
  • Deryck Beliveau

    Hi @pdesai,

    Thanks i gave that software a try was able to recreate the same error when I was only making a connection to the configuration object. I then configured it as I would expect it to work using instances 100 and 150. This got me a little further but I was seeing a connection failure with the O->T connection was not valid. This looks like it might be a limitation of the software. I would like to see the connection with a fixed size in the software but I could not find a way to set this.

    image
     

    Deryck

     

     

    0
  • pdesai

    Hi @deryck_hms, thanks for giving this a shot on your end. I am getting the same error when I try to send an Implicit Message using this software.

    Do you happen to know of any open-source EtherNet/IP scanner software for windows/linux that can help us in debugging this issue?

     

     

    0
  • Deryck Beliveau

    The only other one similar software I can think of is the Molex EIP tool but it looks like it doent support implicit messages. I typically recommend EIPscan when working with our Compactcoms.

    Deryck

    0
  • pdesai

    Hi /u/deryck_hms

    I gave the following tool a shot and got some interesting results:

     

    2021-01-28 15_32_05-Hilscher EtherNet_IP Tool
    2021-01-28 15_32_05-Hilscher EtherNet_IP Tool

    When I try to send a connected Class 3 request to Message Router Object I get the connection failure message as follows:
    Status: Connection failure, Extended: Transport class not supported

    Attached Wireshark capture:
    https://forum.hms-networks.com/uploads/short-url/7Yg9qqmO9RzP4yvnIjqrWgJWYxv.pcapng

    I am just trying to figure out here I am missing any configuration on my end for the host application.

     

     

     

     

     

     

    0
  • Deryck Beliveau

    Hi @pdesai,

    What assemblies is this configured for? I don't see them in the screen shot. I also don't see any CIP messages in the capture.

    Deryck

     

     

    0
  • pdesai

    Hi @deryck_hms, sorry for the incorrect capture and for getting back to you so late. I re-attached the log, which shows two requests:

    1. Connecting to Message Router (0x02), Instance (0x01) and Assembly (0x04), Instance (0x64), Attribute (0x03)
    2. Connecting just to Message Router (0x02), Instance (0x01)

    connection_failure_log.pcapng (1.1 KB)

     

     

    0
  • Deryck Beliveau

    Hi, It took me me a bit to find time to look into this more but I was able to get a connection. Here are a few screen shots of the setup.
    image

    I should mention I am not sure why I don't see received data and still need to look into this.

    Deryck

    0
  • pdesai

    Hi @deryck_hms, thanks for getting back on this one. I was also able to establish the Forward Open connection successfully over the last week. My connection path had an error where I was using Attribut ID instead of Connection Point. However, I am still struggling to figure out few of the requirements of assembly object, i.e. using Heartbeat Instances.

    • Assembly (0x04), Instance (03) - Heartbeat, Input-Only
      I believe this instance allows clients (PLCs) to monitor input data without providing output data.

    • Assembly (0x04), Instance (04) - Heartbeat, Listen-Only
      Allows output data without providing input data

    Should the connection path for those instances differ from how the prod/consuming instances are setup? I am error where it says "Inconsistent Application Path Combination" I have tried changing the IO size to what worked before with no success.

     

    2021-02-17 17_08_34-PathBuilder (experimental)
    2021-02-17 17_08_34-PathBuilder (experimental)969Ã1114 53.1 KB

     

     

    0
  • Deryck Beliveau

    My issue for receive data ended up being the firewall. once I allowed the app in the firewall it was able to see the T>O received data.

    0
  • pdesai

    For Connection to Producing/Consuming Instances I was able to get the received data and verify the data sent over the network

    Still have issues with the Heartbeat Instances!

    0
  • Deryck Beliveau

    I am not too familiar with the heartbeat instances and don't see them used often. What is your use case with them?
    The description for the instances indicates they would be used to monitor another listen only connection.
    "This instance is used as heartbeat for listen-only connections. The data size of the Heartbeat instance in the Forward_Open-request should be 0 bytes, however other values are also permitted."
    I am not sure they can be used by themselves. I believe a they require a primary Scanner to setup a connection that the secondary then a second scanner will setup a listen only.

    Deryck

    0
  • pdesai

    I am just trying to follow the recommendation for Adapter class devices provided by ODVA.

    Based on this note, the device should be able to handle one-way data. Attached the full pdf below from ODVA.

    PUB00070_Recommended-Functionality-for-EIP-Devices-v10.pdf (409.6 KB)

    0
  • Deryck Beliveau

    Hello @pdesai,

    We were able to use the heartbeats but another connection is required. Here is a note from the EIP spec.

    image
    image715Ã237 46 KB

     

    image
    image1926Ã727 83.2 KB


    In this example I had EIP scanner make the first connection the the ABCC then setup the Hilscher tool to make a second connection.

    Deryck

     

     

    0
  • pdesai

    Thanks, @deryck_hms for guiding me through this one. I opened two instances of the Hilscher tool and was able to open a Listen Only connection to Anybus CompactCom.

    It's unfortunate that HMS doesn't provide a free development/troubleshooting tool with anybus modules and one needs to buy EIP scanner. Nevertheless, I am good for now with this Hilscher tool.

    Thanks again for all your help!

     

     

    0
  • Deryck Beliveau

    Nice glad to see it working.
    The Hilscher scanner is a nice find, I had used the molex tool before but that only offers explicit connections.

    Deryck

    0

Por favor, entrar para comentar.