Difference between revisions of "AI8.1"

From IPLOG
Jump to: navigation, search
 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
METEL IO modules have implemented the MODBUS function (0x17) Read/Write of Multiple registers. Typically it is required to have two separate requests (and responses) for:
 
METEL IO modules have implemented the MODBUS function (0x17) Read/Write of Multiple registers. Typically it is required to have two separate requests (and responses) for:
  
'''1.''' Writing of outputs via MODBUS function (0x16) Writing Multiple Registers
+
1. Writing of outputs via MODBUS function (0x16) Writing Multiple Registers
 +
 
 +
2. Reading of inputs via MODBUS function (0x03) Read Holding Registers
  
'''2.''' Reading of inputs via MODBUS function (0x03) Read Holding Registers
 
  
 
This requires a total of 4 frames to be sent over MODBUS. If using 0x17 function only one request is needed for the reading and writing of outputs. This requires a total of 2 frames to be sent over MODBUS.
 
This requires a total of 4 frames to be sent over MODBUS. If using 0x17 function only one request is needed for the reading and writing of outputs. This requires a total of 2 frames to be sent over MODBUS.
Line 17: Line 18:
 
Data bits: 8 <br />
 
Data bits: 8 <br />
 
Stop bits: 1 <br />
 
Stop bits: 1 <br />
 +
 +
<!-- MODBUS "Device Identification" registers table -->
 +
{| class="wikitable"
 +
|-
 +
|- style="font-size: 17px;"
 +
! colspan="2" | Subject !! style="width: 30px;" | Type !! style="width: 30px;" | R/W !! style="width: 230px;" | Value !! style="width: 60px;" | Offset
 +
|-
 +
| rowspan="12" style="width: 90px;" | <span style="font-size: 17px;"> '''Device <br /> Identity''' </span>
 +
|| Product Type || u8[3] || R || || 1002-04
 +
|-
 +
| style="width: 244px;" | Serial Number || u32 || R || || 1005-06
 +
|-
 +
| PCB Version || u32 || R || || 1007-08
 +
|-
 +
| PCB Revision || u16 || R || || 1009
 +
|-
 +
| FW Version Major || u16 || R || || 1010
 +
|-
 +
| FW Version Minor || u16 || R || || 1011
 +
|-
 +
| FW Version - Revision || u32 || R || || 1012-13
 +
|-
 +
| IF#01 Slot State || u16 || R || 0 = N/A <br /> 1 = IF#01 not Inserted <br /> 2 = IF#01 Inserted, CRC error <br /> 3 = IF#01 Inserted, CRC OK || 1021
 +
|-
 +
| IF#01 Product Type || u8[3] || R || || 1022-24
 +
|-
 +
| IF#01 Serial Number || u32 || R || || 1025-26
 +
|-
 +
| IF#01 PCB Version || u32 || R || || 1027-28
 +
|-
 +
| IF#01 PCB Revision || u16 || R || || 1029
 +
|-
 +
| rowspan="3" style="width: 90px;" | <span style="font-size: 17px;"> '''Device <br /> Control''' </span> || Reset || u16 || RW || 55203 = To Reboot || 1201
 +
|-
 +
| Bootloader / Application || u16 || R || 0x00A – Application, <br /> 0x00B – Bootloader || 1203
 +
|-
 +
| Restart to Bootloader || u16 || RW || 617 = To Bootloader <br /> else = deactivate <br /> bootloader || 1204
 +
|-
 +
| rowspan="2" style="width: 90px;" | <span style="font-size: 17px;"> '''Device <br /> Status''' </span> || Board Power Voltage || u16 || R || 105 = 10,5V || 1311
 +
|-
 +
| Board Temperature || u16 || R || -200 = -20,0°C <br /> 250 = 25,0°C || 1321
 +
|}
  
 
<!-- MODBUS "Measured Voltage Values" registers table -->
 
<!-- MODBUS "Measured Voltage Values" registers table -->
Line 175: Line 218:
 
|-
 
|-
 
| Analog Input 8 || AI#16 || s16 || RW || 5118
 
| Analog Input 8 || AI#16 || s16 || RW || 5118
|}
 
 
<!-- MODBUS "Device Identification" registers table -->
 
{| class="wikitable"
 
|-
 
|- style="font-size: 17px;"
 
! colspan="2" | Subject !! style="width: 30px;" | Type !! style="width: 30px;" | R/W !! style="width: 230px;" | Value !! style="width: 60px;" | Offset
 
|-
 
| rowspan="12" style="width: 118px;" | <span style="font-size: 17px;"> '''Device <br /> Identity''' </span>
 
|| Product Type || u8[3] || R || || 1002-04
 
|-
 
| style="width: 215px;" | Serial Number || u32 || R || || 1005-06
 
|-
 
| PCB Version || u32 || R || || 1007-08
 
|-
 
| PCB Revision || u16 || R || || 1009
 
|-
 
| FW Version Major || u16 || R || || 1010
 
|-
 
| FW Version Minor || u16 || R || || 1011
 
|-
 
| FW Version - Revision || u32 || R || || 1012-13
 
|-
 
| IF#01 Slot State || u16 || R || 0 = N/A <br /> 1 = IF#01 not Inserted <br /> 2 = IF#01 Inserted, CRC error <br /> 3 = IF#01 Inserted, CRC OK || 1021
 
|-
 
| IF#01 Product Type || u8[3] || R || || 1022-24
 
|-
 
| IF#01 Serial Number || u32 || R || || 1025-26
 
|-
 
| IF#01 PCB Version || u32 || R || || 1027-28
 
|-
 
| IF#01 PCB Revision || u16 || R || || 1029
 
|-
 
| rowspan="3" style="width: 90px;" | <span style="font-size: 17px;"> '''Device <br /> Control''' </span> || Reset || u16 || RW || 55203 = To Reboot || 1201
 
|-
 
| Bootloader / Application || u16 || R || 0x00A – Application, <br /> 0x00B – Bootloader || 1203
 
|-
 
| Restart to Bootloader || u16 || RW || 617 = To Bootloader <br /> else = deactivate <br /> bootloader || 1204
 
|-
 
| rowspan="2" style="width: 90px;" | <span style="font-size: 17px;"> '''Device <br /> Status''' </span> || Board Power Voltage || u16 || R || 105 = 10,5V || 1311
 
|-
 
| Board Temperature || u16 || R || -200 = -20,0°C <br /> 250 = 25,0°C || 1321
 
 
|}
 
|}
  

Latest revision as of 11:33, 20 February 2020

Modbus Registers

Below is a list of available MODBUS registers. The same register numbers are also used by the MIOS-2 protocol.

Modbus Read / Write (0x17) Function

METEL IO modules have implemented the MODBUS function (0x17) Read/Write of Multiple registers. Typically it is required to have two separate requests (and responses) for:

1. Writing of outputs via MODBUS function (0x16) Writing Multiple Registers

2. Reading of inputs via MODBUS function (0x03) Read Holding Registers


This requires a total of 4 frames to be sent over MODBUS. If using 0x17 function only one request is needed for the reading and writing of outputs. This requires a total of 2 frames to be sent over MODBUS.

Default Settings of Communication

Device ID: 1
Baudrate: 115 200
Parity: None
Data bits: 8
Stop bits: 1

Subject Type R/W Value Offset
Device
Identity
Product Type u8[3] R 1002-04
Serial Number u32 R 1005-06
PCB Version u32 R 1007-08
PCB Revision u16 R 1009
FW Version Major u16 R 1010
FW Version Minor u16 R 1011
FW Version - Revision u32 R 1012-13
IF#01 Slot State u16 R 0 = N/A
1 = IF#01 not Inserted
2 = IF#01 Inserted, CRC error
3 = IF#01 Inserted, CRC OK
1021
IF#01 Product Type u8[3] R 1022-24
IF#01 Serial Number u32 R 1025-26
IF#01 PCB Version u32 R 1027-28
IF#01 PCB Revision u16 R 1029
Device
Control
Reset u16 RW 55203 = To Reboot 1201
Bootloader / Application u16 R 0x00A – Application,
0x00B – Bootloader
1203
Restart to Bootloader u16 RW 617 = To Bootloader
else = deactivate
bootloader
1204
Device
Status
Board Power Voltage u16 R 105 = 10,5V 1311
Board Temperature u16 R -200 = -20,0°C
250 = 25,0°C
1321
Subject Channel Type R/W Value Offset
Measured
Voltage
Values
Analog Input 1 AI#01 s16 R 1000 = 1 V
0 = 0 V
-1000 = -1 V
32767 = upper range limit exceeded
-32767 = lower range limit exceeded
5001
Analog Input 2 AI#02 s16 R 5002
Analog Input 3 AI#03 s16 R 5003
Analog Input 4 AI#04 s16 R 5004
Analog Input 5 AI#05 s16 R 5005
Analog Input 6 AI#06 s16 R 5006
Analog Input 7 AI#07 s16 R 5007
Analog Input 8 AI#08 s16 R 5008
Subject Channel Type R/W Value Offset
Measured
Current
Values
Analog Input 1 AI#11 s16 R 1000 = 1 V
0 = 0 V
-1000 = -1 V
32767 = upper range limit exceeded
-32767 = lower range limit exceeded
5011
Analog Input 2 AI#12 s16 R 5012
Analog Input 3 AI#13 s16 R 5013
Analog Input 4 AI#14 s16 R 5014
Analog Input 5 AI#15 s16 R 5015
Analog Input 6 AI#16 s16 R 5016
Analog Input 7 AI#17 s16 R 5017
Analog Input 8 AI#18 s16 R 5018
Subject Channel Type R/W Value Offset
Setting
Input
Ranges
Analog Input 1 AI#21 u16 RW 1 = ±10 V / ±30 mA
2 = ±5 V / ±20 mA
3 = ±2.5 V / ±10 mA

(1) - Default

5121
Analog Input 2 AI#22 u16 RW 5122
Analog Input 3 AI#23 u16 RW 5123
Analog Input 4 AI#24 u16 RW 5124
Analog Input 5 AI#25 u16 RW 5125
Analog Input 6 AI#26 u16 RW 5126
Analog Input 7 AI#27 u16 RW 5127
Analog Input 8 AI#28 u16 RW 5128
Subject Channel Type R/W Value Offset
States of
Relay
Outputs
COIL Relay 1 DI#01 bit R 0 = inactive
1 = active
3001
COIL Relay 2 DI#02 bit R 3002
COIL Relay 3 DI#03 bit R 3003
COIL Relay 4 DI#04 bit R 3004
Inputs DI#16 - DI#01 u16 R 0x0000 - 0x000F 3001
Subject Channel Type R/W Value Offset
Relay
Outputs
Relay Output 1 DO#01 bit RW 0 = inactive
1 = active
4001
Relay Output 2 DO#02 bit RW 4002
Relay Output 3 DO#03 bit RW 4003
Relay Output 4 DO#04 bit RW 4004
Outputs DO#16 - DO#01 u16 RW 0x0000 - 0x000F 4001
Subject Channel Type R/W Value Offset
Voltage
Correction
Analog Input 1 AI#01 s16 RW 1000 = 1 V
0 = 0 V
-1000 = -1
5101
Analog Input 2 AI#02 s16 RW 5102
Analog Input 3 AI#03 s16 RW 5103
Analog Input 4 AI#04 s16 RW 5104
Analog Input 5 AI#05 s16 RW 5105
Analog Input 6 AI#06 s16 RW 5106
Analog Input 7 AI#07 s16 RW 5107
Analog Input 8 AI#08 s16 RW 5108
Subject Channel Type R/W Value Offset
Current
Correction
Analog Input 1 AI#11 s16 RW 1000 = 1 V
0 = 0 V
-1000 = -1
5111
Analog Input 2 AI#02 s16 RW 5112
Analog Input 3 AI#12 s16 RW 5113
Analog Input 4 AI#12 s16 RW 5114
Analog Input 5 AI#13 s16 RW 5115
Analog Input 6 AI#14 s16 RW 5116
Analog Input 7 AI#15 s16 RW 5117
Analog Input 8 AI#16 s16 RW 5118

Note: To activate the bootloader, it is necessary to write a value 617 into the registry with an offset 1204 and restart the device.