- Fixed an issue where reads could starve writes when communicating to multiple devices in the same channel.
- Removed non-inclusive terms out of respect for users of our software.
- Added a History Timestamp property to the EFM Meters property group, allowing users to specify whether the device-provided timestamp is Leading or Trailing.
- Fixed an issue causing the EFM Exporter to report the incorrect Volume Units for K-Factor.
- Added a pointer rollback to retrieve lost data from a device. If the device’s cache pointer is valid, rollback will be applied to cache pointer, otherwise the rollback will be applied to the current device pointer.
- Resolved an issue where EFM uploads failed if more than 50 History Points existed in the device.
- Fixed an issue where communication could fail immediately after initiating communication with the device.
- Added support for Point Type 48 parameters 35-38.
- Added support for VCone meter type and calculation method.>
- Fixed an issue where Automatic Tag Generation for Point Type 7 and Point Type 10 would result in generating tags for Logical Point 0.
- Added validation for data length, starting log pointer, and history point number to prevent re-sent packets from being processed again.
- Fixed an issue where a K Factor value can be exported as Cutoff instead of Nominal K Factor.
- Updated the parameter size for parameter #0(Device Tag) in Point Type 177's address table from 10 bytes to 40 bytes.
- Added additional options for time synchronization:
- Only allow time synchronization when the difference between device and system time exceeds a certain threshold.
- Perform a time synchronization on an EFM poll.
- Added parameters 35-38 to the address parser for PT 48.
- Added support for Automatic Tag Generation for all logical Units for PointType 10 and 7.
- Added more validation to CEFMEventSM::_HandleReadEventsResponse and CEFMEventSM::_HandleReadPointerResponse to correctly match the response to the most recent request.
- Added more validation to CEFMHistorySM::_HandleReadHistoryResponse to avoid processing the wrong packet.
- Introduced CEFMConfigMappingEntry::SetAttributeMapping() for handling different mappings based on meter type.
- Disabled time synchronization when data collection is disabled.
- Added more validation to CEFMHistorySM::_HandleReadHistoryResponse, CEFMEventSM::_HandleReadEventsResponse, and CEFMEventSM::_HandleReadPointerResponse to correctly match the response to the most recent request.
- Changed parameter size for Point Type 177, parameter #0, from 10 bytes to 40 bytes.
- Disallowed time synchronization messages if the device is disabled.
- Meters are now represented in the Project Tree View to improve visibility and editing.
- Fixed an issue where EFM data for avg_c8, avg_c9, and avg_c10 was not exported to CSV.
- Corrected column mapping of EFM data for n-Pentane and neo-Pentane.
- Added missing gas attribute mappings for H2, HE, CO, AR for Roc+.
- Added support for c8, c9, c10 attributes.
- Fixed an issue where nPentane mapped incorrectly.
- Added support for attributes 56-112 for point type 141.
- Resolved a Time Sync issue where, if no reads are active; only the first four (4) devices successfully synchronize.
- Enhanced the driver to allow UDP tags to use the correct data type set (not default). This allows the data type of these tags to be manually modified.
- Fixed an issue where “Bad” quality was reported for historical data when new records were not available.
- Added support for Advanced Statistics Tags, including _CommFailures, _ErrorResponses, and more.
- The driver now includes the #n syntax when auto-generating tags for similarly named point types in point type tables to avoid duplicate tag names. This may change the default name for some auto-generated tags from previous versions.
- Changed the alarm state from OFF to On for string events.
- Resolved an issue where attempting to read a tag from a non-responsive device could falsely cause a timeout when reading the next tag on a different device.
- Resolved an issue where reading multiple tags in the same point type logical could result in two separate read requests rather than one.
- The driver no longer performs a time synchronization operation on startup when the Time Sync Method is Absolute.
- Added support for reading and writing to user tables using Opcodes 10 and 11.
- Added the ability to ignore extra bytes received on the wire that are not part of the ROC communications. These bytes are sometimes added by radio modems and other networked equipment.
- Enhanced the drivers to support Opcode 180. Enabled per device, this allows the driver to read multiple TLP and UDPs per read request.
- Spaces are no longer allowed in liquid and gas meter names.
- Removed the potential for a hang when a client accesses tags containing UDP point types.
- Enhanced the driver to cache the pointer file to disk so that it will not re-poll for data already collected on start-up.
- Added support for Point Type 98.
- Fixed an issue where Default data type was always returned for UDP tags, even if the UDP data type was known by the server. This could cause writes that occurred before an initial read of the UDP tag to fail.
- Enhanced the Fisher ROC Serial Driver to support User-Defined Points. This includes support for Dynamic Tag Creation as well as Online and Offline Automatic Tag Generation.
- Resolved an issue where, depending on the size and number of parameters in a block, the driver could request more parameters than will fit into a ROC serial response frame. An example of this is reading parameters 53 through 75 of point type 80 on a FloBoss Model 107 device, which would result in framing errors and bad quality for the entire block of parameters.
- Increased the maximum number of supported channels to 1024.
- Added support for FloBoss Model 107 specific parameters in point type 14. This support resolves an issue where adding or enabling parameter 37 of point type 14 would cause the entire set of point type 14 tags to go bad.
- Added support for FloBoss Model 107 specific parameters in point type 57. This support resolves an issue where adding or enabling parameter 5 of point type 57 would cause the entire set of point type 57 tags to go bad.
- Improved the driver's EFM data collection performance and efficiency when intermittent communication errors are seen with the connection to the EFM data source. The optimizations are handled in the driver automatically and no project configuration changes are required in the driver UI.
- Fixed an issue where the driver could incorrectly interpret the meter type returned by the device, potentially leading to missing EFM attribute data in the final EFM export.
- Added Electronic Flow Measurement (EFM) Support
- Updated the driver with the new Connection Sharing feature.
- Added a device setting to enable/disable sending a device login password.
- When transactions fail due to an Operator ID failure, a single custom error message will now be posted per device.
- Enhanced the driver to consume the extra bytes that may be received following a valid frame. This allows communication with ROC 300 devices, which may append an extra byte to every frame they transmit.
Added support for the use of legacy tag names as part of Automatic Tag Generation. This enhancement was made to resolve a change introduced in the 5.8 release where tag formats created via Automatic Tag Generation were different than previous versions. This tag format issue only affects users who upgraded to version 5.8 and triggered tag regeneration.
For new installations of Fisher ROC Serial driver (server version V5.9 and up), the default setting for this checkbox is 'checked' so legacy tag names are used.
Added support for Channel Serialization, Inter-Device Delay, and RTS Line Control. Updated the Operator Identification tab in Device Properties to be more consistent with ROCLINK configuration software. Consolidated Tag Import Settings under a single tab in Device Properties.
- Increased the channel limit to 256.
- Fixed an issue caused when a controller responded with a data length greater than the data length supported by the protocol. This would cause a buffer overflow which could cause the driver to stop working. Added verification of data length returned by controller.
- Fixed an issue where the driver was sending the incorrect date (last two digits of year) when Time Synchronization is enabled for a device.
- Increased the maximum devices per channel from 32 to 255.