Kkula
Browse Questions » Industrial Edge: Connecting Towards Windows control center Combined Personal computer Rt Openpipe Originating From Docker

About User

Questions Asked: 24.4K

Answers Given: 0

0
  • Open

Industrial Edge: Connecting Towards Windows control center Combined Personal computer Rt Openpipe Originating From Docker

I am trying to write an Edge app that will work with both WinCC Unified PC RT and a WinCC Unified Comfort Panel.  Since the only open interface that the UCP supports right now is OpenPipe, that i s what I am trying to use.  I can get my Edge app running on the UCP by following the volume mapping syntax described in
https://support.industry.siemens.com/cs/us/en/view/109778780
.  However, I have less success in connecting to OpenPipe on the PC.
My node.js application runs find when node.js is running directly in Windows.  However, when running in the docker container, I either get errors when I specify the volume mapping in the docker run command, or I get ECONNREFUSED errors when I try to connect to the OpenPipe in my application.   The docker run errors occur when I use:
docker run -v \\\\.\\pipe\\HmiRuntime:/tempcontainer/HmiRuntime -it sa/nodessh sh
The error is:
docker: Error response from daemon: \\\\.\\pipe\\HmiRuntime%!(EXTRA string=is not a valid Windows path).
See 'docker run --help'.
 I have tried various variants of the syntax - in quotes, using / instead of \, with and without the HmiRuntime, but no joy. 
https://stackoverflow.com/questions/47801477/can-i-use-named-pipes-inside-containers
suggests that connecting to a Windows named pipe may only be possible on late versions of Windows Server (I am using Windows 10 Pro Workstation).
If anyone has figured out how to attach to a Windows named pipe from within a Linux docker container, I would appreciate your insight.

0 Likes 0 Favourites 0 Followers 0 Comments
Answers(1)

Connecting to WinCC OpenPipe from a Docker Container

You're facing challenges connecting to WinCC Unified's OpenPipe from a Docker container, specifically on Windows 10 Pro. The issue stems from limitations in Docker's ability to reliably access Windows named pipes.

Here's a breakdown of the problem and potential workarounds:

  • Named Pipe Access in Docker: As noted in the Stack Overflow link, direct access to Windows named pipes from Linux Docker containers is problematic and often requires newer Windows Server versions. Windows 10 Pro has limited support.
  • Volume Mapping Issues: The error "\\\\.\\pipe\\\\HmiRuntime%!(EXTRA string=is not a valid Windows path" indicates Docker doesn't correctly interpret the Windows pipe path within the -v argument. Various syntax attempts (quotes, slashes, etc.) haven't resolved this.
  • ECONNREFUSED: This error suggests the container can't establish a connection to the OpenPipe, even if the volume mapping were successful.

Recommendations & Workarounds:

  1. Consider WinCC Unified RT on a Server OS: If feasible, running WinCC Unified PC Runtime on a supported Windows Server version could improve named pipe access.
  2. Alternative Communication Methods: Explore other communication options if possible, such as OPC UA, which offers broader platform support and may be easier to integrate with Docker containers.
  3. Hyper-V/VM Approach: Run WinCC Unified PC Runtime inside a Hyper-V virtual machine. Then, the Docker container can communicate with the VM's network interface, bypassing the named pipe issue.
  4. Check WinCC Unified Configuration: Ensure the OpenPipe is properly configured to allow remote connections and that the firewall isn't blocking access.

Unfortunately, a direct, reliable solution for accessing a Windows named pipe (OpenPipe) from a Linux Docker container on Windows 10 Pro is currently limited. The suggested workarounds offer alternative approaches to achieve communication between your Edge app and WinCC Unified.

0
Add a comment