Technical Summary
Key takeaways:

The text shows how to design industrial application logic so that a temporary network outage, device restart, or session drop does not lead to loss of state consistency, duplicate commands, or uncontrolled resumption of operation. The reader will see why decisions on buffering, command acknowledgment, session recovery, and the state model must be made at the start of the project, because they later translate directly into process continuity, safety, and system accountability.

  • This is a matter of physical safety, not just IT convenience: losing the network connection and automatically retrying “unconfirmed” commands when it is restored (e.g. “start cycle”) can cause the machine to perform an operation twice or at the wrong time. This is a real risk to people and to the process on the shop floor.
  • The golden rule of resuming operation: If, after the connection is restored, the system cannot determine with 100% certainty what state the actuator is in, it must never resume operation automatically. Such a situation always requires explicit, deliberate confirmation from the operator.
  • Decisions must be made early, or costs will rise: the rules governing application behavior after a loss of communication must be built into the architecture from the very start of the project. Leaving this “to be agreed during implementation” leads to costly rework, manual patching of errors by the crew, and unsafe bypassing of interlocks by frustrated operators.

Resilience to temporary network loss, device restarts, and connection drops is no longer just a usability enhancement in industrial applications. It is a prerequisite for correct process operation and for maintaining accountability on the part of the manufacturer, integrator, or end user. In an industrial environment, loss of connectivity is not an exceptional event: it occurs during service work, infrastructure switchover, startup after a power outage, updates, network overload, or a simple edge-device failure. If, under such conditions, the application loses state consistency, duplicates commands, or executes queued operations after reconnection without checking the context, the issue is no longer purely an IT matter. It becomes a matter of process continuity, functional safety, production data quality, and, in the broader context of integrated production systems, accountability for design decisions.

That is why this issue must be addressed at the start of the project, not after the first commissioning. An architecture resilient to communication interruptions affects how machine states are modelled, how data is buffered, the order in which commands are acknowledged, the conditions for re-establishing sessions, and the logic for returning to operation after a restart. If the team postpones these decisions, it usually ends up with costly workarounds: locally patched exceptions, manual queue clearing, additional operator interlocks, or an expanded supervisory layer built only to compensate for the lack of predictable device behaviour. A practical evaluation criterion is simple: for every significant function, it must be possible to answer clearly what happens after a loss of communication, what happens after a restart, and who confirms the resumption of operation. If the answer is “it depends on the implementation” or “the operator will see that something is wrong,” then this is not yet a design decision, but a transfer of risk to operations.

This is most visible where the application interfaces with machine or process motion. Imagine a system in which the operator panel issues a command to start a cycle, and the controller executes it with a delay because of a temporary loss of connection. If, once communication is restored, the application resends the command because it did not receive an acknowledgement, the operation may be executed twice, or it may start under conditions different from those the operator saw when issuing the command. At this point, communication resilience starts to overlap with protection against unexpected start-up: not every restart is a safety issue, but any restart that can change startup conditions without deliberate confirmation and without checking the device status already requires analysis at that level. The same applies to interlocking devices and guard locking: if the application logic encourages personnel to bypass burdensome interlocks after a network failure, the problem does not lie solely in user behaviour, but in the design decision itself.

From a management and compliance perspective, the key issue is therefore not whether communication interruptions “do happen,” but whether the design can demonstrate safe and predictable behaviour in such boundary conditions. This is also the right point at which the topic moves into practical risk assessment: functions for which delay or the loss of part of the historical data is acceptable must be separated from functions where loss of context may lead to an operator making the wrong decision, product damage, or a hazard during restart. It is worth measuring not an abstract “system stability,” but indicators that show the design consequences: the number of ambiguous resumptions after restart, the number of commands requiring manual state reconciliation, the time needed for a safe return to operation, and cases in which the system cannot demonstrate whether a command was executed. Only against this background do normative requirements and decisions on technical measures make sense: analysis of startup conditions after power loss, risk assessment for loss-of-communication scenarios, and the selection of interlocking and supervisory solutions where the IT mechanism alone does not provide sufficient certainty.

Where cost or risk most often increases

In industrial application projects designed to withstand temporary network loss, device restarts, and connection drops, costs most often rise not because of the technical mechanisms themselves, but because of incorrect assumptions about the state of the process after a disturbance. If the team assumes that once communication is re-established the system will simply “return to normal operation,” sooner or later it will pay for manual state reconciliation, control logic corrections, additional acceptance tests, or operating restrictions imposed only after commissioning. The most expensive situations are those in which the application cannot state clearly whether a command was executed, interrupted, duplicated, or merely registered on the interface side. This is not a matter of user convenience, but of responsibility for the physical effect: drive movement, a setpoint change, valve opening, alarm acknowledgement, or cycle resumption.

Project delays can also stem from a flawed split of responsibilities between the operator layer, the middleware application, and the machine control system. If the decision about what should happen after a restart is deferred “to implementation,” the team usually ends up with inconsistent rules: the panel shows the last known state, the controller starts an initialization procedure, and the supervisory system replays queued commands without knowing whether they are still valid. In practice, this has to be decided earlier and explicitly: which operations can be repeated without side effects, which require confirmation of the current state of the equipment, and which must expire and move to a safe state after a loss of communication. A good decision criterion is simple: if an incorrect resumption of an operation can change the energy state, the position of an actuator, product quality, or human safety conditions, then you must not rely solely on the application’s memory of the last state.

This is easy to see in a sequence that, before communication was lost, sent a command to close the guard and start the cycle, and after the operator station restarts restores a “ready for operation” screen. If the application does not distinguish between the states of command accepted, execution confirmed, execution interrupted, and indeterminate state, the operator gets a picture that appears consistent but is actually incomplete. The result may be unnecessary downtime because the operating staff are afraid to resume the process, or the opposite: unauthorized start-up because the interface does not show that re-verification is required. For the project manager, this later means a costly root-cause investigation, changes to test scenarios, and the need to add workaround procedures. For the product owner, it means the risk of complaints and disputes over the scope of responsibility, especially when the requirements documentation does not clearly define system behavior after a power loss or communication failure. That is why it is worth measuring not only availability, but also the number of indeterminate states after restart, the number of operations requiring manual reconciliation, and the time needed to reach a safe ready state.

A separate cost category is confusing communication robustness with functional safety. The fact that an application can buffer data, retry transmission, or restore a session does not in itself mean that the machine will behave safely after a connection loss. When the effect of a disturbance reaches functions related to motion, stored energy, interlocks, or restart conditions, the issue naturally becomes one of risk analysis. At that point, you need to examine not only the probability of a network failure, but above all the possible consequences of incorrect state information and incorrect resumption. If the system includes hydraulics, there are also requirements for actuator behavior during power loss and pressure drop; in such cases, application-level decisions cannot conflict with the design principles applicable to hydraulic systems. Likewise, where recovery to a ready state depends on closing a guard or releasing a guard lock, the issue may also extend to interlocking devices and guard locking and resistance to tampering, because pressure for a “quick restart” very often leads later to unsafe operating practices.

A normative reference only becomes meaningful at this stage, once it is clear which scenario carries technical and organizational consequences. If loss of connection or a restart can change the conditions for safe start-up, this must be described in the risk analysis rather than left as the default behavior of the software manufacturer or controller supplier. If, after a power loss, the actuator system can assume a state that is unfavorable for the process or dangerous, it should be checked whether the requirements for the given type of drive and medium call for additional design measures independent of the application logic. A practical boundary criterion is this: when an error after state restoration can be removed only by an operator procedure, the issue is no longer just an IT matter, but also a design and compliance matter. This is exactly the point at which a decision on application architecture stops being a matter of implementation convenience and becomes part of the responsibility for the safe and predictable behavior of the entire system.

How to approach the issue in practice

In practice, the resilience of an industrial application to a temporary network outage, device restart, and loss of connection does not begin with choosing a technology, but with deciding which failure effects are acceptable and which are not. At the outset, the team should separate three things: the process state, the control state, and the state presented to the operator. That distinction determines whether, after communication is interrupted, the application should merely restore the view or whether it is also allowed to resume control, the command queue, or the process sequence. If these layers are collapsed into one, the project usually ends with costly exception handling added later, manual workaround procedures, or a dispute over responsibility after commissioning. For a manager, one point matters here: the absence of an explicit architectural decision does not reduce risk; it merely shifts it to the acceptance, service, and compliance stages.

In operational terms, this means defining for each critical case what the system must preserve after a disturbance and what it must not preserve. It is not enough to say broadly that it “should work after reconnect”; the rules must be precise: which data is restored from persistent storage, which must be confirmed by the device, which commands expire after a timeout, and which require renewed authorization or operator confirmation. A good decision rule is simple: if, after a restart, it is impossible to determine unambiguously whether an earlier command was executed, the system should not execute it again automatically. The same applies to alarms, batch counters, operating modes, and process interlocks. This may seem like a minor design detail, but without it the cost of integration testing rises, because every ambiguity comes back as a defect that is hard to reproduce. It also increases the responsibility on the solution owner’s side, because later it must be shown that the behavior after loss of communication was predictable and intentional.

A typical example is an application that sends a command to start a cycle to the controller and then loses communication before receiving confirmation. If, once the connection is restored, the application sends the command again “just to be safe,” it may start the cycle a second time. If, on the other hand, it assumes the command was definitely executed, it may reconstruct the process state incorrectly and allow subsequent operations in the wrong order. The right approach is to design commands and responses so they are distinguishable over time and identifiable, and so that after a restart the actual device state can be checked before business logic resumes. At this point, it is worth measuring not only system availability, but also the number of ambiguous state recoveries, the number of manual interventions after restart, and the time needed to restore operation safely. These are the indicators that show the real cost of the architecture, not just developer convenience.

The boundary with risk assessment appears when incorrect state recovery can change the behavior of a machine, sequence, or actuator system. In that case, the issue stops being purely IT-related and moves into the area of practical risk assessment, including in the sense of the methodology used in ISO/TR 14121-2. If, after a power loss or device restart, there is a possibility of automatic resumption of motion, media supply, release of an actuator, or transition to an operating mode without the operator’s deliberate consent, the issue also becomes one of protection against unexpected start-up, which requires a broader view than application logic alone. Where hydraulic or pneumatic drives are involved, design requirements and system behavior after loss of energy must also be considered, so a decision on a “soft” resumption of operation cannot be made in isolation from the technical conditions of the entire installation. From a compliance perspective, the safest approach is not to infer process intent after a disturbance, but to define the conditions for returning to operation in advance and assign them to specific responsibilities: the application, the controller, the actuator system, and the operator.

What to watch for during implementation

Most implementation errors in industrial applications designed to withstand brief network outages, device restarts, and loss of connection do not result from the technology itself, but from incorrect allocation of responsibility. The team assumes that “resilience” will be handled by the communication layer, the cloud provider, or the controller, while the real problem lies in the relationship between process state, device state, and data state. If these three layers are not separated as early as the acceptance stage, the project starts producing only apparent reliability: the application works after restart, but no one can demonstrate whether it restored a state that is correct, safe, and consistent with physical reality. This has a direct impact on cost, because later fixes usually require changes at the same time in the control logic, operator interface, event logging, and start-up procedures. It also affects accountability, because in the event of an incident it is difficult to defend a solution in which it was never clearly defined who confirms readiness to resume operation, and on what basis.

In practice, the most dangerous trap is treating loss of communication as an ordinary technical fault rather than as a separate system operating state. If, after a network outage, the application buffers operations and then replays them once the connection is restored without checking the current context, it may perform actions that are delayed, no longer authorized, or inconsistent with the actual state of the line. A similar problem arises after a device restart: the previously saved logical state may be formally complete, but physically outdated because, in the meantime, the position of an actuator, the pressure of the medium, the operating mode configuration, or operator intervention has changed. A good decision rule here is simple: if, after state recovery, the system is to perform any action affecting the process, it must first be possible to verify that the action is permissible based on current signals, not solely on the history recorded before the disturbance. If that verification cannot be demonstrated, the safer solution is to move to a state that requires explicit confirmation or re-synchronization.

A good example is a station that, after a brief communication loss, drops its connection to the supervisory system but still locally sees some of the input signals. From the program’s perspective, it is tempting to “complete the sequence” once the connection returns so as not to lose cycle time. The problem starts when, during the interruption, the operator removed the part, a relief valve actuated, the panel restarted, or the drive switched to a different mode. In the application logic, everything may still look consistent, yet resuming the step can still become a process error or a hazard. That is why, during implementation, it is worth assessing not only the number of lost messages or the session recovery time, but also indicators that show the quality of behaviour after a disturbance: how often the system required manual resynchronisation, how many operations were rejected as no longer valid, and how many restarts ended by going to a safe state instead of resuming automatically. These are better indicators of solution maturity than service availability alone, because they show whether resilience has been achieved at the expense of process control.

The point at which this stops being purely an application architecture issue comes sooner than project teams usually assume. If loss of connection, a controller restart, or restoration of the task queue can affect machine movement, energisation, or a change in the state of an actuator system, the issue moves into practical risk assessment. At that point, it is no longer enough to argue that the solution “usually works correctly”; what is needed is an analysis of deviation scenarios, including logic close to the approach used in ISO/TR 14121-2. If, in addition, there is a possibility of an automatic restart of the function after power or communications are restored, the issue also falls under hazard identification in accordance with ISO 12100 and should be considered more broadly in relation to start-up conditions and the energy isolation state. Where the system includes hydraulics or pneumatics, the programming decision cannot be separated from how the installation behaves after a loss of energy; in such cases, the design requirements applicable to the entire system must also be checked, not just the correctness of the application code.

How do you design industrial applications that can withstand brief network outages, device restarts, and loss of connection?

Because it affects the machine state model, command acknowledgment rules, data buffering, and the conditions for resuming operation after a restart. Putting off these decisions usually leads to costly workarounds and shifts the risk to operations.

It must be clearly defined what happens after a loss of communication, what happens after a restart, and who confirms the resumption of operation. If the answer depends only on the implementation or the operator’s response, the risk has not been properly eliminated by design.

Where the system cannot show whether a command was executed, interrupted, duplicated, or only registered in the interface. This applies in particular to operations with a physical effect, such as actuator movement, a setpoint change, valve opening, or cycle restart.

Not always, because once communication is restored, process conditions may already differ from those at the time the command was issued. The article emphasizes that some operations can be repeated without side effects, while others require confirmation of the object’s current state or a transition to a safe state.

It is worth tracking the number of ambiguous restarts after a reboot, the number of commands requiring manual state reconciliation, the time needed to return safely to operation, and cases in which the system cannot demonstrate whether a command has been executed. Such indicators reflect the real risk better than a general assessment of “system stability.

Share: LinkedIn Facebook