Uploaded image for project: 'EtherNet/IP Firmware V3 Product'
  1. EtherNet/IP Firmware V3 Product
  2. PRODEISV3-18

Implement toggling the PD_IN handshake coupled to the received assembly frame

    Details

    • Type: User Story
    • Status: Closed
    • Priority: Minor
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: V3.4.0.0
    • Component/s: None
    • Labels:
      None
    • Account:
      SPC EthernetIp Slave (SPCETHERNE)

      Description

      With this new mode the netX firmware informs the host about a received data frame by delaying the toggling of the PD_IN handshake until the output assemly (data from master) is received. The handshake is toggled on reception of each valid frame no matter whether or not the data inside that frame has changed.

      If the host has still access to the PD Input area while the new assemly frame is received, the firmware buffers the data and will copy it to the DPM as soon as the netX gets access to the PD Input area. If a second and further assembly frame is received, only the recent data is buffered, previously received data will get lost.

      The netX firmware toggles the PD_IN handshake with each received assembly. For some applications that are using multiple assemblies this would also lead to more interrupt load on the host side.

      The configuration of the handshake mode will be made using the command RCX_SET_HANDSHAKE_CONFIG_REQ (0x2F34). The firmware will support the following values:

      • bPDOutHskMode = host controlled (RCX_IO_MODE_BUFF_HST_CTRL - 0x0004)
        bPDOutSource  = none            (RCX_SYNC_SOURCE_OFF       - 0x0000)
      • bPDInHskMode  = host controlled (RCX_IO_MODE_BUFF_HST_CTRL - 0x0004)((warning) device controlled mode will be not supported)
        bPDInSource   = RCX_SYNC_SOURCE_OFF (0x0000)  --> mode that is currently supported by the firmware
                        or
                        RCX_SYNC_SOURCE_1 (0x01)      --> this is the new mode "RX data received" that is described above
      • bSyncHskMode  = RCX_SYNC_SOURCE_OFF (0x0000)  --> if CIPsync is NOT used
                        or
                        RCX_SYNC_MODE_DEV_CTRL (0x01) --> if CIPsync is used
        bSyncSource   = RCX_SYNC_SOURCE_OFF (0x00)    --> if CIPsync is NOT used
                        or
                        RCX_SYNC_SOURCE_1 (0x01)      --> if CIP Sync is used

      The firmware can provide an additional cycle counter (sequence counter of EtherNet/IP IO frame) for the received data in the DPM input area. The host application can evaluate this to detect which data (if multiple assemblies are used) was actualized and if some cycle was missed. The configuration whether or not the counter shall be provided in DPM will be made by the configuration flags of the assembly parameter (EIP_OBEJCT_AS_REGISTER_REQ packet). This new assembly flag is to be defined.

        Attachments

          Issue Links

            Expenses

              Activity

                Status Description

                  People

                  • Reporter:
                    YZavgorodniy Yuriy Zavgorodniy
                  • Votes:
                    0 Vote for this issue
                    Watchers:
                    1 Start watching this issue

                    Dates

                    • Due:
                      Created:
                      Updated:
                      Resolved: