modbus_get_float_abcd


機能

 

指定された4バイトデータをfloat値に変換します。バイトオーダーはABCD順となります。

 

書式

 

ret = modbus_get_float_abcd( src )

 

引数

 

src[ VB.NET: UShort ] [ C, C++: uint16_t * ] [ C#: ushort[] ] [ Python: ctypes.POINTER(ctypes.c_uint16) ]

float変換を行うデータを格納した配列のポインタを指定下さい。

配列の要素数は2つであり、それぞれ16bitデータを含むことを前提とします。

 

戻り値

 

ret [ VB.NET: Single ] [ C, C++: float] [ C#: float ] [ Python: ctypes.c_float ]

 

変換したfloat値を返します。

 

説明

 

指定された4バイトデータをfloat値に変換します。バイトオーダーはABCD順となります。

src配列は要素数2つであり、それぞれ16ビット値を持つことを前提とします。

 

例えば最初のワードが0x0020に設定され、2番目のワードが0xF147に設定されている場合、float値は123456.0として変換されます。

 

使用例

 

配列[ 0x0020 , 0xF147 ]からfloat値:123456.0を取得します。

 

VB.NET

Dim value As Single

Dim src() As UShort = { 0x0020 , 0xF147  }

value = modbus_get_float_abcd( src )

 

C, C++

float value;

uint16_t src = { 0x0020 , 0xF147  };

value = modbus_get_float_abcd( src );

 

C#

float value;

ushort[] src = { 0x0020 , 0xF147  };

value = modbus.GetFloatAbcd( src );

 

Python

value = ctypes.c_float

uint16_buff_type = ctypes.c_uint16 * 2

src = uint16_buff_type()

src[0], src[1] = ( 0x0020 , 0xF147 )

value = modbus_get_float_abcd( src )