Difference between revisions of "Memory Model AIO"

From OpenMotics
Jump to navigation Jump to search
Line 24: Line 24:
  
 
The output data can be found back from page 1 till page 80. These Pages that contains active data depending on Page0/Byte2.
 
The output data can be found back from page 1 till page 80. These Pages that contains active data depending on Page0/Byte2.
 +
 +
Every output Module (that can be configured in normal or Roller/Shutter mode) has its own output page which contains the normal output data and the Roller/Shutter data:
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1||x
 +
|}
 +
 +
: This page is entirely used for output module 0.
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 2||x
 +
|}
 +
 +
: This page is entirely used for output module 1.
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 3||x
 +
|}
 +
 +
: This page is entirely used for output module 2.
 +
 +
...
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 80||x
 +
|}
 +
 +
: This page is entirely used for output module 79.
 +
 +
 +
;Every output page has following structure:
 +
 +
=== Output data ===
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||0-3
 +
|}
 +
 +
:Byte 0: Type device (more information see document “Technical device information”)
 +
:Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
 +
:Byte 2: ID2
 +
:Byte 3: ID3
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||4-6
 +
|}
 +
 +
: Byte 4: Firmware Version F1 (Major)
 +
: Byte 5: Firmware Version F2 (Minor)
 +
: Byte 6: Firmware Version F3 (Built)
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||7-22
 +
|}
 +
 +
: Standard Timer values for an output to be used. Each timer value has a word format and is programmed in 2 bytes (first byte LSB). The function of this word is decibed in the Timer Type Byte..
 +
:Byte 7 (LSB) and 8 (MSB) will specify the timer value for output 0
 +
:Byte 9 (LSB) and 10 (MSB) will specify the timer value for output 1
 +
:...
 +
:Byte 21 (LSB) and 22 (MSB) will specify the timer value for output 7
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||23-30
 +
|}
 +
 +
: Standard Timer values for an output to be used. Each output has a timer type
 +
:Byte 23 Timer type for output 0
 +
:Byte 24 Timer type for output 1
 +
:...
 +
:Byte 30 Timer type for output 7
 +
 +
 +
:When Timer Type=0 or 255 -> Timer not active or not configured
 +
:When Timer Type=1 -> Timer value contains 100ms value in other words, if for example the Timer value (word) = 6004, the timer is set to 600.4 seconds
 +
:When Timer Type=2 -> Timer value contains second value in other words, if for example the Timer value (word) = 6004, the timer is set to 604 seconds
 +
:When Timer Type=3 -> Time value contains switch off time (MSB=Hour, LSB=minute)
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||31-38
 +
|}
 +
 +
:Byte 31: Output type byte output0 (=0: standard output, >0: Light output)
 +
:Byte 32: Output Type byte output1 (=0: standard output, >0: Light output)
 +
:…
 +
:Byte 38: Output Type byte output7 (=0: standard output, >0: Light output)
 +
 +
:Output Type byte will indicate if the indicated output is a light or not. When specific instruction (by using action type 163 for example) to switch off a light will be used, only lights (and not outputs) will be switched off.
 +
 +
=== Up/Down Timer settings of an individual Roller/Shutter ===
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||39-46
 +
|}
 +
 +
:Byte 39: Up Timer for Roller/Shutter 0
 +
:Byte 40: Down Timer for Roller/Shutter 0
 +
:Byte 41: Up Timer for Roller/Shutter 1
 +
:Byte 42: Down Timer for Roller/Shutter 1
 +
 +
:Byte 45: Up Timer for Roller/Shutter 3
 +
:Byte 46: Down Timer for Roller/Shutter 3
 +
 +
Note: This timer setting is in seconds, when 0 the timer is not in use.
 +
 +
=== Roller/Shutter config byte  ===
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||47-50
 +
|}
 +
 +
:Byte 47: config byte for Roller/Shutter0.
 +
:* BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
 +
:* BIT1: Not used yet
 +
:* BIT2: Not used yet
 +
:* BIT3: Not used yet
 +
:* BIT4: Not used yet
 +
:* BIT5: Not used yet
 +
:* BIT6: Not used yet
 +
:* BIT7 (Most significant): Not used yet
 +
 +
:Byte 48: config byte for Roller/Shutter1.
 +
:* BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
 +
:* BIT1: Not used yet
 +
:* BIT2: Not used yet
 +
:* BIT3: Not used yet
 +
:* BIT4: Not used yet
 +
:* BIT5: Not used yet
 +
:* BIT6: Not used yet
 +
:* BIT7 (Most significant): Not used yet
 +
 +
:Byte 49: config byte for Roller/Shutter2.
 +
:* BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
 +
:* BIT1: Not used yet
 +
:* BIT2: Not used yet
 +
:* BIT3: Not used yet
 +
:* BIT4: Not used yet
 +
:* BIT5: Not used yet
 +
:* BIT6: Not used yet
 +
:* BIT7 (Most significant): Not used yet
 +
 +
:Byte 50: config byte for Roller/Shutter3.
 +
:* BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
 +
:* BIT1: Not used yet
 +
:* BIT2: Not used yet
 +
:* BIT3: Not used yet
 +
:* BIT4: Not used yet
 +
:* BIT5: Not used yet
 +
:* BIT6: Not used yet
 +
:* BIT7 (Most significant): Not used yet
 +
 +
=== ascii Names outputs ===
 +
 +
{| class="wikitable sortable" border="1"
 +
| align="center" style="background:#f0f0f0;"|'''Page'''
 +
| align="center" style="background:#f0f0f0;"|'''Byte'''
 +
|-
 +
| 1-80||128-255
 +
|}
 +
 +
:Byte 128 – 143: ascii name of the first output of this module (16 characters)
 +
:Byte 144 – 159: ascii name of the second output of this module (16 characters)
 +
:…
 +
:Byte 240 – 255: ascii name of the last output (16 characters)
 +
 +
== Data input modules ==
 +
;Page 81 – 240 -> Contains data of the input modules (80 modules maximum, 640 inputs -> 0-639)
 +
 +
The input data can be found back from page 81 till page 240, each input module has 2 pages. These Pages that contains active data depending on Page0/Byte3.
  
 
Every output Module (that can be configured in normal or Roller/Shutter mode) has its own output page which contains the normal output data and the Roller/Shutter data:
 
Every output Module (that can be configured in normal or Roller/Shutter mode) has its own output page which contains the normal output data and the Roller/Shutter data:

Revision as of 07:43, 26 December 2017

General Configuration Bytes

Page 0 -> Controller specific data
Page Byte
0 1
Number of output modules: This byte specifies the number of output (output, dim control, shutter/curtain ...) modules known by the Master controller on the RS485 bus. Maximum 80.
Page Byte
0 2
Number of input modules: This byte specifies the number of input (input, temperature, can control ...) modules known by the Master controller on the RS485 bus. Maximum 80.

Data output modules

Page 1 – 80 -> Contains data of the output modules (80 modules maximum, 640 outputs -> 0-639)

The output data can be found back from page 1 till page 80. These Pages that contains active data depending on Page0/Byte2.

Every output Module (that can be configured in normal or Roller/Shutter mode) has its own output page which contains the normal output data and the Roller/Shutter data:

Page Byte
1 x
This page is entirely used for output module 0.
Page Byte
2 x
This page is entirely used for output module 1.
Page Byte
3 x
This page is entirely used for output module 2.

...

Page Byte
80 x
This page is entirely used for output module 79.


Every output page has following structure

Output data

Page Byte
1-80 0-3
Byte 0: Type device (more information see document “Technical device information”)
Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 2: ID2
Byte 3: ID3
Page Byte
1-80 4-6
Byte 4: Firmware Version F1 (Major)
Byte 5: Firmware Version F2 (Minor)
Byte 6: Firmware Version F3 (Built)
Page Byte
1-80 7-22
Standard Timer values for an output to be used. Each timer value has a word format and is programmed in 2 bytes (first byte LSB). The function of this word is decibed in the Timer Type Byte..
Byte 7 (LSB) and 8 (MSB) will specify the timer value for output 0
Byte 9 (LSB) and 10 (MSB) will specify the timer value for output 1
...
Byte 21 (LSB) and 22 (MSB) will specify the timer value for output 7
Page Byte
1-80 23-30
Standard Timer values for an output to be used. Each output has a timer type
Byte 23 Timer type for output 0
Byte 24 Timer type for output 1
...
Byte 30 Timer type for output 7


When Timer Type=0 or 255 -> Timer not active or not configured
When Timer Type=1 -> Timer value contains 100ms value in other words, if for example the Timer value (word) = 6004, the timer is set to 600.4 seconds
When Timer Type=2 -> Timer value contains second value in other words, if for example the Timer value (word) = 6004, the timer is set to 604 seconds
When Timer Type=3 -> Time value contains switch off time (MSB=Hour, LSB=minute)
Page Byte
1-80 31-38
Byte 31: Output type byte output0 (=0: standard output, >0: Light output)
Byte 32: Output Type byte output1 (=0: standard output, >0: Light output)
Byte 38: Output Type byte output7 (=0: standard output, >0: Light output)
Output Type byte will indicate if the indicated output is a light or not. When specific instruction (by using action type 163 for example) to switch off a light will be used, only lights (and not outputs) will be switched off.

Up/Down Timer settings of an individual Roller/Shutter

Page Byte
1-80 39-46
Byte 39: Up Timer for Roller/Shutter 0
Byte 40: Down Timer for Roller/Shutter 0
Byte 41: Up Timer for Roller/Shutter 1
Byte 42: Down Timer for Roller/Shutter 1

Byte 45: Up Timer for Roller/Shutter 3
Byte 46: Down Timer for Roller/Shutter 3

Note: This timer setting is in seconds, when 0 the timer is not in use.

Roller/Shutter config byte

Page Byte
1-80 47-50
Byte 47: config byte for Roller/Shutter0.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 48: config byte for Roller/Shutter1.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 49: config byte for Roller/Shutter2.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 50: config byte for Roller/Shutter3.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet

ascii Names outputs

Page Byte
1-80 128-255
Byte 128 – 143: ascii name of the first output of this module (16 characters)
Byte 144 – 159: ascii name of the second output of this module (16 characters)
Byte 240 – 255: ascii name of the last output (16 characters)

Data input modules

Page 81 – 240 -> Contains data of the input modules (80 modules maximum, 640 inputs -> 0-639)

The input data can be found back from page 81 till page 240, each input module has 2 pages. These Pages that contains active data depending on Page0/Byte3.

Every output Module (that can be configured in normal or Roller/Shutter mode) has its own output page which contains the normal output data and the Roller/Shutter data:

Page Byte
1 x
This page is entirely used for output module 0.
Page Byte
2 x
This page is entirely used for output module 1.
Page Byte
3 x
This page is entirely used for output module 2.

...

Page Byte
80 x
This page is entirely used for output module 79.


Every output page has following structure

Output data

Page Byte
1-80 0-3
Byte 0: Type device (more information see document “Technical device information”)
Byte 1: ID1 (ID1, 2, 3 gives the unique ID of the device)
Byte 2: ID2
Byte 3: ID3
Page Byte
1-80 4-6
Byte 4: Firmware Version F1 (Major)
Byte 5: Firmware Version F2 (Minor)
Byte 6: Firmware Version F3 (Built)
Page Byte
1-80 7-22
Standard Timer values for an output to be used. Each timer value has a word format and is programmed in 2 bytes (first byte LSB). The function of this word is decibed in the Timer Type Byte..
Byte 7 (LSB) and 8 (MSB) will specify the timer value for output 0
Byte 9 (LSB) and 10 (MSB) will specify the timer value for output 1
...
Byte 21 (LSB) and 22 (MSB) will specify the timer value for output 7
Page Byte
1-80 23-30
Standard Timer values for an output to be used. Each output has a timer type
Byte 23 Timer type for output 0
Byte 24 Timer type for output 1
...
Byte 30 Timer type for output 7


When Timer Type=0 or 255 -> Timer not active or not configured
When Timer Type=1 -> Timer value contains 100ms value in other words, if for example the Timer value (word) = 6004, the timer is set to 600.4 seconds
When Timer Type=2 -> Timer value contains second value in other words, if for example the Timer value (word) = 6004, the timer is set to 604 seconds
When Timer Type=3 -> Time value contains switch off time (MSB=Hour, LSB=minute)
Page Byte
1-80 31-38
Byte 31: Output type byte output0 (=0: standard output, >0: Light output)
Byte 32: Output Type byte output1 (=0: standard output, >0: Light output)
Byte 38: Output Type byte output7 (=0: standard output, >0: Light output)
Output Type byte will indicate if the indicated output is a light or not. When specific instruction (by using action type 163 for example) to switch off a light will be used, only lights (and not outputs) will be switched off.

Up/Down Timer settings of an individual Roller/Shutter

Page Byte
1-80 39-46
Byte 39: Up Timer for Roller/Shutter 0
Byte 40: Down Timer for Roller/Shutter 0
Byte 41: Up Timer for Roller/Shutter 1
Byte 42: Down Timer for Roller/Shutter 1

Byte 45: Up Timer for Roller/Shutter 3
Byte 46: Down Timer for Roller/Shutter 3

Note: This timer setting is in seconds, when 0 the timer is not in use.

Roller/Shutter config byte

Page Byte
1-80 47-50
Byte 47: config byte for Roller/Shutter0.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 48: config byte for Roller/Shutter1.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 49: config byte for Roller/Shutter2.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet
Byte 50: config byte for Roller/Shutter3.
  • BIT0 (Least significant): UP/DOWN config BIT: If BIT0=1 then the first output of the 2 outputs will be the UP direction (and the other output will be the DOWN direction), if BIT0=0 then the second output will be the UP direction
  • BIT1: Not used yet
  • BIT2: Not used yet
  • BIT3: Not used yet
  • BIT4: Not used yet
  • BIT5: Not used yet
  • BIT6: Not used yet
  • BIT7 (Most significant): Not used yet

ascii Names outputs

Page Byte
1-80 128-255
Byte 128 – 143: ascii name of the first output of this module (16 characters)
Byte 144 – 159: ascii name of the second output of this module (16 characters)
Byte 240 – 255: ascii name of the last output (16 characters)