DXM Configuration Software v4 Instruction Manual
DXM Configuration Software v4 Instruction Manual
Instruction Manual
Original Instructions
p/n: 209933 Rev. I
February 01, 2024
© Banner Engineering Corp. All rights reserved.
Contents
Chapter 1 Introduction to Traditional Setup Mode
DXM Configuration Software ......................................................................................................................................................................... 6
Save and Upload the Configuration File........................................................................................................................................................ 6
Configuration File Cross Compatibility .......................................................................................................................................................... 6
Configuration Instructions.............................................................................................................................................................................. 7
Edit Registers Using the Local Registers in Use Screen........................................................................................................................ 7
Modify Multiple Registers........................................................................................................................................................................ 7
Configure the Cloud Data Services Settings .......................................................................................................................................... 8
Creating Rules ........................................................................................................................................................................................ 9
Processing the Rules............................................................................................................................................................................ 14
Creating Events and Schedules ........................................................................................................................................................... 15
Create an Event Log or Data Log ......................................................................................................................................................... 17
What is a Scheduled Push?.................................................................................................................................................................. 17
Verifying Communication Between a Modbus Sensor and MultiHop Radio or DXM............................................................................ 19
Using Action Rules to Control External Sensors................................................................................................................................... 23
Map Many Inputs to One Output Using Action Rules ........................................................................................................................... 26
Enabling Flash State Recognition on a TL70 Wireless Tower Light ..................................................................................................... 29
Equipment Used ................................................................................................................................................................................... 30
Configure for Flashing Recognition ...................................................................................................................................................... 30
Flashing Input States ............................................................................................................................................................................ 30
Chapter 4 Troubleshooting
Manually Install the DXM Driver .................................................................................................................................................................. 69
Update the Software.................................................................................................................................................................................... 69
Reset the Controller if the Password is Lost................................................................................................................................................ 70
Recover an IP Address with a DXMR90...................................................................................................................................................... 70
2
Updating Your DXM Processor Firmware (Version 2 or Later) ............................................................................................................. 75
DXM Configuration Software v4 Release Notes.......................................................................................................................................... 77
Contact Us ................................................................................................................................................................................................... 79
Banner Engineering Corp. Software Copyright Notice ................................................................................................................................ 79
.............................................................................................................................................................................................................. 80
3
4
DXM Configuration Software V4 Instruction Manual
Chapter Contents
DXM Configuration Software................................................................................................................................................................................ 6
Save and Upload the Configuration File............................................................................................................................................................... 6
Configuration File Cross Compatibility ................................................................................................................................................................. 6
Configuration Instructions..................................................................................................................................................................................... 7
Not all screens are available for all models. To change to another model of DXM, go to the Connect to DXM screen and use
the drop-down list to select another model. If the active configuration is incompatible with the selected model, you will be
prompted to either proceed and wipe out the active configuration or cancel the model change and preserve the configuration.
Connect via USB or Ethernet. If connecting via Ethernet, set network parameters through the DXM LCD menu in the System
Cfg › Ethernet menu. Network parameters can also be set within the configuration software. Setting parameters on the LCD
menu overrides the parameters stored in the configuration file. To use the network parameters in the configuration file, reset
the network parameters on the DXM LCD menu.
Since the DXM-R90x connects only via TCP, its Connect to DXM screen differs from the other DXM models. When the Select
DXM Model drop-down is set to DXM-R90x, a new network discovery table is displayed. Click Scan Network for DXMs to
detect DXM devices on the host computer's network. Discovered DXMs are listed in the network discovery table. Double-click
any row entry to connect to that DXM. If the DXM's IP address is already known, the standard TCP connection option is
available below the network discovery table.
Banner recommends disconnecting the COMM port through the Device menu before turning off power or disconnecting the
USB cable. Use Device › Reboot to restart the DXM if needed; the tool automatically disconnects the COMM port, then
reconnect it again.
TIP: If connection attempts are failing (Application Status Icon in the footer of the tool is Red), close the
configuration software and disconnect the USB cable from the computer. Reconnect the cable, launch the
software, and attempt connecting again.
If you cannot connect to your DXM Controller, refer to "Troubleshooting" on page 69 for more information.
IMPORTANT: Any model of DXM may connect to the configuration software regardless of which device
model is selected in the tool. Compatibility is checked before configuration files are uploaded to the
device.
The configuration software restricts the naming of registers and rules to characters a-z, A-Z, 0-9, # $ _ - ( ) space. A register
name cannot end in a space. If an unacceptable name has been entered, a red ! displays.
Use the configuration software either while connected to a DXM or as a standalone configuration software.
The top-level menus are similar to other Windows programs: File, Traffic, DXM, and Help.
• Use the File menu to manage the loading and saving of the XML configuration file created by the configuration
software.
• Use the Traffic menu to view data traffic on the serial bus or via UDP.
• Use the DXM menu to send and retrieve XML configuration files to or from a connected DXM.
• A new Help menu has also been added, which launches a copy of the configuration software instruction manual in the
user's default PDF viewer.
For screens that contain tables with rows, click on any row to select it. Then click Clone or Delete to copy/paste or remove
that row.
◦ If the Application Status indicator is red, close and restart the DXM Configuration Tool, unplug and re-plug in
the cable and reconnect the DXM to the software.
◦ If the Application Status indicator is green, the file upload is complete.
◦ If the Application Status indicator is gray and the green status bar is in motion, the file transfer is in progress.
After the file transfer is complete, the device reboots and begins running the new configuration.
6
DXM Configuration Software V4 Instruction Manual
Version 4.1.7 adds support for the DXM100-A1(1) model. Version 4.8.4 adds support for the DXM1000 and DXM1200 models.
Version 4.10.27 adds support for the DXM1500 and DXM-R90x1 models.
DXM100-A1 configuration files are always convertible into DXM100, DXM150, DXM700, DXM1000, DXM1200, and
DXM1500 files. However, depending on which features are configured, the reverse is not always true. The following features
are available to standard DXM100 models but are not supported by the DXM100-A1:
• Ethernet connectivity—Typically displayed on the Settings › Ethernet and Settings › Cloud Services screens
• Modbus TCP and CAN (Register Mapping screen)
• Server Port Settings (Settings › System screen)
• ScriptBasic Network Options and ScriptBasic RS-232 Settings (Settings › Scripting screen)
After selecting a DXM device model on application start-up, you can load any configuration file created for that device model
or for any other model. Validation is performed to ensure that an incompatible file cannot be loaded into the tool or written to
a connected device. Changing the device model selection on the Model Select screen converts the active configuration if it
passes cross-compatibility validation.
IMPORTANT: Loading a cross-compatible file and saving it overwrites that file's original device model
setting, reformatting it for the currently selected device model.
Configuration Instructions
Edit Registers Using the Local Registers in Use Screen
Use this screen to modify the parameters of any local registers being used.
1. Go to the Local Registers › Local Registers in Use › Edit Register section of the bottom of the screen.
A list of the local registers being used displays.
2. Under the Selected Register box, select the register to define or modify. You may select the register by using the up/
down arrows, directly entering a register number into the field, or clicking within the corresponding row in the Local
Registers in Use table.
Only Local Registers that have already been changed from their default configuration are displayed in the Local
Registers In Use table.
3. Using the drop-down lists, assign a name, register group, change the units, or make other configuration changes to
this register.
4. To push register values to the web server, set Cloud Settings to read.
If Cloud Settings are set to Read, the web server only views data from the device and cannot write data to the device.
If the permissions are set to Write, the web server only writes to the device and cannot read the data. If the
permissions are set to Read/Write, the web server can read the data from the device and write to the device from the
web.
The changes are automatically applied within the software, not the XML file. To change another register, use the up or down
arrows to select another register number. To save these changes to the XML file, go to File › Save.
(1) Model DXM100-A1 was previously named DXM100-AG1 and may appear as -AG1 in some software and documentation. The -AG1 model is the same as the
-A1 model.
• Set—modify the parameter. Other selections will appear based on the parameter.
8
DXM Configuration Software V4 Instruction Manual
If multiple comm ports are visible, try each one until the software is able to connect to the device.
8. Go to Device › Send Configuration to the Device to upload the new XML file.
Creating Rules
Create a Read Rule Using Controllers with One Client Serial Port
Each read rule defines a Modbus server ID and register range to read and then store in the selected Local Registers. Use the
Register Mapping › Read Rules screen to create a new read rule.
1. Click Add Read Rule.
A new read rule is created.
2. Click the arrow next to the first rule to view the parameters.
The list of parameters opens.
3. Type in the rule's name in the 'none' field.
4. Select the server ID of the source device.
5. Select the number of registers to read from the source device.
6. Select the starting register of the source device.
7. Select the starting register of the local/target device.
8. Set the desired parameters.
TIP: Use fewer read rules for applications that require higher response times by taking advantage of the
Alternative Modbus Register groupings for DX80 Performance Nodes as shown in the DXM Wireless
Controller Instruction manuals.
Create an RTU Read Rule Using Controllers with Multiple Client Serial Ports
Follow these steps to create a new read rule.
This example creates a read rule to read six registers (1 through 6), from Port 1 Modbus ID 4. The results are stored in the
Local Registers 1 through 6.
1. Define the Port settings to be compatible with the connected devices.
a. Go to the Register Mapping › RTU › RTU Configuration screen.
◦ The Timeout controls how long the DXM waits before determining a command failed to send. Set based on
the specific application requirements.
◦ The Delay between messages defines the minimum wait time between resending another command. Set
based on the specific application requirements.
2. From the Register Mapping › RTU › RTU Read screen, click Add Read Rule.
3. Click the arrow next to the name to display the parameters.
4. Name your rule.
5. Select the Port number to which the device is connected.
6. Select the Modbus ID of the device.
7. Select how many registers to read, and the beginning register.
8. Define the register type, how often to read the register, and any other appropriate parameters.
9. If necessary, select the error condition. For this example, if the read function fails after three attempts, the read rule
writes 12345 to the DXM local registers. Notice the list of local register names this read rule is using.
Create an RTU Read Rule for the ISM Radio of a DXM1200-B2 or -X2
Follow these steps to create a new read rule to access data from devices connected to the radio of a DXM1200-B2 or
DXM1200-X2.
This example creates a read rule to read six registers (1 through 6), from the radio (port 5) at Modbus ID 1. The results are
stored in the Local Registers 1 through 6.
1. Define the port settings to be compatible with the connected devices.
a. Go to the Register Mapping › RTU › RTU Configuration screen.
10
DXM Configuration Software V4 Instruction Manual
2. From the Register Mapping › RTU › RTU Read screen, click Add Read Rule.
3. Click the arrow next to the name to display the parameters.
4. Name your rule.
5. Select the port number to which the device is connected. For wireless devices, this is Radio (Port 5).
6. Select the Modbus ID of the device. For wireless devices, this is Modbus ID 1.
7. Select how many registers to read and select the beginning register.
Refer to the Modbus Holding Register table within the documentation for each server device.
8. Define the register type, how often to read the register, and any other appropriate parameters.
9. If necessary, select the error condition. For this example, if the read function fails after three attempts, the read rule
writes 12345 to the DXM local registers. Notice the list of local register names this read rule is using.
TIP: Use fewer read rules for applications that require higher response times by taking advantage of the
Alternative Modbus Register groupings for DX80 Performance Nodes as shown in the DXM Wireless
Controller Instruction manuals.
12
DXM Configuration Software V4 Instruction Manual
The read/write rules take time to complete, not because they require processing power, but because each rule has a lengthy
overall communication time relative to the processor execution cycle time. So, in parallel, the action rules are also solved.
Each action rule is processed in order, similar to the read/write rules. The groups of action rules are solved in this specific
order:
1. Calculate (Math) rules are next, continually processed
14
DXM Configuration Software V4 Instruction Manual
2. Copy rules, processed only when a change of state is detected on the source register
3. Threshold rules, continually processed
4. Control Logic, continually processed
5. Trending, continually processed
6. Trackers, continually processed
If two register changes are defined for a day, define the start time to be before the end time. Select End Value to enable the
second event in a 24-hour period. To span across two days (crossing the midnight boundary), set the start value in the first
day, without selecting End Value. Use the next day to create the final register state.
Start and end times can be specified relative to sunrise and sunset, or set to a specific time within a 24-hour period. When
using sunrise or sunset times, set the GPS coordinates on the device so it can calculate sunrise and sunset.
Get scheduler update from device—Downloads the scheduler update file from the DXM.
Send scheduler update from device—Uploads a scheduler update file to the DXM, replacing the existing schedule running
on the DXM.
16
DXM Configuration Software V4 Instruction Manual
Save Scheduler update file—Saves a scheduler update file to the PC. The file only contains the scheduler configuration
data.
Load scheduler update file—Loads a scheduler update file from the PC to the DXM Configuration Software software.
1. Select Enable Log to enable the log file creation. The register data to be saved in the log is defined under the Local
Registers tab.
2. Select Timestamp each log entry to date/time stamp each log entry. Select whether you want the time stamps to be in
local time or UTC time.
The local time is determined from the device's time zone selection under on the Settings › General screen.
3. Name your Event or Data Log.
A date/time stamp is added to the end of the user-defined File Name then stored on the Micro SD card. New files will
be created with a new date/time stamp.
4. Select whether or not you want to Disregard scale and offset when saving data for the register or apply the scale and
offset defined on the Local Register Configuration screen.
Local Registers 1 through 845 are integer registers and are always stored as integers. Floating point Local Registers
1001 through 2000 are stored as floating point numbers.
5. Define the Number of decimal points to display in log (floating point data log only).
6. For cyclical log files (log1-log3), specify the Log Rate.
7. Set the Maximum File Size before the DXM creates a new file.
8. Select from the following Log file options.
◦ Save when max file size reached—Save the log file to the internal DXM SD card when the defined Max file
size is reached. The user must retrieve the file.
◦ Save when the register value is non-zero—Save the log file to the internal DXM SD card when the defined
Local Register is set to a non-zero value. The Local Register can be controlled by Action Rules, ScriptBasic,
Scheduler, or Website. The user must retrieve the file.
◦ Save Daily—The log file will be saved daily at 00:00 UTC time. The user must retrieve the file.
When the value of register 12 is 1, the DXM pushes the defined data set to the webserver.
The Scheduler creates the timed event that occurs Monday through Friday. At the scheduled time and day, the value of local
register 12 is set to 1 for one minute. The Action rule watches local register 12, and when the value is 1, the action rule
creates a push event to the webserver.
18
DXM Configuration Software V4 Instruction Manual
◦ If the Application Status indicator is red, close and restart the DXM Configuration Tool, unplug and re-plug in
the cable and reconnect the DXM to the software.
◦ If the Application Status indicator is green, the file upload is complete.
◦ If the Application Status indicator is gray and the green status bar is in motion, the file transfer is in progress.
After the file transfer is complete, the device reboots and begins running the new configuration.
To confirm an active radio communication between the sensor and radio, define Read Rules and Action Rules. Use two
local registers to monitor each Modbus RTU sensor. Use an optional third register to monitor how long the sensor was not
communicating with the radio.
1. Connect to the DXM Controller client radio using serial or TCP/IP.
2. Define the Local Registers.
3. Define the Read Rule.
4. Define the Threshold/Action Rule.
5. Repeat these steps for each Modbus sensor and MultiHop server radio you'd like to track.
Define the Local Registers to Verify the Connection Between a Sensor and MultiHop Radio
Define the local registers used to verify the connection between a Modbus sensor and a MultiHop radio.
1. Go to the Local Registers › Local Registers in Use screen.
2. Define a register to hold a data point.
3. Define a register to be used as an alarm notification register when the MultiHop radio cannot communicate with the
sensor.
20
DXM Configuration Software V4 Instruction Manual
4. Define a register to be used to track how long the Modbus sensor was not communicating with the client radio.
Example read rule for monitoring the relative humidity sensor connection..
Example read rule for monitoring the wind speed sensor connection.
For the relative humidity example, local register 4 (Garage Humidity) will be populated with the value from Modbus ID
19, register 101. The DXMclient radio attempts to communicate with the Modbus sensor (Server ID 19) every 5
minutes. After five consecutive unsuccessful attempts, the value of 125 is placed in the local register 19 (Failure to
Read Garage RH).
For the wind speed example, local register 1001 (DS2 Wind Speed) will be populated with the value from Modbus ID
20, registers 11101 and 11102. The DXM client radio attempts to communicate with the Modbus sensor (Server ID 20)
every 1 minute. After five consecutive unsuccessful attempts, the value of 150 is placed in the local register 19
(Failure to Read DS2 Wind Sensor).
NOTE: You must place the SDI-12 sensor results in the 32-Bit Floating Point Register set in the
DXM Controller. When using an SDI-12 sensor and an SDI-12 enabled MultiHop radio, when the
DXM client or remote radios cannot communicate with the sensor, a value of 65535 is entered into
the Results Register for that sensor in the Local Registers.
Select an alarm value that makes sense for the potential values of the application, but won't adversely affect graphing
or charting the data point for analysis. For the RH example, the normal value for this local register is between 0 and
100. Therefore, 125 is not too excessive but is different enough to be a trigger value. For the wind speed example,
150 is a good choice.
Create a Threshold Rule to Verify Communication Between a Sensor and MultiHop Radio
Create an action rule to define the behavior of the system when the communication fails.
1. Go to the Local Registers › Action Rules › Thresholds screen.
2. Click Add Threshold Rule.
3. Define a Threshold Rule so that when the local register Failure to Read value equals the error value (125 for relative
humidity, 150 for wind speed), a value of 1 is entered into the Communication Alarm register.
22
DXM Configuration Software V4 Instruction Manual
For the relative humidity example, when this register's value equals 1, local register 22 tracks how long this Modbus
sensor was not able to be reached. The alarm is sent to the web server service, and the event is logged in the Events
Log on the DXM.
The DXM can control external sensors using the timer/counter feature and Action Rules. In this example, the DXM controls a
sensor using a cyclical loop with a timer. To configure this application, you must
1. Define the Local Registers
2. Define the Read/Write Rules
3. Define the Action Rules
One of the local registers is defined as a timer, which starts counting at zero. When 45 seconds has passed, the output is
turned on to supply power to the sensor. At 55 seconds, the data is captured from the I/O board and saved. At 65 seconds,
the output is turned off and the counter reset.
4. Name local register 3 to hold the result of Action Rule 1 (when the timer/counter reaches 45 seconds, this register
value is 1).
5. Name local registers 4 and 5 to hold the results of Action Rules 2 and 3.
6. Name local register 6 as the saved sensor data.
7. Set the LCD permission to Read on all registers so that the register values display on the LCD.
After this configuration file is saved and uploaded to the DXM, the register values display on the LCD under the Register
menu.
24
DXM Configuration Software V4 Instruction Manual
For this example, we want to check when local register 2 (the timer/counter) is greater than or equal to 45 seconds.
When true, it sets local register 3 to 1, otherwise, set local register 3 to zero.
3. Create the second and third action rules, which also check the timer count (local register 2) and change the values of
local register 4 (CaptureData 55sec) and local register 5 (Read 60sec), respectively.
4. Create the fourth action rule to sample the sensor data.
This action rules detects when local register 4 (timer at 55 seconds) is 1. The value of local register 6 is set to the
value of local register 1 (ReadMap Data). When the value of local register 4 is not 1, local register 6 remains
unchanged.
5. Create action rule 5 to reset the counter value and begin the count again.
When the timer/counter register has reached 60 seconds (local register 5 is 1), set the value of the timer register back
to 0. Otherwise, do not change the value.
◦ If the Application Status indicator is red, close and restart the DXM Configuration Tool, unplug and re-plug in
the cable and reconnect the DXM to the software.
◦ If the Application Status indicator is green, the file upload is complete.
◦ If the Application Status indicator is gray and the green status bar is in motion, the file transfer is in progress.
After the file transfer is complete, the device reboots and begins running the new configuration.
The example application is saved in the configuration file ManytoOne.xml. The applications reads a single discrete input on
five different DX80 Nodes. If any input is activated, three different TL70 wireless stack light outputs are turned on. The
discrete input is connected to the wireless Nodes on input 1 and the output on the stack lights are on the first output (Modbus
register 9 on the Wireless TL70 Node)
26
DXM Configuration Software V4 Instruction Manual
4. Go to the Local Registers › Action Rules › Register Copy screen and click Add Copy Rule.
5. Name the copy rule.
For this example, the copy rule is named CopyOut.
6. From the drop-down list, select the Local Register to out from.
Our example is copying from Local Register 6.
7. From the drop-down lists, select the Local Register(s) to copy to.
Our example is copying to Local Registers 7 through 9. The names of the target registers are listed.
Create the Read and Write Rules to Map Many Inputs to One Output
Define the rules to read the switch input values from the internal DX80 Gateway (Modbus Server 1) and write the values to
Local Registers.
The DXM's internal ISM radio is Modbus Server ID 1.
The four DX80 Gateway registers to read for Nodes 1 through 5, input 1, are 6802 through 6806. This register location
organizes the Modbus registers by each input.
Define the Write Rule to write values to the Wireless TL70 Node registers. For this example application, the three Wireless
TL70s are Nodes 5, 6, and 7. Because the DX80 Gateway handles all Modbus registers, write to the Gateway Modbus
registers for Nodes 5 through 7, register 9, at addresses 8002–8004.
See Alternate Modbus Register Organization in the DX80 Host Controller Systems Manual (p/n 132114) for more information
about alternate Modbus registers.
1. Go to the Register Mapping › RTU › RTU Read screen and click Add Read Rule.
2. Click the arrow to display the read rule parameters.
3. Name your new rule.
4. From the drop-down lists, read From Server ID 1, read5 registers starting at 6802 to local registers starting at 1.
28
DXM Configuration Software V4 Instruction Manual
6. Go to the Register Mapping › RTU › RTU Write screen and click Add Write Rule.
7. Click the arrow to display the write rule parameters.
8. Name the write rule and select the following parameters. Select a write Frequency of On change of local register data.
9. Create a second write rule, similar to the first one, that takes the logical OR value from Local Register 6 and writes it
to DXM LED 1.
For more information on the user programmable indicator LEDs, see the DXM100/1000-Bx Instruction Manual (p/n
190037).
◦ If the Application Status indicator is red, close and restart the DXM Configuration Tool, unplug and re-plug in
the cable and reconnect the DXM to the software.
◦ If the Application Status indicator is green, the file upload is complete.
◦ If the Application Status indicator is gray and the green status bar is in motion, the file transfer is in progress.
After the file transfer is complete, the device reboots and begins running the new configuration.
IMPORTANT: If using the Machine Monitoring / OEE Solutions Guide, this Tech Note DOES NOT need to
be followed as the script loaded into the file will automatically do this for any TL70 Wireless Tower Light
bound to the DXM.
Equipment Used
• DXM100 OR DX80 Performance Series Gateway (either 900 MHz or 2.4 GHz)
• TL70DXNx TL70 Wireless Tower Light (900 MHz or 2.4 GHz to match the DXM100 or Gateway) with RF Firmware
version 6.4 or higher
The input status 2 and 3 rotate back and forth as long as the light recognizes an input that is transitioning between ON and
OFF at a frequency of at least 0.8 Hz and no faster than 6 Hz. If the input is transitioning slower than 0.8 Hz or faster than 6
Hz it may not display the input FLASHING status correctly.
30
DXM Configuration Software V4 Instruction Manual
Chapter Contents
Local Registers Screen ...................................................................................................................................................................................... 31
Register Mapping ............................................................................................................................................................................................... 40
Settings .............................................................................................................................................................................................................. 50
Tools ................................................................................................................................................................................................................... 64
The Local Register characteristics are defined on the Local Registers screen of the DXM Configuration Software.
DXM700, DXM1000,
DXM1200,
DXM100, DXM100-A1, DXM1200X2, DXMR90-4K and
and DXM150 DXM1500, DXMR90X1, DXMR110-8K
DXMR904M, and
R70ER
12001–12845 and
32-bit unsigned integer-based registers 1–845 1–845 and 5001–7000
17001–19000
Special function registers that can be reset registers 846–850 846–850 12846–12850
Non-volatile registers with limited write capability for permanent data 851–900 and 7001– 12851–12900 and
851–900
storage. Refer to the DXM Instruction Manual for more information. 8000 19001–20000
32-bit IEEE 754 floating point registers. Floating point values require two
Local Registers to store a value. Floating point Local Registers are
referenced on the odd-numbered register addresses, 1001, 1003, 1001–1900 1001–5000 13001–17000
1005. When using Action Rules/Read Rules always reference the odd-
numbered register addresses.
Register Overview
Name Units
Set a name for the register. This parameter is only used for Select the units information for the Local Register data. This
the display on the DXM LCD and for the BannerCDS cloud parameter field is only used for display on the DXM LCD and
services website. As soon as you name a register, the register for the Banner Cloud Data Services cloud services website.
appears in the Local Registers in Use list. Select the Custom field to create user defined units.
Register group
Register Groups can be used to easily sort related registers
on the Local Registers In Use table. Enter a tag to create a
register group.
Value Options
Value type Defines the behavior of the register's value. Use the drop-
down list of select:
Storage/HTTP Connectivity
Push to AWS IoT Core Apply Scale/Offset for AWS IoT Core
Denotes whether the register will be included in AWS Indicates whether calculations defined in the Scaling
publishes (see Settings › AWS IoT Core for the configuration). parameter (if any) should be applied when publishing this
register's value to AWS IoT Core. Values are uploaded as
AWS IoT Core push group integers; floating point values are truncated to the integer
This register will be published along with any other registers during the upload process.
that share the same AWS push group.
AWS IoT Core is only supported for DXM700, DXM1000, and
Define push groups on the AWS IoT Core settings screen. DXM1200 models. The four related parameters (Apply Scale/
Push groups can each have unique destinations and publish Offset, push group, Publish when value changes, and Push to
rates. AWS IoT Core) are only visible when one of these models is
selected.
To modify AWS parameters for multiple registers at once, use
the Batch AWS IoT Core Configuration screen. This screen is
visible only when a supported DXM model is selected.
Publish when value changes
If checked, this register will be published whenever its value
changes in addition to normally-scheduled AWS IoT Core
publishes.
32
DXM Configuration Software V4 Instruction Manual
The lower section of this screen shows the Register Panel, a one-stop tool for configuring local register behavior. This panel
includes the Edit Register, Modify Multiple Registers, and Batch AWS IoT Core Configuration tabs.
The Edit Register tab presents all parameters for a single register. See "Edit Registers Using the Local Registers in Use
Screen" on page 7.
The Modify Multiple Registers tab allows contiguous groups of registers to be modified in a single operation. See "Modify
Multiple Registers" on page 7.
Use the Batch AWS IoT Core Configuration tab to configure your AWS IoT Core functions for contiguous groups of registers.
The Register Panel appears automatically any time a local register-related tab is selected. Click and drag the gray bar along
the panel's top margin to resize it. The Register Panel is set to its maximum height by default.
To quickly modify a register seen on the Local Registers In Use table, click on any cell in the register's row. That register will
be loaded into the Register Panel, and the table will be automatically updated as you make changes.
Read rules are executed first, beginning with the first rule defined. The read rules execute in the order they were entered into
the DXM Configuration Software. After all read rules execute, the write rules are processed, in order. After the write rules are
processed, the system begins again with the read rules.
Processing the read/write rules takes a long time to complete, not because they take a lot of processing power, but because
each rule has a lengthy overall communication time relative to the processor execution cycle time. So, in parallel, action rules
are solved. Each action rule is processed in order, similar to the read/write rules. The groups of action rules are solved in this
specific order:
1. Calculate (Math), continually processed
2. Copy rules, processed only when a change of state is detected on the source register
3. Threshold rules, continually processed
4. Control Logic, continually processed
5. Trending, continually processed
6. Trackers, continually processed
IMPORTANT: Define all action rules to use integer-based Local Registers or floating point Local Registers.
Do not mix the two Local Register types within an Action Rule. To move integer-based Local Registers 1–
850 to floating point Local Registers, use the Register Copy rules.
All Action Rules screens have up/down arrows near the top of the screen that scroll through the rules. All Action Rules also
have Clone Selected Rule or Delete Selected Rule buttons to quickly copy/paste or delete the selected rule.
Threshold Rules
A Threshold Rule triggers event messages sent to the cloud (event-driven push), triggers events to be stored to the local
event log and creates a standard push message to the cloud with all defined registers being sent.
A Threshold rule creates a simple IF-THEN-ELSE comparison for a register to determine its value and set another register to
indicate if the rule is true or false (you must select a true option to also set a false option). The definition section of the
threshold rule sets the comparison and values. The definitions of the threshold rules can further be defined by the optional
parameters, Hysteresis, On Time, and Logging options.
If selected, the false option (else condition) is applied. This creates an IF-THEN-ELSE structure. To remove the ELSE
condition un-check the false option or set the result register to itself.
IMPORTANT: Read Rules can scale incoming Modbus register values to make Threshold rules easier to
understand. If Read Rule scaling is not used, the values stored in Local Registers are the raw Modbus
values from the server device. Display scaling and offset are not applied for these comparisons.
The Threshold rule is written as a sentence. Select the Local Register, operator, and value from the drop-down lists. Then
define the value of the Local Register when the statement is true and not true.
Value/Register—When Value is selected, provide a fixed number in the following entry box. When Register is selected,
provide a Local Register address in the following entry box. The contents of the Local Register will be used in the Threshold
rule. When Same as Source is selected (else statement), the contents of the Local Register defined in the If comparison is
used as the result.
Hysteresis—Optional parameter that is enabled only when values are non-zero. How hysteresis is applied depends on the
comparison. For a test that becomes true 'if greater than,' the test will not return to false until the Local Register is less than
the test value by a margin of at least this hysteresis value. If a test becomes true 'if less than,' it will not return to false until
the Local Register is greater than the test value by a margin of at least this hysteresis value. Minimum On Time and Minimum
Off Time are time-based parameters that govern how long a statement must be true or false to activate the output register.
On-Time—Stores in a Local Register how long (in minutes) the Threshold rule has been true. The On-Time value is shown in
the Local Register in minutes but maintains the internal counter in seconds. This results in the accuracy of seconds, not
rounding of the value stored in the Local Register.
Logging Options—Threshold rules create events. These events can cause certain actions to occur, such as:
• Save threshold events to the cloud—An immediate push with the threshold register states is sent to the web server
when this rule becomes active.
• Save threshold events to event log—Go to Settings › Logging to set up the event log.
• Push when active—Pushes the data to the cloud when the threshold rule becomes active. All local registers with the
Cloud Reporting parameter ON will push to the cloud. (Local Registers › Local Register Configuration)
• After trigger, set source to 0—After a Push is sent as a result of the Threshold rule, the source Local Register is set to
zero to indicate the Push data packet was sent.
34
DXM Configuration Software V4 Instruction Manual
IMPORTANT: To move integer-based Local Registers 1–850 to floating point Local Registers, use the
Register Copy rules. Register Copy automatically converts the integer value to a floating point value.
IMPORTANT: Creating multiple copy rules using the same starting register will not be consistent. Instead
create a daisy-chaining of registers. For example, copy register 1 to register 2, then copy register 2 to
register 5, then copy register 5 to register 10.
Some operations are valid for ranges of registers. Select And or Thru to select two registers or multiple registers in a range.
Average, Sum, and Logic Operations are valid for ranges of multiple registers. The Local Registers are unsigned 32-bit
integers. All math and logic functions can operate on all 32-bits. The Local Register operations are:
• Add—Adds two local registers and stores the result in a Local Register.
• Average—Averages the values of multiple registers and stores the result.
• Divide—Divides local register 1 by local register 2 and stores the result. Dividing by zero results in a zero.
• Logic NOT—Performs a bit-wise one's complement on a Local Register and stores the result.
• Logic OR, AND, NOR, NAND, XOR—Performs bit-wise logic function on multiple registers and stores the result. Bit-
wise logic functions operate on all 32-bits of the Local Registers. To perform logic function on a simple 0 or 1 in
registers, use the Control Logic rules.
• Multiply—Multiplies one local register by another and stores the result.
• Sum—Adds multiple contiguous local registers and stores the result in a Local Register.
• Subtract—Subtracts Local Register 2 from Local Register 1 and stores the result. For negative numbers, the results
are in two's complement form.
Control logic also works for floating point registers and virtual registers. In the case of floating point values, anything over 0.5
is considered logical 1.
Control Logic
Control Logic
Function In 1 In 2 Q out
0 0 0
1 0 0
AND
0 1 0
1 1 1
0 0 0
1 0 1
OR
0 1 1
1 1 1
0 0 0
1 0 1
XOR
0 1 1
1 1 0
0 - 1
NOT
1 - 0
0 0 1
1 0 1
NAND
0 1 1
1 1 0
0 0 1
1 0 0
NOR
0 1 0
1 1 0
NOTE: * Output Qn is an inverted output from the Q output and represents optional inputs or outputs.
Leave the optional inputs or outputs connected to 0 when not used.
J-K Flip-Flop
If J and K are different, the output Q takes the value of J. The Enable, Clock, and Qn connections are not required for
operation.
J-K Flip-Flop
*Enable J K * Clock Q Qn *
0 X X X No change No change
1 X X 0 or 1 or ↓ No change No change
1 0 0 ↑ No change No change
1 1 0 ↑ 1 0
1 0 1 ↑ 0 1
1 1 1 ↑ No change No change
If an input is zero it is false (0), and if a value is non-zero (anything but zero) it is considered true (1). All but one requires two
inputs; the NOT rule only has one input. Some of the Control Logic rules provide basic non-memory logic functions: AND,
OR, XOR, NOT, NAND and NOR. These basic logic functions are based on zero and non-zero values and result in a 0 or 1.
36
DXM Configuration Software V4 Instruction Manual
Optionally, the rules can have a Clock input and an Enable input. The Clock input determines the time (0-1 rising edge) the
rule is evaluated. The Enable input enables or disables the logic function.
• AND—Output is high (1) only if both inputs are non-zero
• OR—Output is high (1) if either input is non-zero
• XOR—Output is high (1) if either, but not both, inputs are non-zero
• NOT—Input is inverted to the output
• NAND—Output is low (0) if both inputs are high (> 0)
• NOR—Output is high (1) if both inputs are zero (0)
S R Q Qn *
1 0 1 0
0 0 No change No change
0 1 0 1
1 1 Invalid (1)
Invert Inputs—Typically a input value of "1" will be evaluated as true (active), selecting "Invert inputs" will result in a "0" value
to be considered true(active).
FlipFlop is R dominated—xxx
Table references:
• X = doesn't matter what the value is.
• <up arrow>, <down arrow> = signify a rising or falling edge of the clock input.
• * = optional input or output
*Enable D Clock Q Qn *
0 X X No change No change
1 X 0 or 1 or ↓ No change No change
1 0 ↑ 0 1
1 1 ↑ 1 0
*Enable T Clock Q Qn *
0 X X No change No change
1 X 0 or 1 or ↓ No change No change
1 0 ↑ 0 1
1 1 ↑ (toggle) (toggle)
(1) The Set input and Reset input active at the same time is an illegal condition and should not be used.
Sample
Interval
Enable
Register
Avg Register
Register Input Trending Min Register
to Track Filter Engine Max Register
The Trending rule has an optional filter input, and the filter output is the input to the Trending operation. The filter result is
used before applying the Trending rule when you define the Filter parameter. The other Trending parameters are listed. The
Average, Minimum, and Maximum register fields are optional and can be left set to zero when using the Filter output register.
Register to Track—Local Register to provide the input to the filter and Trending rule.
Sample Interval—Defines the time interval of the samples to collect from the Local Register.
Filter—Defines the specific filter algorithm to apply to the front end of the Trending rule.
Cumulative Average—Sums the samples and divides them by the number of samples.
Exponential Moving Average—A moving average filter that applies weighting factors that decrease exponentially. The
weighting for each older sample decreases exponentially, never reaching zero.
Lulu Smoother—Takes the minimum and maximum values of mini sequences of sample points. The mini-sequence length
is defined by the filter window parameter.
Median Average—Takes a least three sample points, sorts the sample points numerically, and selects the middle value as
the result. A new sample point entered into the filter removes the oldest sample point.
Recursive Filter —Created from a percentage of the current sample plus a percentage of past samples. The number of
samples is determined by the Filter Window parameter.
Simple Moving Average—Takes the number of samples defined by the Filter Window parameter and averages the
samples for the result. When a new sample is taken, it becomes the latest sample point, and the oldest sample point is
taken out of the filter averaging.
Weighted Moving Average—A moving average filter that applies a weighting factor to the data based on when the data
was captured. More recent data has a higher weighted factor.
Filter Window—Defines the number of samples for a filter algorithm. For example, if the sample interval is 5 minutes and the
Filter Window is 100, this will create a 100-point moving average over a 500-minute time period.
Filter Register—The Local Register that stores the output of the first stage filter. This is not required to connect the filter front-
end to the Trending rule processing.
38
DXM Configuration Software V4 Instruction Manual
Average Value Register—The Local Register number to store the average value of the Trending rule. The average is
calculated from the beginning of the power-up or from the Reset Trending time. (Hourly, Daily) Defining this Local Register is
optional and can be left at zero.
Minimum Value Register—The Local Register number to store the Minimum value of the Trending rule. The Minimum is
captured from the beginning of power-up or from the Reset Trending time. (Hourly, Daily) Defining this Local Register is
optional and can be left at zero.
Maximum Value Register—The Local Register number to store the Maximum value of the Trending rule. The Maximum is
captured from the beginning of power-up or from the Reset Trending time. (Hourly, Daily) Defining this Local Register is
optional and can be left at zero.
Reset Trend Data—Use to reset the Trend data accumulation. (Hourly, Daily, or not at all)
Enable Register—The Enable Register is an optional register and can be left set to zero. The Enable Register defines the
address of a Local Register that can be used to turn on and off the trending function. Set the value of the Local Register
defined to a 1 to turn on trending; set the value to zero to turn off trending. When disabled, the current data is held until the
rule is enabled again.
Tracker Rules
Tracker rules monitor a Local Register and store the result of a function in another Local Register.
The possible functions are:
• Count the number of register transitions from 0 to non-zero value (rising edge). The speed at which it can count
depends on how much work the DXM is performing. Typical tracker rates should be around 1 to 2 times per second.
• Track time in milliseconds the Local Register is in the non-zero state
• Track time in milliseconds the Local Register is in the zero state
Decoder Rules
Use the Decoders screen to copy a subset of the bits contained in a local register into another local register.
Register Mapping
Use the Register Mapping screens to configure read rules and write rules for Modbus RTU, Modbus TCP, and CAN/J1939.
Read and write rules allow the user to program the ability to read or write information from internal or external Modbus
servers to/from the local registers. On the DXM, use the read/write rules to access the Modbus registers of the LCD display, I/
O base board, and the internal ISM radio.
The Register Mapping screens handle all direct register mapping. DXM Configuration Software allows the user to create
Write/Read rules that in turn create Modbus messages to external devices. How the user enters rules affects how a Modbus
message is formed. If the user creates three individual read or write rules, those rules create three individual Modbus
messages that will be sent out of the RS-485 client port. If the user creates one read or write rule that spans multiple
registers, the result is one Modbus message.
Click on the arrow of the read or write rules to show all the parameters for that rule.
RTU
Use the Register Mapping › RTU screen to define RTU Read and RTU Write rules. The Read Rules or Write Rules interact
with the Local Registers to exchange data with external Modbus devices.
For screens that contain tables with rows, click on any row to select it. Then click Clone or Delete to copy/paste or remove
that row.
When DXM-R90x is the selected DXM model, an additional RTU Configuration screen is displayed before RTU Read and
RTU Write. This screen allows each of the DXM-R90x's five UART buses to be configured separately with distinct baud,
parity, timeout, and message delay settings.
When a model DXMR90-X1, DXMR90-4M, or DXM1200-X2 is the selected DXM model, an additional RTU Configuration
screen is displayed before RTU Read and RTU Write. This screen allows each of the UART buses of that device to be
configured separately with distinct baud, parity, timeout, and message delay settings.
1. From the Register Mapping › RTU › RTU Read screen, click Add Read Rule.
2. Click the arrow next to the name to display the parameters.
3. Name your rule.
4. Select the device ID.
5. Select how many registers to read, and the beginning register.
6. Define the register type, how often to read the register, and any other appropriate parameters.
7. If necessary, select the error condition. For this example, if the read function fails after three attempts, the read rule
writes 12345 to the DXM local registers. Notice the list of local register names this read rule is using.
40
DXM Configuration Software V4 Instruction Manual
Read Rules
Each read rule defines a Modbus ID and register range to read and then store in the Local Registers. The Local Register
names shown are the registers that are being used by the read rule.
When a model DXMR90-X1, DXMR90-4M, or DXM1200-X2 is the selected DXM model, each RTU rule created on the RTU
Read and RTU Write screens contain a Port drop-down field that specifies which of the UART buses the rule should use for
that device.
IMPORTANT: Setting Read Rules or Write Rules to fast rates may cause other processes, ScriptBasic,
LCD display, USB port accesses or API calls to be delayed or rejected.
The user defines parameters that can be applied to each read rule.
Frequency—Defines the cyclical rate at which the register is read. The maximum cyclic poll rate is controlled by the
maximum polling rate set in the Settings › General screen, the Modbus Client Communications section. Changing that value
causes the tool to adjust all polling rates. For example, setting the maximum rate to 1 second causes the tool to adjust all
rules with a frequency of less than 1 second up to 1 second.
Offset and Scaling—Scale and Offset are applied to the Modbus data before writing to the Local Registers. The Scale value
is multiplied followed by adding of the offset value. Dividing can be accomplished by using scale values less than 1.
Subtracting the offset value can be accomplished by using a negative offset value. The result is held in the Local Register.
Apply Offset before Scale Value—The execution order for scaling values is changed to first add the offset value then multiply
scale value. The result is held in the Local Register.
Error Conditions—Applies a default value to the Local Register after a user-defined number of Modbus register read fails.
Floating Point - Swap Words—A floating point value is a 32-bit value requiring two consecutive Modbus register reads or
writes. The DXM expects the most significant part of the floating point value to be first (lowest address) followed by the least
significant part. If a Modbus server device sends the least significant part first, select Swap Words to align the words
correctly.
On Register—The On Register is the address of a Local Register used to enable the Read rule. If the On Register is zero, it
is not used. If the On Register is specified, the data value of the Local Register controls the executions of the Read rule.
When the value of the Local Register is zero, the Read Rule is idle. When the value of the Local Register is non-zero, it will
continuously execute the Read Rule as fast as it can. This speed is governed the number of Read/Write rules defined and by
the Modbus Client Communications parameter Maximum Polling Rate (default 50 ms). This parameter is located on the
Settings › General screen. The Frequency interval is not followed when using the On Register feature.
Server IDs
DXM ISM Gateway radio: 1
DXM I/O Board: 200
DXM LCD: 201
MultiHop Remote server radios: 11 through 60
Write Rules
The write rules write Local Register data to the defined Modbus ID and registers. The Local Register names shown are the
registers used by the write rule.
IMPORTANT: Setting Read Rules or Write Rules to fast rates may cause other processes, ScriptBasic,
LCD display, USB port accesses or API calls to be delayed or rejected.
The user-defined parameters that can be applied to each Write rule are:
Frequency—Defines how often to write the Local Register to the Modbus device in one of two ways:
Cyclical—Causes a Modbus write based on a timing interval, as fast as possible or a specified time interval.
On Change of Local Register Data—Allows the user to specify certain criteria when to write to a Modbus server device.
For example, the write occurs if the Local Register changes by a user-specified amount. If the user wants to write the
Local Register to the Modbus server at a minimum interval, use the write AT LEAST time setting. Use the write AT MOST
time interval to minimize the write cycles for Local Registers that change frequently.
The maximum cyclic poll rate is controlled by the maximum polling rate set in the Settings › General screen, the Modbus
Client Communications section. Changing that value causes the tool to adjust all polling rates. For example, setting the
maximum rate to 1 second causes the tool to adjust all rules with a frequency of less than 1 second up to 1 second.
Offset and Scaling—Scale and Offset are applied to the Local Register data as it is being sent in the Modbus write command.
Local Register data is not changed in the process. The Scale value is multiplied followed by adding of the offset value.
Dividing can be accomplished by using scale values less than 1. Subtracting the offset value can be accomplished by using a
negative offset value. The result is held in the Local Register. Apply Offset before Scale Value—The execution order for
scaling values is changed to first add the offset value then multiply scale value. The result is held in the Local Register.
Please note that when using Offset and Scaling within an RTU Read Rule, the decimals are truncated. For example, if a raw
value is 99 and the scale value is 0.1, then a value of 9 arrives in the local register instead of 9.9.
Floating Point - Swap Words—A floating point value is a 32-bit value requiring two consecutive Modbus register reads or
writes. The DXM expects the most significant part of the floating point value to be first (lowest address) followed by the least
significant part. If a Modbus server device sends the least significant part first, select Swap Words to align the words
correctly.
42
DXM Configuration Software V4 Instruction Manual
Modbus/TCP Parameters
The Modbus TCP interface parameters are:
Enable Modbus TCP Modbus TCP Timeout
Globally enables or disables Modbus TCP Denotes the amount of time to wait before closing an inactive
TCP connection
Start up Delay
Defines the time delay between boot up and the execution of
the rules
If Modbus TCP is disabled, this section is not copied into the final XML configuration file. If the Modbus TCP rules do not point
to an enabled device, the rules are not written into the final XML configuration file.
CAN / J1939
CAN/J1939 is a wired communications protocol standard maintained by the Society of Automotive Engineers (SAE).
Commonly used in off-road and heavy equipment, J1939 is a higher level protocol that is built upon the Controller Area
Network (CAN) physical layer developed and originally published by Robert Bosch GmbH in 1991.
All J1939 messages are sent using the 29 bit message identifier, also known as the extended frame format, described in
CAN 2.0B.
Typical J1939 data frames consist of the 29 bit identifier, 8 byte payload, a 15 bit CRC, and 20 additional bits used as flags,
delimiters, or simply reserved for future use. Therefore a typical CAN packet is approximately 29 + 8 × 8 + 15 + 20 = 128 bits
long. At the standard rate of 250 kbits/sec, a J1939 packet is a little over 500 µs long. Actual duration may vary because the
protocol defines that "bit stuffing" shall occur any time there are 5 bits in a row of identical polarity.
There is no centralized network coordination function in a J1939 network. Every node (known as an Electronic Control Unit,
or EC) in a J1939 network "claims" a unique address for itself during network commissioning (after power-up). All ECs on the
bus can be producers, consumers, or both producers and consumers of data. When an EC has data that it wants to write to
the bus, it begins transmitting while simultaneously monitoring the channel for collisions. Collisions can be detected
immediately because each bit is sent using a dominant/recessive scheme and any EC that sees a dominant bit on the
channel when it transmitted recessive bit will know to immediately cease the transmission. This is known as non-destructive
bus arbitration.
Note that a minimum of two nodes must be used to initialize communication on a CAN bus. Since a transmitted message
must be acknowledged in the ACK bit by a receiver, the transmitting controller sends out an error flag if the message is not
properly ACKed.
Messages in J1939 are organized by a field in the 29-bit header known as the Parameter Group Number or PGN. The PGN
may be thought of as an index into a large data table. The J1939 standard defines what the data means in every such table
entry, but also leaves many PGNs to be defined in a proprietary manner.
For example, the PGN 65262 is defined to contain Engine Temperature. Within the 8 bytes sent with this PGN, the J1939
specification also defines that byte 1 is for Engine Coolant Temperature, byte 2 contains Engine Fuel Temperature 1, bytes
3-4 encode Engine Oil Temperature 1, bytes 5-6 encode Engine Turbocharger Oil Temperature, byte 7 represents Engine
Intercooler Temperature, and byte 8 is for Engine Intercooler Thermostat Opening.
Theory of Operation
The Banner DXM functions as a protocol converter between its internal local register space and J1939 PGNs.
Users must configure the DXM to select the J1939 PGNs to be monitored, which is known as creating a J1939 Read Rule.
Similarly, the DXM can be configured to transmit messages if desired, which is known as creating a J1939 Write Rule. Read
Rule and Write Rules map out the link between local registers and PGNs.
Data contained in DXM local registers may be accessed using the scripting engine in the DXM.
At startup, the DXM attempts to claim a unique J1939 address on the CAN bus it is connected to. It does so by sending its
desired address to the PGN 0xEE00 and waiting for a reply. The DXM broadcasts the contents of its NAME field, which is
specified in the DXM Configuration Software using the J1939 Name fields. All sub-fields are currently user selectable except
the Manufacturer ID.
The DXM allows two separate methods for specifying the address to claim on a J1939 network. Either one may be used; the
choice of the method can be determined by whichever one is more convenient. In the first method, a list of acceptable
addresses is specified. The DXM attempts to claim the first (leftmost) address, and if denied, will proceed to the next and the
next. In the second method, a range of acceptable addresses is specified and the DXM attempts to claim the lowest, then
increment that choice by 1 until it is able to claim one or reaches the end of the list.
No further J1939 functions (transmitting or receiving) begin until the DXM claims its address. In the DXM Configuration
Software, go to the Register Mapping › J1939 screen and click Read device J1939 address and name to view the current
DXM device address. If it returns –1, it was unsuccessful in claiming an address.
After the DXM has claimed an address, it passively listens to all J1939 traffic. Any messages that contain PGNs for which
there is a matching read rule are decoded and the data is copied into the desired local registers. Any PGNs in the J1939
Write Rules area are transmitted onto the bus at the interval chosen. Each time a J1939 message is about to be transmitted,
the DXM populates the J1939 data fields with the contents of the specified local registers, then writes the message onto the
bus.
1. The CAN protocol version must pass. This should always be the case in a J1939 network, but may have to be
revisited if this device is used for other CAN bus applications.
2. The 16 bits that make up the arriving PGN are examined. Specifically the PGN is considered to be the concatenation
of the 8 bit PDU Format and the 8 bit PDU specific fields.
a. If the PGN ≥ 0xF000, then the message destination is global and the PGN is left unaltered as it is handed to
the next layer of the internal stack. The implication of this is that read rules for PGNs in this range should have
the PGN in the rule set to exactly what the device documentation says.
b. If the PGN < 0xF000, then it is a peer-to-peer message and the PGN is considered to be the 8-bit PDU format
bits followed by 8 bits of 0. Put another way, PGN = (PGN & 0xFF00), where & represents a bitwise logical
AND operation.
i. Read rules for PGNs in this range should have the PGN in the rule set to mask off the lower 8 bits to
zero.
ii. In this case, the lower 8 bits (PDU specific bits) are the destination address. Destination address =
PGN & 0x00FF.
iii. If the address claimed by the DXM does not match the message's intended destination address, the
message is discarded. To prevent messages from being discarded this way, select Accept peer to peer
messages sent to any address in the DXM Configuration Software.
44
DXM Configuration Software V4 Instruction Manual
1. On the DXM: Make the wired connection to the bus. Using the labels on the housing decal, CH (pin 16) is for CANH
and CL (pin 15) is for CANL.
2. On your computer: Launch the DXM Configuration Software and navigate to the Register Mapping › J1939 screen.
3. Configure the J1939 Name for the DXM.
All sub-fields of the NAME area are user-configurable except the Manufacturer Code, which is permanently set to 758
(decimal) as granted to Banner Engineering by SAE.
4. Specify the preferred addresses for the DXM to claim using one of two methods:
◦ Create an explicit list of addresses in the ID1 through ID8 fields. The DXM attempts to claim the address
under ID1 first. If that address is already taken, it attempts to claim the address under ID2 and continues until
it claims an address.
◦ List the Start address and the End address. The DXM attempts to claim the Start address first and increment
sequentially until it successfully claims or reaches the End address.
5. BIP may be left at 25%. This field is the "babbling idiot protection" and establishes is the maximum fraction of the
J1939 channel bandwidth that the internal stack allows the DXM to consume with data transmissions. It is a
safeguard to protect the user from specifying too many or too frequent J1939 transmissions that could cause bus
collisions and performance issues.
6. Select Accept Peer to Peer messages sent to any Address to allow the DXM to listen in on peer-to-peer messages
that aren't directed to its own bus address.
Even though most messages on the J1939 bus are sent to a broadcast address, some peer-to-peer messaging is
possible.
1. From the Register Mapping › J1939 screen, click Add J1939 Read.
2. Enter a name for the rule.
This name does not affect the actual behavior of the system.
3. Enter a Source Address.
◦ If the bus address of the EC sending the PGN is known, enter that address as the Source Address.
◦ To accept messages from any source, enter the wildcard value of 255 as the Source Address.
Every J1939 message includes a Source Address, which is the bus address of the device that sent the message. The
DXM filters incoming messages based on this address.
4. Enter a Local Register.
The Local Register is the base address in local register memory space that the data should be sent to. When creating
multiple read rules, choose to base addresses spaced so that the same local register does not get written to by
multiple read rules.
5. Enter a PGN.
This is the parameter group number (PGN) of the J1939 message that this rule captures.
◦ If PGN ≥ 0xF000 (61440), the PGN is a broadcast rule. The message arrives and passes through the stack as
long as the PGN matches the read rule.
◦ If PGN < 0xF000 (61440), it is a peer-to-peer message. To be received, the lower 8 bits of the PGN must
match the bus address claimed by the DXM. (This check can be overridden by selecting Accept peer to peer
messages sent to any address.) Because the lower 8 bits of the PGN (also know as the PDU Specific) are
used as an address, the PGN in the read rule should have its lower 8 bits zeroed out to make the matching
work.
6. Enter the Local register byte width.
Local registers are 32 bits, so it is possible to pack 1, 2, or 4 bytes of J1939 data into each local register. For J1939
messages with 8 bytes of data (the majority), packing means the data consumes 8, 4, or 2 local registers respectively
depending on the choice.
1. From the Register Mapping › J1939 screen, click Add J1939 Write.
2. Enter a name for the rule.
This name does not affect the actual behavior of the system.
3. Enter a destination Address for the message.
The broadcast address is 255.
4. Enter the Local register.
The Local register is the data source's base address in local register memory space.
5. Enter the PGN.
Only PGNs in the range 0xFF00 (65280) to 0xFFFF (65535) are able to be specified by the manufacturer. Use
caution when assigning data to PGNs outside of this range, because the data must adhere to the formatting specified
by the Society of Automotive Engineers or risk being misinterpreted by other ECs on the bus.
6. Enter the Local register byte width.
46
DXM Configuration Software V4 Instruction Manual
Local registers are 32 bits wide, so it is possible to retrieve 1, 2, or 4 bytes of J1939 data from each local register.
Because most J1939 messages have 8 bytes of data, the data is sourced from 8, 4, or 2 local registers, respectively,
depending on the choice.
Because this PGN is in the range 0xFF00–0xFFFF (65280–65535), the data is manufacturer-specific and not constrained by
a definition controlled by the SAE.
1. On the Register Mapping › J1939 screen, click Add J1939 Read to create a new read rule.
2. Enter a Name, for example, Proprietary_msg1.
3. Enter the Source address (the sender's bus address) or enter 255 to accept data from any address on the bus.
4. Enter the Local register (the base address for the data).
5. Enter a PGN of 65281.
6. Enter the Local register byte width (1, 2, or 4), which stores the bytes per local 32-bit register.
The following example J1939 message shows the relation between byte order on the bus and in the local register space:
J1939 Data 0x01 0x23 0x45 0x67 0x89 0xAB 0xCD 0xEF
Reg. Address Base Base +1 Base +2 Base +3 Base +4 Base +5 Base +6 Base +7
Because this PGN is in the range 0x0000–0xEF00, (0–61184) this is meant to be a peer-to-peer message. The lower 8 bits of
the PGN contain the destination address.
1. On the Register Mapping › J1939 screen, click Add J1939 Read to create a new read rule.
2. Enter a Name, for example, p2p_msg2.
3. Enter the Source address (the sender's bus address) or enter 255 to accept data from any address on the bus.
4. Enter the Local register (the base address for the data).
5. Enter a PGN of 51968 or 0xCB00. Note that the lower 8 bits have been masked.
6. Enter the Local register byte width (1, 2, or 4) bytes per local register.
7. Enter the Address claim. As a peer-to-peer message, this PGN is intended for the device at address 0xF4 (244) only.
There are two ways to allow the DXM to read this message:
◦ Have the DXM claim address 0xF4 (244) on the bus; or
◦ Select Accept peer to peer messages sent to any address
Each diagnostic trouble code consumes 8 bytes, but there may be more than one active code from a given EC. Such
longer messages are sent using the Transport Protocol feature of J1939, which the DXM supports. It is important that
the user reserve enough local register space for the messages in case there are more than the standard 8 bytes.
Use the buttons on the J1939 Configuration screen to send the following commands:
• Read device J1939 address and name
• Get traffic and filtering totals
• Clear traffic and filtering totals
• Get name and address claim totals
Command (case Command Name and Fields in Response (after RSP00xx, where xx = confirmation
Sample Response
sensitive, no spaces) Meaning of command number
ASCII string of the DXM's NAME field in hex. The NAME is eight
CMD0081 NAME field RSP00815A5ADA5EFFFFB4DA
bytes long, so the field will contain 16 hexadecimal digits.
Continued on page 49
48
DXM Configuration Software V4 Instruction Manual
IO-Link Screen
IO-Link behavior is supported by the DXMR90-4K and DXMR110-8K models only.
For the DXMR90-4K model, the IO-Link screen is found under Register Mapping. For the DXMR110-8K, the IO-Link screen
appears directly on the left side navigation because the DXMR110-8K doesn't support any other register mapping.
IO-Link screen
Settings
Use the Settings screen to define general parameters, cloud services settings, logging parameters, Script Basic settings,
network settings, administration parameters, notes, and I/O board parameters.
In the upper right of the Settings screen is a Show advanced settings checkbox. By default, this box is not selected, hiding
advanced configuration features. Screens with advanced configuration settings are: System, Cloud Services, Ethernet, and
Scripting.
System Settings
Use Settings › System to define the time zone, Modbus Client serial interface, Modbus Server serial interface parameters,
and to manually enter your GPS coordinates.
Radio Communications
Automatic Radio Polling continually polls the embedded DX80 ISM radio for data changes. Using automatic polling is optimal
for data throughput from the radio, but monopolizes the bandwidth on the client RS-485 bus. If other resources are expected
50
DXM Configuration Software V4 Instruction Manual
to share the client RS-485 bus, it may be better to access radio data using Register Mapping. Using Automatic Radio Polling
allocates DXM Local Registers 1–768 for the DX80 ISM radio devices (the Gateway and Nodes 1–47).
The processor organizes the data in DXM Local Registers based on the user selections defined below.
DXM Local Registers organized by Device (GW=0, Nodes 1–47) where DXM Local Register address = (Device# × 16 ) + DevReg#
Device Type Device Reg Gateway Node 1 Node 2 Node 3 Node 4 ... Node 47
Input 1 1 → 1 17 33 49 65 753
Input 2 2 → 2 18 34 50 66 754
Input 4 4 → 4 20 36 52 68 756
Input 5 5 → 5 21 37 53 69 757
Input 6 6 → 6 22 38 54 70 758
Input 7 7 → 7 23 39 55 71 759
Input 8 8 → 8 24 40 56 72 760
Output 1 9 → 9 25 41 57 73 761
Output 2 10 → 10 26 42 58 74 762
Output 4 12 → 12 28 44 60 76 764
Output 5 13 → 13 29 45 61 77 765
Output 6 14 → 14 30 46 62 78 766
Output 7 15 → 15 31 47 63 79 767
Output 8 16 → 16 32 48 64 80 768
DXM Local Registers organized by Input/Output (GW=0, Nodes1–47) where DXM Local Register address = ((DevReg# - 1) × 48) + (Device#
+ 1)
Device Type Device Reg Gateway Node 1 Node 2 Node 3 Node 4 ... Node 47
Input 1 1 → 1 2 3 4 5 48
Input 2 2 → 49 50 51 52 53 96
Depending on the model being configured, the Radio Communication settings may change.
Cloud Services
Use Cloud Services to define the parameters to send register data to the website.
For instructions on how to push data to an Amazon Web Services (AWS) endpoint, refer to the technical note Pushing to an
Amazon Web Services (AWS) IoT Endpoint (p/n b_5933667)
Select Show advanced settings if it isn't already selected to view all configuration parameters.
52
DXM Configuration Software V4 Instruction Manual
Cloud Push
Apply scale and offset to push data Ethernet Retries per push interval
When selected, the DXM applies scales and offsets to local Used when pushing HTTP data to a webserver using Ethernet
register values before pushing them to the cloud. Do not and defines the number of attempts made to send HTTP data
select this parameter when pushing data to the BannerCDS to the web server before it will save the message into a local
website (bannercds.com). file to be pushed up at the next push interval. (default 5)
Values are uploaded as integers; floating point values are Push packet format
truncated to the integer during the upload process. Default—Set to Default when pushing to the BannerCDS
Cloud Push Interval website (bannercds.com).
Defines the time interval for cyclical data pushes sent to a JSON—Set to JSON when pushing to third-party cloud
webserver or host system. Setting the Cloud Push Interval to services such as AWS IoT Core.
zero disables cyclical push messages. When using pushes
created by a threshold rule, the Cloud Push Interval is Push Port
ignored. Cloud pushes created from ScriptBasic are Defines the HTTP push data port on the web server.
independent from these settings. The factory default setting is port 80. Set the port to 443 when
For example, with a Cloud Push Interval set to 1 hour and the you are using HTTPS.
sample count set to 10, the DXM saves the register data
Sample count
every 6 minutes and pushes all data to the web server every
hour. Defines how many times between the Cloud Push Interval to
save data. The sample points are saved, then sent at the next
Cloud Push Interval.
Enter a Certificate CN. A Certificate CN is required to be associated with one or more domain names, called common name
(CN). A single name Certificate CN is typically www.yoursite.com. A wildcard certificate includes single level sub-domains.
The certificate CN is a wildcard certificate; *.bannercds.com. If nothing is entered into this field, the BannerCDS CN will be
used; *.bannercds.com.
Note that these controls upload certificate files to the connected DXM700's microSD card and do not affect the DXM's actual
configuration file.
54
DXM Configuration Software V4 Instruction Manual
Cellular
The Cellular settings screen displays only when Cell is selected as the push interface on the Settings › Cloud Services
screen.
Ethernet Settings
Use the Ethernet screen to configure the DXM's Ethernet connection for Cloud Services, Mail, Modbus TCP, and UDP
console functionality.
Publish given register will be pushed with this specified group only if
To publish data via AWS IoT Core, at least one publish rule Push to AWS IoT Core is selected. If the configuration
must be defined. software opens an existing configuration file within which a
local register is set as a member of multiple AWS IoT Core
Enabled—Enables the publish rule push groups, it will instead be parsed as a member of the
Topic—Denotes the topic to publish data to largest push group specified for that register, omitting any
additional group memberships denoted in the file.
Group—Defines a push group for this publish rule; when this
rule publishes, data from all local registers that are configured Timer (hh:mm)—Rate at which data associated with this rule
with this push group publish. Each Local Register belongs to publishes. The maximum setting is 23 hours 59 minutes
one of the 32 Publish Groups (numbered 1 through 32 and (23:59).
configurable within the AWS IoT Core section of the Local
Registers › Local Registers in Use › Edit Register screen). A
56
DXM Configuration Software V4 Instruction Manual
Notifications
To receive email and/or SMS text messages related to events, please use the Banner Cloud Data Services messaging
feature within the webserver. Information about Banner Cloud Data Services can be found on our website.
Logging
Use Settings › Logging to define the local logging setup for the on-board SD card of the DXM. Up to three cyclical logs and
one event log can be defined for threshold events. Click on the arrow to the left to expand the log configuration parameters.
The string length limit for each line in the Log file is 1,000 characters. Lines typically start with the time stamp followed by the
values of each saved register. Discrete values (0/1) are short, but analog values could be up to 10 characters each. Taking
an average of 6 characters for each value stored, the practical limit will be about 160 registers per log file.
The data log configuration parameters define the log file name, size, and what to do when the size is exceeded.
View, save, or delete files stored on the micro SD card using the Log file Management section. The DXM needs to be
connected to a PC for these features to operate.
An HTTP Log file is created for a data packet pushed to the web server. Successful pushes cause the HTTP log to be time-
stamped and placed into a dated folder under the "_sxi" directory. Typically, these logs are deleted daily.
Transmissions that fail to make it to the web server accumulate in the HTTP Log file, retrying the failed attempts at the next
cyclic interval. After 10 failed attempts, the HTTP Log file is time-stamped and saved on the SD card in a separate directory
("_sav" ) and must be retrieved manually.
Scripting
The DXM can run one ScriptBasic program. Use the Scripting screen to save, load, or delete script files on the DXM.
Files other than ScriptBasic files can be uploaded to the DXM. Files are placed in the root directory and can only be
accessed by a ScriptBasic program.
Select Show advanced settings in the upper right of the screen to display the ScriptBasic Network Options.
Select a ScriptBasic file from the current ScriptBasic files window and select Add Selected to Startup Scripts to define which
program should be run at boot time. Save the XML configuration file before loading to the device. A reboot is required to start
a new script program.
To upload files:
1. Click Upload. A pop-up window appears.
2. Select the pull-down menu to select the file types: .sb, .esb or *.*.
Administration
The DXM manages two passwords that are defined on the Settings › Adminstration screen. Defining a File Protection
password requires a password to be entered before a configuration file or ScriptBasic program file is loaded to the DXM. The
LCD protection password requires the user to enter a password on the DXM LCD to unlock the LCD display of the DXM.
File Protection—Setting a password requires that a user enters a password before loading a configuration file or ScriptBasic
file. The password is stored in the DXM and requires the DXM to be connected to the computer via USB port or Ethernet to
set the password.
58
DXM Configuration Software V4 Instruction Manual
LCD Protection—The LCD passcode locks the DXM LCD display menu from operation. A valid passcode must contain 1–9
numbers with the first number being non-zero. The user has access to the full menu system when the passcode has been
entered using the DXM LCD menu. The user can re-lock the display by selecting the Display Lock menu or the DXM will
automatically re-lock the display after 15 minutes with no activity. If the DXM reboots, the device prompts the user for the
passcode.
Notes
Use the Notes screen to enter informational text about the configuration file or notes specific to the application.
The Notes screen can save up to 4096 characters of alphanumeric characters and some special characters (~ ! @ # $ ^ ( ) _
- = + ? / } ] { [ ). The notes are stored in the beginning of the XML file.
IO Board
The DXM I/O boards come in various combinations of inputs and outputs. The selection of the base board type can be set to
Manual or Auto detect. When modifying parameters, always read (GET) the parameters first, edit, and then write (SEND) the
new parameters back to the I/O board.
The I/O Board settings screen only displays when the selected DXM Model is DXM100, DXM100-A1, or DXM150.
Depending upon the amount of parameter data to see, click on one of the following buttons to read the current parameter
settings:
GET all parameters and IO GET parameters
Reads all the I/O board device level parameter data plus the
input and output parameter settings.
Reads only the I/O board device parameters. Device level GET
parameters effect the I/O board operation in general and are Reads parameters for each individual I/O point, from one input
not specific to I/O points. or output.
GET all IO points
Reads the parameters for all the inputs and outputs on the I/O
board.
Based on the number of changes made to the parameter data select one of the following buttons to write the data to the DXM
I/O board:
SEND all parameters and IO SEND all IO points
Writes all the I/O board device level parameter data plus the Writes the parameters for all the inputs and outputs on the I/O
input and output parameter settings. board.
SEND parameters SEND
Writes only the I/O board device parameters. Device level Writes parameters for each individual I/O point, from one input
parameters effect the I/O board operation in general and are or output.
not specific to I/O points.
Name
Assign a name to each device to it easier to track the device in the configuration software.
The Name must be less than 18 characters and contain only the standard alpha-numeric characters, the following standard
ASCII characters: *, +, -, /, <, >, or a space.
After making any changes, click SEND parameters to write the changes. The status bar at the bottom of the screen indicates
when the process is complete.
Default Conditions
Default conditions are the conditions under which outputs are sent to their defined default state. These conditions apply to all
outputs.
Selecting Start Up sets this radio's outputs to their default values when this radio is powered up.
A Comms Timeout refers to the communication between the host system and the selected radio (which may be any radio
within the network). Selecting Communication Timeout sets this radio's outputs to their selected default values when the host
system has not communicated with this radio within the time specified. Set the communication timeout in seconds.
After making any changes, click SEND parameters to write the changes. The status bar at the bottom of the screen indicates
when the process is complete.
After the radio problems are resolved with the parent radio or communication with the host system has resumed, the host
system is responsible for writing the operating output value.
IO Pulse Patterns
Setting the I/O pulse pattern establishes an on and off pattern that can be used for a discrete output or switch power.
Define I/O Pulse Patterns by selecting specific timeslots to turn the output on or off. Although the pulse pattern was originally
designed to turn on and off an indicator light, the pulse pattern can be set for any discrete output or switch power. Users may
configure up to four different patterns per radio device. In the example shown, Pattern 1 is configured to turn on for the first
240 milliseconds within a 1280 millisecond range.
60
DXM Configuration Software V4 Instruction Manual
After making any changes, click SEND parameters to write the changes. The status bar at the bottom of the screen indicates
when the process is complete.
Device Restore
Use these commands to restore default settings to the selected device.
The aliased Register Contents are in registers 101 through 116. For this example, when a host system reads Modbus
registers 101 through 107 of the MultiHop radio, the register contents come from register 5, 7, 9, 10, 8, 501 and 502.
Inputs
The following parameters are used to configure the inputs.
The input parameters vary, depending on the enabled and available input types.
Input Configuration
Select Enable to turn on this input.
Sample Rate The sample interval, or rate, defines how often the Sure Cross
device samples the input. For battery-powered applications,
setting a slower rate extends the battery life. Set the sample
rate/interval in hours:minutes:seconds.
Universal Configuration
After enabling the input, configure the universal input type.
Count on falling values Input Type
Select to count on a falling transition. Select the input type from the drop-down list.
NPN
Count on rising values
PNP
Select to count on a rising transition.
0-20mA
0-10V
Thermistor
Potentiometer
Bridge
NPN Raw Fast
Preset Value (Counter)
Enter a number in the selection box and press the Set Value
button to write a preset counter value to the register.
Analog Configuration
Enable push on change of state Enable register full scale
Enables push registers for this input. When the discrete input Turning Fullscale ON sets the entire register range of 0
changes state, the register value is pushed to the client radio through 65535 to represent the selected minimum through
if this register is configured to be a push register. For analog maximum input values. With Fullscale turned on, a register
inputs, use the threshold and hysteresis parameters to define value of 0 represents the selected minimum value in
"on" and "off" points. microamps (for current inputs). A register value of 65535
represents the selected maximum value in microamps. For
example, a register value of 0 is 0 and the register value of
65535 represents 20 mA (or 20,000 microamps). With
Fullscale turned OFF, the register value represents unit-
specific input readings. For units of current (mA), register
values are stored as microAmps. Voltage values are stored as
millivolts. A sensor reading of 15.53 mA is stored as 15530.
Signal Conditioning
Delta Median Filter
The delta parameter defines the change required between When the median filter is turned on, three samples are taken
sample points of an analog input before the analog input for each analog sensor reading. The high and low values are
reports a new value. To turn off this option, set the Delta value discarded and the middle value is used as the analog value.
to 0. To use the delta function, the push registers must be Set to zero (0) to turn off the median filter. Set to one (1) to
defined. turn on the median filter.
Hysteresis and Threshold (Analog) Sample High and Sample Low
Threshold and hysteresis work together to establish the ON For analog inputs, the sample high parameter defines the
and OFF points of an analog input. The threshold defines a number of consecutive samples the input signal must be
trigger point or reporting threshold (ON point) for a sensor above the threshold before a signal is considered active.
input. When the input value is higher than the threshold, the Sample low defines the number of consecutive samples the
input is ON. Hysteresis defines how far below the threshold input signal must be below the threshold minus hysteresis
the analog input is required to be before the input is before a signal is considered deactivated. The sample high
considered OFF. A typical hysteresis value is 10% to 20% of and sample low parameters are used to avoid unwanted input
the unit’s range. transitions.
In the example shown, the input is considered on at 15 mA. To Tau Filter
consider the input off at 13 mA, set the hysteresis to 2 mA. Set to zero (0) to turn off the tau filter. Set to 1 (weakest filter)
The input will be considered off when the value is 2 mA less through 6 (strongest filter) to turn on the tau filter. (In the DX80
than the threshold. products, the Low Pass Filter is a combination of the median
filter and the tau filter.)
ON point
Input Value
Threshold
Hysteresis
Input
OFF point
Time
Temperature Settings
Enable full scale (Temperature) Turning Fullscale OFF sets the register range of 0x8000 (–
32767) through 0x7FFF (+32768) to represent the range of
input values. With Fullscale turned OFF, a register value of
1450 represents 72.5 degrees (register values = temperature
× 20). With Fullscale turned ON, users can specify the register
minimum and maximum range of values. These min/max
values are represented in the register as 0 (min) and 65535
(max).
62
DXM Configuration Software V4 Instruction Manual
Outputs
The following parameters are used to configure the outputs, including the switch power outputs.
The output parameters vary, depending on the enabled and available output types. To begin configuring your outputs, Enable
the output.
Discrete Output
Default Output Value Use I/O Pulse Pattern
Select the default output value. When the selected default To use a programmed pulse pattern, select Use I/O pulse
condition occurs and Hold Last State parameter is set to OFF, pattern, then select the appropriate pattern from the drop-
this output is set to the selected default output value (e.g. out down list. Define the patterns in the Device Parameters
of sync, communication timeout, start up). section of this screen.
Hold Last State
Retains its last value during the selected default condition (out
of sync, communication timeout, start up).
For continuous switch power, set the voltage on this screen and set the default state to ON. Verify the default "start-up"
conditions are set in the device parameters screens.
Universal Out
After enabling the output, configure the universal output type.
Output is Enable register full scale
Select the output type from the drop-down list. Turning Fullscale ON sets the entire register range of 0
0-20mA through 65535 to represent the selected minimum through
0-10V maximum input values. With Fullscale turned on, a register
value of 0 represents the selected minimum value in
microamps (for current inputs). A register value of 65535
represents the selected maximum value in microamps. For
example, a register value of 0 is 0 and the register value of Hold last state (output)
65535 represents 20 mA (or 20,000 microamps). With Retains its last value during the selected default condition (out
Fullscale turned OFF, the register value represents unit- of sync, communication timeout, start up, etc).
specific input readings. For units of current (mA), register
values are stored as microAmps. Voltage values are stored as
millivolts. A sensor reading of 15.53 mA is stored as 15530.
H-Bridge Configuration
Enable this output and the H-Bridge configuration to configure its parameters.
Cap warmup time Use I/O Pulse Pattern
Similar to the switch power warm-up time, the h-bridge To use a programmed pulse pattern, select Use I/O pulse
capacitor warm-up time (hours:minutes:seconds) is the time pattern, then select the appropriate pattern from the drop-
allotted to charge the capacitor used to activate the h-bridge down list. Define the patterns in the Device Parameters
and latching solenoid. section of this screen.
Switch time Voltage
Time (hours:minutes:seconds) needed to activate the h-bridge Voltage required to activate the h-bridge and latching
and latching solenoid. solenoid.
Tools
The Tools screen provides utilities for reading and writing register values interactively, adding registers to the DXM's display,
exporting protocol conversion configurations, and updating the DXM.
Register View
The Register View is a Modbus utility to help debug configurations and view register data for devices connected to the DXM.
64
DXM Configuration Software V4 Instruction Manual
DXM Display
Use the Local Registers › Local Registers in Use screen to define which registers can be displayed under the Register menu
of the DXM. Use the DXM Display screen to adjust the display order of the Registers with LCD Permissions. If the display
order is not specified, the registers display in numerical order.
The Local Registers defined to be displayed on the LCD menu are shown in the left column.
1. Select the Local Register by clicking next to the Registers with LCD Permissions number.
2. Click the arrow button to populate the Registers with LCD Permissions in the Display order column.
3. After defining the Local Registers to display, adjust the order using the up and down arrows to the right of the Display
order column.
If there are more Local Registers defined with LCD permissions than there are in the Display order column, the remaining
registers display in the order of the Local Register number. A Local Register can only be shown once on the LCD.
Scheduler
Use the Scheduler screens to create a calendar schedule for local register changes, including defining the days of the week,
start time, stop time, and register values.
Schedules are stored in the XML configuration file, which is loaded to the DXM. Reboot the DXM to activate a new schedule.
If power is cycled to the DXM in the middle of a schedule, the DXM looks at all events scheduled that day and processes the
last event before the current time.
For screens that contain tables with rows, click on any row to select it. Then click Clone or Delete to copy/paste or remove
that row.
Reprogram
Use the configuration software to update the DXM's firmware. Previous firmware must be version 2.01 or later. For earlier
firmware versions, contact Banner Engineering support.
Click Get Device Information to have the DXM read and display its serial number, model number, version, and firmware
numbers for both the processor board and the I/O board.
By default, Verify firmware compatibility before configuring DXM is selected any time the configuration software
launches. Deselect it to allow uploads of a configuration file without first verifying that the connected DXM's firmware supports
the features. This field is not saved and will always be selected when the configuration software launches.
66
DXM Configuration Software V4 Instruction Manual
Chapter Contents
Verifying Communication Between a MultiHop Radio and DXM Controller ....................................................................................................... 67
To confirm the radio communications connection between the client and server radios, define Read Rules and Action Rules.
Use two local registers to monitor each MultiHop radio. Use an optional third register to monitor how long the server radio
was not communicating with the client radio.
1. Connect to the DXM Controller with the MultiHop client radio using serial or TCP/IP.
2. Define the Read Rule.
3. Define the Threshold/Action Rule.
4. Repeat these steps for each MultiHop server radio you'd like to monitor.
3. Define a register to be used as an alarm notification register when the MultiHop client radio cannot communicate with
the MultiHop server radios.
4. Define a register to be used to track how long the MultiHop server radio was not communicating with the client radio.
Select an alarm value that makes sense for the potential values of the application, but won't adversely affect graphing
or charting the data point for analysis. For this example, we will use an alarm value of 25, because the likely values
for this application will range from 0 to 20. The alarm value of 25 will be written to local register 23 after five read
failures.
For the tank level example, when this register's value equals 1, local register 26 tracks how long this remote MultiHop
server radio was not able to be reached. The alarm is sent to the web server service, and the event is logged in the
Events Log on the DXM.
68
DXM Configuration Software V4 Instruction Manual
Chapter Contents
Manually Install the DXM Driver ......................................................................................................................................................................... 69
Update the Software........................................................................................................................................................................................... 69
Reset the Controller if the Password is Lost ...................................................................................................................................................... 70
Recover an IP Address with a DXMR90............................................................................................................................................................. 70
Chapter 4 Troubleshooting
1. Power the DXM using the BWA-UCT-900 cable and plug the USB into your computer.
2. Launch the DXM Configuration Software.
3. Go to the Settings › Administration screen.
4. At the bottom left of the screen, select which COMM Port the DXM is connected to.
5. Click Read DXM IP Address. The IP Address of the DXMR90 should display.
◦ If you are able to connect to the DXM at the IP Address displayed, stop here and connect to the DXM as
usual.
70
DXM Configuration Software V4 Instruction Manual
◦ If the IP Address was not returned or cannot be connected to at the displayed address, then continue to the
next step.
6. Click Reboot DXM with Configuration Bypass.
7. You may be prompted to reboot the controller at this point. If you are, click yes and then cycle power to the DXM while
leaving the USB plugged into the computer. The DXM should now be set at the default IP Address and Subnet
(192.168.0.1 and 255.255.255.0).
8. Confirm the IP address by clicking Read DXM IP Address.
9. Navigate to Connect to DXM and connect at the 192.168.0.1 address.
10. Edit the XML file to have the desired IP Address (Settings › Ethernet).
11. Send the XML file to the DXM.
After the DXM reboots, the controller will have the IP Address assigned in the XML file.
Chapter Contents
Update Your DXMR90 and DXMR110 Processor Firmware Using the Configuration Software ........................................................................ 73
Updating the DXM Processor Firmware............................................................................................................................................................. 73
DXM Configuration Software v4 Release Notes ................................................................................................................................................ 77
Contact Us.......................................................................................................................................................................................................... 79
Banner Engineering Corp. Software Copyright Notice....................................................................................................................................... 79
3. Under Tools › Reprogram, click Upload bootloader file to select the firmware file to program.
4. Select the .HEX file provided to bootload the device.
This is a large file, so it may take 10-15 minutes to upload.
5. After the file load is completed, reboot the device by selecting DXM › Reboot DXM.
Upon reboot, the device will begin to bootload. There will be a solid green light on for 6 to 7 minutes. Do not be
alarmed if the device appears to not do anything. After 6 to 7 minutes, an amber LED nearest the power connector
flashes for 2 to 3 minutes. After the boatload process is finished, the device returns to normal operation.
6. DO NOT disconnect the power during the 6 to 7 minutes after the device cycles the power.
To verify the firmware has been updated, go to Tools › Reprogram › Get Device Information and verify the new versions
are listed.
3. Set the processor board jumper (jumper C, shown below in the "boot load off" position).
Processor board
Popup screen
The SAM-BA program attempts to automatically detect the COM port and the correct device.
5. On the SCRIPTS pull-down m] enu select ENABLE FLASH ACCESS. Click EXECUTE.
74
DXM Configuration Software V4 Instruction Manual
6. In the SCRIPTS pull-down menu, select BOOT FROM FLASH (GPNVM1). Click EXECUTE. Click EXECUTE again if
the message indicates it failed.
7. In the Flash tab, click on the folder icon for the Send File Name field. Select the boot load file (must be a *.bin file) and
click SEND FILE. The file is: DXM PROCESSOR FIRMWARE V2.02 or go to the software section of the Wireless
Reference Library on www.bannerengineering.com.
New firmware file is valid After validation successfully completes, LED4 is on (amber).
The firmware file names follow an 8.3 filename convention. The first 5 characters are the firmware part number in
hexadecimal; the last 3 characters of the part number are the major/minor version number. For example, if 30FA9052.hex is
the firmware programming file, 200617 decimal (30FA9 hex) is the firmware part number and 0.5.2 (0502) is the decoded
version number.
Update the DXM Processor Firmware Using the DXM Configuration Software
To update your processor firmware using the DXM Configuration Software, follow these instructions.
1. Using the DXM Configuration Software version 3 or later, connect to the DXM via USB(1) or Ethernet.
File loads to the DXM will take about 15 minutes using USB or approximately 2 minutes using Ethernet.
2. On the configuration software, go to Settings › General › Device Information to verify the current firmware version.
You must load a different version with the same firmware number for the boot loader to operate. Download firmware
files from the Banner website.
Device Information
3. Under Settings › Reprogram, click Select upgrade file to select the firmware file to program.
After the file load is completed, the DXM restarts and loads the new firmware file. It takes about 2 minutes to complete the
programming process. The device reboots when finished. Verify the firmware has been updated, under
Settings › General › Device Information.
(1) While the file download is in process over a USB connection, do not use other applications on the PC. After the DXM reboots for a firmware update, the USB
port may be unresponsive. Clear the connection by disconnecting the USB cable and restarting the DXM Configuration Software.
76
DXM Configuration Software V4 Instruction Manual
Initial release of the version 4 software. Note that the official name of all configuration tools changed to
16 Jan 2019 4.0.3
"configuration software". Reserve "tools" to represent hardware.
Changed application name from "DXM Configuration Tool" to "DXM Configuration Software".
If you are upgrading from v4.0.3 to v4.0.11, you may need to manually delete the "DXM Configuration Tool
v4" shortcut from your desktop. A new shortcut named "DXM Configuration Software v4" will be created when
you update.
Added "Clone" and "Delete" functionality to Action Rules, Register Mapping, and Scheduler screens. Click
18 Feb 2019 4.0.11 any table row on one of these screens, then click the appropriate button to either duplicate or remove that
row.
Register View improvements: Bug fixes for register names and read/write operations; "Register source"
options are now updated based on the selected Device Model.
Users can now convert DXM700 configurations to DXM100/DXM150 configurations via the Model Select
1 Mar 2019 4.0.14 screen Cloud permissions and Cyclic push local register parameters have been combined into a single
parameter called Cloud settings Various UI improvements and bugfixes
Action rules and Register Mapping rules can now be reordered within their respective tables using the arrow
buttons on the table headers.
22 Mar 2019 4.0.18 Updated validation for configuration file load. Any configuration file can now be loaded (regardless of which
DXM device model it targets) if its Register IDs are valid for the currently-selected device model in the
software.
Continued on page 78
The Edit Register panel now includes a "Clear Register" button, which resets the selected register to its
default parameters.
10 Apr 2019 4.0.21 Added warnings when configuring unusually fast Modbus RTU messaging rates.
Assorted bug fixes for read/write rules, display registers, and I/O Board settings.
15 May 2019 4.1.7 Added support for DXM100-A1 devices; UI improvements for various controls
Added Simple Setup Mode to perform automatic network discovery and start pushing data to the cloud
Added support for DXM1000 and DXM1200 devices
15 Apr 2020 4.8.4
Added support for AWS IoT cloud platform
Added new Solutions Guide mode, which allows for easy configuration of Solutions Guide sensors to push to
the cloud
Added support for PROFINET
Software is now able to load and update outdated configuration files to the latest format
Converted the MQTT to AWS IoT Core; Improved AWS IoT Core interface
The Push method drop-down was replaced by a pair of radio buttons (denoting HTTP Cloud Push and AWS
IoT Core)
General
• Set RTU read/write rule frequency min value to 10ms
• Removed lower-bound timer restrictions on MQTT publish rules
15 Jun 2021 4.10.31 DXM-R90x
• Increased DXM discovery ping timeout
• Fixed issue in which incorrect UART bus was being considered for establishing port-wise minimum
frequency for RTU rules
DXM-R90x
21 Jun 2021 4.10.33 • Set default RTU time between messages and read/write rule frequencies to 50ms
• Updated XML element format for RTU Device settings in configuration files
General
• Increased default RTU Read and Write rule frequencies from 50ms to 1s (see DXMXML v1.2.52)
• When Advanced Settings checkbox is unselected, hidden parameters are now reverted to values
needed for Banner CDS HTTP push
• Added MQTT Publisher QoS parameter
Continued on page 79
78
DXM Configuration Software V4 Instruction Manual
General
• Increased default RTU Read and Write rule frequencies from 50ms to 1s (see DXMXML v1.2.52)
• When the Advanced Settings checkbox is unselected, hidden parameters are now reverted to
values needed for Banner CDS HTTP push
• Added MQTT Publisher QoS parameter
13 Sep 2022 4.13.8 Added support for EIP Endianness Swap setting
2 Nov 2022 4.13.10 Added PROFINET control for DXMR90-4K; improved error checking on DXMR90 hexfile uploads
SMS Notifications settings are now supported only on DXM100, DXM100-A1, and DXM150 models using
the SXI-LTE-001 cellular module
31 Jan 2024 4.17.7 Added support for the DXM1200-B2 and DXM1200-X2 device models
Contact Us
Banner Engineering Corp. headquarters is located at: 9714 Tenth Avenue North | Minneapolis, MN 55441, USA | Phone: + 1
888 373 6767
https://www.bannerengineering.com/us/en/company/terms-and-conditions.html
Disclaimer of Warranties. This software is provided "AS-IS." To the maximum extent permitted by applicable law, Banner, it affiliates, and its channel partners
disclaim all warranties, expressed or implied, including any warranty that the software is fit for a particular purpose, title, merchantability, data loss, non-
interference with or non-infringement of any intellectual property rights, or the accuracy, reliability, quality or content in or linked to the services. Banner and its
affiliates and channel partners do not warrant that the services are secure, free from bugs, viruses, interruption, errors, theft or destruction. If the exclusions for
implied warranties do not apply to you, any implied warranties are limited to 60 days from the date of first use of this software.
Limitation of Liability and Indemnity. Banner, its affiliates and channel partners are not liable for indirect, special, incidental, punitive or consequential damages,
damages relating to corruption, security, loss or theft of data, viruses, spyware, loss of business, revenue, profits, or investment, or use of software or hardware
that does not meet Banner minimum systems requirements. The above limitations apply even if Banner and its affiliates and channel partners have been advised
of the possibility of such damages. This Agreement sets forth the entire liability of Banner, its affiliates and your exclusive remedy with respect to the software
use.
80
LinkedIn