1.7.2.8. Defining connectors¶
In this section, below a <device>, a connector for the device can be specified. See Connectors for general information on connectors.
See in the following a description on the following cases:
Slave with 1 connector
Master with 2 connectors
Multiple parent connectors
Slave with 1 connector¶
Slaves with no module typically have only one connector. In the device description there is only one connector with role “child”.
Example (EtherCAT):
<Connector connectorId="1" explicit="false" hostpath="-1" interface="Common.Ethercat" moduleType="65" role="child">
InterfaceName name="local:EtherCAT">EtherCAT</InterfaceName>
Slot allowEmpty="false" count="1" />
</Connector>
For such devices the connector is a slot with allowEmpty false and a count of 1.
The connectorId is 1 as it has only one connector. The hostpath for a child is not important but is included for completeness. The moduleType 65 defines a EtherCAT slave. All numbers below 32768 are maintained by 3S-Smart Software Solutions GmbH. The interface “Common.Ethercat” must match with the parent connector of the master. The part “Common” is used by 3S-Smart Software Solutions GmbH. Customers use their own unique identification here.
Master with 2 connectors¶
A master device description typically has 2 connectors. One of them is a child connector for the PLC and the other is designated for the slave devices.
Example (EtherCAT master):
<Connector connectorId="1" explicit="false" hostpath="-1" interface="Common.PCI" moduleType="257" role="child">
<InterfaceName name="local:PCI_Interface">PCI-Bus</InterfaceName>
<Slot allowEmpty="false" count="1" />
</Connector>
<Connector connectorId="2" explicit="false" hostpath="1" interface="Common.Ethercat" moduleType="64" role="parent">
<InterfaceName name="local:EtherCAT_Interface">EtherCAT</InterfaceName>
<Var max="125"/>
</Connector>
Here the child connector with connectorId 1 is for slaves. It has a slot type with count 1 and allowEmpty set to false.
The second connector is a parent connector with connectorId 2 as it is the second one. Hostpath is 1 because the connectorId of the child connector is 1. This controls the link between parent and child connectors.
The Var type allows 125 devices to be added to the master.
Multiple parent connectors¶
Example (Sercos 3 slave with modules):
First there is a connector to the master:
<Connector connectorId="0" explicit="false" hostpath="-1" interface="Common.SercosIIIMaster" moduleType="71" role="child">
InterfaceName name="local:SERCOSIII">SERCOS III</InterfaceName>
Slot allowEmpty="false" count="1" />
</Connector>
A fixed module, defined in the same device description, will automatically be inserted below the slave when the slave gets added to the configuration:
<Connector connectorId="1" explicit="false" hostpath="0" interface="Common.SercosIIISlave" moduleType="74" role="parent">
<InterfaceName name="local:SercosIIIModule_23003886">SERCOS III Module</InterfaceName>
<Fixed>
<Module>
<LocalModuleId>23003886</LocalModuleId>
</Module>
</Fixed>
</Connector>
A second parent connector is used for the modules:
<Connector connectorId="2" explicit="false" hostpath="0" interface="Common.SercosIIISlave" moduleType="74" role="parent">
<InterfaceName name="local:SercosIIIModule">SERCOS III Module</InterfaceName>
<Var max="255" />
</Connector>
The connectorId for the child is 0 and therefore the hostpath for both parent connectors also is 0.
XML Tag |
Description |
|---|---|
moduleType |
Connector type |
interface |
Interface type; defines under which interface type this device can be added (role=”child”) |
role |
Specifies the purpose of the interface type |
explicit |
Specifies, whether the connector should appear as a separate object in the device tree (i.e. the connector is visible to the user as an object). |
Alwaysmapping |
If this attribute is set to “true”, all in- and output variables will be updated automatically in each task cycle regardless if they are used or not. |
hideInStatusPage |
If set to true (default false and optional) then no status information will be shown for this connector in the device editor. |
updateAllowed |
If FALSE, the device cannot be updated in the projects device tree (only to be used for child connectors!). |
Note
The IO-configuration is explained in a separate capital I/O Configuration.
For complete documentation on the particular device description elements see the xsd schema provided by device_description_schema.

