BX-DM1x -10, -18, -36, -M Firmware Revision History

.GA File Version
(boot loader & gate array)

.OS File Version
(firmware)

Release Date

Description of Problems / Additions / Changes

 

2.10.3

23 Oct 2024

Fixed a vulnerability in grandfathered encrypted sessions.

Fixed a problem where encrypted session responses weren’t being padded to 8 bytes, potentially causing performance degradation.

Fixed a problem where the Image Restore from an SDCard was not refreshing the Ethernet port's IP Configuration after updating the CPU's flash.

Fixed a problem that would cause the TCP Stack to crash if a packet is received that attempts to set the MSS (maximum segment size) to 0.

1.1.2

2.10.2

5 Sep 2024

Fixed a problem where TimeSync was not properly handling the Time Zone value.

Made the following additions:

Added ability to encrypt Do-more Programming protocol.

1.1.1

2.10.1

10 Jul 2024

User passwords can now be 4 to 32 characters in length. BACKUP, RX, and WX instructions have been updated to accept these longer passwords.

SMTP (Email) passwords can now be 1 to 63 characters in length.

Relational Contacts can now use MATH expressions as parameters.

Made the following additions:

Added EtherNet/IP Scanner for Implicit (I/O Messaging) communication.

Added the following instructions:

Added CEILING - Adjust Up to Significance instruction.

Added FLOOR Adjust Down to Significance instruction.

Added MROUND - Round to Multiple instruction.
 

 

2.9.9

20 Feb 2024

TimeSync now includes the Time Zone.

Added additional failure information when CPU drops out of RUN mode.

Added DST72 ($FreePackets)
 

 

2.9.8

17 Nov 2023

Fixed a problem that could sometimes prevent systems with Ethernet I/O Slaves from returning to RUN mode after a power-cycle. The CPU could wrongly determine that one or more of the remote slaves were not online after the CPU was power-cycled. This would require the CPU be manually put back into RUN mode with the mode switch.

The Modbus/TCP Read (MRX) now allows use of unit ID 0.
 

 

2.9.7

2 May 2023

Added support for Rev 2C / 2D and 2E / 2F BRX hardware.

Fixed a problem with some of the timeouts in the TCP stack that could cause new TCP server connections to hang for a very long time, making it look like the stack was permanently hung. So far, this has only been observed in unreliable connections ( like over cell modems, radio modems, etc. ).

Fixed a problem in the EIP adapter to allow the UDP connection to continue after the TCP connection was dropped.

JSONPARSE now removes any whitespace after the ending double quote.

Added support for RAW memory access to the REST API for use when Strings contain JSON, this allows you to get the raw JSON without the quotes.
 

 

2.9.6

5 Aug 2022

Fixed a problem where the CPU would wrongly return an error to a C-More panel when using the Symbolic Driver to write to a String tag.
 

 

2.9.5

21 Jun 2022

Fixed a problem in the Modbus server where communication through unstable networks ( like cell modem, radio modems, etc. ) could leave the server in an unresponsive state.
 

 

2.9.4

18 May 2022

Fixed a problem in the C-More Symbolic Driver (and REST API) that prevented proper indexing of blocks of structures.

Fixed a problem when using MEMCLEAR on a nested structure.

EIPMSG can now use a 32 bit Instance ID.

Made the following additions:

Added DST156 ($QueueFull) - used by FIFOLOAD and LIFOLOAD.
 

 

2.9.3

18 Mar 2022

Fixed a problem in SGRSTR (Stage Reset Range) where some of the selected Stages would not be enabled.
 

 

2.9.2

7 Mar 2022

Fixed a problem in the C-More Symbolic Driver (and REST API) that would only return the first 4 bytes from a String in a structure.

Serial Port configuration (RS-232 vs RS-485) now propogates correctly if you change the PLC CPU type.
 

1.1.0

2.9.1

17 Feb 2022

Added the following instructions:

MSREGRD - Modbus Scanner I/O Register Read (BRX Only)

MSREGWT - Modbus Scanner I/O Register Write (BRX Only)

HSCNT - High Speed Counting(BRX Only)

HSEDGE - Precise Edge to Edge Timing (BRX Only)

HSPULSEC - Catch Pulse Input (BRX Only)

Made the following additions:

Modbus I/O Scanner (BRX Only).

Nested Structures with User Data Types.

Added support for Rev 2A / 2B BRX hardware.

Added DST412 ($AssertCode)

Added DST413 ($ForceMinScan)

Fixed a problem in the DMX512 protocol that would not send all of the bytes of a frame if the PLC scan time was sufficiently long.

Fixed a problem in the DMX512 server implementation that, in rare cases, would write beyond the end of the target buffer.

The CPU will now reset the Ethernet core if the Ethernet port ever becomes unresponsive for a sufficiently long time.
 

 

2.8.6

26 May 2021

Fixed a problem in the TCP/IP stack that could cause problems if the BRX CPU received a subnet broadcast for a network it was not configurted to be a part of. Because the problem was in the TCP/IP stack itself, it could show up in systems using Modbus/TCP, and/or EtherNet/IP, and/or configured to use the Ethernet Remote I/O Master. The most common sympton was that communication with the remote devices would stop with no error indication.
 

 

2.8.5

8 Apr 2021

Fixed a problem in FTPPUT when the 'Use Unique Filename in Remote Directory' option was selected. FTPPUT was not properly handling responses from the FTP Server and would incorrectly report an error even though the instruction worked.

The FmtString function in STRPRINT now properly supports negative timer accumulator values.
 

1.0.10

2.8.4

29 Jan 2021

Fixed a problem that could keep links using a BX-P-SER2-RJ12 or BX-P-SER2-TERMFC POM that require RTS/CTS flow control from working.

Fixed a problem in v1.0.9 GA that caused comm problems for a C-More HMI panel connected to a BX-P-SER2-RJ12 POM.

Fixed a problem that could cause a watchdog timeout if a serial port POM was removed while the POM was still sending or receiving data.

Fixed a problem that would prevent a DM1E CPU that has no TCP/IP configuration from properly responding to broadcast packets.

Fixed a problem in the FTP Client to handle multiple packets from a server in response to entering the password.
 

1.0.9

 

19 Jan 2021

Fixed a problem that could keep links that use a BX-P-USB POM from working again after disconnecting from the CPU.
 

 

2.8.3

13 Jan 2021

Fixed a problem with routing in the Ethernet stack that could prevent the BRX CPUs from working properly through VPNs or gateways.

Termination logic is now executed for the entire project on Run -to- Program mode changes.

Added termination logic processing to the Halt Program or Task (HALT) instruction.

Fixed a problem where termination logic was not being executed for Tasks configured to be recurrent at a non-zero time interval.

Fixed a problem where termination logic was not being executed for RESTART of a Task.
 

 

2.8.2

22 Dec 2020

Fixed a problem that prevented the BX-DM1-xx CPUs (no on-board Ethernet port) from going into RUN mode.

Fixed a problem that prevented an AXHOME instruction configured to use 1 limit and creep to offset position from working properly if the Axis is configured to operate in Rotary mode.
 

1.0.8

2.8.1

9 Dec 2020

Added support for the following I/O modules:

BX-05TRS-1 - Relay Output (isolated, high current)

BX-08TRZ - Relay Output (dry contact, no suppression)

BX-16TRZ - Relay Output (dry contact, no suppression)

BX-16NF3 - TTL Input 3.5 - 5 VDC (Sink / Source )

BX-16TF2 - TTL Output 3.5 - 5 VDC (Sourcing )

BX-16CF3F2 TTL Combination 3.5 - 5 VDC (Sink / Source) / 3.5 - 5 VDC (Sourcing )

BX-HSIO4 - 4 Axis High Speed I/O - 2 MHz, 8 High Speed Inputs (3.5 - 5 VDC differential) / 8 High Speed Outputs (3.5 - 5 VDC differential)

Added the following instructions:

DMLOGGER - Broadcast String to DMLogger.exe

FTPGET - Retrieve File FROM Remote

FTPPUT - Store File TO Remote

HWCONFIG - Configure Hardware

SGRSTI - Indexed Disable Stage

SGSETI - Indexed Set Stage

TESTNUM - Classify Numeric Value Types

Made the following additions:

Can now use the BX-P-ECOMEX to add a Secondary Ethernet Port to BX-DM1E-xx CPUs.

Added EtherNet/IP Implicit I/O Adapter.

Added an on-board Web Server with an HTTP-based REST API.

Added Server Whitelist to allow /deny access (by IP address) through the Ethernet ports.
 

 

2.7.5

29 Apr 2020

Fixed a problem when using the Do-more Symbolic Driver (Ethernet or Serial) in a C-More panel to reference a bit-of-word tag, (e.g. D100:1).
 

 

2.7.4

29 Apr 2020

Fixed a problem that prevented the -3 and 0xUT analog modules from operating properly in an Ethernet I/O expansion base.

Fixed a problem that caused the -3 and 0xUT analog modules in the local base to report an error after a Clear PLC Memory.

Fixed a problem that prevented BX-04DA-1/-2B modules from working in an Ethernet I/O expansion base.

Fixed a problem with iterating structure fields to build JSON arrays.

Fixed a problem in the HTTPCMD instruction that was not properly handling the Response Body data.
 

 

2.7.3

15 Apr 2020

Fixed a problem that could cause some of the -1 and -2B analog modules to not take their configuration after a power cycle.

Fixed a problem in the TIMEPROP instruction that could cause the output to glitch.
 

 

2.7.2

31 Mar 2020

Fixed a problem in the serial port driver that would inadvertently clear any remaining data from the input buffer when a STREAMIN instruction is executed. This affects the on-board serial port, any of the serial port POMs, and any of the SERIO modules since they all use the same serial port driver.
 

1.0.7

2.7.1

25 Mar 2020

Added support for the following BRX modules:

BX-04UT - 4 Channel Universal Temperature Input

BX-08UT - 8 Channel Universal Temperature Input

BX-04AD-3 - 4 Channel Universal Analog Input

BX-08AD-3 - 8 Channel Universal Analog Input

BX-04DA-3 - 4 Channel Universal Analog Output

BX-08DA-3 - 8 Channel Universal Analog Output

BX-2AD4DA-3 - Combo 2 Channel Universal Analog Input / 2 Channel Universal Analog Output

BX-4AD4DA-3 - Combo 4 Channel Universal Analog Input / 4 Channel Universal Analog Output

BX-4UT4DA-3 - Combo 4 Channel Universal Temperature Input / 4 Channel Universal Analog Output

BX-4UT4TD1 - Combo 4 Channel Universal Temperature Input / 4 Point 24V Discrete Output (Sinking)

BX-4UT4TD2 - Combo 4 Channel Universal Temperature Input / 4 Point 24V Discrete Output (Sourcing)

BX-4UT4TR - Combo 4 Channel Universal Temperature Input / 4 Point Relay Output

Added the following instructions:

RANGECHECK - Value In / Out of Range

STRCOPY - Copy String

STRCOPYR - Copy Range of Strings

Made the following additions:

PID instruction can now initialize the Error Deadband value of the PID's associated structure.

Client ID and Password for the MQTT Client Device can now be up to 128 and 256 characters in length respectively; maximum Session Keep Alive time is now 65535 seconds
 

 

2.6.3

19 Sep 2019

Fixed a problem that would cause the CPU to crash if a Program or Task that is configured to be retentive contains a looping instruction (For / Next, Do / While, ...) that doesn't complete before a power failure.

Fixed the "chunking" encoding in HTTPCMD and expanded the data sent to DMLogger.

The AXPOSTRAP instruction now calculates a proper profile if the acceleration rate is many times greater than the deceleration rate.

BX-04ADM-1 (4 channel analog input - medium resolution) input range was incorrectly set at 13 bits (0 - 8191) instead of 14 bits (0 - 16383).
 

 

2.6.2

14 Aug 2019

Setup TCP/IP Parameters (SETUPIP) can now set the IP address for the DNS Server.

Read Device Register (DEVREAD) and Write Device Register DEVWRITE) can now read and write the Client ID of an MQTT Device.

BRX-M CPU now properly handles Timed Interrupts.
 

1.0.6

2.6.1

19 Jun 2019

Added support for the following modules:

BX-4AD2DA-1 : Combo 4 Channel Current Input / 2 Channel Current Output

BX-2AD2DA-1 : Combo 2 Channel Current Input / 2 Channel Current Output

BX-4AD2DA-2B : Combo 4 Channel Voltage Input / 2 Channel Voltage Output

BX-2AD2DA-2B : Combo 2 Channel Voltage Input / 2 Channel Voltage Output

BX-4RTD4DA-1 : Combo 4 RTD Input / 4 Channel Current Output

BX-4THM4DA-1 : Combo 4 Thermocouple / 4 Channel Current Output

BX-16AD-1 : 16 Channel Current Input

BX-16AD-2B : 16 Channel Voltage Input

Added the following instructions:

FIFOLOAD - Load First In / First Out

FIFOUNLOAD - Unload First In / First Out

FIFORESET - Reset FIFO Queue

LIFOLOAD - Load Last In / First Out

LIFOUNLOAD - Unload Last In / First Out

LIFORESET - Reset LIFO Queue
 

1.0.5

2.5.2

27 Mar 2019

Added support for the following modules:

BRX High-Speed I/O Modules (BX-HSIO1, BX-HSIO2).

BRX Serial I/O Module (BX-SERIO).

Added the following instructions:

AXSCRIPT - Run a Sequence of Axis Commands instruction (BRX Only).

HTTPCMD - HTTP Request / Response (BRX Only).

JSONBUILD - Build JSON REcord (BRX Only).

JSONPARSE - Parse JSON Record (BRX Only).

PWMOUT - Pule Width Modulated Output (BRX Only).

Made the following additions:

MQTT Client now supports MQTTS (SSL / TLS encryption), QoS Level 1, and Persistent Sessions.

TDOPreset now supports triggering Interrupt Service Routines.

BRX High-Speed I/O now supports Pulse Catch.

Fixed a problem that would cause the Modbus/TCP server to fail if the client impropertly requested more than 125 words in a single request.
 

 

2.3.2

30 Aug 2018

Fixed a problem that caused the BX-04ADM-1 and BX-06RTD to not work properly in a BX-DMIO or BX-EBC100 when being controlled by the Ethernet I/O Master.

Fixed a problem in the BX-DM1E-M where the I/O System View was reporting the wrong slot number for I/O module errors.

Fixed a problem that prevented analog and temperature inputs from always reporting broken transmitter errors. Now any time a current or temperature input is enabled and there is no probe attached, the associated X bit will be ON and a Warning (in yellow) will appear on the Status bar.

Fixed a problem when a BRX CPU is configured as a multi-drop Modbus Slave that caused excessive retrys.

Fixed a problem that caused Axis Home Search (AXHOME) to not complete properly in firmware version 2.3.1.

Fixed a problem where the filter coefficient was not always applied properly in the Filter instruction.
 

 

2.3.1

13 Jun 2018

Fixed a problem that caused Axis Home Search (AXHOME) and Axis Velocity Mode (AXVEL) to not work properly in firmware version 2.3.0.

Improved error reporting in EMAIL when any of the To, Cc, or Bcc addresses are invalid.
 

 

2.3.0

31 May 2018

Added support for BX-DMIO and BX-EBC100 as Ethernet Remote I/O Slaves. Also added BX-MBIO - Modbus TCP / RTU Slave.

Added support for the following analog I/O modules:

BX-04AD-1 : 4 Channel Current Input

BX-04ADM-1 : 4 Channel Current Input (medium resolution)

BX-04DA-1 : 4 Channel Current Output

BX-04AD-2B : 4 Channel Voltage Input

BX-04DA-2B : 4 Channel Voltage Output

BX-08THM : 8 Channel Thermocouple Input

 BX-06RTD : 6 Channel RTD Input

BX-08NTC : 8 Channel Thermistor Input (negative temperature coefficient)

Added support for the following discrete I/O modules:

BX-08SIM : 8 Point Simulator

BX-32ND3 : 32 Point 12-24VDC Sink / Source Input

BX-32TD1 : 32 Point 12-24VDC Sink Output

BX-32TD2 : 32 Point 12-24VDC Source Output

Added MQTT Broker Device (IoT) which allows BRX PLCs with on-board Ethernet Ports can connect to one or more MQTT Brokers. Once connected, these PLCs can publish messages to the Brokers and subscribe to messages from the Brokers.

Added the following instructions:

MQTTPUB - IoT Publish MQTT Topics

MQTTSUB - IoT Subscribe to MQTT Topic
 

1.0.3

2.2.1

10 Apr 2018

Added Fixed a problem that would prevent a project that included a BACKUP - System Backup instruction from downloading to a BRX CPU.
 

1.0.2

2.1.0

20 Sep 2017

Added support for the following analog I/O modules:

BX-08AD-1 : 8 Channel Current Input

BX-08DA-1 : 8 Channel Current Output

BX-08AD-2B : 8 Channel Voltage Input

BX-08DA-2B : 8 Channel Voltage Output

BX-04THM : 4 Channel Thermocouple Input

Added the following instructions:

BACKUP - Create PLC Image File

COPY - Copy Data

DEBOUNCE - Reduce Discrete Input Chatter

FLASHER - Cycle Output On / Off

TIMEDOUT - Timed Output

Made the following additions:

Can now use the micro-SD card to backup and load projects using Create PLC Image (BACKUP) instruction and / or Do-more Designer utility.
 

 

2.0.4

26 May 2017

Fixed an error in the EMAIL instruction which was incorrectly handling semicolons in the "To:" field.

Changed Axis Jog (AXJOG) so that inadvertent writes to the Axis' .TargetVelocity would not affect the Jog operation.

Fixed a problem where sometimes a communication failure would abort the download of the system configuration.

Fixed a problem that would prevent the CPU from going into Debug mode if an Interrupt Service Routine is running.
 

1.0.1

2.0.3

26 Apr 2017

Added support for ECOMLT POM so that it can operate as Modbus/TCP server, K-Sequence server, DirectNET server, or peer-to-peer with an ECOM. Requires ECOMLT firmware version 4.0.145 or later which is available through Live Update in NetEdit.

Adds noise filtering to the on-board serial port.
 

 

2.0.2

22 Feb 2017

Fixed problem that could cause spurious interruption of the pulse train in the Axis following modes (AXGEAR, AXFOLLOW, AXCAM).

Fixed a problem in the module discovery that could cause a Fatal error during a project download.

Fixed a problem in the symbolic driver that could wrongly NAK good communication requests.

Fixed a problem in the serial communication driver that would cause it to become unresponsive if the PLC is generating a lot of interrupts.
 

 

2.0.1

20 Feb 2017

AXGEAR (Axis Electronic Gearing) renormalizes each time the gear ratio changes.

Set a proper minimum Input Filter value for 24V AC / DC inputs on the BX-DM1x-10 units.
 

1.0.0

2.0.0

2 Feb 2017

Initial Release.