This section consists of the following:
The SmartServer IoT Starter Kit includes an Advantech ADAM-4150 DIO module. This module includes LEDs that indicate the state of the module’s digital outputs. A pair of switches to the right of the module are connected to inputs DI-0 and DI-1 as shown in the figure below. Two of the wires loop back connecting outputs DO-0 to DI-2, and DO-1 to DI-3.
Get started setting up the Modbus RTU channel following the steps in the section below: Getting Started with Modbus RTU Channel Setup.
The ADAM-4150 module initially communicates using Advantech’s proprietary serial protocol. The communication interface can be upgraded to support Modbus RTU using an ADAM 4000/5000 utility and and USB to RS-485 converter. This utility is available for download at https://support.advantech.com/support/DownloadSRDetail_New.aspx?SR_ID=1-9HOC2&Doc_Source=Download.
An easier option leverages the programming support of the SmartServer IoT. A small node.js application is provided to accomplish this task. Follow these steps:
Power up the ADAM-4150 module by plugging in the bottom power supply connector. With the following step, the ADAM-4150 module to setup to use Modbus address 01 and to communicate at 19200 Baud, no parity, and one stop bit.
Enter the following command:
node adamConfig.js 01 7
This command configures the ADAM-4150 module to use a 19200 Baud serial Modbus at address 01.
You should see a result similar to the following:
Move the configuration switch from the Init to Normal position. If you neglect to move the switch to the Normal position, the module will not use the Modbus settings that were just programmed.
Power up the ADAM-4150 module by plugging in the bottom power supply connector.
Note: It is only necessary to set the configuration switch as described in this procedure one time for the ADAM-4150 module. If you are not sure about the programmed state of the ADAM-4150 module, move the switch to the Init position and perform steps #9-13 above.
Continue setting up the Modbus RTU channel following the steps in the section below: Setting the RS-485 Configuration UI.
Configure your RS-485-1 settings to match those shown in the figure below. When you configured the ADAM-4150 module at Modbus address 01, you also set the serial bit rate it would use to communicate. The above instructions set the baud rate to 19200. The module's serial frame does not use parity and looks for only 1 stop bit.
Continue setting up the Modbus RTU channel following the steps in the section below: Creating Modbus Devices.
Now that the ADAM-4150 module is prepared to be accessed as a Modbus RTU device, with Modbus address of 01 and a 19200 Baud serial connection, the device can be added to the SmartServer IoT. To create a Modbus device, perform the following steps:
Select the Provision device menu option.
Within a few seconds, the DIO device fill should change from blue to green indicating that the device has be successfully provisioned. If the provision fails, confirm that the Modbus channel on RS-485-1 is set for 19200, no parity, and one stop bit as described in the previous section Setting the RS-485 Configuration UI.
|Warning: With SmartServer IoT release 2.8, the Modbus engine is locked in to communicate to the device with the channel parameters already configured at device creation. If the Modbus channel parameters are changed, you will need to remove the Modbus device and recreate it.|
Begin using the DIO module following the steps in the section below: Interacting with the DIO Module.
The ADAM-4150v20.dtp package defines the interface to access the digital input and output of the ADAM-4150 device using Modbus RTU and the RS-485-1 channel. This package includes a .dla file that provides Modbus driver instructions for monitoring the data and presenting the data events to the rest of the system. The Adam-4150V20.dla.csv file is contained ADAM-4150v20.dtp archive that was imported in the process of Creating Modbus Devices.
Follow the steps below to take a closer look at how this works.
Go to the Datapoint Properties widget.
|Note: Click the Expand button ( ) for a better view of this widget.|
Notice that the Monitored attribute is set to On as shown below.
|Note: To reduce the scope of data that appears on the Datapoint Properties widget, set the filter to narrow down the display to Modbus driver.|
To edit datapoint properties for Datapoint DI_0, click the Action button () and select the Edit action.
Click the MONITORING AND LOGGING CONFIGURATION tab.
As shown in the figure below, the Monitored Yes slider is enabled. Since the Modbus driver can only poll datapoints, in order for the values to be monitored continuously, you need to enable the Polled Yes slider. Also, Poll Interval (Seconds) is set to 2 and Publish Minimum Delta Value is set to On Any Change.
Exit fullscreen mode for the Datapoint Properties widget by clicking the Collapse button ().
Notice in the figure below that DI_0 is connected to the top switch and DI_1 is connected to the middle switch. The outputs DO_0 and DO_1 connect to inputs DI_2 and DI_3 respectively.
In the steps that follow, you will use the Datapoint Browser widget to monitor and interact with these points. Follow the steps below to take a closer look at how this works.
|Note: Since monitoring is enabled for the DIO module points, polling done by the Datapoint Browser widget is redundant and not necessary. Therefore, before getting started with the Datapoint Browser widget, you will need to change the Poll Interval (Seconds) on the Datapoint Properties widget from 2s to 0s. |
With Poll Interval (Seconds) set to 0s on the Datapoint Properties widget, the Refresh button () on the Datapoint Browser widget (shown in the figure below) can be used to force a get of the current value.
Go to the Datapoint Browser widget.
Notes: Click the Expand button (