For users that have never worked with OmniServer, it can be intimidating thinking about how to take information out of a device manual or protocol document and convert that into an OmniServer protocol for your device. OmniServer makes this significantly easier, though, than alternatives such as custom code, especially once you're familiar with how OmniServer works and how to get started.
Continuing our Tech Support Corner blog series, this blog post covers six tips I know should help any relatively new users be successful getting OmniServer connected to your non-standard devices as quickly as possible.
If you happened upon this post and you've never heard of OmniServer, I just want to quickly give you a quick rundown of OmniServer's most basic purpose:
OmniServer is a user-configurable I/O Server which means if you have a protocol document that tells you the format of the commands and responses for your device, there's a very good probability that OmniServer can be configured to communicate with your device. (Find out more about how OmniServer works here)
With that flexibility comes a high level of functionality to accommodate a wide range of devices. While far from an all-inclusive list, below are some of the tools I always recommend to help jumpstart your OmniServer projects and get your devices connected faster and easier. (For specific posts dealing with protocol design and protocol document interpretation, click here.)
1. Use the OmniServer Topic Wizard
Starting with Version 3.0.112, by default, OmniServer has a Topic Wizard that launches with the OmniServer Configuration. While it is possible to hide the wizard on startup (especially if you're a long-time OmniServer user like myself), it's a useful tool for the uninitiated OmniServer user that steps you through the process of configuring the required OmniServer components in an intuitive, guided manner.
Starting with the Topic, which is used to provide client applications an entry point for accessing a specific device using a specific protocol, the wizard provides straightforward options for defining the desired topic name and selecting or creating:
- The protocol to use for communications
- The device to use for communications
You can select any existing protocol (including one of the included sample protocols) or create a new protocol (and configure the items and messages later using your protocol documentation). Similarly, you can select any existing serial, Ethernet or LPT device for the physical connection or create a new device, specifying the settings required for the connection to your device.
2. Use the OmniServer Visual Protocol Editor
Starting with Version 18.104.22.168, by default, OmniServer has a Visual Protocol Editor (VPE) to ease the protocol configuration process by adding a number of time-saving and user-friendly capabilities when compared with the Legacy Protocol Editor (which is still included for users more familiar with the traditional look-and-feel that prefer that method).
In benchmark testing between the VPE and LPE, the visual editor has been shown to lower protocol configuration time by up to 40% through the following intuitive and time-saving functions:
- Drag-and-Drop Protocol Message Configuration - While you can still directly type into a message field as you've always been able to, the VPE allows you to drag control characters, items, topic variables, error detection codes and more from specific sections/modules with the available lists of each component. This makes it easy to piece together the pattern required for your device's messages.
- User-definable "Favorite" Message Sequences - One of the sections/modules you can drag-and-drop from is the Favorites section - you can define your own custom sequences for easy addition to your protocol messages. For example, if you find that your device's protocol has one or more repetitive combinations of bytes/characters, you can define those as favorites and drag-and-drop once instead of defining multiple characters/bytes each time.
- User-Configurable Layouts for the Message Configuration Section - All of the modules available when configuring protocol messages can be visible or not visible, as well as, rearranged in any order or configuration that you'd like. (No need to have topic variables or register numbers visible and taking up screen space if you aren't using any of those.) And you can save your preferred layout for future use.
- Table-Based Protocol Component Configuration - With table-based lists for items, messages, etc. and their associated settings in separate columns, those components are then editable right in the table without having to open any other dialog windows, providing a streamlined configuration process when adding lots of items or other components to a protocol.
- Filtered Views for Most Components - Filtered views for all protocol components (such as Items) and protocol messages are useful for quickly finding a specific special character or an item when your protocol has a lot of items.
The time the visual editor saves you on protocol configuration is time you can spend on other important tasks in your busy schedules.
3. Make a List of Data Items You Need from Your Device
It may seem like a trivial tip, but clearly defining the pieces of data you need to collect from your device is actually very important to successfully creating an OmniServer protocol. The reason being, I always recommend creating all of your Items as a first step when configuring your protocol in OmniServer.
This is because you can't properly configure a command or response message that includes data you want to received from a device or send to the device from a client without having your items available in the protocol (you can't add an item that doesn't exist to a message). So, to streamline the process, reviewing your device's protocol documentation and identifying the individual pieces of data that you need to send or receive (including their data type, such as signed or unsigned integer, real/floating point, string, etc) and making a list of those is useful for making the item creation process as quick as possible.
4. Start with One of the Included OmniServer Sample Protocols
And OmniServer actually installs with 14 generic or specific protocols that make a good starting place when your device's protocol is similar. The key is choosing one of the samples that resembles your device's protocol as closely as possible and modifying it to match what your protocol documentation indicates is required for your device.
For example, the BARCODE sample protocol is a generic protocol that covers barcode scanners with a Response Only message format of just the barcode value followed by a Carriage Return (Hex 0D) control character. Now, it's easy to tweak this sample to match your specific barcode's format, if it differs from the format as installed.
For instance, if your scanner uses a Line Feed (Hex 0A) as the termination character instead of a Carriage Return, you can simply remove the Carriage Return and drag-and-drop a Line Feed to replace it. Or if your scanner has a starting character in front of the actual barcode value, you could simply add the corresponding starting character before the "Code" item in the sample message.
5. Use OmniServer's Import/Export Tools to Scale Larger Projects
And OmniServer supports CSV import/export for many of its configuration elements for helping users scale configurations up more efficiently for larger projects. Elements that support CSV Import/Export are:
- And within protocols:
- Register Numbers
- Topic Variables
- Command/Response Messages
I always recommend configuring one topic, device, item, etc and then performing a CSV export to use as a template. That way you have the proper columns to ensure your CSV imports are successful. You can then take that template and proceed to added all of the additional elements you require for your project in your chosen CSV editor (such as Microsoft Excel).
6. Use the OPC Test Client
And last but not least, OmniServer installs with the Software Toolbox OPC Test Client for easily testing out your new topic, device and protocol configuration quickly to ensure that everything is working as expected prior to moving on to your own client configuration. While it can be launched separately from OmniServer and configured manually, it's truly convenient when you launch the client from the OmniServer Configuration toolbar.
When launched from the toolbar, the test client automatically subscribes to all of your configured topics and items for instant communications to easily confirm successful operation of your configuration. And, if there are any issues, the client can be used in conjunction with the built-in OmniServer diagnostic tools to find the issue and resolve it fast.
And the Software Toolbox OPC Test Client is also available as a standalone install useful for testing against any OPC DA server - click here to request a free download.
Where can I get more information?
If you're new to non-standard device connectivity, perhaps you have a protocol that you’re not really sure about how to get started. As always, we're happy to help with a complimentary review of your protocol documentation or to answer questions you may have.
And don't forget to subscribe to our blog for more quick and easy OmniServer tutorials and tips, as well as, other relevant industrial automation topics and how-tos. And, make sure to download the latest OmniServer free trial to try it for yourself with your own devices.