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.