What's new in the deviceWISE 14.2 release

The latest released build is 14.2.0-021.  

Supported platforms

deviceWISE M2M Enterprise Gateway products

  • Software Products
    • AIX (Version 6.1 and Version 7.1)
    • Linux (CentOS5 and CentOS6)
    • Windows (Windows XP, Windows 7, and Windows Server 2008 R2)
  • Embedded Products
    • Mitsubishi MESInterface IT
    • Mitsubishi WinCPU
    • Siemens ERPC

deviceWISE M2M Asset Gateway products

  • Software Products
    • Linux (CentOS5 and CentOS6)
    • Windows (Windows XP and Windows 7)
  • Embedded Products
    • Advantech Uno*
    • CalAmp LMU-5000 (Rev C and Rev G)
    • GateTel EZMoto V2
    • Mitsubishi CCPU12*
    • Multitech OCG-D (Models H4, H5, and EV2)
    • NetComm Wireless Routers (NTC-6200, NTC-40, NTC-30WV, NWL-12, NWL-11)
    • Option CloudGate (Models CG0192 and CG0112)
    • Siemens (MicroBox, NanoBox)*
    • Siemens ERPC*
    • Systech SysLINK SL-500

New features

  • New Actions and Events

    • Local database CSV import updates

  • Transaction Server updates
    • HTTP Transport Pool

    • Mapping Log Event

  • TR-50 Package
    • Add support for Tunneling

  • New Management Portal
    • Generate diagnostics file via TR50
  • New Asset Gateway
    • NetComm Wireless Routers
    • Systech SysLINK SL-500
  • Workbench updates interfacing with the new Management Portal

Enhancements to existing features

  • Additional bitwise operators (">>", "<<") and functions ("and", "not", "or" and "xor") were added to the Expression and If actions. 
  • A trigger reporting option of On will be propagated to all subtriggers "callled" using the Execute SubTrigger action. 
    Similarly, the Generate Report pop-up menu option for a trigger will generate a trigger report for the next execution of the trigger and a report for all "called" subtriggers.

New features added to the Technology Preview Extension (aka Sandbox)

For this release, the following actions were added to the Technology Preview Extension, which is also referred to as the sandbox package.   This package must be successfully installed to use these features.

  • Get Device State 
  • Convert to Hex String
  • Get SubString

Driver updates

Refer to the Management Portal -> Developer page -> Resources item to identify the drivers and driver versions supported on a specific platform with this release. Both new installations and updates should include the drivers for this release.  The following drivers were updated with this release.

  • Mitsubishi driver updated to use the latest EZSocket libraries

  • Omron PLC Listener max connection count increased from 64 to 1024

  • OPC-DA Client and OPC-DA Server code improvements 

  • Enhance the Rockwell Listener to receive large fragmented messages

  • Add support for Siemens Logo! PLC**

Limited Release** features

Notes:
* - Denotes a supported gateway that was not specifically tested for this release. Of the Asset Gateways listed, most use a standard Linux or Windows load or they are very similar to a tested Enterprise Gateway.
** - Limited Release features meet customer specific features and configurations. These features may not be available in all hardware and operating system configurations.

Supported Driver Versions

More information about drivers can be found on the Device driver list.

The following drivers are fully supported with this release.

Driver Name

Version

Allen-Bradley (Rockwell Automation) - version updated in 14.2 - build 19

2.8.1

Atlas Copco - Updated in May 2016 to version 1.4.2

1.3.6

1.4.2 in May 2016

CloudLINK 1.2.0

Emerson ROC Plus

2.0.0

Lua - version updated in 14.2-build 21 1.1.1

Mitsubishi Electric - version updated in 14.2

2.6.2

Modbus Client - version updated in 14.2-build 19

2.7.1

Modbus Server

1.1.0

Omron - version updated in 14.2 build 19

3.1.6

OPC Client - version updated in 14.2

2.5.2

OPC Server - version updated in 14.2

1.0.4

Schneider Electric - Supported via Modbus Client - updated in 14.2-build 19

2.7.1

Siemens - version updated in 14.2 build 19

2.7.1

TR50 1.0.0

The following drivers have a "Limited Availability" status.

Driver Name

Version

Alien Technology

1.1.0

BACnet IP

1.0.0

Banner Engineering

1.0.0

Escort Memory Systems

1.0.0

E-Sensors

1.0.0

Fuji

1.0.0

General Electric Fanuc

2.0.0

Hawkeye (MicroScan Systems)

1.0.0

National Control Devices

1.0.0

NMEA GPS

1.0.1

Pike-Aero

1.0.0

ScanTools OBD-II

1.0.0

SNMP

1.0.0

SQ-Electronics

1.0.0

Symbol

1.0.0

Xirgo

1.3.0

Z-Wave

1.0.0

Known issues for the deviceWISE 14.2 release

Trigger Actions and Events

MAP-7466: String Builder trigger action produces incorrect output when string begins with comma

Description:  If one of the two input variables has the 'Value' as a CONSTANT and the string begins with a comma, then the string does not get put into the output buffer.  For 14.2 and earlier releases supporting this action, do not begin the string with a comma.

MAP-7599:  JSON Decode trigger action is leaking memory (Sandbox Feature)

Description:  Use of the JSON Decode trigger action will result in the loss of system memory. The amount of memory that will be lost depends on the size of the JSON string being decoded and the frequency in which the trigger action is executed.

Asset Gateway for CalAmp

MAP-5369: OS Shutdown action does not work on a CalAmp RevC or RevG

Description: The OS Shutdown action does nothing when executed on a CalAmp RevC or RevG. This feature has not been implemented in the Asset Gateway for CalAmp.

Asset Gateway for Multitech

MAP-4860: Local time zone for Brussels is 2-hours off

Description: Setting the local time for Brussels, Belgium is two hours off in the Asset Gateway for Multitech.

Workaround: Select the local time option for Paris, France in the Asset Gateway for Multitech.

Enterprise Gateway for Windows

MAP-3455: The Enterprise Gateway for Windows Restart feature from the Node Administration tab does not work as designed

Description: The Restart feature available from Workbench -> Administration -> Node Administration tab may not cleanly stop and then restart the runtime. When there are many active transports and listeners, the Transaction Server does not restart properly.

Workaround: Follow the instructions in the section "Manually restarting a node" on Enabling MySQL support.

Enterprise Gateway for ERPC

MAP-1933: On a Enterprise Gateway for Siemens ERPC, a controlled Listener fails to connect to queue manager on first attempt

Description: When accessing a WebSphere MQ server via a transport or a listener, the very first connect request after boot fails due to a limitation in the firmware. Subsequent connect requests work correctly.

Workaround: Repeat the connect request.

MAP-3634: FTP action with Transfer Mode set to Active fails on Enterprise Gateway for Siemens ERPC

Description: When using a trigger FTP action, the Put and Get operations do not work when Transfer Mode set to Active on ERPC.

Workaround: Set the Transfer Mode parameter to Passive instead of Active until the problem is fixed in a future release.

MAP-5707: FTP client does not connect to server in passive mode on ERPC

Description: The deviceWISE FTP Server in the Enterprise Gateway for Siemens ERPC cannot support a FTP client in passive mode.

Workaround: Use the FTP active mode instead.

MAP-6793:  A TR50 connection with SSL will fail on ERPC

Description:  TR-50 is not supported on the ERPC platform.

Firmware Update

MAP-7083 - Firmware update of a Enterprise Gateway environment from 13.2.0 to 14.2.0-018 fails

Description:  A minimum level of 13.3.0  is required for a firmware update to 14.2.0 to be successful on the Enterprise Gateway product.   A full install of the Enterprise Gateway product is required.  Asset Gateway products are not affected.

HTTP Server

MAP-5090: The HTTP Server has problems with Network Intrusion monitoring tools

Description: Certain network intrusion tools can cause the deviceWISE HTTP server to crash.

Workaround: Disable the deviceWISE HTTP Server if it is not required. Do not run network intrusion tools when the deviceWISE HTTP Server is enabled.

Local Database (Local DB) 

MAP-4732: The Local DB Import action with the "First Row is Header" parameter set to true fails.

Description: Importing a csv file with a header row into a Local DB table will cause a failure.

Workaround: Set the "First Row is Header" parameter to false, import it, and then remove the first row.

MAP-5404: Problem reading database entries when a comma/line-feed combination is the last item in a list of database entries

Description: If a comma/line-feed combination is the last item in a list of database entries, then a problem occurs

Workaround: Add a dummy column in the database to represent the blank after the comma. For example, if you have 15 data entries and the last entry has a comma, then add a 16th column to your database.

Transaction Server

MAP-685: Transports do not recover properly from Store and Forward

Description: When using the WMQ transport and the transport reports the error MQJMS007, it might cause the transport to switch in and out of Store and Forward, even though the transactions are successfully delivered to the WMQ queue.

Workaround: Check the WMQ queue manager. If the listener shows the state other than Started, then it is likely that you have encountered this issue. Set the listener to Started to restore proper functionality.

MAP-2972: Enterprise Gateway for Siemens ERPC faults with Transaction Server not being able to connect after a package remove

Description: After an Add or Remove of a package, such as a device driver, the node might have a fault where the Transaction Server cannot connect.

Workaround: You will need to restart deviceWISE. Follow the instructions for Manually restarting a deviceWISE node on Packages.

MAP-3930: IFS: sometimes the Transaction Server fails to start

Description: When setting transports, especially an iTAC transport, with "Load transport at initialization" parameter checked, and using a memory optimized Transaction Server that is not a match for the transports with "Load transport at initialization", it is possible that the Transaction Server will fail to start on Mitsubishi MESInterface IT nodes.
Rebooting the module with the "Standard" Enterprise Access option will allow the Transaction Server to come up successfully, the transports can then be modified to remove the "Load transport at initialization" parameter. The memory optimized Transaction Server can then be re-set to the desired one.

MAP-4002: Updating logical variables in a transport map and not editing the corresponding trigger can lead to undesirable consequences.

Description: In this scenario the trigger will be disabled when it fires, and the action will return an error code of -6409 (invalid variable type) in the Exceptions log. Because the trigger will not be recovered on it's own, the user will have to edit and re-save the trigger manually.

MAP-4796: NVARCHAR Support Limitation

Description: The NVARCHAR and NCHAR datatypes for Oracle are not supported on the following platforms:

  • Mitsubishi MESInterface-IT
  • deviceWISE Enterprise Gateway for Siemens ERPC
MAP-5170: JSON payload transport maps for the HTTP transport are not supported on all platforms

Description: This feature is not supported on the following platforms:

  • Mitsubishi MESInterface-IT
  • deviceWISE Enterprise Gateway for Siemens ERPC
MAP-5684: JMS Netweaver Transport/Listener on an Enterprise Gateway for Siemens ERPC cannot initialize connection with the JMS Netweaver server

Description: This feature is not supported on the following platforms:

  • Mitsubishi MESInterface-IT
  • deviceWISE Enterprise Gateway for Siemens ERPC
MAP-5685: JMS Netweaver support jars are not packaged with the ERPC or MESInterface IT product install files

Description: This feature is not supported on the following platforms:

  • Mitsubishi MESInterface-IT
  • deviceWISE Enterprise Gateway for Siemens ERPC
MAP-6604:  HANA database insert fails ERPC

Description:  The NVARCHAR and NCHAR datatypes are not supported on the deviceWISE Enterprise Gateway for Siemens ERPC product.

MAP-7381:  Transaction server does not enumerate the list of schemas from SQL Server

Description:  If you are unable to see your schema in the transport map schema list when accessing a SQL Server database, then you will need to create a login id that matches the schema name.  Also ensure that the userid being accessed by the transport has visibility to the target schema and its objects.

MAP-7532:  JSON payloads that are altered after automap cause the TS to not process requests and / or responses correctly

Description:  Clearing input and output variables after a JSON transport map has been defined will result in errors when the map is executed.

There are two workarounds:

  1. Do not clear out input and output variables.
  2. Alter the sample JSON to only include the fields that you need and recreate the JSON transport map.

Transaction server XSD support

MAP-3141: XSD: Xpath expression should not be saved in the XML if Specify Map and Sequence Keys in header check box is selected

Description: This issue only affects JMS listeners with the XSD payload. When there is both an XPath expression and a JMS header property specified on the JMS listener XSD Payload panel, and the header property is missing from the incoming JMS message, the XPath expression is used to determine the listener map id, instead of the default listener map id.

MAP-3695: XSD: Default or fixed value provided in the XSD will be erroneously used

Description: If the XSD used to create a listener map contains a required attribute with a default or fixed value, it is considered valid. At runtime, instead of the XML being rejected as invalid, the default or fixed value provided in the XSD will be erroneously used.

MAP-4665: XSD: Imported transport map and listener map definitions from an older runtime into a newer runtime are not namespace aware unless XSD is requeried

Description: If you are importing a transport map or listener map that was defined with XSDs and was created in a 12.4 or prior release, then the map needs to queried again and saved in order for 'nil' element processing to be handled correctly.

MAP-4666: Listener doesn't support XSDs with namespaces

Description: A Listener configured to process XSD based payloads will not be able to successfully handle an XML with namespace qualified elements.

Workaround: The workaround is to provide an XML request without namespaces.

Transaction Server Web Services SOAP

MAP-5181: SOAP Header Parameter limited support

Description: SOAP Header Parameter support is not available on the Enterprise Gateway for Siemens ERPC and Mitsubishi MESInterface-IT products.

TR-50

MAP-7007:  TR50: Deadlock 

Description:  Gateway may experience a rarely occurring deadlock condition after several days or weeks of operation.  If this occurs, a watchdog will expire and reset the gateway to resume operations.

Drivers

MAP-3140: Siemens S7 listener gets stuck in stopping state on Enterprise Gateway for Siemens ERPC

Description: After the Siemens S7 listener device receives data and a corresponding trigger is executed, stopping the Siemens S7 listener device results in the listener becoming stuck in the Stopping state. This happens during operations when the Siemens S7 listener device is using the normal TCP mode (not ISO-n-TCP). After a trigger executes the receipt of an unsolicited message, the S7 listener device cannot be stopped.

A firmware upgrade from Siemens is anticipated in order to resolve this behavior.

MAP-4900:  Local CPU gets disabled when 7 PLC's aggregate data into the S7-CPU (code)

Description:  

MAP-5066CloudLINK package remove isn't removing the feature  and  MAP-5158Package remove failed - OS error

Description: On some platforms with limited operating system resources for memory or disk (persistence storage), there may be failure when attempting to add or remove packages. These failures are the result of the limited system resources and possible runtime behavior such as memory fragmentation. When these failures occur, restarting the node at the operating system level (power off then power on) may then allow the package add or remove to succeed. In other scenarios, you may have reached a platform limit based on the application definitions, the number and size of packages added and other dynamic runtime requirements.

MAP-5405:  Improvement request to Export the Vendor Specific Device XML file along with the Modbus client device

Workaround:  If you export a Modbus device that has a vendor XML file associated with it, you must use the workbench to get the XML file from the staging panel of the node.

MAP-6082 Writing an empty string for Siemens STRINGs of length 207 or more does not clear bytes as expected

Description: If an empty string is written to a Siemens PLC, all the bytes of the string are set to 0x00 and the actual length byte is set to 0. This behavior changes when the maximum length of the string is 207 to 254 bytes. In this case the actual string length byte is set to 0, but the string bytes are not cleared. Not clearing the bytes is done to reduce the network traffic between the driver and the PLCs. Strings that are greater than 206 bytes requires the driver to send multiple messages to the server. The key to writing an empty string is setting the actual length byte to 0, so the string will have a NULL value.

MAP-6811:  Siemens LOGO PLC device disables periodically and MAP-6911:  Siemens LOGO PLC device gets stuck in Stopping state

Description: Lab tests have demonstrated that the Siemens LOGO PLC will not maintain simultaneous socket connections from multiple nodes. The LOGO PLC will terminate connections, which results in the associated device becoming disabled. The disabled device will re-establish a socket connection to the LOGO, only to have that connection eventually reset by the LOGO. It is recommended that connections to the LOGO PLC be limited to one node at a time. 

MAP-6938:  Rockwell CIP Event will not work when Size of One Element is set to 0 and STRINGs have more than 444 characters

Description:  The Rockwell CIP Event allows the Size of One Element field to be set to 0 and any messages using STRINGs of 444 characters or less to be received. However, any STRING with greater than 444 characters will result in an error. The workaround is to make sure you indicate the size of the String being read in the Size of One Element field.

MAP-7379:  Omron CJ1 DriverPerms test fails on AIX

Description:  The DriverPerms test is a longevity test that is run on all platforms against all drivers. This test failed when run on the AIX operating system when connected to an Omron CJ1 device. This failure has only been seen when the test is run against the Omron CJ1, and only when run on the AIX operating system. The cause of the failure has not been determined.   

MAP-7508:  CloudLINK Connection State Change trigger event not firing on connection loss

Description: CloudLINK state change trigger event does not fire on connection lost when a communication error occurs. 

MAP-9291:  Atlas trigger stops working

Description:  A few problems were found when a device goes disabled.  This is a known issue with versions 1.3.6 through 1.4.1 of the Atlas Copco driver.  A fix was provided in version 1.4.2 of the Atlas Copco driver in the 16.1.9 release.  A build for the 14.2 Runtime is also available.

Modem
MAP-3167: Simultaneous Cellular connect/disconnect and Modem power on/off can cause reboot of Asset Gateway

Description: We found a scenario where the Asset Gateway will reboot when simultaneous control actions are executed. When the Set Modem Power Level action and the Control Cellular Connection action (or Workbench operation) is executed repeatedly and simultaneously, a crash can occur resulting in a reboot.

We have not seen this problem during normal operation where the use of the Set Modem Power Level action cycling of power between "Online" and "Low Power" rarely occurs.

Fixed defects in deviceWISE 14.2 release

The following defects were highlighted as known issues in previous releases, and were fixed in this release.

Asset Gateways

MAP-6035:  For Option CloudGate we should include the gateway serial # to be used as the basis for CloudLINK  (also fixed in 13.3-build 21)

Description: The Serial Number option is now available on the CloudLINK panel as a means to identify a device. The serial number shown on the CloudLINK panel matches the value shown on the sticker attached to the device.

MAP-6545:  Starting a Lanner without a cell modem installed causes a reboot  (also fixed in 13.3-build 23)

Description:  The Lanner can now reboot successfully even if the cell modem is not installed.

MAP-6638:  On Option CloudGate under administration, on Alert Management tab System alerts parameter is being inconsistent (fixed in 14.1-build 32)

Description:  On Option CloudGate under administration, on Alert Management tab System alerts parameter was being Enabled even after disabling and restarting the run time.

MAP-6667:  Update method to reset the modem in MultiTech H4, H5, and EV2 gateways (fixed in 14.1-build 32)

Description:  The method used to reset the MultiTech modems in the H4, H5, and EV2 gateways was updated.

MAP-7270 - Trigger with Variable Group not firing (fixed in 14.2-build 19 and updated in 14.2-build 21)

Description:  Trigger with Variable Group fires correctly when using 14.2-build 19.  The change in 14.2-build 21 added bitno to the variable name event variable.

MAP-7282 - Read File action not reading a file with a single line without CRLF

Description:  Action now works correctly with and without a CRLF when using 14.2-build 19.

MAP-7058 - System alert for a disabled device does not get cleared even after the device has been deleted

Description:  System alerts for disabled devices are cleared when using 14.2-build 19.

MAP-7132 - Core returning different type name/number pairs for different commands

Description:  Fixed in 14.2-build 19

MAP-7099 - Channel Post Crash

Description:  Fixed in 14.2-build 19

MAP-7090 - RSSI warning poor signal strength at -55db

Description:  Gateway returns the correct signal strength warning messages using 14.2-build 19.

MAP-7513 - Get Date & Time 'Local timezone' returns incorrect time 

Description:  Fixed in 14.2-build 21.  The 'Local Timezone' Output Time option now takes Daylight Savings Time into account when returning the time.  

Drivers

MAP-3470: The Siemens S7 driver loses variable registers when more than two devices are started simultaneously  (also fixed in 13.3-build 23)

Description: When three or more deviceWISE devices that access the same Siemens PLC are started simultaneously, the Data Block (DB) registers might enumerate correctly or they might not enumerate at all. Now the Siemens S7 driver synchronizes the start of devices that are connecting to the same PLC so that the PLC can enumerate a device completely before responding to a connection request from the next connection instance.

MAP-5829:  Add diagnostic information to the Atlas Copco driver  (also fixed in 13.3-build 21)

Description:  Changes were made to add diagnostic information to the variables panel. A new subscribe action was created to re-subscribe for rundown messages.

MAP-6005: Siemens S7 driver fails when attempting to write an empty string  (also fixed in 13.3-build 21)

Description: The driver should allow the writing of an empty string to the PLC. The version number for the Siemens driver in the 13.3 build 21 is 2.5.3

MAP-6014: Omron NJ driver cannot enumerate arrays of structures  (also fixed in 13.3-build 21)

Description: This has been corrected in the 13.3 build. The version for the driver has been updated to 3.1.2.

MAP-6034: Siemens S7 Listener device takes 2 minutes to stop for each open connection resulting in a build-up  (also fixed in 13.3-build 21)

Description: The memory build up was occurring when clients would connect and disconnect. The memory wasn't released until the listener was stopped. With this fix the memory is released when the client disconnects.

MAP-6161:  Cannot See all Tags in NJ CPU device (fixed in v3.1.3 of Omron NJ driver)

Description:  In a specific instance, a structure defined on the NJ was not being interpreted correctly in v3.1.2. The tags that were based on that structure would not enumerate.  Code in v3.1.3 correctly parses the structure definition information provided by the NJ so that all global tags defined on the NJ are properly displayed.

MAP-6169:  System crash when Omron CIP Listener is active and a new project is uploaded on the NJ  (fixed in v3.1.3 of Omron NJ driver)

Description:  On Linux Gateways an error occurs when a new project is transferred to the NJ while the Omron CIP Listener is actively receiving messages.  The upload process breaks the socket connection between the NJ and the Omron CIP Listener.  Code in v3.1.3 detects this scenario and takes proper actions to prevent this error.

MAP-6360 and MAP-6342: System crash when Atlas Copco controllers go offline and attempt immediate restarts  (also fixed in 13.3-build 23)

Description: System crashes were encountered when a device start was attempted immediately after a communication error was encountered causing the device to stop. A fix has been made to ensure proper coordination of device resources between the logic that closes the connection to an Atlas Copco controller and the logic that executes triggers with Atlas Copco actions. This was done to ensure that the connection between the device and the controller is still active while the trigger action executes.

MAP-6430: Mitsubishi driver is not enumerating Q, QnE, and L CPUs correctly.  (also fixed in 13.3-build 23)

Description: S, SB, and SW devices are not enumerating for the Q, QnE, and L CPUs. Additionally, D and W devices that are defined on extended memory cards are not being being accounted for during enumeration. Instead all extended memory is being represented in the ZR device. The enumeration algorithm in the updated Mitsubishi driver has been updated to correct these issues.

MAP-6536: The use of Atlas Copco Diagnostics should be configurable and off by default  (also fixed in 13.3-build 23)

Description: The collection of Diagnostic information for a connection to an Atlas Copco controller is always on. This should be configurable. A fix was made to allow the user to configure if the driver will collect diagnostic information. By default the driver will not collect diagnostic information. Additional options were also added to turn off subscriptions for certain Atlas Copco messages to reduce network traffic between the driver and the physical Atlas Copco controller. These messages are the change of PSET notifications, the change of VIN and change of Identifier notifications, and the request for detailed information on the active Job. By default these events will be subscribed to, but turning these off will greatly reduce the network traffic, without affecting the drivers ability to receive tightening/rundown information from the controller.

MAP-6228 – Siemens Driver is not using proper tsap pair - (we look like a PG, such as Step 7) not like "other" or S7 Native connections.  (also fixed in 13.3-build 23)

Description:  Modified the code to use the proper TSAPs and thereby allow more connections to the PLCs.  Shutdown logic was also improved.

MAP-6229 – Siemens Driver not handling the No Db count (count = 0) device start. (also fixed in 13.3-build 23)

Description:   See also MAP-3470.  In releases before 13.3-build 23, we found incorrect enumeration of devices when a node is stopped, and then we restarted multiple devices at once.  This was fixed in 13.3-build 23 and in the 14.1 release code.

MAP-6617:  dW Crashes Stopping/Starting OPC Server (fixed in 14.1-build 32)

Description:  Most OPC-DA clients close their connect with the OPC Server is stopped.  An issue was found with OPC-DA clients that see the stopped server and then sends commands to reestablish a connection to the server. The attempt to reestablish a connection resulted in certain objects being created by the server and those objects were not being cleaned up when the server actually stopped. 

MAP-6668:  Crash when reading a 1 character string from a Q CPU (fixed in 13.3.0-build 24 - see MAP-7001 below)

Description:  The system would crash when reading a 1 character string from within a trigger.  The code was updated to prevent the reading and writing of an odd length character string to Mitsubishi devices.  Code was updated to correct the reading of string arrays with a packet length greater than 768 words.

MAP-6709:  OPC-DA Client crashes during device validation

Description: The driver was attempting to release resources that were not allocated when an OPC-DA Client was validated. This was leading to a crash. This problem has been corrected.

MAP-6729:  OPC-DA Server doesn't shut down correctly on node restart

Description: The OPC-DA Server was not receiving a stop message prior to a node restart. This was causing problems with certain OPC-DA Clients. Code was added so that the OPC-DA Server is notified upon a node restart so that it can formally close and notify any connected clients that it is stopping.  

MAP-6843:  OPC-DA Server should start after the device starter is finished working, not when loading -- there is time window where devices are just loading and no variables exists --- leads to failures during startup

Description: The OPC-DA Server has been modified to start after all devices. This will ensure that if a device being serviced by the OPC-DA Server starts when the node is started, it will be in a started state prior to the OPC-DA Server starting. This ensures that the tags defined on that device can be serviced by the OPC-DA Server. 

MAP-6777:  OMRON NJ has memory leak in the CIPUCMMWrite

Description:  When the PLC sends a CIPUCMMWrite to the Omron CIP Listener, a small amount of memory was being lost during the message processing. Depending upon the number of messages sent by an Omron NJ PLC, this would eventually lead to an out of memory error on the node. This has been corrected.

MAP-6796:  OPC Server attempts to get the modifications that were made to the Global Variables device and then the server will crash

Description:  Stopping and restarting the OPC DA Server would at times result in a crash. Under certain conditions, the Internal memory used by the OPC DA Server was being released by multiple processes, which resulted in the processes crashing. The release of these resources is now being coordinated by a single process which has solved this problem.

MAP-6844:  Mitsubishi Q not working on AIX 

Description:  Regression was introduced in 14.1 and was fixed in the 14.2 release.

MAP-6858:  Melco Driver on WinCPU should be built with the latest version of the EZSocket Library

Description:  The Mitsubishi driver was updated to compile with version 11.49 of the EasySocket library.

MAP-6977: Listeners not starting up automatically after boot 

Description:  This issue was a regression introduced by changes made for MAP-6225 in 13.3 and 14.1.  MAP-6225 introduced a change to verify that the runtime supports the listener when the listener is started.  The sequencing of listener starts at node start-up now has to wait on the task that completes listener feature initialization.

MAP-6979:  Reading 3-element STRING220 array on Siemens S7-400 device crashes node

Description:  Attempts to read arrays of large strings (> 218 bytes) on an S7-400 could result in system crashes. This would happen on the S7-400 because of its ability to handle larger communication payloads. The driver’s algorithm to determine where to write the data returned from the S7-400 wasn’t taking into account the larger payloads. This lead to a condition where the driver was overwrite memory. This has been corrected.

MAP-6984 OPC DA Client crashes if XML descriptor file is deleted

Description: An XML descriptor file is created when the deviceWISE OPC DA Client driver enumerates the tags defined on an OPC DA Server. A system crash was encountered if this file was subsequently deleted from the system and the OPC DA Client device that utilized the file was restarted. The driver was modified to detect the presence of this file when an OPC DA Client device is started. Enumeration will be from the server if the file is not found otherwise enumeration will occur using the tags defined in the XML descriptor file.

MAP-7001:  Melsec driver reading array of strings fails if registers have null values  (14.2)

Description:  The 13.3-build 24 fix for MAP-6668 introduced this issue. After implementing MAP-6668 we found that a sting that included a null character was not handled properly.  For the 14.2 release, we changed the code to properly recognize null characters to ensure that all strings in the array are properly read.

MAP-7133 - Rockwell CIP trigger event is missing INT8 and UINT8 data types for Data Table Write command (fixed in 14.2-build 19)

Description:  INT8 and UINT8 data types were added to all of the Rockwell unsolicited messages.

MAP-7131 - Rockwell (CIP) event, Set Single Attribute, isn't honoring the string size of the tag. (fixed in 14.2-build 19)

Description:  When the data in a Set Single Attribute message, sent from a Rockwell PLC is received by deviceWISE, deviceWISE will determine the size of the string using the LEN field of the String. This field indicates the true length of the String. Previously the driver was using the value supplied by the user in the Input Length field on the Trigger definition panel.

MAP-7076 - RTI Modbus XML descriptions not enumerating (fixed in 14.2-build 19)

Description:  This fixes a regression that was introduced in build 14.1.

MAP-7280 - OMRON CS1 crashes when it is stopped (fixed in 14.2-build 19)

Description:  The communication between processes used in the Omron driver, during the stopping of an Omron CS1 device, would at times lead to a system crash.

MAP-7228 - Reads and Writes to Omron CJ, CV, and CS devices aren't byteswapped (fixed in 14.2-build 19)

Description:  A fix was made to the byte swapping logic to ensure that values written to the Omron device are correct regardless of the origination of the write.

MAP-7298 - Siemens LOGO driver reads and writes past its maximum indexes (fixed in 14.2-build 19)

Description:  The I, M, and Q registers have been removed from the Siemens LOGO device. The user will no longer be able to access these data regions.

MAP-7255 - Siemens Heartbeat message causes Siemens TIA Portal software to go offline (fixed in 14.2-build 19)

Description:  Previously on some S7 systems, the response to the heartbeat message required two transmission frames. The message has been modified resulting in a much smaller response transmission. Heartbeat functionality can now be turned off by setting the Keep Alive value to 0 when defining an S7 device type.

MAP-7291 - Org sees periodic connection loss with various nodes in different physical locations (fixed in 14.2-build 19)

Description:   Fixed in 14.2-build 19.

MAP-7499 - LUA dw.variable.read works only for INT1, UINT1, String, and bool (fixed in 14.2-build 21)

Description:  This LUA function now supports all data types, INT1, UINT1, INT2, UINT2, INT4, UINT4, FLOAT4, INT8, UINT8, FLOAT8, STRING, and BOOL.

MAP-9291:  Atlas trigger stops working

Description:  A few problems were found when a device goes disabled.  A fix was provided in version 1.4.2 of the Atlas Copco driver in the 16.1.9 release.  A build for the 14.2 Runtime is also available.

Enterprise Gateways

MAP-6745:  FTP Server not maintaining Started state across node start

Description:  Versions 13.x and 14.1 did not maintain the FTP Server started state across a node start.  This function was restored in the 14.2 release.

MAP-7013:  AIX Node Crash with HTTP Listeners

Description:  Increased async worker's stack size with the 14.2 release.

MAP-7512:  VxWorks Node crashes when processing a notification update (fixed in 14.2-build 21)

Description:  Memory for the xml was allocated up to the query's length, but it will then append more characters at the end.  This would overrun the memory buffer. This was fixed in 14.2-build 21.


Lua Scripts

MAP-4975: Lua Substring function causes the runtime to fail  (also fixed in 13.3-build 23)

Description: Some invalid Lua scripts could cause the deviceWISE runtime to fail.

Workaround: Do not call a Lua substring with incorrect parameter types.

Node Export

MAP-5814:  Improve Backup Memory Utilization Need to be able to export larger projects

Description:  Instead of creating one large XML file and then sending the large file to the Workbench, the runtime code will send a series of items to the Workbench.  

Note:  The Workbench will support the previous method and the current method of exporting projects.

Transaction Server

MAP-4670: WebServices transports WS_SOAP, IFS and SAP_MII do not behave correctly when the Suspend function is used

Description: After you Suspend a WS_SOAP, IFS or SAP_MII transport, transactions continue to be delivered to the target enterprise application instead of failing or going to Store and Forward.

Workaround: The workaround is to change the transport host name or port settings to a value that will prevent the transport from successfully establishing a connection to the enterprise application. 

MAP-5846:  JSON payload response fields with a root structure and array are not being handled correctly  (also fixed in 13.3-build 21)

Description;  A project with a JSON response that contains root element scalars, structure and array fields results in errors.  The JSON array definition items overwrite the JSON structure definition items 

MAP-5929:  HTTP transport puts Query parameters in the HTTP header (also fixed in 13.3-build 21)

Description:  When defining a HTTP transport map with header parameters and query parameters, the query parameters show up in the http header. The defined http header parameters are not present. 

MAP-6025:  JMS Validate failure with a ClassNotFound exception causes the TS to not respond to the validate request. The validate window times out.  (also fixed in 13.3-build 21)

Description:  The error path handing resulted in a null pointer exception.

MAP-6362:  JSON construct not handled by deviceWISE when building a transport map (also fixed in 13.3-build 23 for both Workbench and Transaction Server)  

Description:  This was also fixed in 13.3-build 23 to handle the warnResult and checkResult json constructs.  It was updated to handle a JSON object that contains an array value.

MAP-6398:  Stored Procedure with a BIT output parameter is being mapped to a String representation of the boolean  (also fixed in 13.3-build 23)

Description:  This was also fixed in 13.3-build 23.

MAP-6399:  A Select transaction that returns a BIT value from SQLServer causes a Severe Error ( runtime method not found Error) in the TS.   (also fixed in 13.3-build 23)

Description:  This was also fixed in 13.3-build 23.

MAP-6400:  Import of a unsupported SAP JMS Listener into a runtime should be blocked  (also fixed in 13.3-build 23)

Description:  The import of an unsupported SAP JMS Listener into a runtime is now blocked.

MAP-6401:  SQLServer stored procedure cannot be executed on a database with a name that contains a embedded space  (also fixed in 13.3-build 23)

Description:  Attempting to call a stored procedure defined in a database with an embedded space in the name results in an error in versions before 13.3-build 23.  When the TS attempts to execute the prepared statement it gets the following SYNTAX error from the server.  [ An error occurred when processing Database Transaction. Error:Incorrect syntax near "{".].

MAP-6665:  Invalid JSON generated from a JSON sample with a leading Object (fixed in 14.1-build 32)

Description: Transactions containing JSON code with a leading Object results in invalid JSON output.

MAP-6731:  SQLServer Database transport should recognize the shutdown error message as a connection type error (fixed in 14.1-build 32)

Description:  The TS should recognize the S0002 and SqlError code ( 6005 ) as an error condition that would be a connectivity type error and take action to cleanup the db connection and transition to SF ( if the transport is configured for SF ) .

MAP-6886:  Transaction Server error codes need to be included in the messages file

Description:  The -4704 and -4706 error codes were added in the 14.2 release so that they could be displayed using the error code look-up on the Workbench.

MAP-7015:  An element included in an optional element fails when the input variable is not mapped

Description:  If the immediate parent of a required element is not required and the parent element has not been mapped, then the 14.2 and later code will not treat this as an error condition and will continue with building the XML. 

MAP-7087 - Attribute value that is mapped to an input variable is not emitted in the SOAP request if the associated element input variable is not specified (fixed in 14.2-build 19)

Description:  Fixed in 14.2-build 19

MAP-7086 - An XML parsing error message displayed by the GETLISTENERINFO(4302) command contains unescaped XML special characters (fixed in 14.2-build 19)

Description:  The Workbench doesn’t render the Listener panel correctly if there are un-escaped XML special characters embedded. 

MAP-7272 - DB Transport with nonFIFO enabled hangs indefinitely (fixed in 14.2-build 19)

Description:  A fix was made to the DB Transport with nonFIFO enabled that prevents it from hanging indefinitely when transitioning out of Store and Forward

MAP-7309 - Workbench should include the "dbtype" attribute in the Transport XML for the columns defined in the Where clause (fixed in 14.2-build 19)

Description:  A Postgres Select transport map defined using a where clause would fail with a severe error. 

MAP-7077 - Defining a new WS_SOAP transport fails with a popup indicating that pool size is required (fixed in 14.2-build 19)

Description:  Fixed in 14.2-build 19.

MAP-7281:  Any VxWorks ( ERPC, CCPU ) mySQL transport cannot execute a SELECT transaction with mySQL 5.5 or 5.6 server  (fixed in 14.2-build 21)

Description:  ERPC was fixed in 14.2-build 19 and CCPU was fixed in 14.2-build 21.

MAP-7544:  MSMQ Transport Validate times out with valid endpoint information (fixed in 14.2-build 21)

Description:  In previous versions, cleanup code was being called before status was checked.  This was fixed in 14.2-build 21.

TR-50 Package

MAP-6654:  Add autoDefKey to thing.bind action (fixed in 14.1-build 32)

Description:  New parameter that allows specifying which thing def to use when binding if a thing needs to be created.

MAP-6656:  TR50: Reboot on extended disconnect not displaying reboot timer (fixed in 14.1-build 32)

Description:  The reboot on extended disconnect feature does not display the reboot timer in the Advanced Connection Management Panel when the TR50 Connection is in "Started and Broken" state.

MAP-6752:  TR50 system crashes when message expired before socket_send returns (fixed in 14.1-build 32)

Description:  A fix for the TR-50 system was applied in 14.1-build 32.

MAP-7070:  TR50 not working with Proxy  (fixed in 14.2-build 19)

Description:  TR50 works with HTTP Proxy when using 14.2-build 19

MAP-7447:  Add the newly added ttl and singleton functionality to the TR50 Method Exec (added in 14.2-build 21)

Description:  Added the Time to Live (TTL) to the TR50 Method Exec Action in order to enhance the performance related to disconnect/connect issues.   Added functionality to handle the backwards compatible scenario, however, there will be a change whenever the user saves the trigger.  In 14.2-build 21, when a user edits a trigger and saves it, the default value of the TTL will no longer be null and will have a new default value of -1.  Nodes that have AckTimeout set in the Method Exec will notice that their Method Exec request will no longer expire by default and will live forever (-1) unless they specify a TTL value to expire.

MAP-7510:  TR50 Connection State Change trigger event not firing on connection loss  (fixed in 14.2-build 21)

Description:  Added "Status" event variable to represent the current TR50 Status, which could be "Connected", "Broken" or "Stopping". The state is now always equal to the TR50 State in the TR50 admin panel.

MAP-7511:  tr50_file_get() needs to be updated to handle redirect status codes 3XX  (fixed in 14.2-build 21)

Description:  In previous builds when a tr50_file_get() is invoked by SUP update campaign, the method was not handling redirect response status codes. If customers have networks that redirect traffic for security purposes, then the update campaign would fail in these environments.  This was fixed in 14.2-build 21.

Trigger Actions

MAP-5787:  JSON Decode action failure (also fixed in 13.3-build 21)

Description:  The JSON Decode action (build time activity) when typing into the JSON Template field causes the core to crash and restart the node.

MAP-5788:  JSON Decode action parameter not displayed  (also fixed in 13.3-build 21)

Description:  The Structure Delimiter Character parameter is not displayed when the Use Advanced Properties check-box is selected.

MAP-6036:  JSON decode action not handling 2D arrays  (also fixed in 13.3-build 21)

Description:  Added the ability to process 2 dimensional arrays of all data types (Int4's, Float4's, Bools, and Strings).

MAP-6365:  Update the expression parser to handle >==     (also fixed in 13.3-build 23)

Description:  This was fixed in 13.3 build 23.

Tunnel Manager

MAP-6652:  Update tunnel manager to accommodate the m2m.devicewise.com server certificate validation path change  (fixed in 14.1-build 32)

Description:  The tunnel manager tar ball for 14.1.0 needed to be updated for the new certificate.

Workbench

MAP-6362:  JSON construct not handled by deviceWISE when building a transport map (also fixed in 13.3-build 23 for both Workbench and Transaction Server)

Description:  Fixed in 13.3-build 23 to handle the warnResult and checkResult json constructs.  It was updated to handle a JSON object that contains an array value. 

MAP-6403  Scroll bar in Canvas Editor doesn't function correctly when zoomed in    (also fixed in 13.3-build 23)

Description:  When the Canvas Editor is zoomed, using the scroll bar results in a blank screen with no content. Additionally, the scroll bar up/down buttons do not work when this happens.

MAP-6657:  Java6 sending SSLv2 handshake on SSLv3 connection (fixed in 14.1-build 32)

Description:  In 14.1-build 29, the Workbench was sending an SSLv2 handshake to the Open Server.  This is a known problem in Java6 that is fixed in Java7.  This was changed in 14.1-build 32 version of the Workbench to force the protocol to SSLv3 after it is created but before it is used.  

MAP-6740:  Able to create variables with a trailing space (fixed in 14.1-build 32)

Description:  When creating OPC tags using the Global Variable device it is possible to inadvertently create a leaf variable that contained a trailing space. The presence of this space made the variable unusable by a 3rd party OPC client.

MAP-6741:  JMS Listener Extended attributes panel is not sized correctly and so a user cannot see the OK /CANCEL buttons (fixed in 14.1-build 32)

Description:  When the JMS Listener Extended attribute panel is selected, the popup doesn't display the OK button until the popup is resized. If the user enters values in any of the fields and dismisses the window, the settings are not persisted.  The window should be re-sized to display the OK button when first brought up.

MAP-6744:  HTTP Transport map query parameter/header parameter do not allow more than one $CONSTANT value to be entered (fixed in 14.1-build 32)

Description:  On the HTTP Transport map Request Parameters screen, a user should be able to add one fixed header name value pair and have it show on the list with a name of $CONSTANT.  When attempting to add a second fixed value, the workbench rejects the addition. This should be allowed.  This also occurs when specifying Header Parameters.

MAP-7074 - Workbench doesn't allow selection of Integers that expose their bits in the Variable Group panel (fixed in 14.2-build 19)

Description: Fixed in 14.2-build 19.

MAP-7310 - Workbench -- generating automap incorrectly from stored procedures (fixed in 14.2-build 19)

Description:  Fixed in 14.2-build 19

MAP-7170 - Variable Watch window corrupts when values updated quickly and the window's columns are sorted (fixed in 14.2-build 19)

Description:  Fixed in 14.2-build 19.

MAP-7043 - Variable watch window does not support the same named device/variable from different nodes (fixed in 14.2-build 19)

Description:  Fixed in 14.2-build 19.

MAP-7085 - Transport Map for Aggregate function doesn't use the row count variable value when auto-generating variables using the 'Map Variables' button (fixed in 14.2-build 19)

Description:  Fixed in 14.2-build 19

MAP-7476:  WB Not updating starting status in mappings (fixed in 14.2-build 21)

Description:  Fixed in 14.2-build 21

MAP-7487:  Workbench auto-mapping DB columns of type CHAR with incorrect count  (fixed in 14.2-build 21)

Description:  Fixed in 14.2-build 21

Technology Preview Extension (also known as Sandbox)

MAP-6278 Sandbox preview of upcoming BCD Conversion action  (also fixed in 13.3-build 23)

Description:  Three new actions were added to the Sandbox:

The BCD Conversion action is now in the "Device" Trigger Action category
The Convert To Hex String action is now in the "String" Trigger Action category 
The Get SubString action is now in the "String" Trigger Action category

MAP-6319 Sandbox String Actions  (also fixed in 13.3-build 23)

Description:  The following actions were added to the Sandbox

Substring - An action to create a new string from within a source string. Input is a string, a beginning offset, and an end offset. Output is a new string. This can replace the LUA Sub string logic

Convert to Hex String - An action to create a string of a hex value from an integer. Input is an integer value and a data type of either UINT1, UINT2, or UINT4. Output is the resulting string, with leading zeros based on the data type selected. String length is a maximum of two bytes for UINT1, 4 bytes for UINT2, and 8 bytes for UINT4

MAP-6786  Memory leak in the Get SubString action

Description:  Fixed memory leak in the 14.2 release. 

Upgrading from previous versions

Backup before upgrading! 
You should backup your configuration from the Workbench prior to upgrading to a new version of deviceWISE.

For more information about upgrading your software, see Updating products.