23.03.2017 Views

wilamowski-b-m-irwin-j-d-industrial-communication-systems-2011

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

55-20 Industrial Communication Systems<br />

with lower guarantees are sufficient. For example, when switching on a siren to warn of the occurrence<br />

of an alarm, the “at least once” semantics would be sufficient.<br />

Another issue is that of event ordering. If two events are generated inside one device in the order EV1,<br />

EV2, these are not guaranteed to arrive at another device in the same order. If an application relies on<br />

the ordering of events to correctly execute its algorithms, care should be taken to choose <strong>communication</strong><br />

service interface FBs whose implementation guarantees message delivery in the same order.<br />

Some implementations of the <strong>communication</strong> service interface FBs may allow quality of service<br />

(QoS) parameters to be specified. Others may have fixed QoS parameters. In conclusion, one should be<br />

careful of the exact semantics implemented by the service interface FBs as these may affect the outcome<br />

of the IEC 61499 control application.<br />

55.12 Failures in Distributed Applications<br />

Although distributed applications may have many advantages, they are not without their drawbacks.<br />

One of these, as was discussed previously, is the fact that the <strong>communication</strong> network may exhibit<br />

failures that will affect the outcome of the application execution. Another is the failure of the devices<br />

executing the control logic itself.<br />

When writing an <strong>industrial</strong> strength control application, usually all failure modes of the controlled<br />

process must be taken into account, so that the physical machinery under control always remains in a<br />

safe state. Likewise, the failure of the controlling devices, i.e., the PLCs executing the logic and the <strong>communication</strong><br />

networks linking them, must also be taken into account.<br />

For applications that run on a single PLC, usually either the control application fails completely when<br />

the executing PLC fails or it does not fail at all. Complete failures of the control application are usually<br />

handled by external safety devices.<br />

However, when writing a distributed application, one must be careful of how this application may fail,<br />

as it may have partial failures when one or more, but not all, of the PLCs that are executing the distributed<br />

control application fail. Even more likely is the possibility of failure of the <strong>communication</strong> network<br />

that connects the distributed PLCs.<br />

Now, to overcome partial failures of a distributed application, the application itself must be aware of<br />

this scenario and be prepared to take appropriate action when it occurs. However, in order to do so, it<br />

must first be able to identify the fact that a partial failure occurred (be it on the <strong>communication</strong> network<br />

or another executing device). This identification may be done either at the application level or by the<br />

<strong>communication</strong> service interface function blocks (SIFBs).<br />

IEC 61499 <strong>communication</strong> SIFBs typically indicate the presence of failures by emitting local events<br />

while their QO output is set to false. However, as was stated previously, the capacity of a <strong>communication</strong><br />

SIFB to detect the failure and consequently emit the event depends on the underlying <strong>communication</strong> protocol.<br />

For example, some protocols include “keep alive” messages that are exchanged even when no data<br />

need to be transmitted so that the lack of these messages may be safely assumed to be the result of a failure.<br />

When <strong>communication</strong> SIFBs are not able to identify failures, then these will need to be identified at<br />

the application level. One simple means of doing this is to configure the control applications to periodically<br />

call the PUBLISH and/or CLIENT (or SEND, as in our example) SIFB, even when no new data<br />

need to be transmitted. Another possibility is the implementation of handshakes and timeouts at the<br />

application level.<br />

55.13 Conclusion<br />

The FBs of IEC 61499 are a powerful architectural model for abstract yet executable specification of<br />

distributed control <strong>systems</strong>. It can be further extended by adding <strong>communication</strong> over any particular<br />

network protocol. Interfaces to the protocol need to be implemented in libraries of CIFBs. Advanced<br />

software tools can make adding the explicit <strong>communication</strong> seamless and hidden from the user.<br />

© <strong>2011</strong> by Taylor and Francis Group, LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!