cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

ThingWorx Navigate is now Windchill Navigate Learn More

Translate the entire conversation x

Kepware project syncing across servers

GF_13380967
3-Newcomer

Kepware project syncing across servers

We are looking to manage all kepware tags from a central server. Once testing is done, we currently need to export and import these tags into 14 other servers that have Kepware installed. This is tedious and prone to error.  

 

I know I could copy the project file from the central server and copy to the remote servers, but this would entail taking down the Kepware service copying the file and then restarting the service.  I'd prefer to not have to do this.  

Is anyone familiar with a tool/program that will compare/sync all Channels/PLCs/TagGroups/Tags between two servers and perform the update without having to take down the services?

ACCEPTED SOLUTION

Accepted Solutions

Hi, 

 

From my point of view, below is the solution I think of:

 

Kepware EX 6.13 includes the Server Configuration API, which allows programmatic access to create/update/delete Channels, Devices, and Tags without restarting the Kepware runtime.

  • API Spec: Kepware Configuration API

  • Supports: Channels, Devices, Tag Groups, Tags, Users, etc.

  • Format: JSON over HTTP (authenticated)

 

2. Scripted Sync Tool (Python/PowerShell CLI)

Write a custom script/tool that:

  • Connects to the source server using REST API

  • Recursively reads all config data (Channels → Devices → Tags)

  • Connects to each target server via REST API

  • Compares structure and pushes deltas (new or updated objects)

  • Optionally uses a dry-run/preview mode before sync

Example command:

3. Optional JSON Backup Files

  • Export the full JSON config using REST API (GET /project)

  • Store for version tracking, auditing, or rollback

  • Compare source/target backups before applying

 

4. Use OPC UA for Tag Presence Validation (Optional)

If you want to validate tag values/sync success post-deployment:

  • Use OPC UA to read selected tag values from both source and target

  • Confirm that critical tag names/values exist and match

 

5. Deployment Strategy

  • Sync only changed tags/devices

  • Batch sync per site to avoid load

  • Use consistent naming to simplify diff logic

 

Why This Works

  • No downtime (Kepware runtime continues running)

  • Scalable to many servers

  • Fully automatable with CLI

  • Works over standard protocols (HTTP/REST, OPC UA)

  • Compatible with future Kepware versions

Tools to Consider

  • KepwareConfigCLI (open source tool exists for v6.x)

  • Custom Python with requests library

  • Node-RED + Kepware REST Nodes (GUI-based orchestration)

 

Thanks,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn

View solution in original post

5 REPLIES 5

Hi @GF_13380967 

 

To help find the best tool or method for syncing Kepware tags between servers without downtime, could you clarify a few points:

  1. Which version of Kepware are you using (e.g., KEPServerEX 6.x)?

  2. Are all 14 servers on the same network or accessible via VPN?

  3. Are you open to using OPC UA or REST-based interfaces, or does your environment restrict third-party APIs?

  4. Would you prefer a GUI-based tool, scriptable CLI/PowerShell solution, or integration with a config management system like Ansible or SCCM?

  5. Is your central server Windows-based and are all the target servers also Windows?

This will help narrow down compatible and safe tools for your environment.

 

Thanks,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn

We are using EX 6.13

All on same network

We are open to OPC UA or REST based.  We don't restrict 3rd party solutions.  We currently have a vendor attempting to create a REST API solution, but it's going slow.  Looking to see if I don't need to reinvent the wheel. 

GUI, scriptable are fine. Just want to have our developers be able to run it on demand when ready to sync all servers. 

All servers are Windows. 

 

Also, would like it to be configurable via command line:

 

synckep /sourcekep://adgen64 /targetkep://wkgen64   
synckep /sourcekep://adgen64 /targetkep://crgen64   

 

Assumes above that all kepware folder structure on each server is consistent.  If not, we might need to include source & target folder structure.  All project names will be the same.

Hi, 

 

From my point of view, below is the solution I think of:

 

Kepware EX 6.13 includes the Server Configuration API, which allows programmatic access to create/update/delete Channels, Devices, and Tags without restarting the Kepware runtime.

  • API Spec: Kepware Configuration API

  • Supports: Channels, Devices, Tag Groups, Tags, Users, etc.

  • Format: JSON over HTTP (authenticated)

 

2. Scripted Sync Tool (Python/PowerShell CLI)

Write a custom script/tool that:

  • Connects to the source server using REST API

  • Recursively reads all config data (Channels → Devices → Tags)

  • Connects to each target server via REST API

  • Compares structure and pushes deltas (new or updated objects)

  • Optionally uses a dry-run/preview mode before sync

Example command:

3. Optional JSON Backup Files

  • Export the full JSON config using REST API (GET /project)

  • Store for version tracking, auditing, or rollback

  • Compare source/target backups before applying

 

4. Use OPC UA for Tag Presence Validation (Optional)

If you want to validate tag values/sync success post-deployment:

  • Use OPC UA to read selected tag values from both source and target

  • Confirm that critical tag names/values exist and match

 

5. Deployment Strategy

  • Sync only changed tags/devices

  • Batch sync per site to avoid load

  • Use consistent naming to simplify diff logic

 

Why This Works

  • No downtime (Kepware runtime continues running)

  • Scalable to many servers

  • Fully automatable with CLI

  • Works over standard protocols (HTTP/REST, OPC UA)

  • Compatible with future Kepware versions

Tools to Consider

  • KepwareConfigCLI (open source tool exists for v6.x)

  • Custom Python with requests library

  • Node-RED + Kepware REST Nodes (GUI-based orchestration)

 

Thanks,

Shashi Preetham,
+91 8099838001 | shashi@psptechhub.com,
PSPTechHub  ||  World of PTC Thingworx  ||  LinkedIn

This is what my consultant is doing but it's going slow.  Just wanted to see if anyone has existing code that they are using.  

 

Would you be interested in quoting to write the code?

Announcements


Top Tags