User Define

The following table contains user define operation related settings.

Name

Description

Valid Values

Default

UserDef

Define the network information.

0: Off 1: On

0

HaltOnNetworkDiff

When the network information is different from the one defined by the user, communication cannot be started.

0: Off 1: On

0

[Slave x]

The info of slave x.

x: 0-255

Vendorid

Specify the Vendor Id (of the slave).

4 bytes Hex

N/A

ProductCode

Specify the Product Code (of the slave).

4 bytes Hex

N/A

Alias

Specify the Alias (of the slave).

4 bytes Hex

N/A

Revision

Specify the Revision No. (of the slave).

4 bytes Hex

N/A

Serial

Specify the Serial No. (of the slave).

4 bytes Hex

N/A

Axis or Axis0

Specify the axis index of the first axis (of the slave).

0-127

N/A

Axis1

Specify the axis index of the second axis (of the slave).

0-127

N/A

Axis2

Specify the axis index of the third axis (of the slave).

0-127

N/A

Specify the axis index of the n-th axis (of the slave).

0-127

N/A

Axis15

Specify the axis index of the fifteenth axis (of the slave).

0-127

N/A

InAddr

Specify the IO input address (of the slave).

0-7999

N/A

InSize

Specify the IO input size (of the slave).

InAddr + InSize <=8000

N/A

OutAddr

Specify the IO output address (of the slave).

0-7999

N/A

OutSize

Specify the IO output size (of the slave).

OutAddr + OutSize <=8000

N/A

EniFile

Specify the full path of the ENI file (of the slave).

Null-terminated string that specifies the full path name of the ENI file. No more than 255 characters.

N/A

PuprocDelay

Specify the PU process time (of the slave).

Unit: ns

N/A

ForwardDelay

Specify the forward delay (of the slave).

Unit: ns

N/A

UserDef:

Allows the user to specify the network composition. The specified slave definitions are used only when UserDef is set to 1.

Use section [Slave x] to specify a slave definition. In this section, vendor id, product code, alias and other attributes in the table can be specified for this slave.

The master will scan the network when starting communication and compare it with the user defined network composition. Only if all specified attributes (Vendorid, ProductCode, Alias, Revision and Serial) match the actual slave information (attributes that are not specified will not be compared), the slave is considered as matched.

The operation for starting communication varies depending on the setting of HaltOnNetworkDiff.

If HaltOnNetworkDiff is set to 0, communication is started even if the network composition does not match the user defined composition. However, a new offline slave with the user defined attributes (Vendor Id, etc.) is added at each position with a mismatched user defined slave. The mismatched warning message is printed out to RTXServerConsole if MessageLevel is set to Warning level or higher.

If HaltOnNetworkDiff is set to 1, start communication will fail if the actual information of any slave does not match the attributes specified by the user for the slave at that position, or if the number of slaves in the network does not match the number of user defined slaves.

The following are examples when HaltOnNetworkDiff is set to 1 and 0, respectively.

Assume that the master connects to two slaves whose actual information are:

First slave:

Vendorid = 0x00009555
ProductCode = 0x00000002
Alias = 0x00000000
Revision = 0x00000004
Serial = 0x06122012

Second slave:

Vendorid = 0x00009555
ProductCode = 0x00000002
Alias = 0x00000001
Revision = 0x00000000
Serial = 0x20110111

In ec_network.def , UserDef is set to 1 and slave 0 and 1 are defined as follows:


UserDef = 1
[Slave 0]
Vendorid = 0x00009555
ProductCode = 0x00000002
Alias = 0x00000000
Revision = 0x00000004
Serial = 0x06122012

[Slave 1]
Vendorid = 0x00009555
ProductCode = 0x00000002
Alias = 0x00000001
Revision = 0x00000100
Serial = 0x20110111

The only difference between the user defined information and the actual information is that [Slave 1] defines revision 0x00000100 but the actual revision of the slave is 0x00000000.

In this case, if HaltOnNetworkDiff is set to 1, start communication will fail since the master cannot match all user defined slave information with actual information from the slaves. RTXServerConsole will print out error messages to indicate which items of which slaves do not match.

../_images/WMX3_PLATFORM_FUNC_EC_DEF_UD_image0.png../_images/WMX3_PLATFORM_FUNC_EC_DEF_UD_image1.png

If HaltOnNetworkDiff is set to 0, start communication will succeed even though the second slave does not match the defined information. The master will insert an inaccessible slave in offline state into the defined position.

The unmatched slave will be recognized as a new slave outside the definition. In other words, even though there are only two slaves in the network, the master sees three slaves (two defined slaves and a new slave), with the defined [Slave 1] being inaccessible (offline).

If MessageLevel is set to warning level or higher, RTXServerConsole will print out a warning message to indicate which items of which slaves do not match.

../_images/WMX3_PLATFORM_FUNC_EC_DEF_UD_image2.png../_images/WMX3_PLATFORM_FUNC_EC_DEF_UD_image3.png

Although HaltOnNetworkDiff = 0 allows the master to start communication without matching all user defined slaves to actual slaves, the user defined slaves that are actually connected must be connected in the same order as the user definition. For example, if the first slave matches the user definition of [Slave 1] and the second slave matches the user definition of [Slave 0], start communication will fail. In other words, defined slaves may not exist in the network, but all matched slaves must be in the connection order that they are defined.

RTXServerConsole will print out an error message to indicate the reason why start communication failed.

../_images/WMX3_PLATFORM_FUNC_EC_DEF_UD_image4.png../_images/WMX3_PLATFORM_FUNC_EC_DEF_UD_image5.png

HaltOnNetworkDiff:

When the actual network information is different from the user defined network information, communication cannot be started.

Example:
   HaltOnNetworkDiff = 1