Component Instances

When the PLCnext runtime starts, the following happens:

  1. One or more processes are started.
  2. The libraries containing PLCnext component definitions are loaded into the specified process(es).
  3. Component instances are created in the specified processes.

The configuration information in this section appears in the following files:

  • /etc/plcnext/device/Libraries.acf.config
  • /etc/plcnext/device/MainProcess.acf.config
  • /etc/plcnext/device/ExternalIoProcess.acf.config
  • /etc/plcnext/device/AXCF2152.acf.config

Runtime Processes

Most component instance are created in the main PLCnext runtime process, which is called MainProcess. In the AXC F 2152, one additional process is created, in which I/O component instances related to Axioline, Ethernet/IP and Interbus are created.

Process nameLocal TCP port
MainProcess41121
ExternalIoProcess41123
LocalIoProcess141124

1 Only on AXC devices.

Since multiple Interbus and Profinet hardware interfaces are possible on an AXC F 2152 device, these additional processes allow the corresponding I/O networks to be dynamically assigned to the the correct hardware interface.

Component Libraries

The following table show the alias given to each component library by the PLCnext runtime.

Libraries can be loaded conditionally, based on the value of a boolean environment variable. If no condition is specified, the library is always loaded.

Filename
(libArp.*.so)
Alias
(Arp.*.Library)
Condition
System.System.
UmUm
RscGatewayRscGateway
Commons.ServicesCommons.Services
Security.ServicesSecurity.Services
FwuFwu
WatchdogSystemWatchdogARP_COMPONENT_SYSTEM_WATCHDOG
SysWatchdogSysWatchdog
Hardware.Hardware.
NimNim
IdentificationDataIdentificationData
FanControlFanControl
FpgaFpga
OsControlOsControl
RealTimeClockRealTimeClock
ResourceMonitorResourceMonitor
DeviceHmiDeviceHmi
SensorsSensors
ExternalSDCardExternalSDCard
ExternalPciExternalPciARP_COMPONENT_EXTERNAL_PCI
Device.Device.
HmiLedHmiLed
InterfaceInterface
Plc.Plc.
EclrEclr
PlmPlm
EsmEsm
GdsGds
DomainDomain
MetaMeta
FbmFbm
RetainRetainARP_COMPONENT_RETAIN
Services.Services.
FwmFwm
WbmWbm
EhmiEhmi
OpcUAServerOpcUAServer
AlarmsAlarms
ProfiCloudProfiCloudARP_COMPONENT_PROFICLOUD
ProfiCloudV3ProfiCloudV3ARP_COMPONENT_PROFICLOUD_V3
NotificationLoggerNotificationLogger
TraceControllerTraceController
NmUtilitiesNmUtilities
DataLoggerDataLogger
AppManagerAppManagerARP_COMPONENT_APPMANAGER
LinuxSyslogLinuxSyslogARP_COMPONENT_LINUXSYSLOG
WcmWcm
LoggingLogging
SpnsProxySpnsProxy
Io.Io.
ProfinetStackPnARP_COMPONENT_PROFINET
or ARP_COMPONENT_PNC
or ARP_COMPONENT_PND
Axioline.so1AxlARP_COMPONENT_AXIOLINE
Interbus.so1IbMARP_COMPONENT_INTERBUS
EthernetIP.so1EthernetIPARP_COMPONENT_ETHERNETIP

1 Only available on AXC devices.

Component Instances

Each component created by the PLCnext runtime:

  • Is created in a specific process. If no process is specified, the component is created in the main PLCnext Runtime process ("MainProcess").
  • Can optionally be passed settings information. In the table below, all settings information represent files relative to the directory /etc/plcnext/device.
  • Can be created conditionally, based on the value of a boolean environment variable. If no condition is specified, the component instance is always created.
Instance name
(Arp.*)
Type
(Arp::*)
ProcessSettings information
(/etc/plcnext/device/*
Condition
System.System::System/
Commons.ServicesCommons::Services::Component
Security.ServicesSecurity::Services::Component
Watchdog.MainProcessWatchdog::SystemWatchdogComponentWatchdog/Watchdog.settingsARP_COMPONENT_SYSTEM_WATCHDOG
RscGatewayRscGateway::RscGatewayComponentRscGateway/RscGateway.settings
UmUm::UmComponentUm/Um.settings
FwuFwu::FwuComponent
WcmWcm::WcmComponentWcm/Wcm.settingsARP_COMPONENT_WCM
Hardware.Hardware::Hardware/
IdentificationDataIdentificationData::IdentificationDataComponentIdentificationData/IdentificationData.settings
FanControlFanControl::FanControlComponentFanControl/FanControl.settings
FpgaFpga::FpgaComponentFpga/Fpga.settings
OsControlOsControl::OsControlComponentOsControl/OsControl.settings
RealTimeClockRealTimeClock::RealTimeClockComponentRealTimeClock/RealTimeClock.settings
ResourceMonitorResourceMonitor::ResourceMonitorComponentResourceMonitor/ResourceMonitor.settings
DeviceHmiDeviceHmi::DeviceHmiComponentDeviceHmi/DeviceHmi.settings
SensorsSensors::SensorsComponentSensors/Sensors.settings
NimNim::NimComponentNim/Nim.settings
NetloadLimiterNim::NetloadLimiterComponentNim/NetloadLimiter.settingsARP_COMPONENT_NETLOAD_LIMITER
ExternalSDCardExternalSDCard::ExternalSDCardComponentExternalSDCard/ExternalSDCard.settings
ExternalPciExternalPci::ExternalPciComponentExternalPci/ExternalPci.settingsARP_COMPONENT_EXTERNAL_PCI
Device.Device::Device/
HmiLedHmiLed::HmiLedComponent
InterfaceInterface::DiComponentInterface/Di.settings
Plc.Plc::Plc/
ManagerDomain::PlcManagerComponent
DomainDomain::PlcDomainComponentDomain/PlcDomain.settings
MetaDomainMeta::MetaDomainComponent
MetaMeta::MetaComponentMeta/Meta.settings
MetaControllerMeta::MetaControllerComponent
EclrEclr::EclrComponentEclr/Eclr.settingsARP_COMPONENT_ECLR
EclrServicesEclr::EclrServicesComponentARP_COMPONENT_ECLR
Eclr.ArpDomainEclr::ArpDomainComponentARP_COMPONENT_ECLR
PlmPlm::PlmComponentPlm/Plm.settings
EsmEsm::EsmComponentEsm/Esm.settings
EsmControllerEsm::EsmControllerComponent
GdsGds::GdsComponentGds/Gds.settings
RetainRetain::RetainComponentRetain/Retain.settingsARP_COMPONENT_RETAIN
FbmFbm::FbmComponentFbm/Fbm.settings
DomainProxy.ExternalIoProcessDomain::PlcDomainProxyComponentExternalIoProcess
DomainProxy.LocalIoProcess1Domain::PlcDomainProxyComponentLocalIoProcess
Io.Plc::Plc/
FbIo.PnCFbm::FbIoComponentFbIo.PnC/FbIo.settingsARP_COMPONENT_PROFINET
or ARP_COMPONENT_PNC
FbIo.PnDFbm::FbIoComponentFbIo.PnD/FbIo.settingsARP_COMPONENT_PROFINET
or ARP_COMPONENT_PND
FbIo.AxlC1Fbm::FbIoComponentFbIo.AxlC/FbIo.settings
FbIo.IbM1Fbm::FbIoComponentFbIo.IbM/FbIo.settings
FbIo.EthernetIP1Fbm::FbIoComponentFbIo.EthernetIP/FbIo.settingsARP_COMPONENT_ETHERNETIP
Io.Io::Io/
PnSProfinetStack::System::SystemComponentExternalIoProcessPnS/PnS.settingsARP_COMPONENT_PROFINET
or ARP_COMPONENT_PNC
or ARP_COMPONENT_PND
PnCProfinetStack::Controller::ControllerComponentExternalIoProcessPnC/PnC.settingsARP_COMPONENT_PNC
PnDProfinetStack::Device::DeviceComponentExternalIoProcessPnD/PnD.settingsARP_COMPONENT_PND
AxlC1Axioline::AxiolineComponentAxlC/AxlC.settingsARP_COMPONENT_AXIOLINE
IbM1Interbus::InterbusComponentLocalIoProcessIbM/IbM.settingsARP_COMPONENT_INTERBUS
EthernetIP1EthernetIP::EthernetIPComponentExternalIoProcessEthernetIP/EthernetIP.settingsARP_COMPONENT_ETHERNETIP
Services.Services::Services/
AlarmsAlarms::AlarmsComponent
FwmFwm::FwmComponentFwm/Fwm.settingsARP_COMPONENT_FWM
WbmWbm::WbmComponentWbm/Wbm.settingsARP_COMPONENT_WBM
EhmiEhmi::EhmiComponentEhmi/ehmi.settingsARP_COMPONENT_EHMI
OpcUAServerOpcUAServer::OpcUAServerComponentOpcUA/opcua.settingsARP_COMPONENT_OPC_UA
ProfiCloudProfiCloud::ProfiCloudComponentProfiCloud/Proficloud.settingsARP_COMPONENT_PROFICLOUD
ProfiCloudV3ProfiCloudV3::ProfiCloudV3ComponentProfiCloudV3/ProfiCloudV3.settingsARP_COMPONENT_PROFICLOUD_V3
NotificationLoggerNotificationLogger::NotificationLoggerComponentNotificationLogger/NotificationLogger.settings
TraceControllerTraceController::TraceControllerComponentTraceController/TraceController.settingsARP_COMPONENT_TRACECONTROLLER
NmUtilities.NmPlcStateListenerNmUtilities::NmPlcStateListener::NmPlcStateListenerComponent
DataLoggerDataLogger::DataLoggerComponentDataLogger/dataLogger.settingsARP_COMPONENT_DATALOGGER
AppManagerAppManager::AppManagerComponentAppManager/AppManager.settingsARP_COMPONENT_APPMANAGER
LinuxSyslogLinuxSyslog::LinuxSyslogComponentLinuxSyslog/LinuxSyslog.settingsARP_COMPONENT_LINUXSYSLOG
LoggingLogging::LoggingComponentARP_COMPONENT_LOGGING
LogManagerLogging::LogManagerComponentARP_COMPONENT_LOGMANAGER
LogProviderLogging::LogProviderComponentARP_COMPONENT_LOGMANAGER
SpnsProxySpnsProxy::SpnsProxyComponentSpnsProxy/spnsproxy.settingsARP_COMPONENT_SPNSPROXY

1 Only on AXC devices.