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.


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.


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.


HaltOnNetworkDiff:
When the actual network information is different from the user defined network information, communication cannot be started.
Example:
HaltOnNetworkDiff = 1