PLCnext Runtime Components

Factory-installed software components that make up the PLCnext runtime include:

  • Hardware components
  • I/O and Fieldbus components
  • System components
  • PLC components
  • Service components

An overview of these component categories is given in the PLCnext Technology Info Center. The categories are somewhat arbitrary, but during startup all the components in one category are generally started before any components in the next category, and vice-versa during shutdown.

Components are defined in C++ shared object libraries, which are located in the /usr/lib directory on the PLC. The tables below list these shared object libraries, the components they define, and links to more information on the function that each component implements.

Hardware Components

These components provide access to device hardware. They typically wrap Linux device drivers, making these devices available to other PLCnext runtime components via internal RSC services.

  • Library filename prefix: libArp.Hardware.
  • Component namespace: Arp::Hardware
Library filenameComponent type nameService description
IdentificationData.soIdentificationData::IdentificationDataComponentDevice ID data
FanControl.soFanControl::FanControlComponentFan control operations
Fpga.soFpga::FpgaComponentFPGA information
OsControl.soOsControl::OsControlComponentOperating system operations
RealTimeClock.soRealTimeClock::RealTimeClockComponentReal time clock operations
ResourceMonitor.soResourceMonitor::ResourceMonitorComponentCPU, memory and partition monitoring
DeviceHmi.soDeviceHmi::DeviceHmiComponentDevice LEDs, buttons and switches
Sensors.soSensors::SensorsComponentDevice temperature, humidity and power monitoring
Nim.soNim::NimComponent
Nim::NetloadLimiterComponent
Ethernet information, IP configuration and IP status
Network load limiter (public)]
ExternalSDCard.soExternalSDCard::ExternalSDCardComponentInformation on the external SD card license, status and settings
ExternalPci.soExternalPci::ExternalPciComponentExternal PCI state information

Device Components

These components provide device-specific abstractions for some low-level hardware services.

  • Library filename prefix: libArp.Device.
  • Component namespace: Arp::Device
Library filenameComponent type nameService description
HmiLed.soHmiLed::HmiLedComponentLED management (internal)
Interface.soInterface::DiComponentDevice control (public)
Device information (public)
Device settings (public)
Device status (public)

I/O Components

These components provide access to physical I/O modules through a variety of standard industrial networks.

  • Library filename prefix: libArp.Io.
  • Component namespace: Arp::Io
Library filenameComponent type nameFunctionCondition
Axioline.soAxioline::AxiolineComponentAxioline master1ARP_COMPONENT_AXIOLINE
Interbus.soInterbus::InterbusComponentInterbus master1ARP_COMPONENT_INTERBUS
EthernetIP.soEthernetIP::EthernetIPComponentEthernet/IP device1ARP_COMPONENT_ETHERNETIP
ProfinetStack.soProfinetStack::System::SystemComponent
ProfinetStack::Controller::ControllerComponent
ProfinetStack::Device::DeviceComponent
Profinet system
Profinet controller
Profinet device
ARP_COMPONENT_PROFINET or ARP_COMPONENT_PNC or ARP_COMPONENT_PND

1 Only available on AXC devices.

System Components

These components implement low-level PLCnext runtime features. They may provide an API, but are not generally designed to be configurable by end users.

  • Library filename prefix: libArp.System.
  • Component namespace: Arp::System
Library filenameComponent type nameFunction
Commons.Services.soCommons::Services::ComponentFile system info (public)
Directory service (public)
File service (public)
Device ID validator (public)
Trust store management (internal)
Identity store management (internal)
Security.Services.soSecurity::Services::ComponentSystem security
Watchdog.soWatchdog::SystemWatchdogComponentSystem watchdog configuration and monitoring
RscGateway.soRscGateway::RscGatewayComponentRemote service call gateway
Um.soUm::UmComponentUser manager

PLC Components

These components implement features you would expect to find on PLCs.

Library filename prefix: libArp.Plc. Component namespace: Arp::Plc

Library filenameComponent type nameFunction
Domain.soDomain::PlcDomainProxyComponent
Domain::PlcManagerComponent
Domain::PlcDomainComponent
Related to I/O
?
?
Meta.soMeta::MetaDomainComponent
Meta::MetaComponent
Meta::MetaControllerComponent
GDS traverser (public)
GDS browser (internal)
Eclr.soEclr::EclrComponent
Eclr::EclrServicesComponent
Eclr::ArpDomainComponent
Embedded Common Language Runtime
Plm.soPlm::PlmComponentManages real-time C++ programs
Esm.soEsm::EsmComponent
Esm::EsmControllerComponent
Execution and Synchronisation Manager
Gds.soGds::GdsComponentManages the global data space
Retain.soRetain::RetainComponentManages retentive variables
Fbm.soFbm::FbmComponent
Fbm::FbIoComponent
Fieldbus manager

Service Components

These components generally provide high-level, non real time features that are easily configurable by end users.

Library filename prefix: libArp.Services. Component namespace: Arp::Services

Library filenameComponent type nameFunction
Alarms.soAlarms::AlarmsComponentAlarm dispatcher
Fwm.soFwm::FwmComponentFirewall manager
Wbm.soWbm::WbmComponentWeb-based management
Ehmi.soEhmi::EhmiComponentEmbedded HMI
OpcUAServer.soOpcUAServer::OpcUAServerComponentOPC UA server
ProfiCloud.soProfiCloud::ProfiCloudComponentProficloud TSD publisher (deprecated)
NotificationLogger.soNotificationLogger::NotificationLoggerComponentNotification logger
TraceController.soTraceController::TraceControllerComponentLTTng trace controller
NmUtilities.soNmUtilities::NmPlcStateListener::NmPlcStateListenerComponentNotification manager
DataLogger.soDataLogger::DataLoggerComponentData logger
AppManager.soAppManager::AppManagerComponentPLCnext Store app management
Fwu.soFwu::FwuComponentFirmware update
LinuxSyslog.soLinuxSyslog::LinuxSyslogComponentsyslog-ng interface
ProfiCloudV3.soProfiCloudV3::ProfiCloudV3ComponentProficloud
Wcm.soWcm::WcmComponentWeb configuration management
Logging.soLogging::LoggingComponent
Logging::LogManagerComponent
Logging::LogProviderComponent
General event logger
SpnsProxy.soSpnsProxy::SpnsProxyComponentSafety controller (SPNS) communications