CIsco Router IR1101 or models compatible for app hosting
The Cisco IR1101 connector enables deployment of FrameworX EdgeConnect solutions on Cisco industrial routers using the IOx App Hosting framework. The runtime executes as a Docker container with persistent storage, providing:
Component | Requirement |
---|---|
Router | Cisco IR1101 with IOx App Hosting enabled |
Docker Image | cisco-edge-gateway-[version]_Full.tar |
Processor | ARM64 or x86 (match router architecture) |
Container Resources | CPU: 1000, Memory: 800MB, Disk: 300MB |
Network | Static IP for container, VirtualPortGroup configured |
Designer | Windows installation for remote configuration |
MQTT Broker | SparkplugB compatible (optional: Built-in Broker) |
The container includes the complete FrameworX runtime. Solutions are stored separately in persistent memory:
Container (Docker Image):
??? /Programs/ - FrameworX runtime executables
??? /app/ - Runtime environment
Persistent Storage:
??? /iox_data/appdata/FrameworX/Solutions/ - Solution files
Configure VirtualPortGroup for App Hosting (if not already configured):
bash
# SSH to router
configure terminal
interface VirtualPortGroup0
ip address 192.168.1.1 255.255.255.0
no shutdown
exit
https://[router-ip]:8443
cisco-edge-gateway-[version]_Full.tar
EdgeConnect
Click Activate with these parameters:
Parameter | Value |
---|---|
CPU | 1000 |
Memory | 800 MB |
Disk | 300 MB |
bash
# From Windows machine
ping [container-ip] # Should respond
ping [gateway-ip] # Should respond
# If only gateway responds, router may need restart
http://[container-ip]:10108
.dbsln
solution fileConfigure through Devices → Channels in Designer:
Parameter | Value | Description |
---|---|---|
Name | MQTTSpB_Publisher | Channel identifier |
Protocol | MQTT SparkplugB | Select from dropdown |
Broker | [broker-address] | MQTT server |
Port | 1883 | Standard MQTT port |
Client ID | CiscoEdge01 | Unique per router |
Parameter | Description | Example |
---|---|---|
Group ID | Top-level group | Plant01 |
Node ID | Edge node identifier | CiscoRouter01 |
Device ID | Device within node | PLC1 |
→ See [MQTT SparkplugB Publisher Connector] for detailed configuration
Create shortcuts with parameters:
batch
# Property Watch
"[FrameworX Path]\PropertyWatch.exe" /ip1:[container-ip] /port1:10108
# Trace Window
"[FrameworX Path]\TraceWindow.exe" /ip1:[container-ip] /port1:10108
# Module Information
"[FrameworX Path]\ModuleInformation.exe" /ip1:[container-ip] /port1:10108
Using IOx Client:
bash
ioxclient application logs EdgeConnect
ioxclient application status EdgeConnect
ioxclient application stats EdgeConnect
Version | Features | Date |
---|---|---|
v514 | Added exception logging | June 2025 |
v509 | Minor exception fix | June 2025 |
v502 | SolutionCreator improvements, Designer performance | June 2025 |
v463 | AutoStart, ForceCommandValue | April 2025 |
v314 | WILL message, ControlLogix performance | September 2024 |
Router needs VirtualPortGroup configuration. See Step 1 above or Cisco IOx documentation.
Use Data Explorer → PLC Finder to verify tag addresses exist in PLC.
Check @TagProvider.[ProviderName].IsConnected
in Property Watch. If blinking, verify Client ID is unique.
Now for the Tutorial:
Cisco IR1101 Container (Tutorial) teaches you to:
Prerequisites:
In this page: [TOC - maxLevel:2, minLevel:2]
Container Deployment → Tutorial | [Concept] | [How-to Guide] | [Reference]
FrameworX can run in Docker containers for edge deployments:
https://[router-ip]:8443
If not configured, see [Cisco IR1101 Connector (Reference)] for VirtualPortGroup setup.
cisco-edge-gateway-[version]_Full.tar
EdgeConnect
http://[container-ip]:10108
.dbsln
fileStep-by-step guide to deploy FrameworX as a Docker container on Cisco IR1101 routers using IOx App Hosting for edge computing applications.
The application consists of a docker image that contains a ProjectServer application, which is a server that allows the Solution Designer on Windows to connect to it and deploy the necessary files to run any solution in Linux (or Cisco in this scenario).
By having the full platform capabilities running inside your Cisco Router, you will have access to many communication protocols (e.g., MQTTspB, ControlLogix, Modbus, etc.) as well as scripting (to make calculations based on the data being exchanged through your devices).
Despite being deployed in a docker container, known to have volatile memory (that is not retained), this application makes use of a retentive memory area inside the router to store the installation and Solution Files.
The first step is to make sure you have downloaded the *.tar file with support to your Router's processor. Then, choose one of the following ways to install the application.
Cisco Local Manager is a platform-specific application that is installed on a host system as part of the installation of the Cisco IOx framework on that device. It provides a web-based user interface that you can use to manage, administer, monitor, and troubleshoot apps on the host system, and to perform various related activities.
For more information about it, please refer to the Cisco official documentation. To install and deploy your application, follow the procedure below.
Below you will find some definitions for terms frequently used when dealing with applications in Cisco Environment:
For this procedure, you must have IOx Client installed on your environment.
The official installation guide and documentation for IOx Client is available here.
ioxclient profiles create // here you will connect to the Router // values inside brackets will be used by default if empty Your / your organization's name : <OrganizationName> Your / your organization's URL : <OrganizationUrl> Your IOx platform's IP address[127.0.0.1] : <RouterIPAddress> Your IOx platform's port number[8443] : <RouterPortNumber> Authorized user name[root] : <UserName> Password for <UserName> : <PasswordForUser> Local repository path on IOx platform[/software/downloads]: <Repository> URL Scheme (http/https) [https]: <TransferProtocol> API Prefix[/iox/api/v2/hosting/]: <ApiPreffix> Your IOx platform's SSH Port[2222]: <SshPortForRouter> |
ioxclient application install <AppName> <PackageName>.tar ioxclient application activate --payload activation.json <AppName> ioxclient application start <AppName> |
Where AppName is a friendly name used to identify the application inside the Router.
ioxclient application stop <AppName> ioxclient application deactivate <AppName> ioxclient application uninstall <AppName> <PackageName>.tar |
Use the following command to see the application status
ioxclient application status <AppName> |
If you encounter this error, it means that your router is missing a network configuration for applications. To solve it, follow the procedure described at Configure a VirtualPortGroup to a Layer 3 Data Port section.
Connect to your Router via SSH (either via terminal or in Cisco Local Manager) and do as follows.
In this section: