If you’ve ever dealt with a computing environment that’s subject to unreliable or fluctuating power, you know how frustrating it can be. Power loss or inconsistent voltage can wreak havoc on computer controlled systems and the data they collect. An Uninterruptible Power Supply (UPS) is a vital piece of equipment in many industrial computer applications, ensuring consistent power regardless of external factors. More recently, internal UPS solutions have become a popular option for users who need to protect their systems while maintaining a small hardware footprint.
Solving Internal UPS Limitations
While internal UPS systems offer a range of benefits, from ease of monitoring to UPS mode flexibility, they also present a significant logistical challenge: the batteries. Because the Lithium batteries used in many UPS systems have to be shipped separately due to safe handling regulations, they need to be installed by the user after the system has been delivered. Previously, this necessitated separating the case lid from the chassis to access the UPS module. This process not only adds to system installation time, but can also impact cooling efficiencies if the case lid is not re-installed properly. Replacement of the batteries should they run low also required this same disassembly process.
For the ML450, our engineering team designed a unique access panel, allowing for easy installation of the batteries while still maintaining the integrity of the fanless chassis. The user simply removes four screws, installs the batteries and replaces the hatch lid, making initial installation or required replacement simple. It may seem like a minor adjustment, but implementing this system will save users significant time while ensuring that their power backup needs are met.
In addition to the optional UPS hatch, the ML450 systems join the other UPS computers in our line by offering expandable storage options, with configurations available with up to three 2.5” HDDs or SSDs.
The Logic Supply team spent last week at ISC East 2015 in NYC. ISC East, the largest security industry tradeshow in the Northeast, brought together reps from more than 200 brands, accounting for every facet of modern security. For their part, Brett, Justin and Joe from Logic Supply were on hand to show off our selection of industrial and rugged Network Video Recorders (NVRs) and talk with attendees about the challenges, and solutions, to today’s advanced security installations.
The Growth of Mobile Security
It felt appropriate to be taking our security hardware line out on the road since one of the main focuses at this year’s ISC East show was mobile surveillance. We spoke to a number of integrators and solution providers who are working on large scale projects involving transportation security. From multi-zone surveillance systems on trains, to shipping professionals looking to keep a closer eye on their cargo fleet, the ability to record and access video feeds from in-vehicle deployments was a frequent topic of conversation at the Logic Supply booth.
The challenges in mobile surveillance range from reliable power to vibration resistance, and it takes a specialized system to be able to stand up to the rigors of in-vehicle deployments. Over the two days of ISC East we had the pleasure of answering a number of questions about the important role an industrial NVR serves in creating a reliable security network.
Security Concerns in Building Automation
We’ve seen a significant uptick in the building automation industry in recent months and that trend followed us to NYC, where security experts were on the lookout for hardware suited for access control and monitoring in a wide range of commercial and residential applications. There was a lot of interest in our range of industrial PCs which can accommodate a wide range of specialized I/O. We also had the chance to show off our new line of rugged Ethernet switches which allow users to connect additional cameras, sensors or peripherals to their existing hardware.
Video Management In Focus
While we saw plenty of camera companies on the show floor, the sheer number of video management software offerings may have been one of the bigger takeaways from our time at ISC East. We spoke with a number of software providers interested in offering their clients a more reliable NVR platform. We’ve partnered with Milestone Systems to create the XProtect Ready MX1000, their first rugged mobile NVR solution, and as the market expands to include even more challenging security environments, we look forward to working with other solution providers to better serve this growing industry.
Cellular data has become a necessity for many of us. Whether we’re remotely uploading a recent photo from our smartphone, or using the GPS map system in our car, remote data is vital in today’s connected world. But the importance of cellular data now extends well beyond the world of consumer electronics.
In the past, the use of cellular data for industrial computing was rare due to the usual proximity an industrial PC had to either wireless or wired internet access. However, the need for remotely connected, rugged computers has grown exponentially in just the last few years, creating a need for hardware complete with reliable cellular network access.
Until fairly recently, the barrier to entry for cellular data in the world of IPC was twofold; speed of the connection and cost. But with the arrival of 4G LTE, both of those concerns have begun to evaporate and the use of, and need for, cellular data in the world of IPC has expanded dramatically.
What is 4G LTE?
4G LTE is the latest cellular data standard. 4G stands for fourth generation, while LTE is the acronym for Long Term Evolution. LTE is used to describe the particular protocol that delivers the fastest cellular data experience, and 4G LTE is very fast. With download speeds of up to 150Mbit/s, it’s as fast and sometimes faster than a home or business cable or DSL connection. With the widespread adoption of 4G LTE across consumer phone markets, coverage can now be utilized in most areas for a very reasonable price. In fact, based on complex metrics, OpenSignal.com says that 78% of the United States has 4G LTE coverage.
With these advances in speed and availability, 4G LTE has become the perfect solution for many industrial computing applications including In-Vehicle, Data Acquisition and Internet of Things gateways. However, how do system integrators or end-users enable LTE access in their PC? It does require a special card and special antennas, something that can be difficult to find. Things gets even more complicated when you add the fact you need to find hardware that is compatible with your specific cell provider, of which there are at least a dozen offering 4G LTE. Let’s break down the requirements and considerations. Continue Reading
In response to conversations we’ve had with industrial automation pros, Logic Supply has begun carrying a selection of RS485-connected Modbus-compatible data acquisition and digital I/O modules for monitoring and automation. Data Acquisition Modules can be used in a wide range of applications and this guide is intended as a quick primer to installation and setup.
What is a DAQ Module?
The EX9055D-M is a digital I/O module with 8 digital isolated inputs and outputs. The input signals are electrically isolated from the core module circuitry to protect the module; in the event of high voltage or short circuit, this isolation prevents damage to the device. The open-collector outputs each provide the user with one end (the collector) of a transistor to use as a switched power source.
To help get you started, we’ve set up this simple example to demonstrate some of the I/O module functionality and explain how to configure software to communicate with it.
Wiring a DAQ Module
The simplest use for the digital inputs is as monitors for simple switches – in this example we’ll use a few push-buttons. In real world applications, you might use the inputs to monitor anything “digital” – anything that only has two states. You might use a digital input to see if a door is open, or a light is on, or if a system is powered. We use a similar setup as part of Logic Supply’s building automation system; it monitors doors, water sensors, and mechanical systems to provide an extra layer of security for sensitive areas.
For a switch-style connection to an input (like the button in this example), the wiring is simple:
Later, when reading the input status, it will show “high” when the switch is open (as pictured) and “low” when the switch is closed.
You will need to make two connections to drive the outputs: one from an external power supply (10-40V), and the other one from the device you’re trying to power. The output circuitry acts as a switch. Depending on your unique requirements, you may or may not use a separate power supply from the one powering the module itself; in this case, we’ll share the power supply across the two power inputs. When the module receives the output “high” command, the load receives power. When it is set “low”, the load is shut off.
Finally, you’ll need to connect a power supply for the module itself (+Vs and GND), and a 2-wire RS485 connection to communicate with. Be sure to note which of your system’s serial ports you’re using; you’ll need to know later on.
Software Setup for DAQ Modules
Each Modbus-compatible module operates in two modes, “Normal” (or ASCII) mode, and “Modbus” mode. By default, Modbus-compatible modules come configured to start in Modbus mode. However, Normal mode can be easier to get off the ground quickly, so we’ll start there.
To run the module in Normal mode, set the switch on the rear of the module to ON while the device is disconnected from power. If your module does not have a switch on the rear, you will need to find the INIT pin and connect it to ground while power is disconnected. When you connect power to the module, it will boot in INIT mode, which allows you to change the module configuration, including its operating mode. While in INIT mode, modules respond to Normal mode (ASCII) commands. Instead of reconfiguring the device, we can just run it in INIT mode and save a little time.
Normal (ASCII) Command Structure
Each ASCII command shares the same basic structure:
Delimiter, Address, Command, [Data], Carriage Return
Unless otherwise specified, the address and data are sent in ASCII hex (ie, address 0 is “00”, address 8 is “08”, and address 90 is “5A”). For example, if we want to ask the module what its name is, we send:
(Delimiter: $, Address: 00, Command: M, Carriage Return: \r)
The module will reply with a packet containing its name. In our case, it looks like: !009055M. Most replies will begin with a success/failure character (usually ! or ?), then the address, then whatever data was requested. When in INIT mode, the module address is always 00.
Since all commands are sent in ASCII and completed with a carriage return, you can actually use a serial console (PuTTY, for example) to communicate with a “Normal-mode” module – it’s not something you’d want to do in a production environment, but it can be useful for troubleshooting. The example code included on each DAQ module product page also has a terminal function you can use from a command prompt (see code documentation for details).
To communicate with the module in the real world, you’ll want to use something a little more efficient than hand-typed commands, of course. We’ll run through a few commands here, and the example code linked above has a short block for each module we distribute.
To use the ASCII commands, in Python (either the interpreter console or a stand-alone program), you’ll first need to open the serial port you connected to the module. In Windows, the port name will be similar to “COM4”; in Linux, it’s usually name something like “/dev/ttyS2”.
from serial import Serial
Port = Serial(“COM4”, baudrate=9600, timeout=0.1)
The default baudrate for the modules is 9600, so we want to make sure that’s set correctly. We set the timeout so that read commands will complete quickly, even if we don’t get the expected amount of data (generally, this will occur if there is an error).
Now, you can send commands as needed and read the reply using the serial functions read and write:
You should see the same reply in the example above (!009055M).
To read the status of the IO, we’ll run:
The reply contains the status of all the outputs and inputs – if no input is connected to ground, the status reply should be !00FF00. ! for success, 00 for output status, FF for the input status, and a trailing 00. Input and output status are both represented as a single-byte hex value describing state. If we look at input status (FF), each of the inputs (DI0 to DI7) correspond to a single bit in the status byte, with DI0 at bit 0, DI1 at bit 1, etc. If you press and hold one of the buttons and run the read command again, you’ll see the returned status change depending on which button you pressed.The same applies to the outputs (except in reverse, 1 is on, 0 is off). If we send the module an output command:
(Delimiter: #, address: 00, channel: 00, state: 01)
We should see DO0 turn on. If we change the state value to “10” (“#000010\r”), we should see DO0 shut off and DO4 turn on, etc.
With a little bit of additional logic, you can set a short loop to watch the inputs and take action when one of them is activated. You’d need a very fast (and very inefficient!) loop to monitor the inputs well, though, so instead of checking input state, you can use the Read Latch Status command “$00L0\r”. When an input is brought “low”, the event is recorded (“latched”) separately so that if you miss the event itself, you can still determine that it occurred and trigger a response. You’ll then clear the latched input to be ready for the next event using the Clear Latched Input command: “$00C\r”.
In this short program, you can see the read/clear latch status in action, monitoring the buttons wired up for this example. In this more complex version, we add a few convenience functions and work a bit more with the outputs.
Modbus Command Structure
Modbus is a communication protocol created by Modicon in the 1970s for use with their devices. Due to its simplicity and robustness, it came to be used more broadly, and is now one of a few major communication protocols in use by the industry.
Each Modbus-enabled module takes a set of standardized Modbus commands as documented on the Modbus website. There is also more device-specific information available from each DAQ module’s own documentation. The Modbus I/O modules available from Logic Supply all ship in Modbus mode by default. If you were just in ASCII mode while following this document, you’ll need to switch back to Modbus mode by unplugging the INIT wire or flipping the INIT switch, and then reboot the device.
Commands are sent as raw byte values, so you won’t be able to use a standard serial terminal. However, we have included a Modbus pseudo-terminal in the product page example code for each module so that you can test and troubleshoot (it will automatically calculate the checksum for you as well).
Each modbus command has a single command-code byte and associated data, followed by a two-byte checksum.
Checksum calculation is a many-step process:
- Take 0xFFFF, XOR with the first byte in packet
- If LSB of result is 1, you will need to XOR a second value after performing step 3
- Shift result 1 place right.
- If the LSB at step 2 was 1, XOR the result with 0xA001
- Repeat steps 2-4 7 more times
- Repeat steps 2-5 for all bytes in packet
- The resulting CRC is 2 bytes. When sending the packet, the least significant BYTE is sent first, followed by the most significant BYTE.
For example, to read the status of all inputs, you send the byte values for:
Address, Command code, Starting channel (upper byte), Starting channel (lower byte), Number of channels to read (upper byte), Number of channels to read (lower byte), CRC (lower), CRC (upper)
In practice, that sequence looks like this:
0x01 0x02 0x00 0x00 0x00 0x08 0x79 0xCC
|0x01||0x02||0x00 0x00||0x00 0x08||0x79 0xCC|
|Address||Command Code||Starting channel||# of channels read||Checksum|
When sent as part of a Python program, you can format it as a list:
port.write([0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x79, 0xCC])
The response back will be in similar format [Address, Command code, Byte count, Input value, CRC (lower), CRC (upper)]:
0x01 0x02 0x01 0xFF 0xFF 0xC8
You can then recover the input value (0xFF) and further process it as desired. See the Modbus block in the product’s example code for more information.
While this may seem like a complex process, in practice DAQ modules offer a a lot of valuable advantages and flexibility. With a bit of experience, you’ll be analyzing and reacting to data efficiently and effectively.
For help in identifying the right hardware configuration for your specific application, contact one of our solutions specialists.
You hear the term “small form factor” a lot in the world of industrial computing and it has become one of those phrases used to describe a huge range of products. I’ve been working with Logic Supply for over 5 years, and small form factor standards have certainly evolved over time. With the ever-changing nature of the computer industry as a whole, the idea of what constitutes a small form factor device continues to evolve as well. So, what exactly is the definition of small form factor, and where might the industry be headed in the coming years?
One staple PC form factor that has remained extremely popular is Mini-ITX. First developed by VIA in 2001 as a concept to showcase their processors, Mini-ITX took off and became the go-to solution for small form factor system builders. Much of it’s success can be attributed to the fact that Mini-ITX stuck close to the width of your standard tower computer but lopped off the excess length, meaning that you could achieve the same I/O within a small footprint. Mini-ITX offers a compact alternative to full size ATX systems, but without sacrificing much in the way of connectivity and capabilities.
I like to parallel this trend in the tech industry to the mobile phone industry, and the way phones continued to get smaller and smaller to the point that they were irritating and straining to use. Mini-ITX strikes a perfect balance of form and function which makes it ideal for embedded applications in both size and flexibility.
Nano-ITX and Pico-ITX Computers
Nano-ITX and Pico-ITX motherboards were released shortly after the Mini-ITX platform debuted, but did not take off in large part due to a lack of the same careful balance that Mini-ITX was able to maintain; the smaller the platform becomes the less I/O and features it can support. We are finally getting to a point of discontinuing our last Pico-ITX motherboard because our customers find that all of the pin headers needed to enable additional I/O can shake loose in industrial applications.
Intel NUC Computers – The Next Unit of Computing
Recently released by Intel, the Intel NUC was initially launched with a multitude of digital I/O that made it ideal for both consumer (e.g. HTPC) and commercial (e.g. Digital Signage) use. We’ve since seen both Intel and other motherboard manufacturers produce boards that include up to two LAN ports which have opened the doors to other applications such as networking and data acquisition.
Not to toot our own horn, but Logic Supply has really helped progress this form factor to the next level by working closely with Intel to engineer designs such as the ML300, and more recently the ML100, which can incorporate UPS power supplies and COM ports, making them ideal for industrial environments.
With Intel leading the charge we’ve seen simple, plug-and-play computers, or compute sticks, gaining popularity in the last year. However, particularly among our clients, we’ve found that this form factor has some inherent flaws. With it’s small size, it can be easily removed from a direct-plug application, which makes it a vulnerability for digital signage applications. Compute sticks also feature limited I/O, drastically inhibiting their connectivity. We’ve also found that these systems are still in the early stages of development and have not been able to maintain the thermal performance that would allow them to withstand challenging computing environments, at least not the type that many of our clients face.
Proprietary Form Factors and Other Standards
Every year we find new proprietary form factors being released. In many cases by integrated solution providers who make their boards unique to their enclosure. These are great if you want to have an off the shelf computer that meets your specifications, but it does significantly limit the amount of customization you can make to the I/O. There are also a growing number of Single Board Computer (SBC) on the market, which often make for a solid development platform but frequently lack the long-term support and revision control that many of our clients require.
The Future of Small Form Factor
As far as I’m concerned, until we all become cyborgs, Mini-ITX will continue to be the leading small form factor for industrial environments.