![RMF Systems CMS 2 Скачать руководство пользователя страница 61](http://html1.mh-extra.com/html/rmf-systems/cms-2/cms-2_user-manual_1467398061.webp)
60
As a policy of continual improvement, RMF reserves the right to alter the specification without prior notice.
201.028 REV 1
Date of Issue: 18 June 2018
They may be simple numeric quantities such as ``test time in seconds’’. They can also be enumerations such as
``result format’’ where ``0’’ means ISO4406, ``1’’ means NAS1638 etc.
Signed Integers
- These are used for quantities that may become negative, such as °C. They are also used for
result codes using formats similar to NAS1638, where we have to represent the NAS ``00’’ class as
-
1, and ``000’’
as -2.
Signed integers are represented in s
ingle Modbus registers using the ``twos complement’’ standard, as usual in
computing. If a user-written program incorrectly interprets a signed integer as unsigned, then positive numbers
will still be interpreted correctly. However, small negative numbers will appear as large positive ones. In
particular, -1 appears as 65535 and -2 as 65534. These might be seen when interpreting the NAS codes
mentioned above.
Take care when writing software dealing with NAS codes or Temperature measurements.
32 Bit Unsigned Integers
- Some quantities are (or may become) too large to fit into a single 16-bit register. For
example the Test Number could eventually increment to more than 65535. These items are represented using
two consecutive registers; the combination makes up a 32-bit integer. For example, the value of such a 32 bit
unsigned integer stored in registers 8-9 may be calculated using the formula:
𝑣𝑎𝑙𝑢𝑒
= (65536 × (
𝑟𝑒𝑔𝑖𝑠𝑡𝑒𝑟
8)) + (
𝑟𝑒𝑔𝑖𝑠𝑡𝑒𝑟
9)
Bitmaps
- Bitmaps are again single 16-
bit Modbus registers, but they have a special interpretation. Each ``bit’’ in
the register has a separate function. The most important example is the
``status flags’’ register (31). Each register
bit encodes a separate function, for example ``result valid’’, ``new result’’, ``over temperature alarm’’ etc. In this
document bits are numbered starting with bit 0 = least significant bit.
A user programming environment such as a PLC programming system or a high level computer language will
normally have functions that allow easy access of individual bit values in a register.
Arrays
- An Array is simply a sequence of objects packed in consecutive registers. F
or example the ``result codes’’
are in an array of 8 registers. Code [0] is in register 56; code [1] is in register 57 etc.
In the case of an array of 32-bit integers, each element itself takes up 2 registers, so there are twice as many
registers used as elements in the array. In the case of the particle counts array, there are 8 particle sizes counted
so these are stored in 8 × 2 = 16 registers.
Packed Characters
- These are used to encode the user-
settable ``test reference’’ string, used to label each te
st.
Characters are packed two per Modbus register. This will probably not be used in a user-written Modbus
program, but in principle the test reference could be set to a different value for each test. The test reference
string consists of 16 characters packed into an array of 8 consecutive registers.
Date/Time
-
A ``Date’’ represents a calendar date and time as a 32 bit unsigned integer (it is the number of
seconds since Jan 1 1970). User programs will not generally have to deal with this, but in principle they could e.g.
read or set the real time clock from registers 24-25. It can be useful during development to be able to read the
clock and see a continuously incrementing value of seconds.
Содержание CMS 2
Страница 1: ...User Manual CMS2...