10-11-2012, 05:06 PM
Using the Right Networking Protocol
Using the Right Networking.pdf (Size: 81.1 KB / Downloads: 26)
Overview
Control and monitoring applications normally involve a variety of systems that must exchange information, often over Ethernet. An embedded controller may be reading data from peripheral
instruments, receiving operator input from an HMI (human-machine interface), or streaming test results to a central data management system. There are several networking protocols available to
accomplish these tasks; this tutorial will guide you through the task of choosing the right protocol for your application. It will cover the most common communication models used in control and
monitoring applications, and recommend networking protocols best suited to each situation.
Command, Monitor or Stream
Each type of communication involves targets (usually data acquisition system or controllers) and hosts (usually displaying the HMI) that can be arranged in several possible configurations. You can
have communication between a single target and a single host (1:1); between multiple targets and a single host (N:1), or communication between single target and multiple hosts (1:N). The
following section describes each communication type used in machine control applications, their common systems configurations, and their networking and data transfer requirements.
Command or Message-Based Communication
Command or message-based communication is infrequent information transfer triggered by a specific event. This could be a button press or an alarm, which then triggers a specific response. In
command-based architecture there are two systems types involved: a commander system (host) and a worker system (target). The commander sends instructions that the worker must execute.
Commands must be delivered in a lossless manner and should have minimal latency. For example, when an operator pushes a button, they expect the associated action to be executed without
having to the push the button again. They also expect the system to respond in a reasonable time frame. The most common configuration is 1:1, but N:1 and 1:N are also possible.
Process Data Communication
Process data communication consists of periodic transfer of the latest values of process variables. This type of communication is the most common communication and is useful for control
applications and for HMIs used for displaying current system states. For instance this would be used for periodic updates sent from one or many embedded controllers to an HMI, which monitors
the status of the machine(s). The operator needs to see the current state of the machines so lossless transmission is not a requirement because the real-time controller or HMI is only acting upon
the latest value.
This type of data transfer can be used between embedded controllers and may need to run at high speeds. However the most common use of process data communication is for updating an HMI.
This type of communication involves slower update rates because the data is being viewed by humans. Update rates of 1 to 30 Hz are usually sufficient; anything faster taxes CPU and memory
resources, and is more information than the human operator can visually process. A good rule of thumb is that numeric displays should be updated at rates no faster than 1-2 Hz, and for graphical
displays, 30 Hz provides smooth updates.
Streaming/Buffered Communication
When streaming data, large amounts of information are sent continuously but not necessarily in real time. This type of communication is useful when you want to send lots of data and you need to
capture each data point. Often, though not always, streaming is unidirectional and has a 1:1 configuration. It involves continuous buffering of the data so no data is lost. A common use of streaming
communication is when a target is doing high speed data acquisition, and the data must be transferred to the host for logging or post-processing.