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 PLCnext Control device. 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 filename | Component type name | Service description |
---|---|---|
IdentificationData.so | IdentificationData::IdentificationDataComponent | Device ID data |
FanControl.so | FanControl::FanControlComponent | Fan control operations |
Fpga.so | Fpga::FpgaComponent | FPGA information |
OsControl.so | OsControl::OsControlComponent | Operating system operations |
RealTimeClock.so | RealTimeClock::RealTimeClockComponent | Real time clock operations |
ResourceMonitor.so | ResourceMonitor::ResourceMonitorComponent | CPU, memory and partition monitoring |
DeviceHmi.so | DeviceHmi::DeviceHmiComponent | Device LEDs, buttons and switches |
Sensors.so | Sensors::SensorsComponent | Device temperature, humidity and power monitoring |
Nim.so | Nim::NimComponent Nim::NetloadLimiterComponent | Ethernet information, IP configuration and IP status Network load limiter (public) |
ExternalSDCard.so | ExternalSDCard::ExternalSDCardComponent | Information on the external SD card license, status and settings |
ExternalPci.so | ExternalPci::ExternalPciComponent | External 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 filename | Component type name | Service description |
---|---|---|
HmiLed.so | HmiLed::HmiLedComponent | LED management (internal) |
Interface.so | Interface::DiComponent | Device 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 filename | Component type name | Function | Condition |
---|---|---|---|
Axioline.so | Axioline::AxiolineComponent | Axioline master1 | ARP_COMPONENT_AXIOLINE |
Interbus.so | Interbus::InterbusComponent | Interbus master1 | ARP_COMPONENT_INTERBUS |
EthernetIP.so | EthernetIP::EthernetIPComponent | Ethernet/IP device1 | ARP_COMPONENT_ETHERNETIP |
ProfinetStack.so | ProfinetStack::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 filename | Component type name | Function |
---|---|---|
Commons.Services.so | Commons::Services::Component | File system info (public) Directory service (public) File service (public) Device ID validator (public) Trust store management (internal) Identity store management (internal) |
Security.Services.so | Security::Services::Component | System security |
Watchdog.so | Watchdog::SystemWatchdogComponent | System watchdog configuration and monitoring |
RscGateway.so | RscGateway::RscGatewayComponent | Remote service call gateway |
Um.so | Um::UmComponent | User manager |
PLC Components
These components implement features you would expect to find on PLCs.
Library filename prefix: libArp.Plc.
Component namespace: Arp::Plc
Library filename | Component type name | Function |
---|---|---|
Domain.so | Domain::PlcDomainProxyComponent Domain::PlcManagerComponent Domain::PlcDomainComponent | Related to I/O ? ? |
Meta.so | Meta::MetaDomainComponent Meta::MetaComponent Meta::MetaControllerComponent | GDS traverser (public) GDS browser (internal) |
Eclr.so | Eclr::EclrComponent Eclr::EclrServicesComponent Eclr::ArpDomainComponent | Embedded Common Language Runtime |
Plm.so | Plm::PlmComponent | Manages real-time C++ programs |
Esm.so | Esm::EsmComponent Esm::EsmControllerComponent | Execution and Synchronisation Manager |
Gds.so | Gds::GdsComponent | Manages the global data space |
Retain.so | Retain::RetainComponent | Manages retentive variables |
Fbm.so | Fbm::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 filename | Component type name | Function |
---|---|---|
Alarms.so | Alarms::AlarmsComponent | Alarm dispatcher |
Fwm.so | Fwm::FwmComponent | Firewall manager |
Wbm.so | Wbm::WbmComponent | Web-based management |
Ehmi.so | Ehmi::EhmiComponent | Embedded HMI |
OpcUAServer.so | OpcUAServer::OpcUAServerComponent | OPC UA server |
NotificationLogger.so | NotificationLogger::NotificationLoggerComponent | Notification logger |
TraceController.so | TraceController::TraceControllerComponent | LTTng trace controller |
NmUtilities.so | NmUtilities::NmPlcStateListener::NmPlcStateListenerComponent | Notification manager |
DataLogger.so | DataLogger::DataLoggerComponent | Data logger |
AppManager.so | AppManager::AppManagerComponent | PLCnext Store app management |
Fwu.so | Fwu::FwuComponent | Firmware update |
LinuxSyslog.so | LinuxSyslog::LinuxSyslogComponent | syslog-ng interface |
ProfiCloudV3.so | ProfiCloudV3::ProfiCloudV3Component | Proficloud |
Wcm.so | Wcm::WcmComponent | Web configuration management |
Logging.so | Logging::LoggingComponent Logging::LogManagerComponent Logging::LogProviderComponent | General event logger |
SpnsProxy.so | SpnsProxy::SpnsProxyComponent | Safety controller (SPNS) communications |