# KEPserverEX restart without restarting Ignition gateway?

**URL:** <https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595>\
**Category:** Ignition\
**Created:** [March 12, 2025, 5:51pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595 "2025-03-12T17:51:17Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 12, 2025, 5:51pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/1 "2025-03-12T17:51:17Z")

</div>

I assisting with an Ignition installation running on an old Windows server. It's using KEPserverEX V6.13 to connect to a bunch of Elau / Schneider PacDrives. Every few weeks the KEPserverEX seems to stop providing data.

We don't seem to be able to reinitialise the KEPserverEX without closing it down, stopping the Ignition gateway, restarting the KEP package and then restarting Ignition.

What are we missing here?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 12, 2025, 6:08pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/2 "2025-03-12T18:08:30Z")

</div>

Don't know, you'll have to get some logs and maybe Wireshark captures. What version of Ignition is this?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [March 12, 2025, 6:32pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/3 "2025-03-12T18:32:53Z")

</div>

Have you by chance tried using [system.opc.setServerEnabled()](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-opc/system-opc-setServerEnabled) on the Ignition side?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 12, 2025, 7:03pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/4 "2025-03-12T19:03:57Z")

</div>

Ignition V8.1.42.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 12, 2025, 7:06pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/5 "2025-03-12T19:06:05Z")

</div>

Search these terms for loggers and set them to DEBUG:

- OpcUaSubscriptionModel
- OpcUaSubscriptionSynchronizer

Bonus points if you disable security on the connection and start a Wireshark capture.

Then re-initialize Kepware and wait a bit for Ignition to attempt to reconnect and re-establish subscriptions.

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 12, 2025, 7:20pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/6 "2025-03-12T19:20:20Z")

</div>

> [@JordanCClark](#):
>
> Have you by chance tried using [system.opc.setServerEnabled()](https://www.docs.inductiveautomation.com/docs/8.1/appendix/scripting-functions/system-opc/system-opc-setServerEnabled) on the Ignition side?

No!  
So running this in Script Console,

```python
# Retrieve a list of all servers in the Gateway.
allServers = system.opc.getServers(True)
 # Iterate through each server.
for server in allServers:
	print server

```

returns,

```python
Ignition OPC-UA Server
Machine12 OPC-UA (This is reading a KEPserverEX on a machine HMI)
Kepware (The troublesome baby)
B&R PVI Server

```

So that's something new for me. Thanks.

What would be the plan here? Create a simple app with a button to loop through allServers looking for 'Kepware' and set that to `True`?

I can set that up for the next occurence.

@Kevin.Herron, the KEPserverEX is on the same computer as Ignition. What am I going to see with Wireshark?  
We'll have a look at the logs as you suggest.

Thanks, chaps.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [March 12, 2025, 7:22pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/7 "2025-03-12T19:22:25Z")

</div>

> [@Transistor](#):
>
> What am I going to see with Wireshark?

The same thing you'd see if it wasn't on the same computer as long as you select the right network adapter (probably loopback in this case).

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [March 12, 2025, 7:45pm UTC](https://forum.inductiveautomation.com/t/kepserverex-restart-without-restarting-ignition-gateway/103595/8 "2025-03-12T19:45:41Z")

</div>

> [@Transistor](#):
>
> What would be the plan here? Create a simple app with a button to loop through allSe

That's what I did. 🙂
