10/31/2023

HowTo view content from multiple web servers in one web page (reverse proxy)

History

31 Oct 2023  Extend caddy config file for usage of WebIQ Designer PC license
15 Sept 2023 Update caddy config file for easy usage with WebIQ
13 Feb 2023 Disable link to ctrlX  CORE web page in tiger iframe
08 Feb 2023 Initial release

Prerequisites

  • WebIQ Designer version 2.13 or higher (project is created with 2.13)
  • IDE-V-0112 or higher (used in WebIQ demo project)
  • Basic knowledge of WebIQ Designer
  • Basic JavaScript and JSON know how
  • Basic knowldge ctrlX REST API
  • Installation of package Axios see (WebIQ-Communicate-with-ctrlX-Rest-API)

Introduction

Viewing data from different sources, is severely limited by the web browser due to the many security risks. Keywords here are e.g. cross side scripting, certificate handling and mixing of http and https protocols. These are common browser restriction, which are identical for all web pages, nothing special for ctrlX CORE and WebIQ.

If you want to integrate the IDE app of the ctrlX CORE into a WebIQ project, this does not work, because the data are retrieved from different web servers.

The solution for this problem is to use a reverse proxy server. A reverse proxy server collects data from multiple web servers into a single URL. Therefore for the browser the data seems to come from a single source. This means the security restriction are not used anymore.

Setup with multiple web servers

Many application on ctrlX CORE are using the build in reverse proxy server, but WebIQ right now not.
Security restrictions are active. Mixed protocols http and https.

WebIQ without reverse proxy server

Setup with multiple web servers and a reverse proxy.

No security restrictions are active. WebIQ http protocol is converted to https by the reverse proxy server.

Helpful links

Workaround for WebIQ runtime

The ctrlX CORE has a reverse proxy server built in. However, this can only be used if the application on ctrlX CORE (e.g. WebIQ) has configured the use of this.

Since WebIQ V2.14 the reverse proxy is used, by the URL https://<ctrlx-IP>/webiq/<project-name>. (e.g., https://192.168.1.1/webiq/myproject). While only the WebIQ runtime, but not the Designer, can use the reverse proxy, you should use caddy installed on PC for developement.

The reverse proxy "caddy" build in ctrlX is available for many different operating systems, so you might can install it on your HMI device and also on the Engineering PC.

WebIQ with reverse proxy server on ctrlX

The workaround is

  • working for running WebIQ projects
  • not working for WebIQ Designer and Runtime Manager

The revers proxy server caddy is running in ctrlX CORE. We will use it on the PC for this workaround, too.

Install and start caddy

You can start caddy manually or automatically. To start caddy automatically, it must be set up as a Windows service. The Windows service starts caddy automatically when you turn on your PC.

  • Download caddy from: caddyserver.com into C:\caddy (or a directory you prefer)
    • platform Windows amd64 (no extra feature necessary)
  • Rename downloaded file to caddy.exe
  • Download attachment (see end of article) cfg-caddy.zip into C:\caddy
  • Unzip cfg-caddy.zip into C:\caddy (contains Caddyfilecaddy-run.bat, caddy-manual.bat and caddy-service.bat)
  • Change all occurrences of 192.168.1.1 to IP address of your ctrlX CORE in file Caddyfile

Start caddy manually

  • Double click caddy-run.bat to start the reverse proxy server
  • Alternatively you can use caddy-manual.bat which the 4 options shown below:

    Screen shoot of caddy-manual.bat

Start caddy automatically

  • Double click C:\caddy\caddy-service.bat mange caddy as service (admin rights are requested)
  • You can add, delete and restart the caddy service

Screen shoot of caddy-service.bat

Edit configuration file Caddyfile

There are 2 section in the config file.

  • # ctrlX CORE (192.168.1.1) for WebIQ v2.13 or lower
  • # ctrlX CORE (192.168.1.1) for browser preview

Comment lines starts with #. When your ctrlX CORE has a different IP address than 192.168.1.1 change all occurrences of the IP to your IP address.  (see comments ToDo: Adapt IP ...) For more information on the configuration see home page of caddy.

Hint: When caddy is not working anymore (after 3-4 hours) you need to restart it, than it is working again.

{
	auto_https disable_redirects
}

# Using WebIQ Designer ctrlX license
# ctrlX CORE (192.168.1.1) show published project
127.0.0.1:8081, localhost:8081 {
	# redirect to webIQ server with port fowarding
	handle_path /webiq/cx/* {
		# use https://localhost:8081/webiq/<project_folder>/
		# "/" MUST be entered at end of URL
		# ToDo: Adapt IP 192.168.1.1 to your IP address 
		reverse_proxy http://192.168.1.1:10123
	}

	route * {
		reverse_proxy {
			# ToDo: Adapt IP to your IP address 
			to https://192.168.1.1:443
			transport http {
				tls
				tls_insecure_skip_verify
			}
		}
	}
}

# Using WebIQ Designer ctrlX license
# ctrlX CORE (192.168.1.1) show workspace project by browser preview
127.0.0.1:8082, localhost:8082 {
	# redirect to webIQ server with port fowarding
	handle_path /webiq/cx/* {
		# use https://localhost:8081/webiq/<project-name>
		# "/" MUST be entered at end of URL
		# ToDo: Adapt port if you changed the default port 10124 
		reverse_proxy http://localhost:10124
	}

	route * {
		reverse_proxy {
			# change URL to your ctrlX
			# ToDo: Adapt IP 192.168.1.1 to your IP address    
			to https://192.168.1.1:443
			transport http {
				tls
				tls_insecure_skip_verify
			}
		}
	}
}

# Using WebIQ Designer Pc license
# ctrlX CORE (virtual) show workspace project by browser preview
127.0.0.1:8080, localhost:8080 {
	handle_path /webiq/pc/* {
		# use https://localhost:8080/webiq/pc
		# "/" MUST be entered at end of URL
		# ToDo: Adapt port if you changed the default port 10124 
				reverse_proxy {
			to http://localhost:10130
		}
	}

	route * {
		reverse_proxy {
			# ToDo: Adapt IP to your IP address 
			to https://127.0.0.1:8443
			transport http {
				tls
				tls_insecure_skip_verify
			}
		}
	}
}

Display WebIQ browser preview (Port 8080) (Designer license from PC)

  • Start ctrlX CORE virtual
  • Start caddy
  • WebIQ Designer>Preferences>Designer Settings: Change port form 10123 to 10130
  • Press button Apply
  • Load project RevProxy into WebIQ Designer
  • Create a favorite in your web browser with: https://localhost:8080/webiq/cx/
  • Hint: Be sure that the URL ends with “/”, otherwise it is not working

Display WebIQ browser preview (Port 8082) (Designer license from ctrlX)

  • Start caddy
  • WebIQ Designer>Preferences>Designer Settings: Change port form 10123 to 10124
  • Press button Apply
  • Load project RevProxy into WebIQ Designer
  • Create a favorite in your web browser with: https://localhost:8082/webiq/cx/
  • Hint: Be sure that the URL ends with “/”, otherwise it is not working

Display published project (Port 8081) WebIQ 2.13 or older 

(Designer license from ctrlX)

  • Start caddy
  • Start project with WebIQ Runtime Manger
  • Create a favorite in your web browser with: https://localhost:8081/webiq/cx/
  • Hint: Be sure that the URL ends with “/”, otherwise it is not working

     

Display ctrlX web page

Like the WebIQ project, you can use the reverse proxy URL (https://localhost:8081) to display the ctrlX CORE web page, too.

WebIQ example project

Download attachment demo-reverseProxy-*.zip and start caddy. You can:

  • To display WebIQ browser preview (Port 8082)
    • You must open the project in your WebIQ Designer
  • to display published project (Port 8081)
    • Upload project to the ctrlX CORE 
    • Start project with WebIQ Runtime Manger

The WebIQ project reads host and port from its own URL (via JS document.location.host) and uses this to create the URL string for the tiger. Therefore nothing has to be adjusted if the IP address of the ctrlX CORE changes. Only username and password have to be entered at runtime to enable login into tiger.

The example projects is very basic. It does the following:

  • Get authentication token using axios library via ctrlX REST API
  • Sets the source attribute of an iframe to display tiger app.

To implement the example in your project, you must install axios package. (WebIQ-Communicate-with-ctrlX-Rest-API)

Screen shoot of demo WebIQ program

1
demo-reverseProxy-V1-1.zip
2.76MB
cfg-caddy.zip
2.53KB

Latest published/updated articles

  • Template for Consumer Goods - Form, Fill and Seal

    The Form Fill & Seal Machine (FSS) Application Template for ctrlX AUTOMATION starts with a basic template for vertical FSS (VFFS). It includes a PLC, based on PackML state machine, and a HMI project as well as configuration data, 3D-viewer model and WebIQ project. It is created for the usage in form, fill and seal machines. It will be provided in two different formats: Ready-made virtual control (easy to use also for non-technical people 😊) Several project files PLC archive (including all necessary libraries) HMI Core app-data Available Versions Versions 0.0.0.8 - PreRelease It is based on the ctrlX CORE release version 2.6.2 (RM24.03.2). Features and Prerequisits see below Features Support of a basic VFFS Machine (1x Master Axis, 2x Belt Axis, 1x Vertical Axis, 1x Jaw-Axis) PLC Project based on PackML machine states and PackTags MotionInterface used for axis command/status. Web-IQ Application with basic screens for Machine Mode Handling. Prepared Job Handling (Format Change, ...) - only prepared HMI screens yet! More is coming soon. Diagnostics (error log, ....) 3D Viewer visualizing the complete FSS machine movements. Machine Modes Production – to start/stop machine, run with changeable machine command speed. Manual – to jog machine (jog all axis synchronized). Maintenance – jog single axis. Prerequisites For using ready-made virtual control HOST PC ctrlX WORKS 2.6.3 For using ctrlX CORE Hardware HOST PC ctrlX WORKS 2.6.3 crlX PLC Engineering 2.6.4 ctrlX IO Engineering V2.6.3 ctrlX DRIVE Engineering V1.28.3 ctrlX CAM Designer V2.6.3 (optional) Smart HMI - WebIQ Designer 2.15.7 (optional) License see below at WebIQ Server Runtime App ctrlX CORE Ethercat App (2.6.3) with license ctrlX OS License - EtherCAT Master Basic R911400508 - SWL-XC*-ECM-ETHERCATMAS**-BANN Motion App (2.6.4) with license ctrlX OS License - Motion Standard 10 Axes R911414460 - SWL-XC*-MOT-STDMOTION**10-NNNN ctrlX OS License - Motion Electronical Gear(add-on) R911417992 - SWL-XC*-MOT-ELECGEAR*****-NNNN ctrlX OS License - Motion CAM (add-on) R911417993 - SWL-XC*-MOT-CAM*********-NNNN ctrlX OS License - Motion Flexprofile (add-on) R911417994 - SWL-XC*-MOT-FLEXPROFILE**-NNNN PLC App (2.6.3) with license ctrlX CORE License - PLC Basic (02VRS - single core, single task and 256 byte IO data) R911421866 - SWL-XC*-PLC-PLC*XOS******-BANN ctrlX CORE License - PLC Standard (02VRS - single core, multiple tasks and 1 kByte IO data) R911421867 - SWL-XC*-PLC-PLC*XOS******-NNNN OPC UA Server App (2.6.2) with license ctrlX OS License - OPC UA Server Standard R911397816 - SWL-XC*-UAS-OPCUASERVER**-NNNN 3D Viewer App (2.6.0) with license ctrlX OS License - 3D Viewer R911413191 - SWL-XC*-3DV-3DVIEWER*****-NNNN WebIQ Server Runtime App (2.15.7) with license ctrlX CORE License - Smart HMI - WebIQ Server 500 Tags (~ 490 Tags used, will be optimized) R911410793 - SWL-W-XC*-WIQ**RUD*500***-NNNN Unpacking For installation / usage information please take a look into the . VFFS template download VFFS Application Template Register here for pre-release download Notes These templates are made for the system version 2.6.2 (RM24.03.2) and the corresponding apps. Beware of moving mechanics when using automated motion commanding. The 3D Viewer is in standard always showing the demo model, please check the documentation for how to set the corresponding path to another one. Related links Setting up a ctrlX COREvirtual ctrlX Store ctrlX AUTOMATION - Motion ctrlX AUTOMATION - OPC UA Server ctrlX AUTOMATION - PLC Smart HMI - WebIQ Server ctrlX AUTOMATION - 3D Viewer ctrlX AUTOMATION - EtherCAT Master ctrlX WORKS Smart HMI - WebIQ Designer ctrlX AUTOMATION online documentation Collection of how to videos, blogs and examples for ctrlX AUTOMATION FAQ Licensing with ctrlX AUTOMATION Microsite Solutions Consumer Goods Solution Sets for Consumer Goods - Form, Fill and Seal
  • Collection of how to videos, blogs and examples for ctrlX AUTOMATION

    Overview This is a collection list of the different how to videos, blogs and examples available in the ctrlX AUTOMATION community. If you see a need for a special topic that is not available yet please add a comment below. Basics Let's get started video series [playlist] #1 How to install ctrlX WORKS & Apps [VIDEO] #2 crtlX CORE X3 unboxing and first connect [VIDEO] #3 First contact ctrlX WORKS [VIDEO] #4 ctrlX I/O-Engineering, Digital IOs [VIDEO] #5 Round up and further information and links [VIDEO] #6 First contact ctrlX Data Layer [VIDEO] #7 Get, install and license Apps [VIDEO] #8 PLC Application – Useful hints for beginners [VIDEO] Getting started with ctrlX AUTOMATION [DOCU] - [VIDEO] Quick start guide for ctrlX CORE [DOCU] - [VIDEO] Registering and finding help [VIDEO] Release cycle of apps and engineering software [DOCU] Install ctrlX WORKS [VIDEO] Set up a ctrlX COREvirtual [DOCU] - [VIDEO1], [VIDEO2] Installing Apps [VIDEO] ctrlX Data Layer [VIDEO] Using the REST API of ctrlX CORE [DOCU] - [VIDEO] How to subscribe to nodes of the ctrlX Data Layer using REST commands via CURL [DOCU] How to set up Data Layer watchlists and integrate them into ctrlX PLC [DOCU] - [VIDEO] Set up a ctrlX CORE Motion & PLC Programming [DOCU] - [VIDEO1], [VIDEO2] Update and setup ctrlX CORE with a microSD-card [DOCU] Reset and commissioning a ctrlX CORE [DOCU] Partition a disk as GPT & Restore ctrlX CORE X7 [DOCU] How to make an HTTPS connection with ctrlX OS Web Server [DOCU] How to generate a system report and switch on additional traces [DOCU] Licensing Quick Start Guide Licensing Center [DOCU] Get an App License [DOCU] Activate an App License [DOCU] Upload a license via REST-client to your ctrlX CORE [DOCU] Trial Licenses - Try Out Our Apps [DOCU] Service Tickets Licensing with ctrlX AUTOMATION [DOCU] ctrlX Configurator Login to ctrlX Configurator [DOCU] Use ctrlX Configurator [VIDEO] Motor dimensioning with operating points [DOCU] EPLAN Generator first steps and operation [DOCU] Using keyboard shortcuts and URL syntax [DOCU] Copy projects [DOCU] How to use interface to Rexroth Store [DOCU] How to configure connections [DOCU] How to change user settings [DOCU] Quick Start Guide for ctrlX I/O [DOCU] How to configure ctrlX I/O [DOCU] Hint on using iOS and macOS devices [DOCU] New product configuration status [DOCU] Display of prices [DOCU] Solution sets: For Cartesian handling applications [DOCU] For Additive Manufacturing [DOCU] For Beam Cutting applications [DOCU] For Milling Manufacturing [DOCU] For Controls Only applications [DOCU] For Assembly applications [DOCU] For Building Automation applications [DOCU] For Dispensing applications [DOCU] For IoT [DOCU] For E-Commerce - Packaging-on-demand Machines [DOCU] Fieldbus/IO Use digital IOs at ctrlX DRIVE [DOCU] SICK Function Block Factory for Data Parsing [DOCU] ModbusTCP: Setup tcp communication step by step and use the data in the PLC [DOCU] Various methods to use ModbusRTU (RS485) with ctrlX CORE [DOCU] CODESYS fieldbus add-on installation guide for ctrlX AUTOMATION [DOCU] EtherCat: 3rd party EtherCAT slave interoperability list [DOCU] Import EtherCAT IO realtime data offline into ctrlX PLC Engineering [DOCU] Configure adjustable S20 IO periphery at a S20-EC-BK using PDI-Write [DOCU] Port Forwarding with a Sick safety PLC via Ethercat EOE [DOCU] Set up WAGO I/O System 750 and connect it to ctrlX CORE using EtherCAT [DOCU] Set up WAGO I/O System Field and connect it to ctrlX CORE using EtherCAT [DOCU] Set up and connect Turck TBEC RFID and IOL modules with ctrlX CORE using EtherCAT [DOCU] ctrlX CORE with S20 IO-Link Master [DOCU] Setup ifm IO-Link Master and IO-Link Sensor and connect it to ctrlX CORE using EtherCAT [DOCU] Interfacing ctrlX CORE with IO-Link master via EtherCAT [VIDEO] Use AoE with IO-LINK devices to Read Write Parameters [DOCU] Interfacing ctrlX CORE with ctrlX I/O via EtherCAT [VIDEO] Set up a Balluff BNI IO-Link Master with ctrlX CORE using EtherCAT [DOCU] Set up a Balluff BIS RFID Controller with ctrlX CORE using EtherCAT [DOCU] Set up a Balluff BTL Linear Position Sensor with ctrlX CORE using EtherCAT [DOCU] Smart Function Kit using a ctrlX CORE connected through EtherCAT [DOCU] Get Ethercat diagnosis from ctrlX CORE into PLC [DOCU] How to connect ctrlX CORE to Synapticon Drives [DOCU] Setup a SMC JXCE Controller with EtherCAT [DOCU] Setup a SMC EX260 valve manifold controller [DOCU] Connecting maxon MiniMACS to ctrlX CORE [DOCU] PROFINET: ctrlX COREplus X3 with IndraControl XM21 (ctrlX Profinet device app) [DOCU] ctrlX COREplus X3 with IndraControl XM21 (CODESYS Fieldbus libraries) [DOCU] Connect Kassow Robots RC with ctrlX PLC via Profinet [DOCU] CAN: Reading CAN bus data into ctrlX CORE [DOCU] Controlling a CANopen motor using ctrlX CORE X3 and ZK-USB-CAN-1 from Nanotec [DOCU] Lithionics Battery® CAN bus Message Processing with Node-RED [VIDEO] - [DOCU] PLC PLC Application – Useful hints for beginners [VIDEO] Publish variables to the Data Layer [DOCU] - [VIDEO] Set up a ctrlX CORE & PLC Programming [DOCU] - [VIDEO1], [VIDEO2] Use ctrlX PLC Engineering API with Python [DOCU] Import EtherCAT IO realtime data offline into ctrlX PLC Engineering [DOCU] Get Ethercat diagnosis from ctrlX CORE into PLC [DOCU] Templates: Template for cartesian handling systems V1.0 (for system version 1.12) [DOCU] - [VIDEO] Template for cartesian handling systems V1.20.1 [DOCU] Template for cartesian handling systems v2.6.3 [DOCU] ctrlX HMI - Basic Template [DOCU] Template for Consumer Goods - Form, Fill and Seal (flowwrapper) [DOCU] Template for MTX Beam Cutting [DOCU] Template for MTX Additive Manufacturing [DOCU] Read PROFINET Device App values from ctrlX PLC Engineering [DOCU] SICK Function Block Factory for Data Parsing [DOCU] Smart Function Kit using a ctrlX CORE connected through EtherCAT [DOCU] Ethercat SoE: Read and write ctrlX DRIVE and/or Indradrive parameters via PLC [DOCU] Ethercat: Use AoE with IO-LINK devices to Read Write Parameters [DOCU] CODESYS Softmotion: How to configure ctrlX CORE and Drives [DOCU] SCARA robot kinematics [VIDEO] User robot kinematics [VIDEO] Camming [VIDEO] CODESYS Fieldbus Communication: CODESYS fieldbus add-on installation guide for ctrlX AUTOMATION [DOCU] Ethernet/IP [VIDEO] PROFINET - Connect ctrlX CORE X3 with ctrlX COREplus X3 [DOCU] PROFINET - Connect ctrlX CORE X3 with IndraDrive [DOCU] PROFINET - ctrlX CORE X3 with ctrlX COREplus X3 [DOCU] Connect Kassow Robots RC with ctrlX PLC via Profinet [DOCU] Creating an HTML5 Control for ctrlX PLC Engineering and CODESYS WebVisu [DOCU] How to use G-Code UI of ctrlX [DOCU] Datalayer NRT: read and write basic data using the PLC functions [DOCU] How to set up Data Layer watchlists and integrate them into ctrlX PLC [DOCU] - [VIDEO] Comfortable data exchange of PLC and FlatBuffer variables using watchlist in Data Layer NRT [DOCU] Get ctrlX SAFETY FSoE Diagnosis on ctrlX CORE [DOCU] How to set up Python scripts with PLC programming [DOCU] Motion ctrlX MOTION: Set up a ctrlX CORE & PLC Programming [DOCU] - [VIDEO1], [VIDEO2] Graphical and Textual Python Programming using IDE App [DOCU] - [VIDEO] Connecting maxon MiniMACS to ctrlX CORE [DOCU] 3rd party EtherCAT slave interoperability list [DOCU] CODESYS Softmotion: How to configure ctrlX CORE and Drives [DOCU] SCARA robot kinematics [VIDEO] User robot kinematics [VIDEO] Camming [VIDEO] Safety Implement Machine Safety in a cartesian handling [VIDEO] Create safety PLC project with ctrlX SAFETY Engineering [DOCU] Use ctrlX SAFETY to control STO function of ctrlX DRIVE [DOCU] Use ctrlX SAFETY to control SafeMotion (SMO) function of ctrlX DRIVE [DOCU] Use ctrlX SAFETY to control SMO and STO axes function of ctrlX DRIVE [DOCU] Use ctrlX SAFETY to control STO/SMO ctrlX DRIVEs in conjunction with door [DOCU] Use ctrlX SAFETY to control safe motion (SMO) function of IndraDrive [DOCU] How To update ctrlX SAFETY firmware [DOCU] Use several ctrlX DRIVE in 3 safe areas at 1 SAFEX-C1.x control [DOCU] Get ctrlX SAFETY Diagnosis at ctrlX CORE (over EtherCAT) [DOCU] Get ctrlX SAFETY Diagnosis at XMxx controls (over PROFINET) [DOCU] ctrlX SAFETY Engineering remote access to SAFEX-C.15 via Profinet [DOCU] Port Forwarding with a Sick satey PLC via Ethercat EOE [DOCU] ctrlX Safety Engineering remote access to SAFEX-C1x via EoE [DOCU] ctrlX DRIVE SafeMotion PROFIsafe on PROFINET Shared Devices, with Siemens PLC´s [DOCU] ctrlX SAFETY create User Groups [DOCU] ctrlX SAFETY with Fortress amGard proNet FSoE [DOCU] How to parameterize SafeMotion (SMO) position package [DOCU] How to parameterize SafeMotion (SMO) speed package [DOCU] HMI WebIQ (official documentation and videos): Create your first HMI project [DOCU] - [VIDEO] Connecting to an OPC UA server [VIDEO] Browsing of variables, arrays & structures in OPC UA [DOCU] How to add multiple languages [DOCU] User Management [DOCU] Alarm Management [DOCU] Communicate with ctrlX CORE Rest API [DOCU] Custom Library Packages [DOCU] Create package with UI-Actions and Local Scripts [DOCU] Render a 3D model [DOCU] Load assets into WebIQ using REST API [DOCU] - [VIDEO] Templates: Template for cartesian handling systems V1.0 (for system version 1.12) [DOCU] - [VIDEO] Template for cartesian handling systems V1.20.1 [DOCU] Template for cartesian handling systems v2.6.3 [DOCU] ctrlX HMI - Basic Template [DOCU] Template for Consumer Goods - Form, Fill and Seal (flowwrapper) [DOCU] Use Designer AddOn (Cross References, Checks) [DOCU] Serving data to WebIQ via HTTP [VIDEO] Create PDF document with pdfmake [DOCU] HowTo display content in a table [DOCU] ctrlX CORE as Smart HMI [Part1] - [Part2] How To display PLC data as oscilloscope or chart [DOCU] Embed IoT Dashboard in WebIQ [DOCU] WinStudio: Creating project, licensing, PLC symbol file config, BRWS+OPCUA driver sheet setup, using tags [VIDEO] Creating and configuring screens, screen objects and attributes, data entry methods [VIDEO] User symbols, working with multiple screens, scripting, running the application, troubleshooting [VIDEO] Template for MTX Beam Cutting [DOCU] Template for MTX Additive Manufacturing [DOCU] KEBA KeTop: Mobile HMI panels wired or wireless OPC UA [DOCU] Mobile HMI panels wired or wireless ModbusTCP [DOCU] IIoT: Use ctrlX CORE as a monitoring platform using InfluxDB and Grafana [DOCU] Creating an HTML5 Control for ctrlX PLC Engineering and CODESYS WebVisu [DOCU] Create HMI with Weidmüller GTI - PROCON-WEB Embedded System [VIDEO] How to create a kiosk type plug-and-play Qt based HMI application on ctrlX CORE X7 [DOCU] IoT IIoT: Collect Data from ctrlX Drive and IndraDrive independently from Master Communication [DOCU] IoT Dashboard App: Configuration Guide, Thresholds, Alerts and Notifications [DOCU] Getting started with InfluxDB on ctrlX CORE [DOCU] IIoT: Use ctrlX CORE as a monitoring platform using InfluxDB and Grafana [DOCU] Embed IoT Dashboard in WebIQ [DOCU] IIoT - Push oversampled arrays to InfluxDB [DOCU] Send multi-dimensional array to InfluxDB and Nexeed via Node-RED [DOCU] Store and visualize PLC values using Telegraf and InfluxDB app [DOCU] Use Telegraf app to sample Realtime Data automatically [DOCU] Transferring and Representing CSV Files from IndraControl to ctrlX CORE using FTP and InfluxDB [DOCU] Fast time series data from ctrlX PLC to local InfluxDB [DOCU] Use Arduino Nicla Sense ME together with ctrlX AUTOMATION for data harvesting [DOCU] Bosch DeviceBridge app: Bridging IT with OT [VIDEO] AI and Data Analysis: the Jupyter Notebook App [DOCU] Virtual Commissioning of Distributed Systems in the IIoT [DOCU] Mongo DB in ctrlX OS [DOCU] IXON Easy onboard a device [DOCU] Setup a full machine remote access [DOCU] PostgreSQL on ctrlX CORE [DOCU] Send multi-dimensional array to InfluxDB and Nexeed IAS via Node-RED [DOCU] Monitoring - General Purpose & Realtime [DOCU] SDK (Software Development Kit), user/custom apps Setup development environment using: --recommended-- ctrlX WORKS App Build Environment [DOCU] - [VIDEO] Ubuntu in VirtualBox Virtual Machine or native installation [DOCU] Trainings: Learn the Basics [ctrlX CORE I] - [VIDEO] Basics of app programming [trlX AUTOMATION SDK I] Program complex non-real-time apps [ctrlX AUTOMATION SDK II] - [VIDEO] Customer App Support (Services) [STORE] Using the libusb library to access an USB devices [DOCU] Empower your app with Data Persistence [DOCU] How to create noVNC snap [DOCU] Create and delete files and folders in Active configuration [DOCU] Debug C++ Apps with SDK for ctrlX AUTOMATION [DOCU] Service2Service Authentication [DOCU] Provide API in the Data Layer for your app [DOCU] Run Python examples directly inside the IDE app plus SDK explanation [DOCU] ROS2 on ctrlX AUTOMATION [DOCU] - [STORE] ROS2 demo example - MoveIt2! in ctrlX OS [DOCU] Kassow Robots - Command from ROS2 [DOCU] Shared memory communication between ROS2, Datalayer and PLC [DOCU] Easy Automation Library for ctrlX DRIVE - LabVIEW™ toolbox [STORE] How to run the Rexroth ROKIT Locator on ctrlX CORE X7 [DOCU] How to activate SSH communication in a ctrlX CORE [DOCU] Licensing Demo using REST API [DOCU] Python webserver custom User Interface for Motion App [DOCU] ctrlX DRIVE Establish Ethernet connection via [ctrlX CORE (SIP) and EoE] [Panel] [EtherCAT control] - [DOCU] Online review using USB-C connection and ctrlX WORKS software [VIDEO] 1st setup and execute initial movements [DOCU] - [VIDEO1] Set absolute positions for incremental encoders of ctrlX DRIVE [VIDEO2] Autotuning [DOCU] - [VIDEO] Check positioning movements [DOCU] - [VIDEO] Frequency response analysis of regulation loops [DOCU] Update runtime/firmware [DOCU] Commissioning of 3rd party motors [DOCU] Suitably Power ON/OFF [DOCU] Use panel at ctrlX DRIVE [DOCU] Commission spindle positioning function [DOCU] Check bleeder resistance capabilities [DOCU] Commission analog interface [DOCU] Use analog interface at ctrlX DRIVE [DOCU] Commission drive controlled oscillation function [DOCU] Use digital IOs at ctrlX DRIVE [DOCU] Configure a DC/DC converter XMV02 [DOCU] Use cogging compensation at ctrlX DRIVE [DOCU] Use axis error correction [DOCU] Use temperature error correction [DOCU] IIoT: Collect Data from ctrlX Drive and IndraDrive independently from Master Communication [DOCU] Use Eco mode brake control with voltage reduction at ctrlX DRIVE [DOCU] Use ctrlX DRIVE under a Schneider control [DOCU] Use hybrid position control at ctrlX Drive [DOCU] Use Anti-vibration filter [DOCU] Ethercat Soe: read and write ctrlX DRIVE and Indradrive S and P parameters [DOCU] ctrlX DRIVE with Siemens TIA-Portal™ CPU SIMATIC S7-1200 or S7-1500 [DOCU] Use error reaction return motion at ctrlX DRIVE [DOCU] Use motor phase short circuit at ctrlX DRIVE [DOCU] Use automatic weight counterbalance at ctrlX DRIVE [DOCU] Easy Automation Library (EAL) for ctrlX DRIVE - LabVIEW™ toolbox [STORE] Acyclic PROFINET communication with Siemens PLC [DOCU] Measuring wheel function [DOCU] Safety: Use several ctrlX DRIVE in 3 safe areas at 1 SAFEX-C1.x control [DOCU] Commission SafeMotion (SMO) with ctrlX DRIVE [DOCU] - [VIDEO] Use ctrlX SAFETY to control STO function of ctrlX DRIVE [DOCU] Use ctrlX SAFETY to control SafeMotion (SMO) function of ctrlX DRIVE [DOCU] Use ctrlX SAFETY to control SMO and STO axes function of ctrlX DRIVE [DOCU] Use ctrlX SAFETY to control STO/SMO ctrlX DRIVEs in conjunction with door [DOCU] Commission FSoE ctrlX DRIVE under EtherCAT control (Beckhoff) [DOCU] ctrlX DRIVE SafeMotion PROFIsafe on PROFINET Shared Devices, with Siemens PLC´s [DOCU] How to parameterize SafeMotion (SMO) position package [DOCU] How to parameterize SafeMotion (SMO) speed package [DOCU] IndraDrive Process Controller in IndraDrive [DOCU] Setup IndraDrive SafeMotion for Safe Torque Off with Safe Stop 1 [DOCU] Ethercat SoE: Read and write ctrlX DRIVE and/or Indradrive parameters via PLC [DOCU] PROFINET - Connect ctrlX CORE X3 with IndraDrive [DOCU] Use ctrlX SAFETY to control safe motion (SMO) function of IndraDrive [DOCU] IIoT: Collect Data from ctrlX Drive and IndraDrive independently from Master Communication [DOCU] Ethercat Soe: read and write ctrlX DRIVE and Indradrive S and P parameters [DOCU] ctrlX World Become a Partner [DOCU] How-to collaborate [DOCU] Storage Guide [DOCU] Business Process [DOCU] How-to become a ctrlX World Partner or ctrlX OS OEM [DOCU] Miscellaneous Connect ctrlX COREvirtual to the Internet [DOCU] Connect real ctrlX CORE via proxy to the Internet [DOCU] Communicate between a ctrlX COREvirtual and other applications [DOCU] Connect Notebook and Internet to a ctrlX CORE [DOCU] Enable Access ctrlX AUTOMATION using Network Address Translation (NAT) [DOCU] Use ctrlX CORE as a “router” using the Firewall App [DOCU] Machine remote access using VPN and Firewall apps on ctrlX CORE [DOCU] - [VIDEO] Machine Remote Access: use MB Connect Line service with ctrlX CORE and VPN Client app [DOCU] Seamless Remote Access: Setting Up a VPN with CloudConnexa [DOCU] Remote Access & Management Portfolio [DOCU] Create and change a GIT repository on GitHub [DOCU] OPC UA: Connect UA.TestClient to ctrlX OPC UA Server [DOCU] - [VIDEO] Connect OPC UA client to MLC and Siemens S7 OPC UA server [DOCU] OPCUA Pubsub between ctrlX and Siemens S7 [DOCU] Integrate ctrlX CORE with Paessler PRTG for Comprehensive Monitoring [DOCU] MQTT: Set up Eclipse Mosquitto MQTT Broker and connect a client [DOCU] Bosch Cameras via MQTT on ctrlX CORE [DOCU] ctrlX CORE as MQTT Broker [VIDEO] Node-RED: ctrlX CORE - Node-RED App [VIDEO] ctrlX CORE with PLC and Node-RED [VIDEO] Node-RED Communication Methods [VIDEO] Remote Access for ctrlX CORE via Internet using Node-RED [DOCU] How to use G-Code UI of ctrlX [DOCU] Export JSON to CSV format using Node-RED in ctrlX OS [DOCU] How to read a node and all the subnodes in Node-RED [DOCU] Bundle npm Packages for Offline Node-RED Installation [DOCU] Cybersecurity: Use ctrlX CORE as a powerful net-filter for any controller [DOCU] Device selective connectivity using DNAT and MASQUERADE [DOCU] Use OPC UA client and server with scope restriction [DOCU] Connect ctrlX AUTOMATION to machineering iPhysics simulation [DOCU] Generate API client libraries from Engineering API [DOCU] Automated Test Strategies for ctrlX PLC Applications [DOCU] Unix Domain Sockets in .NET 6 - Basics and Usage with ctrlX CORE [DOCU] Commissioning of the Rhebo OT Monitoring Sensor App [DOCU] Connect ctrlX CORE with Raspberry Pi [DOCU] Configure IEC 60870-5 Protocol in a ctrlX CORE [DOCU] Connect ctrlX CORE to a VNC Server using noVNC [DOCU] Deploy Docker Image to Container Engine App [DOCU] - [VIDEO] How to make REST call of Data Layer through LabVIEW [DOCU] How to read Data Layer Nodes through Visual Studio [DOCU] Communication Portfolio in ctrlX AUTOMATION [DOCU] Control to Control Communication (C2C) - Overview [DOCU] Data exchange between controls C2C – ctrlX Data Layer Remote Connection [DOCU] Vision: Integrate ctrlX AUTOMATION with a SICK InspectorP camera and MongoDB [DOCU] Connect ctrlX CORE with ELMO Drive [DOCU] View content from multiple web servers in one web page (reverse proxy) [DOCU] Restrict access to ctrlX Data Layer nodes for a specific user [DOCU] Modelling, Deploying, and Running Simulink® Models on ctrlX OS with model connect app [DOCU] How to run Machine-Learning Models on ctrlX CORE [DOCU] Integration of Hirschmann Bobcat Rail Switch (BRS) with ctrlX CORE [DOCU] How to use G-Code UI of ctrlX [DOCU] How to activate SSH communication in a ctrlX CORE [DOCU] Systematic Reboot with REST API and Node-RED example [DOCU] Configure Remote Logging secured via TLS in ctrlX OS 1.20 [DOCU] Nexeed Control Plus Studio HMI and Digital Machine with a real ctrlX CORE X3 [DOCU] How to integrate Arkite with ctrlX CORE through OPC UA [DOCU] ctrlX OS Diagnostic System: Use your own diagnostic messages [DOCU] Custom data structures in Key Value Database (KVD) app [DOCU] Kassow Robots - Streamcast the Teach Pendant on a desktop device [DOCU] Trainings Trainingsfinder Learning platform and Sales Campus Web-based trainings ctrlX CORE I ctrlX CORE II ctrlX AUTOMATION SDK I ctrlX AUTOMATION SDK II Online trainings Face-to-Face trainings ctrlX CORE Demo Kit series Bosch Rexroth US - ctrlX CORE Introduction Demo Kit [playlist] Episode #1 – Unboxing Episode #2 – Registering and Finding Help Episode #3 – Install ctrlX WORKS Episode #4 – Virtual Control Episode #5 – Installing Apps Episode #6 – Motion App Episode #7 – PLC App Episode #8 – Data Layer Episode #9 – Node Red Episode #10 – OPC UA Episode #11 – VPN Client Influencer videos Rajvir Singh - ctrlX CORE from Bosch rexroth [playlist] ctrlX CORE with PLC and Node-RED ctrlX CORE as MQTT Broker Interfacing ctrlX CORE with ctrlX I/O via EtherCAT ctrlX CORE with IDE app Bosch DeviceBridge app: Bridging IT with OT Interfacing ctrlX CORE with IO-Link master via EtherCAT ctrlX CORE as Smart HMI [Part1] - [Part2] ctrlX developR Series Season 1 [Overview] Episode #1 This is ctrlX AUTOMATION Episode #2 GETTING STARTED Episode #3 ctrlX Data Layer Episode #4 ctrlX Device Portal Episode #5 SDK Episode #6 ctrlX World - Partner Apps Episode #7 Securtity Episode #8 REST-Interface & Automated Configuration Episode #9 ctrlX AUTOMATION Community Episode #10 PYTHON Programming Episode #11 Graphical Programming ctrlX developR Series Season 2 Episode #1 Configure Components -> How to #1 Configure Components Episode #2 Set up a ctrlX CORE & PLC Programming -> How to #2 Set up a ctrlX CORE & PLC Programming Episode #3 Use Graphical Programming for Pick & Place -> How to #3 Use Graphical Programming for Pick & Place Episode #4 Implement Machine Safety -> How to #4 Implement Machine Safety Episode #5 Create a web-based HMI -> How to #5 Create a web-based HMI Episode #6 Handling Application Live Demo ctrlX developR Series Season 3 Episode #1: Security Episode #2 ctrlX OS Episode #3 Machine Learning Episode #4 IoT
  • Quick Start Guide ctrlX AUTOMATION + CODESYS SoftMotion

    Introduction to the basics of CODESYS SoftMotion for ctrlX AUTOMATION and Setup of SoftMotion on a ctrlX CORE Implementation of CNC Motion Control using CODESYS SoftMotion for ctrlX AUTOMATION Related Information Introduction to the basics of CODESYS SoftMotion for ctrlX AUTOMATION and Setup of SoftMotion on a ctrlX CORE [EN] ctrlX AUTOMATION Tutorial | CODESYS SoftMotion | Part#1 Setup Topics: Requirements Fieldbus Configuration with ctrlX IO Engineering PLC-Project with ctrlX PLC Engineering Implementation of CNC Motion Control using CODESYS SoftMotion for ctrlX AUTOMATION [EN] ctrlX AUTOMATION Tutorial | CODESYS SoftMotion | Part#2 Implement a CNC Topics: File handling of cnc programs Interplation and axis position control "Live Look" into the PLC project Related Information ctrlX STORE Forum CODESYS - PLC Add-ons CODESYS - SoftMotion Product Data Sheet CODESYS - SoftMotion Online Help
  • Solution Sets for Consumer Goods - Form, Fill and Seal

    ctrlX AUTOMATION offers automation solutions for a variety of packaging applications for form, fill and seal machines Example applications for packaging solutions LRA form, fill and seal machine solution MRA form, fill and seal machine solution HRA form, fill and seal machine solution Package consumer goods the intelligent and efficient way Nowadays, consumer goods such as potato crisps and chocolate bars but also non-food products need to be packaged and dispatched more and more quickly and cheaply. However, the high packaging speed must not be at the expense of sealing, which plays a key role in ensuring a longer shelf life and product safety. This requires supporting technologies that can speed up and automate packaging processes. By using automation solutions in packaging machines, manufacturers can increase efficiency: They can achieve faster production cycles and package more products per unit of time. This offers significant economic benefits. In addition, systems can be adapted to meet different or new packaging requirements much more quickly. Automation solutions also help to ensure consistently high quality by guaranteeing compliance with specific standards and requirements and minimizing errors in processes that were previously performed manually. With ctrlX AUTOMATION, Bosch Rexroth offers integrated, modular automation solutions for the packaging industry – and for consumer goods in particular. The open complete solution includes all hardware and software components for automatically controlling, regulating, monitoring and optimizing packaging machines, e.g. form, fill and seal machines. The automation toolkit provides hardware and software as well as services and offers a modular complete system which connects, controls and orchestrates all components. The package is rounded off with apps that are available as needed to expand the range of functions for applications in the packaging industry. New automation solutions for packaging machines The ctrlX AUTOMATION toolkit offers almost unlimited freedom and can provide drive as well as control and connectivity solutions in many areas of the packaging industry. One area of application is so-called form, fill and seal machines or flow wrappers with vertical and horizontal seals, i.e. VFFS (Vertical Form, Fill and Seal) and HFFS (Horizontal Form, Fill and Seal). The vertical version of the flow wrapper is particularly suitable for packaging products such as potato crisps, while the horizontal version can be used to package chocolate bars for example – at high speed and with reliable sealing. ctrlX AUTOMATION provides ideal support for both types of flow wrapper – in low range application (LRA), mid range application (MRA) and high range application (HRA) systems. VFFS - Vertical Flow Wrapper In the smallest solution (LRA), the control system is integrated into the drive for the first axis. The other two axes are packaged in a double axis drive. The ctrlX CORE control system is connected to the decentralized ctrlX I/O and the ctrlX SAFETY system via EtherCAT. Sensors for temperature, contrast or the master axis encoder are frequently used in this type of application. Safe Torque Off is achieved with the help of discrete wiring. The web-based ctrlX HMI is also connected to the compact control system. The HMI server can run in the controller itself in combination with a web panel or on a Windows PC (e.g. panel PC) to optimize and safeguard the performance of the ctrlX CORE. This results in a space-saving, safe and economical overall solution for very high efficiency. If necessary, the solution can be expanded with additional components and scaled to meet the very highest requirements. The app architecture allows easy integration of Bosch Rexroth's own know-how and applications from Bosch Rexroth or third-party providers, for example in the field of motion and IoT. The ctrlX MOTION app and the Bosch DeviceBridge app are examples of these. ctrlX AUTOMATION was designed for simplicity. Bosch Rexroth allows easy engineering with intuitive usability. A ready-to-use, open application project for flow wrappers offers users numerous advantages such as: Starting the first project in just 10 minutes, up to 60% time savings during coding, increased code reusability, web HMI in a responsive design and open source code. The automation system is also future-proof and with “Security by Design” offers maximum security on all levels. Thanks to integrated IoT solutions, it even opens the door to the smart factory. ctrlX Configurator With the ctrlX Configurator, you can design your automation solutions intuitively. The procedure for individually configuring them is easy, quick and reliable. The desired system topologies can be put together exactly as needed and retrieved 24/7. Go to ctrlX Configurator LRA form, fill and seal machine solution Space-saving, safe and economical automation with integrated control system in the drive. Schematic example LRA solution Application example LRA solution Configurator example LRA solution LRA Solution | Form, Fill and Seal | CTRLX350143 OPEN CONFIGURATION Project Example for Form, Fill and Seal Application OPEN PROJECT MRA form, fill and seal machine solution A high level of flexibility thanks to integrated SafeMotion functions in the drive and ctrlX CORE in the embedded version, additional connection options to 3rd party controllers as well as the option of connecting the ctrlX I/Os to the ctrlX CORE directly without a bus coupler. Schematic example MRA solution Application example MRA & HRA solution Configurator example MRA solution MRA Solution | Form, Fill and Seal | CTRLX635613 OPEN CONFIGURATION Project Example for Form, Fill and Seal Application OPEN PROJECT HRA form, fill and seal machine solution Maximum performance and connectivity thanks to ctrlX CORE, numerous sensors and I/O Link integration, extended safety portfolio and clever combination of ctrlX DRIVE and IndaDrive Mi. Any extension of the application example possible by adding solutions from ctrlX World partners, e.g. WAGO, ifm or SICK. Schematic example HRA solution Application example MRA & HRA solution Configurator example HRA solution HRA Solution | Form, Fill and Seal | CTRLX527634 OPEN CONFIGURATION Project Example for Form, Fill and Seal Application OPEN PROJECT Reference The machine manufacturer ILLIG is helping to make the changing food packaging industry more flexible and future-proof by relying on the technological openness of the automation toolkit ctrlX AUTOMATION from Bosch Rexroth. “The modular approach is a good platform for developing future-proof machines,” said Markus Peter, head of electrical development at ILLIG Maschinenbau. “The open hardware and software modules ensure high process quality and allow us to obtain data which can be used to continuously improve productivity and energy efficiency.” Further information
  • Template for MTX Additive Manufacturing

    Overview Additive Manufacturing (AM) - largely also referred to as 3D printing - is an emerging and innovative manufacturing process, which differs fundamentally from conventional manufacturing processes and opens up completely new possibilities for research and industry. What is additive manufacturing? As a collective term, additive manufacturing processes include all those manufacturing processes with which three-dimensional models, samples, prototypes, tools or finished products are generated by the automated application of materials layer by layer. Motor flange constructed with 3D printing Features Gantry Axis applied Factor control for Extruder Axis Temperature Controller included Process Time display Screen for Job management Temperature Overview Screen Temperature (Coldend,Hotend and Filament) displayed on NC Screen NC- Simulation 3D Printer Model in our NC-Simulator It shows the axes (X,Y,Z) of a 3D Printer Model in the NC- Simulator Formation of the workpiece while the NC program is running Finished workpiece, a motor flange Hardware requirements MTX control (XM42-S, XM42-P or XM42-A) Drive controller (IndraDrive CS/M/Mi, ctrlX DRIVE) For temperature control: Analog Input: S20_AI_4_UTH(S20-AI-4-UTH) Software requirements IndraWorks Engineering for CNC system MTX 15VRS R911337570: SWL-IWORKS-MTX-NNVRS-D0-ENG /Single license Programming and project planning software for MTX Win Studio lite Editor IndraWorks Operation 2 for CNC system MTX 15VRS R911396004: SWL-IWORKS-MTX-NNVRS-F2-OPD2 /Single license HMI-software for standard CNC operations WinStudio runtime, Lite-license inclusive Technology Package Additive Manufacturing R911399770: FWS-MTX-AM1******-NNVRS-NN-NNN/Single license MTX software option MTX FA – utilize fast PLC actions Gantry axes with command value coupling Placements (machining on inclined surfaces) Path programming with G6 (Spline interpolation B-Spline, NURBS) System axis coupling for setting up electronic gears Temperature closed loop control; OPC-UA server Standard project template for additive manufacturing (extrusion technologies) Optional licenses IndraWorks Workstation 2 for CNC system MTX 15VRS R911396002: SWL-IWORKS-MTX-NNVRS-F2-WORKSTATION2 /Single license Engineering + Operation Emulation IndraWorks Virtual Machine Builder (VMB) Software Download R911394064: SWS-MTX***-ENG-01VRS-D0-VMB-DGL /USB-Dongle IndraWorks Virtual Machine Simulation R911374010: SWS-MTX***-RUN-NNVRS-D0-VMS /Single license Installation Documentation Related Links Solution Sets for Additive Manufacturing
Types
Example
How-to
Categories
HMI