4-Channel 0-10V Output 12-Bit DAC USB Wireless Getting Started

Wireless 0-10V Output with USB Highlights

Control Industrial 0-10V devices over a Long Range Wireless Mesh Network or over a USB Connection using the ASM1-5 endNode. The ASM1-5 offers four 0-10V Output channels, 14-Bit Resolution per Channel, and a I2C Expansion Port offering Limitless Expansion Capabilities.  With a 2-Mile Wireless Range and 128-Bit AES Security, endNode is the most powerful industrial IoT wireless 0-10V output control solution available.  endNodes help you modernize factory, industrial, and business control applications without the excessive price tag charged by most companies.

  • 4-Channel 12-Bit Wireless 0-10V Output endNode with USB
  • Each Output is Capable of Sourcing up to 30mA of Current
  • Long Range Wireless Communications with 128-Bit AES Encryption
  • USB Communications Interface with Virtual COM Port Access
  • Dual 9-32V DC Power Interface with Power and RGB Status LEDs
  • Long Range Wireless Communications up to 2 Miles at 900MHz
  • 900MHz, 868MHz and 2.4GHz Wireless Options with Antenna
  • Pluggable Connectors for Wireless 0-10V Output and Power
  • Based on NCD endNode Wireless I²C Architecture

0-10V Output 4-Channel endNode Introduction

The ASM1-5 is a 4-Channel 0-10V Output endNode device, capable of controlling 0-10V devices using a USB and Long Range Wireless Communications.  endNodes were designed to communicate to computers, servers, gateways, PLCs, and embedded computers by offering a simple serial communications protocol.  NCD endNodes were designed to retrofit traditional 0-10V devices into modern IoT installations.  endNodes have many unique benefits over competing devices as they offer unlimited hardware expansion options.  At the heart of NCD endNode devices is our custom communications endNode processor.  This processor essentially converts serial communications to I2C communications.  Since nearly every sensor in the world communicates using the I2C bus, NCD endNode devices may be expanded to communicate with all of today’s most modern sensors and controllers while offering forward compatibility with sensors and controllers, not yet developed, and without the need for firmware upgrades.

endNodes support long-range wireless communications, making them ideal for wireless 0-10V output applications.  We have implemented 900MHz wireless communications in our endNode devices, as we know these devices will be installed in factory floors.  We have a strong preference for using 900MHz in industrial applications, as we have used this frequency in automotive manufacturing plants in excess of 1 mile in length without problems.  We have also used 900MHz in areas that required heavy shielding, which is achievable with proper planning.  Most importantly, wireless 0-10V control data should be encrypted, which is standard feature with all endNode devices.  NCD places a strong emphasis on security, and 0-10V output devices are fully secure using 128-bit AES encryption, right out of the box using our default encryption keys.  Users may change the encryption key as needed for specific installations.

endNode devices respond to multiple computers, servers, and PLCs, giving all remote devices access to a single Wireless 0-10V output endNode.  endNode devices wait for a command from a remote device and respond to that particular remote device.  This “speak when spoken to” strategy makes it possible for many computers to ask the status of inputs simultaneously.

NCD endNode devices are also capable of wireless grouping.  This allows large numbers of endNode devices to be installed on each floor of a high-rise building without interference between floors.  Ideally, every floor should have it’s own modem or gateway, allowing NCD endNode devices to scale to massive installations.

USB 0-10V Output 12-Bit DAC

All endNode devices are equipped with USB port.  The USB Port may be used to read 0-10V outputs, but also provides a mechanism of device configuration.  NCD follows a strict set of rules regarding device configuration for the purposes of security.  endNode devices cannot be reconfigured remotely as part of our security strategy.  Vital configuration changes require the USB port.  So the USB port on endNode devices may be used for daily use or it may be used for device configuration.  endNode devices accept communications from both the Wireless and USB ports simultaneously, so it’s possible to connect a endNode device to a computer while remote computers are also capable of accessing the same endNode device.

Controlling 0-10V Output Channels

endNode devices were designed to be easy to use.  Simply send a few bytes of data to the ASM1-5 and the endNode will control 4-Channels of 0-10V outputs or report the 0-10V output value of 1, 2, 3, or all 4 channels at one time.  It could not be easier.  Every endNode controller is equipped with a USB port.  We suggest plugging this port into a modern Window 10 computer when working with endNode controllers for the first time.  Our windows software will demonstrate the functionality of endNode devices in about 5 minutes.

USB Communications

Step 1: Download and Install Alpha Station

If you have not done so, now is a good time to download and install Alpha Station on your Windows 10 computer.  Alpha Station is required for device configuration and serves as reference software for testing all endNode devices.  We do not recommend the purchase or use of endNode devices without Alpha Station installed on at least one computer.  Alpha Station is not required for daily use, but it is an essential tool for device configuration and learning.  You may download and install Alpha Station from https://ncd.io/alpha (link opens in a new window).

Step 2: Plug in the USB Port

Before we get into wireless, we advise starting with USB communications.  Wireless will be covered later, but for now, our objective is to make sure the necessary drives are working and make sure communications is possible.  We also would like for you to see the device in operation as quickly as possible.  The endNode device should mount as a virtual COM port on your computer.  In the screenshot below, make sure your communication settings look similar to what is shown.  Please note that COM58 will probably not be the same on your computer.

When running Alpha Station, simply select the COM port of the endNode device.  If all goes well, you should see a window that looks similar to the one shown below, so go ahead on click on “PR53-14 4-Channel 0-10V Transmitter” as highlighted in Blue.

Step 3: Read 0-10V Output Channels

The 0-10V Output Control Panel will display the voltage readings on all 4 outputs.

Wireless Communications

Before we get started talking to a endNode using wireless communications, you are going to need a wireless modem to convert data from your computer to wireless data for the endNode.  We currently offer 3 modem options, make sure you have one of the 3 modems shown below:

Long Range Wireless USB Modem

Plug the USB Modem into the USB Port of your computer and make sure the power connector is plugged in.

USB Modem Product Link
Long Range Wireless Ethernet Modem

Plug the Ethernet Modem into any available Ethernet port on your DHCP Enabled Router (Do Not Use a Ethernet Switch) and make sure a power connector is plugged in.

Ethernet Modem Product Link

Step 1: Wireless Serial Number

Now that you have the ASM1-5 working over USB, let’s talk to the device using wireless communications.  To get started, look carefully at the enclosure of the ASM1-5 endNode.  You will see a sticker with the serial number printed on the back side.  This serial number is required for wireless communications.  This serial number is how we will identify each ASM1-5 endNode controller.  No two endNode devices will ever have the same serial number, so keep track of these serial numbers so you have wireless access to your endNode ecosystem.  We suggest keeping track of the serial number, the installation location, the network ID, and the encryption key (if you choose not to use the default key).

Step 2: Connect a Wireless Modem

Connect a wireless modem to your computer.  You may choose USB, Ethernet, WiFi, Bluetooth (Virtual COM Port), but for the purposes of this tutorial, we will be using a USB Wireless Modem to access a endNode device.

Step 3: Run Alpha Station

Alpha Station is capable of communicating to endNode devices over wireless communications as well.  It’s important to setup Alpha Station to use the Serial Number as mentioned in step 4.  To do this, make sure “Communicate to a Remote Wireless endNode” is checked and the “Destination Address of Remote Node” matches the serial number printed on your endNode device.

Step 4: Read Wireless 0-10V Outputs

You should now be able to read all four 0-10V input channels over wireless communications.  If you experienced any communication problems, try exiting and running Alpha Station again.

ASM1-5 Command Set

Reading Wireless 0-10V Output Channels

Hopefully you followed both tutorials shown above.  If so, take a look at the two screen shots below:

USB 0-10V Communications Command Structure

Wireless 0-10V Communications Command Structure

You will notice the USB commands are slightly different than the wireless commands.  USB does not require a serial number for communications, so the protocol is slightly different.  These windows will help you understand the commands required for communicating to endNode devices using your own software.  Simply send these commands to the endNode device (Hex Bytes) and you will be controlling wireless 0-10V outputs in no time.

Every byte used for communicating to NCD endNodes has a meaning and a purpose.  This section will help explain the specific commands supported by the ASM1-5 endNode.  Please note that many more commands are supported by the ASM1-5, these common commands are explained in other documents.  This guide will explain the commands that are unique to the ASM1-5 for the purposes of controlling 0-10V output channels.

The API Calculator is Required

Before we dive into the command set, the protocol for communications is very carefully controlled to reduce the possibility of communication errors.  The overall format for communicating to endNodes is covered in the API Calculator, this is a REQUIRED tool for understanding the overall byte structure of all endNode commands.  We will not cover this protocol in this document, as this is covered in great detail on the API Calculator page.  We will make many references to this calculator in the command set below, the commands will not work unless properly encoded, so be SURE to use the API Calculator to encode the commands shown below.

0-10V Output Read and Write Commands

The ASM1-5 is a “speak when spoken to” device supporting a single command for controlling and reading 0-10V output channels using both required and optional parameters.  Be sure to use the API Calculator, as the commands shown below must be encoded for proper operation.

0-10V Output Read Command

Reading the 0-10V Output Channel Status is very easy.  Simply specify the command and channels you wish to read:

Function: Read 0-10V Output Channel Values
Format: 0x35, 0x0E, Start_Channel, Stop_Channel
Parameter: Start_Channel Valid Range 1 to 4 
Parameter: Stop_Channel Valid Range 1 to 4
Send: 0x35, 0x0E, 0x01, 0x04 
Receive: 0x19, 0x61, 0x16, 0x9E, 0x18, 0xFC, 0x1B, 0x17 (Example)
Channel 1: 0x19, 0x61 (MSB, LSB)
Channel 2: 0x16, 0x9E (MSB, LSB)
Channel 3: 0x18, 0xFC (MSB, LSB)
Channel 4: 0x1B, 0x17 (MSB, LSB)
Note: See the API Calculator to Encode/Decode these Commands

Channel 1 may be read by using the following command:

Send: 0x35, 0x0E, 0x01, 0x01 
Receive: 0x19, 0x61

Channels 2 and 3 may be read by using the following command:

Send: 0x35, 0x0E, 0x02, 0x03 
Receive: 0x16, 0x9E, 0x18, 0xFC

0-10V Output Write Command

The 0-10V Output Write Command should be used to control the voltage on each channel.  The ASM1-5 goes into write command when Channel Values are included as part of the command.  While this controller accepts a 12-Bit value, the internal driver is limited to accepting decimal 0-10V values of 0 to 4,095.  A value of 0 will yield 0 volts output on the selected output channels while a value of 4,095 will yield a 10 volts on the selected output channels.

The write command is unique in that only the Channel 1 parameter is required.  The Channel 1 Parameter is “spread” to all selected outputs, which allows all channels to update to the exact same value using only a single Channel 1 value.  To set all 4 channels to unique output values, all four Channel values may be included.

Function: Write 0-10V Output Channel Values 
Format: 0x35, 0x0E, Start_Channel, Stop_Channel, Channel_1_MSB, Channel_1_LSB, Channel_2_MSB, Channel_2_LSB, Channel_3_MSB, Channel_3_LSB, Channel_4_MSB, Channel_4_LSB
Parameter: Start_Channel Valid Range 1 to 4 
Parameter: Stop_Channel Valid Range 1 to 4
Parameter: Channel_1_MSB, Channel_1_LSB (Required)
Parameter: Channel_2_MSB, Channel_2_LSB (Optional) 
Parameter: Channel_3_MSB, Channel_3_LSB (Optional) 
Parameter: Channel_4_MSB, Channel_4_LSB (Optional)

Below, you will find a few examples of different ways channel values may be written to each of the output channels.

Set Channel 1 to 10V:

Send: 0x35, 0x0E, 0x01, 0x01, 0x0F, 0x8A
Receive: 0x3B, 0x92
Note: See the API Calculator to Encode/Decode these Commands

Set Channels 1-4 to 10V:

Send: 0x35, 0x0E, 0x01, 0x04, 0x0F, 0x8A
Receive: 0x0F, 0x8A, 0x0F, 0x8A, 0x0F, 0x8A, 0x0F, 0x8A
Note: See the API Calculator to Encode/Decode these Commands

Set Channels 1-2 to 10V and 3 and 4 to 0V, the following shortcut may be applied.  Note that only 3 words are used to set 4 channels. Channels 1, 2, and 3 are loaded as usual. Since Channel 4 was not specified, the last channel value is spread to Channel 4.

Send: 0x35, 0x0E, 0x01, 0x04, 0x0F, 0x8A, 0x0F, 0x8A, 0x00, 0x00
Receive: 0x0F, 0x8A, 0x0F, 0x8A, 0x00, 0x00, 0x00, 0x00
Note: See the API Calculator to Encode/Decode these Commands

Set Channels all four channels to a unique value:

Send: 0x35, 0x0E, 0x01, 0x04, 0x16, 0x62, 0x16, 0x9D, 0x18, 0xFB, 0x1B, 0x16
Receive: 0x16, 0x62, 0x16, 0x9D, 0x18, 0xFB, 0x1B, 0x16
Note: See the API Calculator to Encode/Decode these Commands

When the ASM1-5 0-10V Output Controller Powers Up, the outputs will default to one of 3 states as indicated below using FRAM memory read/write commands.

Power Up Outputs to the Last Known State:

Send: FE 35 1D D1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Receive: 55
Note: See the API Calculator to Encode/Decode these Commands

Turn All Outputs Off on Power-Up:

Send: FE 35 1D D1 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Receive: 55
Note: See the API Calculator to Encode/Decode these Commands

Preset to a Specific State on Power-Up:

Send: FE 35 1D D1 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Receive: 55
Note: See the API Calculator to Encode/Decode these Commands

Store Current State as the Power-Up Default State
Please Note the Values Shown Below Store Actual Default Power-Up Values for all 4 Channels.

Send: FE 35 1D B0 14 61 16 9C 18 FA 1B 16 14 61 16 9C 18 FA 1B 16 
Receive: 55
Note: See the API Calculator to Encode/Decode these Commands

To Convert Decimal Values to Voltage Values, Use the Following Formula:

Voltage Value = 16-Bit Decimal Value * (10.3992 / 4095)

Note: Analog Values will Fluctuate Slightly, this is Normal Operation, Calibrate the Actual Output by changing the 10.3992 Value.