KB57840
Published: April 28, 2008
Revision: 4.0

PAC Control or ioControl hex string-to-number commands may give incorrect results


Applies To:

SNAP-PAC-S1
SNAP-PAC-R1
SNAP-PAC-R2
SNAP-UP1-ADS
SNAP-UP1-M64
SNAP-UP1-D64
SNAP-LCE

Versions Affected:

Problem was discovered in version: R8.0a for SNAP-PAC control engines
R1.0a for Ultimate I/O control engines
Problem is fixed in version: R8.1a for SNAP PAC control engines
R7.2h for Ultimate I/O control engines

Resolved In Version:

Problem is fixed in version: R8.1a for SNAP PAC control engines
R7.2h for Ultimate I/O control engines


Symptoms:

The following PAC Control commands could incorrectly convert a string's numeric value:

Convert Hex String to Number
Convert IEEE Hex String to Number
Convert Mistic I/O Hex to Float

This problem is more likely to occur if the string's prior length was longer than the length of the string passed to the command.

Example

A variable, sTemp, holds a string with eighteen characters.

sTemp = "11111111111111111"

Next, sTemp is assigned the string "0x400CCCCD", which has a string length of 8 and a value of 2.2 as floating point number.

If sTemp is passed to one of the problematic commands, a result of zero or an incorrect non-zero value may be returned.


Workaround:

Assign a blank string to the string variable that is longer than the string to be passed to the command. In the prior example, sTemp should be assigned a blank string of at least 9 characters.

sTemp = "         "


Resolution:

Opto 22 has resolved this issue.


Questions?

Contact: Opto 22 Product Support.
Phone: 800-835-6786 or 951-695-3080
Email: support@opto22.com


DISCLAIMER

This Opto 22 Knowledge Base ('OptoKB') article is intended to provide general technical information on a particular subject or subjects and is not an exhaustive treatment of such subjects. Accordingly, the information in this OptoKB article is not intended to constitute application, design, software, or other professional engineering advice or services. Opto 22 may modify the OptoKB articles at any time. Before making any decision or taking any action which might affect your equipment, you should consult a qualified professional.

OPTO 22 DOES NOT WARRANT THE COMPLETENESS, TIMELINESS, OR ACCURACY OF THE DATA CONTAINED IN THIS OPTOKB ARTICLE AND MAY MAKE CHANGES THERETO AT ANY TIME AT ITS SOLE DISCRETION WITHOUT NOTICE. FURTHER, ALL INFORMATION CONVEYED HEREBY IS PROVIDED TO USERS 'AS IS.' IN NO EVENT SHALL OPTO 22 BE LIABLE FOR ANY DAMAGES OF ANY KIND INCLUDING DIRECT, INDIRECT INCIDENTAL, CONSEQUENTIAL, LOSS PROFIT, OR DAMAGE, EVEN IF OPTO 22 HAS BEEN ADVISED ON THE POSSIBILITY OF SUCH DAMAGES.

OPTO 22 DISCLAIMS ALL WARRANTIES WHETHER EXPRESSED OR IMPLIED WITH RESPECT TO THE INFORMATION (INCLUDING HARDWARE, SOFTWARE, AND/OR FIRMWARE) PROVIDED HEREBY, INCLUDING THE IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTIBILITY, AND NON-INFRINGEMENT. Note that certain jurisdictions do not sanction the exclusion of implied warranties: thus, this disclaimer may not apply to you.

Copyright © 2019 Opto 22. All rights reserved.