Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

acd

Purpose

This example shows the acd (Address Conflict Detection) implementation for Ethernet/IP.

Configuration

The IP 192.168.1.12 is set by default

The acd for Ethernet/IP configuration is following:

Define

Value

Description

EIP_ACD_PROBE_WAIT

200ms

initial random delay

EIP_ACD_PROBE_NUM

4

number of probe packets

EIP_ACD_PROBE_MIN

200ms

minimum delay until repeated probe

EIP_ACD_PROBE_MAX

200ms

maximum delay until repeated probe

EIP_ACD_ANNOUNCE_WAIT

200ms

delay before announcing

EIP_ACD_ANNOUNCE_NUM

2

number of Announcement packets

EIP_ACD_ANNOUNCE_INTERVAL

2000ms

time between Announcement packets

EIP_ACD_DEFEND_INTERVAL

2000ms

minimum interval between defensive ARPs

EIP_ACD_EIP_ARP_PARSING

GOAL_TRUE

extended parsing of ARP frames for EIP mode

EIP_ACD_KEEP_ANNOUNCED_IP

GOAL_FALSE

do not release an IP address on conflict if it has been successfully announced

Usage Hints

This example shows how to use acd.

Whether ACD is activated can be checked via the TCP / IP Interface Object - Instance Attributes 10 (SelectAcd). This should be on by default. For reasons of compatibility, the acd config variable must also be set in addition to the SelectAcd attribute.

goal_eipCfgAcdOn(GOAL_TRUE);

During / after the probe process of the IP address, goal_ipProbedCbis called and it is reported whether the probe process was successful (GOAL_ACD_CB_IP_PROBED) or not (GOAL_ACD_CB_IP_CONFLICT).

If a conflict occurs, information is given at which phase (GOAL_ACD_PROBE_IPV4_ADDRESS, GOAL_ACD_ONGOING_DETECTION, GOAL_ACD_SEMI_ACTIVE_PROBE) in the probe process the conflict occurred.

The IP address is only ready for use after the probe process has been successful.

If a conflict was detected, the conflict packet can be read out via TCP / IP Interface Object - Instance Attributes 11 (LastConflictDetected) after a reboot. A reboot is necessary because the device gives up its IP address in the event of a conflict.

 

cfg_demo

Purpose

This example shows how to use the configuration management.

Configuration

-

Usage Hints

This application changes the value of the CM-Var APPL_CM_VAR_UINT32 and reads it out.

chase_lights

Purpose

This is a simple LED chase lights application, which uses alternating ascending or descending LED order.

Configuration

Define

Value

Description

GOAL_LEDS_NUM

8

number of LEDs

GOAL_LED_BLINK_TIME_MS

25

LED blinks every 25ms

Usage Hints

-

cli

Purpose

This application basically initializes the Command Line interface (CLI).

Configuration

The IP 192.168.0.100 is set by default

Usage Hints

see Chapter: Command line interface (CLI)

cli_udp

Purpose

This application tests the reception of cli commands via UDP packets.

Configuration

The IP 192.168.0.100 is set by default

Usage Hints

see Chapter: Command line interface (CLI)

dd

Purpose

This application demonstrates the integration of device detection.

Configuration

-

Usage Hints

see Chapter: Device Detection (DD)

dhcp

Purpose

This application demonstrates the reception of IP, netmask and gateway via DHCP.

Configuration

-

Usage Hints

-

dlr

Purpose

This module implements a basic application that tests the DLR stack without an EtherNet/IP stack. This sample sets up a ring Node that periodically prints its status. You can include this ring node into a DLR ring. However you can not use the CIP services to access this device.

Configuration

-

Usage Hints

-

dm

Purpose

This module provides an example on usage of the data mapper.

Configuration

-

Usage Hints

-

eth_stats

Purpose

This application polls all Ethernet statistics and shows changed statistics every second.

Configuration

-

Usage Hints

-

https

Purpose

This application runs a simple HTTPS server that hosts a demo HTML page. It can be accessed via web browser by browsing https:// followed by the IP address of the device. Additional it is possible not to use TLS, only by browsing the IP address. In this case another demo html page is shown.

Configuration

-

Usage Hints

-

iface_info

Purpose

This application polls the Ethernet interfaces for changes in link state, duplex and speed. If a change is detected, it waits the APPL_ETH_CHANGE_DELAY delay and checks again to avoid flicker.

Configuration

-

Usage Hints

-

igmp_snoop

Purpose

This example application basically initializes the board with GOAL running IGMP (Internet Group Management Protocol) snooping.

Configuration

-

Usage Hints

-

inst

Purpose

This module provides a simple application of goal instance handling.

Configuration

Define

Value

Description

APPL_ID

0xffff

instances type id

Usage Hints

see Chapter: Generic GOAL instances

linked_list

Purpose

This module provides a simple application of linked lists.

Configuration

-

Usage Hints

Make sure the initial list pointer is set to NULL before using it with the GOAL_LL_* API.

mailbox_ac

Purpose

This module demonstrate the handling of GOAL its mailbox MA.

Configuration

Define

Value

Description

APPL_TX_TIME

1 ms

cycle time for sending messages

APPL_LOG_TIME

5 s

cycle time for logging stats

APPL_FIRST_ID

0

start message

Usage Hints

-

mailbox_cc

Purpose

This module demonstrate the handling of GOAL its mailbox MA.

Configuration

Define

Value

Description

APPL_TX_TIME

1 ms

cycle time for sending messages

APPL_LOG_TIME

5 s

cycle time for logging stats

APPL_FIRST_ID

0

start message

Usage Hints

-

mctc_ac

Purpose

This module provides a simple micro core to core application using GOAL. This application is used for AC and CC. The application handles cyclic data for the MCTC communication. They contain a local time stamp and an incremental transmission counter, which are transfer to the peer core. Meanwhile, the other core do the same.

Configuration

Define

Value

Description

APPL_LOOP_TIMEOUT

1 s

application timeout

APPL_STATUS_TIMEOUT

5000 ms

application timeout of status log

Usage Hints

The content of received data is compared to the content of the next cyclic data, for determining the delay of communication.

see Micro Core to Core - User Manual

mctc_ac

Purpose

This module provides a simple micro core to core application using GOAL. This application is used for AC and CC. The application handles cyclic data for the MCTC communication. They contain a local time stamp and an incremental transmission counter, which are transfer to the peer core. Meanwhile, the other core do the same.

Configuration

Define

Value

Description

APPL_LOOP_TIMEOUT

1 s

application timeout

APPL_STATUS_TIMEOUT

5000 ms

application timeout of status log

Usage Hints

The content of received data is compared to the content of the next cyclic data, for determining the delay of communication.

see Micro Core to Core - User Manual

mem_buf

Purpose

This module shows how to use the GOAL memory buffers (allocate, copy, verify and free).

Configuration

-

Usage Hints

-

  • No labels