Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Sentinel values for instrumentation



Size of register Sentinel values Notes
16 bit unsigned, any scale 0xFFFF Unimplemented
  0xFFFE Over measurable range
  0xFFFD Under measurable range
  0xFFFC Transducer fault
  0xFFFB Bad data
  0xFFFA High digital input
  0xFFF9 Low digital input
  0xFFF8 Reserved
16 bit signed, any scale 0x7FFF Unimplemented
  0x7FFE Over measurable range
  0x7FFD Under measurable range
  0x7FFC Transducer fault
  0x7FFB Bad data
  0x7FFA High digital input
  0x7FF9 Low digital input
  0x7FF8 Reserved
32 bit unsigned, any scale 0xFFFFFFFF Unimplemented
  0xFFFFFFFE Over measurable range
  0xFFFFFFFD Under measurable range
  0xFFFFFFFC Transducer fault
  0xFFFFFFFB Bad data
  0xFFFFFFFA High digital input
  0xFFFFFFF9 Low digital input
  0xFFFFFFF8 Reserved
32 bit signed, any scale 0x7FFFFFFF Unimplemented
  0x7FFFFFFE Over measurable range
  0x7FFFFFFD Under measurable range
  0x7FFFFFFC Transducer fault
  0x7FFFFFFB Bad data
  0x7FFFFFFA High digital input
  0x7FFFFFF9 Low digital input
  0x7FFFFFF8 Reserved

 

Function 16 - Write Multiple Registers

Writes one or more 16 bit registers to the slave device.

 

Notes:

1. The limit of 123 registers is to comply with the Modbus specification which requires that a message must not exceed 256 bytes including all fields.

2. A write to a register that is defined in this standard but not implemented on this slave device will return extended exception 4 (Register not implemented) and have no other affect.

3. A write to a register that is defined in this standard as unimplemented will return extended exception 4 (Register not implemented) and have no other affect.

4. A write to a register that is defined in this standard as containing some unimplemented bits will only affect the implemented bits, the state of the unimplemented bits is irrelevant.

5. An attempt to write to a register that is defined as reserved in this standard will return extended exception code 12 (Reserved register) and have no other affect.

6. A write to a multi-register value such as a 32 bit value, a password or a string must be performed by a single message, not by multiple ones. This avoids the possibility of a value being partly current and partly old data.

7. The maximum allowable writing frequency to modbus registers should be limited to 10 times per second, to prolong the life of the module it is recommended that registers are only written to when their value needs to be changed ( avoid writing the same data repeatedly ).

Query message

Byte Field name Notes
0 Slave address  
1 Function code (16)  
2 First register address - high byte 16 bit register address
3 First register address - low byte  
4 Number of registers to write - high byte 16 bit number of registers, must be in the range 1 to 123
5 Number of registers to write - low byte  
6 Byte count (n) 8 bit even number in the range 2 to 246 (number of registers *2)
7 First register - high byte 16 bit register
8 First register - low byte  
   
5+n Last register - high byte 16 bit register
6+n Last register - low byte  
7+n/8+n Error check CRC  

 

Normal response message

Byte Field name Notes
0 Slave address  
1 Function code (16)  
2 First register address - high byte 16 bit register address
3 First register address - low byte  
4 Number of registers written - high byte 16 bit number of registers, must be in the range 1 to 123
5 Number of registers written - low byte  
6/7 Error check CRC  

Exception response message

Byte Field name Notes
0 Slave address  
1 Function code +128 (144) Top bit is set
2 Exception code 1 - Illegal function code 2 - Illegal data address 6 - Slave device busy
3/4 Error check CRC  

 

 

Language Codes

 

Notes:

1. Language codes follow the Windows definition, the primary language code is stored in the least significant 10 bits and the sub-language code is stored in the most significant 6 bits of the 16 bit language code.

2. Microsoft add to this list periodically but have reserved sections of the list for custom languages and sub-languages. Primary language codes 0x200-0x3FF can be used for additional languages and sub-language codes 0x20-0x3F can be used for additional dialects of a primary languages but these should only be used where none of the defined codes is appropriate.

 

Language codes

Primary language Sub-language Primary language code Sub-language code Language code
Neutral Neutral 0x00 0x00 0x0000
Arabic Saudi Arabia 0x01 0x01 0x0401
  Iraq   0x02 0x0801
  Egypt   0x03 0x0C01
  Libya   0x04 0x1001
  Algeria   0x05 0x1401
  Morocco   0x06 0x1801
  Tunisia   0x07 0x1C01
  Oman   0x08 0x2001
  Yemen   0x09 0x2401
  Syria   0x0A 0x2801
  Jordan   0x0B 0x2C01
  Lebanon   0x0C 0x3001
  Kuwait   0x0E 0x3401
  United Arab Emerates   0x0E 0x3801
  Bahrain   0x0F 0x3C01
  Qatar   0x10 0x4001
Bulgarian Standard 0x02 0x01 0x0402
Catalan Standard 0x03 0x01 0x0403
Chinese Taiwan 0x04 0x01 0x0404
  Peoples Republic   0x02 0x0804
  Hong Kong   0x03 0x0C04
  Singapore   0x04 0x1004
  Macau   0x05 0x1405
Czech Standard 0x05 0x01 0x0405
Danish Standard 0x06 0x01 0x0406
German Standard 0x07 0x01 0x0407
  Swiss   0x02 0x0807
  Austrian   0x03 0x0C07
  Luxembourg   0x04 0x1007
  Liechtenstein   0x05 0x1407
Greek Standard 0x08 0x01 0x0408

 



Language codes continued

Primary language Sub-language Primary language code Sub-language code Language code
English United states 0x09 0x01 0x0409
  United kingdom   0x02 0x0809
  Australia   0x03 0x0C09
  Canada   0x04 0x1009
  New Zealand   0x05 0x1409
  Ireland   0x06 0x1809
  South Africa   0x07 0x1C09
  Jamaica   0x08 0x2009
  Caribbean   0x09 0x2409
  Belize   0x0A 0x2809
  Trinidad   0x0B 0x2C09
  Zimbabwe   0x0C 0x3009
  Philippines   0x0D 0x3409
Spanish Traditional 0x0A 0x01 0x040A
  Mexican   0x02 0x080A
  Modern   0x03 0x0C0A
  Guatemala   0x04 0x100A
  Costa Rica   0x05 0x140A
  Panama   0x06 0x180A
  Dominican Republic   0x07 0x1C0A
  Venezuela   0x08 0x200A
  Colombia   0x09 0x240A
  Peru   0x0A 0x280A
  Argentina   0x0B 0x2C0A
  Ecuador   0x0C 0x300A
  Chile   0x0D 0x340A
  Uruguay   0x0E 0x380A
  Paraguay   0x0F 0x3C0A
  Bolivia   0x10 0x400A
  El Salvador   0x11 0x440A
  Honduras   0x12 0x480A
  Nicaragua   0x13 0x4C0A
  Puerto Rico   0x14 0x500A
Finnish Standard 0x0B 0x01 0x040B
French Standard 0x0C 0x01 0x040C
  Belgian   0x02 0x080C
  Canadian   0x03 0x0C0C
  Swiss   0x04 0x100C
  Luxembourg   0x05 0x140C
  Monaco   0x06 0x180C
Hebrew Standard 0x0D 0x01 0x040D
Hungarian Standard 0x0E 0x01 0x040E
Icelandic Standard 0x0F 0x01 0x040F
Italian Standard 0x10 0x01 0x0410
  Swiss   0x02 0x0810
Japanese Standard 0x11 0x01 0x0411
Korean Extended Wansung 0x12 0x01 0x0412
  Johab   0x02 0x0812
Dutch Standard 0x13 0x01 0x0413
  Belgian   0x02 0x0813
Norwegian Bokmal 0x14 0x01 0x0414
  Nynorsk   0x02 0x0814

 





Language codes continued

Primary language Sub-language Primary language code Sub-language code Language code
Polish Standard 0x15 0x01 0x0415
Portuguese Brazilian 0x16 0x01 0x0416
  Standard   0x02 0x0816
Rhaeto-romanic Standard 0x17 0x01 0x0417
Romanian Standard 0x18 0x01 0x0418
  Moldavia   0x02 0x0818
Russian Standard 0x19 0x01 0x0419
  Moldavia   0x02 0x0819
Croatian Standard 0x1A 0x01 0x041A
Serbian Latin 0x1A 0x02 0x081A
  Cyrillic   0x03 0x0C1A
Slovak Standard 0x1B 0x01 0x041B
Albanian Standard 0x1C 0x01 0x041C
Swedish Standard 0x1D 0x01 0x041D
  Finland   0x02 0x081D
Thai Standard 0x1E 0x01 0x041E
Turkish Standard 0x1F 0x01 0x041F
Urdu Standard 0x20 0x01 0x0420
Indonesian Standard 0x21 0x01 0x0421
Ukrainian Standard 0x22 0x01 0x0422
Byelorusian Standard 0x23 0x01 0x0423
Slovenian Standard 0x24 0x01 0x0424
Estonian Standard 0x25 0x01 0x0425
Latvian Standard 0x26 0x01 0x0426
Lithuanian Standard 0x27 0x01 0x0427
  Classic   0x02 0x0827
Reserved   0x28   0x0428
Farsi Standard 0x29 0x01 0x0429
Vietnamese Standard 0x2A 0x01 0x042A
Reserved   0x2B   0x042B
Reserved   0x2C   0x042C
Basque Standard 0x2D 0x01 0x042D
Sorbian Standard 0x2E 0x01 0x042E
Macedonian Standard 0x2F 0x01 0x042F
Sutu Standard 0x30 0x01 0x0430
Tsonga Standard 0x31 0x01 0x0431
Tswana Standard 0x32 0x01 0x0432
Venda Standard 0x33 0x01 0x0433
Xhosa Standard 0x34 0x01 0x0434
Zulu Standard 0x35 0x01 0x0435
Afrikaans Standard 0x36 0x01 0x0436
Reserved   0x37   0x3700
Faeroese Standard 0x38 0x01 0x0438
Hindi Standard 0x39 0x01 0x0439
Maltese Standard 0x3A 0x01 0x043A

 



Language codes continued

Primary language Sub-language Primary language code Sub-language code Language code
Sami (Lapland) Standard 0x3B 0x01 0x043B
Scots Gaelic Standard 0x3C 0x01 0x043C
Reserved   0x3D   0x043D
Malay Standard 0x3E 0x01 0x043E
  Brunei Darussalam   0x02 0x083E
Reserved   0x3F   0x043F
Reserved   0x40   0x0440
Swahili Standard 0x41 0x01 0x0441
Reserved   0x42-0x1FF    
Custom languages   0x200-0x3FF   0x0200-0x03FF
Custom language English for pumps 0x20 0x00 0x0200

 

Modbus Registers Defined

Notes:

1. The register array is divided into 256 pages each containing up to 256 registers, the actual register address is obtained from the formula: register_address=page_number*256+register_offset.

2. All unused parts of pages 0-127 are defined as reserved for expansion of this standard, any attempt to access them will result in an exception response with extended exception code 12 (Reserved register).

3. Pages 128-255 are available for manufacturer specific applications such as configuration of the control equipment, these are not defined by this standard.

4. Any device which requires registers in pages 128-255 to be implemented in order to perform a task which can be performed by registers defined in this standard is deemed to be non-compliant with this standard.

5. This document always refers to register addresses which start at 0 as defined in the Modbus protocol. Register numbers, which start at 1, are not used in this document in order to avoid confusion.

6. The additional instrumentation pages are to be defined.

7. S.M. means state machine.

8. A letter S in the bits/sign column indicates a signed value using two’s compliment arithmetic, all others are unsigned.

9. A double number in the bits/sign column indicates a bit within a register of a specific size e.g. 16/16 is the most significant bit and 1/16 is the least significant bit of a 16 bit register.

10. Bits within registers are numbered from 1 not 0 to avoid the confusion that would be caused if the sixteenth bit of a 16 bit register were labelled 15/16.

11. For an integer type register the register contents should be multiplied by the scaling factor to obtain the actual value.

12. For a flag type register (1 bit) the minimum value column indicates the meaning if the flag is 0, the maximum column indicates the meaning if the flag is 1.

13. For an integer type register the minimum and maximum value columns indicate the minimum and maximum values after multiplying by the scaling factor.

14. Any software that reads an integer type register must be able to process and display correctly over the full range specified in the minimum and maximum value columns.

15. 32 bit values are stored with the most significant bits in the register with the lowest address.

16. Where two ASCII characters are stored in a single register the first character is in the most significant bits.

17. The first register of a 32 bit number is always aligned at an even address for the benefit of some 32 bit CPUs.

 

Index of Register Pages

Page number Description Read/write
0 Communications status information Read only
1 Communications configuration Read/write and write only
2 Modem configuration Read/write
3 Generating set status information Read only
4 Basic instrumentation Read only
5 Extended instrumentation Read only
6 Derived Instrumentation Read only
7 Accumulated Instrumentation Read/write
8 Alarm conditions Read only
9 Total Harmonic Distortion information Read only
10 Reserved  
11 Diagnostic - general Read only
12 Diagnostic - digital inputs Read only
13 Diagnostic - digital outputs Read only and read write
14 Diagnostic - LEDs Read only and read write
15 Diagnostic - Reserved  
16 Control registers Read only and write only
17 J1939 active diagnostic trouble codes in decoded format Read only
18 J1939 active diagnostic trouble codes in raw format Read only
19 Reserved  
20 Various strings Read only
24 Identity strings Read/write
26 State machine name strings Read only
28 State machine state strings Read only
29-31 Reserved  

 

 







Последнее изменение этой страницы: 2019-04-01; Просмотров: 203; Нарушение авторского права страницы


lektsia.com 2007 - 2022 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.024 с.) Главная | Обратная связь