l ask you to remember back to
But how do you go about testing the protocol and proving that it works? This final post in the series takes you through the steps of getting connected and actually troubleshooting your OmniServer protocol.
Our main focus last month was turning the information that we learned from the protocol document of our device manufacturer into an OmniServer protocol. (For a review of how to create the protocol
Now that we have the OmniServer protocol created, what are the next steps?
It’s important that users realize it’s the nature of protocols that hardware vendor documents are not always perfect or clear. That being the case, some fine tuning is typically necessary to work around those limitations of the documentation. Fortunately, we’ve built things into OmniServer to make fine tuning as easy as possible and are always working to make it easier.
And if dealing with a high level of details like protocol design isn’t your thing, our
So I’m going to go through what the steps are to get connected to your device, to start communicating and to analyze and troubleshoot those communications to get everything working the way you need it to. Then, if you really want to get started, I’ll give you access to a
The following steps assume that you have a client program available. In this example, we use the generic OPC DA test client which installs with OmniServer (which you can also use for testing) that connects to OmniServer’s OPC DA ProgID “SWToolbox.OmniServer” with an OPC item name in the format “Topic.Item”. For your client application, check with its manual for details on how to connect to an OPC UA, OPC DA, Wonderware SuiteLink or DDE server. (For application notes on connecting to OmniServer with various clients such as Wonderware,
To begin
A Device in OmniServer represents the physical connection to your actual device in the field. For the Meklar device in our example, we use a Serial/USB Mapped device type, where we specify the COM parameters as determined in the device documentation such as Baud Rate, Parity and Stop Bits. The Omniserver COM device type is also compatible with USB devices having a software driver component that maps them to a Windows virtual COM port.
OmniServer also supports physical connections via Ethernet (TCP, UDP or Telnet) which includes connections to serial device servers, serial terminal servers, serial-to-Ethernet gateways, or Ethernet encapsulation units that have been used to connect serial devices to a network.
OmniServer even supports legacy LPT printer port connections.
The Topic in OmniServer ties together the Device with the Protocol. It tells OmniServer to look at specified device and use the specified protocol when the client program requests data from that Topic.
You will have a unique Topic created in OmniServer for each device you are communicating with. And this architecture is extremely efficient, as you only have to create one protocol for each of the same make/model of device and re-use that protocol across any number of those devices (as opposed to having to configure the same protocol multiple times). For more details on the re-usability of protocols with OmniServer,
The next step is connecting to OmniServer from a client (HMI, SCADA, other). This is because OmniServer is a true “server” in that OmniServer will not make any requests without a “client” asking it to.
As I mentioned previously, we are connecting using the sample OPC DA test client that installs with OmniServer for this example.
Ready to start working with OmniServer step-by-step?
So we’re connected to OmniServer from a client and accessing at least one item that we’re interested in from the protocol we’ve created. If you’re working with a well-organized and detailed document and everything was formatted properly in your OmniServer protocol, you will see a data value in your client application for that item.
However, let’s assume that your device documentation is ambiguous or not well-organized (which is not out of the ordinary) and this leads to your OmniServer protocol not exactly matching what the device is actually sending back. This is, in reality, a common occurrence because building protocols is a very detail-oriented process. We’re talking about making two machines talk to each other. And, in our experience with
All it takes is for one character to be out of place or not accounted for, and OmniServer will reject the message and not deliver the data up to your client because it won’t recognize the message.
Fortunately, we’ve been doing this since 1996, so we’ve built a lot of great tools into OmniServer that we’ll cover here to help you deal with the very detail-oriented nature of this type of work.
So the rest of this post will cover the various steps necessary to determine issues with your communication and address them. (For our easy-to-use OmniServer Troubleshooting Guide –
In closing, it's relatively easy to troubleshoot a protocol in OmniServer, if you keep a few ideas in mind:
As I’ve said previously, if this process is just more than you have time for, remember that we have affordable professional services if you’d prefer that we to take care of it all for you while delivering training and support like you would get with any off-the-shelf driver.
Make sure to