Synchronize Tab

When a device is selected in the tree view, a tab will be created across the top of the working area of the PLC Shift Manager. In this tab, additional tabs will be created across the bottom: One for each app, one for the device, and a 'Synchronize' tab. Use features on the 'Synchronize' tab to:
 
  • Deploy the PLC Shift Runtime to a Linux device.
  • Open a new terminal window to ssh into a Linux device.
  • Download the locally stored device and application configuration into a remote Linux device.
  • Upload a the device and application configuration from a remote Linux device into PLC Shift Manager.
 
Synchronize Tab
All communications from PLC Shift Manager to the remote Linux device are tunneled through an SSH connection or use the SFTP protocol for file transfer. Communications are encrypted and secured. The host name for the remote Linux device and SSH port are configured in the 'Device Settings' group on the device tab. 
 
The SSH authentication method is configurable and either password security or key based security options can be used. When using password based security, enter the password in the 'Password' field on the 'Synchronize' tab.
SSH passwords are never stored by PLC Shift Manager. When the 'SSH Authentication Type' is 'Password', make sure to enter a password in the 'Password' field on the 'Synchronize' tab.
 
Device Level SSH Settings
 

Open Terminal

Use this button to quickly open a new terminal and SSH session to the remote Linux computer. The host name, port and authentication type are pulled from the device settings.
 
If using password based authentication, you will still need to type your password into the window that opens up. PLC Manager will first try to open a new Windows Terminal window and if that fails, it will open a normal cmd window.
 

Timeout

Use this field to adjust the timeout for communications tasks, like uploading or downloading configurations.
 

Refresh Seconds

Use this setting to adjust the update rate for device and app tags when online. The default value is 500 ms, which means that updated tag values will be retrieved from the remote device every 500 ms when online.
 
Depending on the number of apps, and the performance of the remote device, being online with PLC Shift Manager can cause a noticeable increases in CPU usage on the remote device. Increase the refresh rate value to communicate with the remote device less often and reduce remote CPU usage.
 

Install PLC Shift on a Device

Settings in this section allow you to copy PLC Shift Files to a remote Linux device. Files are copied using the SFTP protocol. Start by selecting your device type and then click the 'Copy to Device' button. If your device is not listed, let us know, and we should be able to add it fairly quickly.
 
Manual deployment instructions, where the files are copied to the remote device manually, can be found in the Quick Start section.
 
Note that this step only copies file the remote device. You must still run the installation script to actually install the PLC Shift run time.
You must still run the installation script to actually install the PLC Shift run time.
 

Deployment Options

The options in the 'Select Hardware' drop down are discussed below.
 
Raspberry Pi OS v11, 64 Bit Arch
Raspberry Pi 4 or 5 only with 32 bit Raspbian/Debian 11 (Bullseye) OS. During deployment, PLC Shift Manager validates the target architecture by running the 'lscpu' command and examining the result. Raspberry 4 and 5 CPUs have a true 64 bit architecture that is known as 'aarch64'.
 
Raspberry Pi OS v11, 32 bit Arch
Raspberry Pi 2, 3, 4 or Zero 2 with 32 bit Raspbian/Debian 11 (Bullseye) OS. These are 32 bit 'armv7l' architecture devices.
 
Raspberry Pi OS v10, 32 bit Arch
Raspberry Pi 2, 3, 4 or Zero 2 with 32 bit Raspbian/Debian 10 (Buster) OS. These are 32 bit 'armv7l' architecture devices.
 
Moxa MIL1
Moxa ARM computer with Moxa Industrial Linux 1 (MIL1) based on Debian 9 (Stretch). Moxa UC8000 series devices have been extensively tested, but other devices should work.
 
XetaEdge
Xetawave XetaEdge ARM computer with Debian 10 (Buster) OS.
 
Ubuntu Server 20.04 LTS x86_64
 x86_64 hardware with Ubuntu Server 20.04 LTS OS {Focal Fossa). This includes lower power Intel Atom X devices as well as fully featured desktop processors from Intel and AMD.
 
Ubuntu Server 22.04 LTS x86_64
x86_64 hardware with Ubuntu Server 22.04 LTS OS (Jammy Jellyfish). This includes lower power Intel Atom X devices as well as fully featured desktop processors from Intel and AMD.
 
SCADAPack 470i/474i v3.1
Schneider Electric SCADAPack 470i or 474i with DIP Yocto Linux 3.1. SCADApack devices must have the PLC Shift overlay file system installed before runtime deployment via PLC Shift Manager. See Schneider documentation and the 'PLC Integration' section for more details and a link to download the required files.
The PLC Shift overlay file system must be installed prior to deployment via PLC Shift Manager.
The 'Operations Mode' switch on the SCADAPack must be in privileged mode ('F PRVL') before deployment.
 
Opto22 PRx v3.4
OPTO 22 Groov Epic PR1/PR2 or RIO with firmware version 3.4 or newer. This uses .net version 5 and the SysV init system instead of Systemd. There may be performance issues when using Codesys and PLC Shift at the same time on a RIO, especially on startup.
 
Debian 11, 64 Bit ARM Arch
Generic ARM devices with 64 bit CPU architecture (aarch64) running a 64 bit mainline Debian 11 (Bullseye) operating system.
 

Compatibility

Not all supported devices are listed in the 'Select Hardware' area. The list below shows the correct selections for hardware that is not listed but that we have tested.
 
PLC Next AXC F 2152
We tested the Phoenix Context PLC Next AXC F 2152, but the 1152 and 3152 devices should work. The 1152 has less CPU, which may be an issue depending on how many apps are required. Hardware version 5 and firmware version  2024.0.0 LTS was tested. We also tested Codesys for PLC Next version 4.11.0.0 on this device..
 
Before deploying, enable root SSH access using the instructions at this link. The root user must be used for PLC Shift deployment.
 
To deploy to a PLC Next AXC F 2152, choose the "Raspberry Pi OS v11, 32 bit Arch" deployment option. The 'Force Deploy' option must be checked. This will only work with P{LC Shift version 1.43 or later.
 
Moxa UC-2222
We tested a Moxa UC-2222 device with Moxa Industrial Linux version 3 (MIL3). We did not test a UC-1222, but the UC-1222 and UC-2222 have the same processor, so everything should work. We also tested Codesys for Linux ARM64 version 4.11.0.0 on this device.
 
To deploy to a Moxa UC-2222, choose the "Debian 11, 64 bit ARM Arch' deployment option. 'Force Deploy' is not required.
 
Compulab IOT-GATE-iMX8
We tested a Compulab IOT-GATE-iMX8 device with Debian 11 (Bullseye). We also tested Codesys for Linux ARM64 version 4.11.0.0 on this device.
 
To deploy to a Compulab IOT-GATE-iMX8, choose the "Debian 11, 64 bit ARM Arch' deployment option. 'Force Deploy' is not required.
 

Scripts

The 'Copy to Device' copies a zipped archive to the remote device and decompresses it. When this is complete, the user's home directory will have the following scripts in it. All scripts must be run with super user privileges.  For example, to run the installation script, type 'sudo ./install-plc-shift.sh' at the command line.
PLC Shift installation can be done offline and does not require internet access.
 
Note that you can use auto completion in the terminal window to reduce the amount of typing that you have to do. For example, if you type 'sudo ./i' and then hit the tab key, the installation script name will be filled in for you automatically.
 
PLC Shift Deployment Scripts
All scripts must be run with superuser privileges (sudo).
 
install-plc-shift.sh
Use this script to install the PLC Shift runtime. Microsoft .net files will be copied to the appropriate directories and symlinked into the /bin directory so that its on the path. PLC Shift executable files will be copied to the '/usr/share' directory. The OS will be configured to start the PLC Shift runtime automatically when the system starts.
 
remove-plc-shift.sh
Use this script to remove the PLC Shift runtime. Installation files and scripts will also be removed.
 
update-plc-shift-base.sh
Use this script to update the PLC Shift core runtime files. This will stop the PLC Shift service and interrupt control.
 
update-plc-shift-plug-ins.sh
Use this script to update the PLC Shift plug in files. New plug in files will be copied to the '/var/plc-shift-app/plug-ins' directory. Updating plug ins does not result in an interruption of control.
 

Connect

Once the PLC Shift runtime is deployed to the remote device, you can click the 'Connect' button to synchronize the local configuration with the remote configuration or vice versa. When you click this button, a new window will open showing the differences between the local and remote configurations. From this new window, choose the 'Download' option to push the local configuration to the remote. Choose the 'Upload' option to pull the configuration from the remote device and update the local configuration.
 
If there are no configuration changes to an application, downloading will not cause any interruption in control. If there are configuration changes, then downloading may cause an interruption in control, but it is dependent on the application and what changes are made. For example, changing the 'On Time' parameter value for a Plunger Lift application will not cause an interruption in control, but changing the 'Plunger Exists' option might, depending on where in the control cycle the app is.
 
When connecting, remote and local apps are matched using the application's 'User Configured Name', the application type and the application's configuration version. If these values are not the same then an application will not be matched.
 
When downloading, when no matching application for a local application exists on the remote, a new application will be created on the remote. On the remote, if there is no matching application in the local configuration, then the application on the remote will be deleted.
 
When uploading, when no matching application for a remote application exists in the local configuration, a new local application will be created. In the local configuration, if there is no matching application on the remote, the local application configuration will be deleted.
 
Downloading may result in an interruption of control. However, when there are no changes to an app, control will not be interrupted.
 
Synchronize Window
 

Disconnect

After successfully connecting and synchronizing, PLC Shift Manager will be online with the remote device. See the 'Online' section for more details. Click the 'Disconnect' button to disconnect from the remote device.