 |
Clients
initiate communications, servers respond to requests
(they serve). A client is just another name for a master (makes
the requests) and a server is merely a slave. In a traditional SCADA
system, the central SCADA computer polls the remote devices (PLCs,
RTU, etc.) and is the client (master). The field devices that respond
to the polls (requests) from this master are the servers. When the
link between the master and slave is made over Ethernet or other
Internet-enabled media (wireless, phone modem, etc.) then the devices
being polled are “Internet servers”. There is an important
point here. Web servers are by far not the only, nor are they the
most efficient type of server you may use to retrieve data over
the Internet. A conventional slave I/O driver that responds to requests
for data over an IP link is also an “Internet server”.
 |
There is however an attractive alternative
to placing a server in embedded field devices. That alternative
is to use a field device that is a client (or master) that sends
data automatically on a scheduled or on demand basis. There are
many advantages to reversing the transfer direction in publicly
accessible networks, making the field devices act as clients and
having the receiving computer be the server. A client does not
have to be polled; it simply sends you data. There is a sensibility
in having a central server collect data from numerous distributed
clients. As we will see, these advantages carry over to one-on-one
data exchanges between a remote client and a standalone server
(perhaps a laptop computer) as well.
Getting Through Firewalls
 |
Some
years back, a number of major chemical suppliers established a
plan to supply their field personnel with laptops running web
browsers. The idea was to access embedded webservers in the chemical
delivery equipment installed in their customer’s facilities.
This scheme hit the proverbial brick wall – the firewalls
that protected their customer’s access points. They found
that security measures established at these target facilities
would not permit outsiders to access data within their protected
networks. They quickly learned that the key to success was to
reverse the flow of data and let the embedded equipment report
as a client.
Typically, firewalls are designed to let their
internal (inside the firewall) clients send traffic out through
the portal. These firewalls recognize the IP address of the reply
message as the one that was addressed by the outgoing message
and let the reply pass through. When a browser internal to the
protected network accesses a web server, it permits the selected
web site to send pages to the browser. Similarly, clients embedded
in field devices can send data safely out through a firewall and
in return receive acknowledgements and even further requests for
more data.
 |
Putting aside the technical issues, it is far
more acceptable to the managers that ultimately grant permission
for data exchange to have devices transmit predefined and functionally
limited data (as clients) than grant access to outsiders to penetrate
and remove data from servers (and potentially unintended
other sources) within their facilities.
Consider also that in any system that is accessed
from the outside, there is risk of intrusion.
A slave (server) must always be listening — ready to be
polled by the master. It has been said that the only truly secure
system is one that is not connected. Perpetually accessible
systems invite intrusion. By contrast, a client-initiated system
is not vulnerable to attack or unauthorized access because it
does not accept unsolicited, externally originated messages.
A client (communications master) can open its communications
channel only when it has a message to send and then only
accept reply messages in its expected format from the server
that it addressed.
“Report
by Exception” can Cut Response Time
Client initiated data transfers provide another
major benefit. Alarm
conditions and service requests are reported immediately by the
monitoring equipment that call out or “report by exception”.
Report by exception eliminates the delays that are commonplace
in polled systems. Report by exception has another important benefit
in the reduction of message traffic.
 |
Polled systems are constantly generating messages
in the attempt to determine the status of remote stations. Client
initiated messaging only generates traffic when there is something
significant to report. Reduction of the number of messages is
especially
economical in systems in which you pay for each call or pay for
bandwidth.
Internet Access can be
Expensive or Difficult
Each server (or
slave) in a polled system needs to have a known IP address so that
master can find it. Unfortunately static IP addresses are scarce
resources that are often expensive to obtain or simply unavailable.
The broadband service provider used by SIXNET services both
residential and business customers. Residential service is approximately
$40 per month, while business access is around $300. The principal
difference is that the business access provides fixed IP addresses
so that externally accessible servers can be placed on the network.
Clients,
by contrast, do not need a known IP address. Often, through the
use of DHCP, an IP address is temporarily assigned to the client.
When a request is sent from the client to a server, it contains
this assigned address. The server merely responds to this address.
The ability to use DHCP and not require fixed (known) IP addresses
is a major advantage to client-based field devices, from both
a cost and logistics standpoint.
Readily
Available Client Transfer Functionality
An Internet Client may be as simple as a master
I/O driver that transmits register data on a scheduled or event
driven basis. Here are some examples of free (or otherwise inexpensive)
client-initiated data solutions that will deliver information
over an Internet or Ethernet link.
These client-based solutions have no per-controller licensing
fees.
Kepware
OPC Server
The SIXNET protocol driver supplied by Kepware
as part of their feature-rich OPC server can act as both a master
(client) and a slave (server). It can poll I/O in the traditional
manner, but it will also accept and acknowledge client-initiated
transfers (acting as an I/O slave). A version of this OPC
server that will receive data from one or two stations (32 I/O
maximum) is provided at no charge. Large systems may be serviced
by a single license that will accept a large number of clients
with no “per client” licensing fees. Get
More Information.
Sixlog
Data Record Transfers
SIXNET provides client initiated transfers of time-stamped historic
data and events as part of the Sixlog option for the I/O Tool
Kit. A data server (Windows
software) that receives the data and formats it into convenient
ASCII files is provided at no additional charge. No per station
licensing fees are required. Redundant
servers may be installed using the same license. Get
More Information.
|