ABB_800xA学习笔记262:System_800xA_Control_6.0_AC_800M_Configuration52
(2023-12-15 20:45:42)
标签:
abbsystem_800xa_ac800m配置手册功能和组件 |
分类: ABBDCS |
继续学习配置手册第一章功能和组件,进入第129页。
Real value in AC 800M
AC800M实实数值
The AC 800M Controller stores real
values according to the Institute of
Electrical and
Electronics Engineers, Inc. (IEEE) has standard for
floating-point representations and computational results (IEEE
Std 754-1985).
AC
800M 控制器根据电气和电子工程师协会 (IEEE) 的浮点表示和计算结果标准 (IEEE Std 754-1985)
存储实数值。
Floating-point consist of three fields, a sign
(1-bit there 1 is positive), a biased exponent (8-bit) and a value (23-bit) gives a
total of 32-bits. The range is ±1.18*10-38 to ±3.4*1038. The 24 bits
(including the hidden bit) of mantissa in
a 32-bit
floating-point number represent a precision of approximately 7
significant decimal digits.
浮点由三个字段组成,一个符号(1 位,1 为正)、一个偏置指数(8 位)和一个值(23
位)总共给出 32 位。范围为 ±1.18*10-38 至 ±3.4*1038。32 位浮点数中尾数的 24 位(包括隐藏位)表示大约
7 位有效十进制数字的精度。
Unlike the real number system, which is
continuous, a floating-point system
has gaps between
each number. If a number is not exactly representable, then it must
be approximated by one of the nearest
representable values.
与连续的实数系统不同,浮点系统在每个数字之间都有间隙。如果一个数字不能完全表示,则必须用最接近的可表示值之一来近似。
Because the same numbers of bits are used to
represent all normalized numbers, the smaller the exponent is, the greater is the
density of representable numbers.
For example, there are approximately 8,388,607
single-precision numbers between
1.0 and
2.0, while there are only about 8191 between 1023.0 and
1024.0.
由于使用相同数量的位数来表示所有归一化数字,因此指数越小,可表示数字的密度就越大。例如,在
1.0 和 2.0 之间大约有 8,388,607 个单精度数字,而在 1023.0 和 1024.0 之间只有大约 8191
个。
Different results between types of
CPU
不同型号CPU结果不同
All
AC 800M controllers are limited to 32 bit accuracy regardless
Floating Point Processor (FPU) or not.
所有的AC
800M控制器限制为32位精度,无论是否浮点处理器FPU
The
SoftController does make use of the Floating Point Processor (FPU)
which has an
internal accuracy of 128bits (this is standard PC functionality).
The FPU does have an internal accumulator which stores
intermediate results with the
mentioned high accuracy.
Therefore there could be a different
in calculations between SoftController
and AC
800M.
因此,SoftController 和 AC 800M
之间的计算可能有所不同。
Why there are no exact or unexpected
results
为什么没有确切或意外的结果
All
calculations will give an approximately value, Inaccurate or
unexpected results in your calculations have to do with the gaps
between each number that has
been truncated where the exponent is
large.
所有计算都将给出一个近似值,计算中的不准确或意外结果与指数较大的每个数字之间的间隙有关。
Adding small numbers to a very large one in all
computer systems give an inaccurate result for
example:
X:=
10.0E8 + 1+1+1+1+1+1+1+1+1.....(1000 times).
X:=
10.0E8 + 1000
This
will give different results on X if the addition of +1 is truncated
and not the +1000
operation
如果 +1
的加法被截断,而不是 +1000 操作,这将在 X 上给出不同的结果。
Another example: 另一个例子
65536.0000000 is 6.5536E4 or in binary form 0
10001111 0000000 00000000
00000000
65536.0039062 is the same as 6.5536E4
or in binary form 0 10001111 0000000
00000000 00000000
65536.0039063 is 6.55360078E4 or in
binary form 0 10001111 0000000 00000000
00000001
To maintain accuracy in your
calculations scale down the large value (or scale up
the small one)
before the calculations are made, then compensate for the
scaling.
为了保持计算的准确性,请在进行计算之前缩小大值(或放大小值),然后补偿缩放。
In
extreme cases, the sum of two non-zero numbers may be equal to one
of them.
在极端情况下,两个非零数的总和可能等于其中一个。