Motor control SMI RS-485 for top-hat rail
for control of 16 SMI motors 24 VDC.
Art.-no.: 01092124
IF SMI RS-485 230 VAC-DIN Art.-no.: 01092714
Motor control SMI RS-485 for top-hat rail
for control of 16 SMI motors 230 VAC.
Installation and Operating Instructions
1. What is SMI?
SMI is the abbreviation for Standard Motor Interface. SMI has been developed for the connection of intelligent drives for roller shutters and
sun protection systems. SMI enables to transmit telegrams from control
system to the drive and vice versa. With SMI it is possible to combine
products from different sources together. The SMI Interface should spread
high value solutions and promote drives and controls on the market. The
applications in roller shutters and sun protection systems require extreme
robustness and economic efficiency. SMI has been developed to meet
these requirements.
2. Safety precautions
– Contact a professional electrician for installation.
Ä
– Check the control system for signs of mechanical damage after
unpacking. If you notice any shipping damage, do not start up
the control system and notify your supplier imme di ately.
– The control system should only be used for the purpose speci-
– If the control unit cannot be operated without presenting a
– Turn off the power supply and prevent it from being switched
Article
Supply voltage:230 VAC
Impulse voltage withstand level: kV2.5
Rated power:W2 W
Operating temperature:°C0 °C (32 °F) to +40 °C (104 °F)
IP class:IP20
Degree of contamination:2
Dimensions (H × W × D):mm90 × 52 × 60 (3 HP)
Conformity:
fied by the manufacturer (refer to the operating instructions).
Any changes or modifications thereof are not permissible and
will result in loss of all warranty claims.
hazard, it must be switched off and prevented from being
switched on unintentionally.
on unintentionally before performing work on any windows,
control or sunshades driven by the control system.
The IF SMI RS-485 can be used for SMI (230VAC) or SMI LoVo applications.
Important: It is not allowed to use a combination of SMI (230VAC) and
SMI LoVo on the same SMI BUS.
4.1 Overview IF SMI RS-485
4.2 Termination RS-485 BUS (Optional)
If you experience problems, please read this section.
The device usually has sufficient base termination. In exceptional cases
(e.g. with long or untwisted lines) we recommend to use a terminating
resistor of 120 Ω at both ends of the bus line.
This is to be installed between terminals A and B of the RS-485 signal line.
A terminating resistor is simply a resistor placed at the extreme end or
ends of a cable. The value of the terminating resistor is ideally the same
value as the characteristic impedance of the cable.
As a general rule moreover, termination resistors should be placed at both
far ends of the cable. Although properly terminating both ends is absolute ly critical for most system designs, it can be argued that in one special
case only one termination resistor is needed. This case occurs in a system
when there is a single transmitter and that single transmitter is located at
the far end of the cable. In this case there is no need to place a termination
resistor at the end of the cable with the transmitter, because the signal is
intended to always travel away from this end of the cable.
There is a Terminating resistor with a value of 120B
delivered by every IF SMI RS-485 module. If the Terminating resistor is recommended than he must be
placed between the A and B from the connector on
the PCB.
The IF SMI RS-485 module is an intelligent module that translates RS-485
commands to SMI commands.
4.1.1 RS-485 User interface
MODE button
– Short press Show current base address for 5 sec.
– Long press Modify current base address
– Double press Show error log
UP/DOWN button
– In main menu Steer all attached SMI motors UP/DOWN.
– In address menu Increase/Decrease base address
– Error log menu Show next/previous error
4.1.2 RS-485 BUS
The communication BUS between Host controller and IF SMI RS-485 module is RS-485. The following configuration is used:
Baud rate: 19200 Data bits: 8 Stop bits: 1 Parity: None Signal: -7V to +10V Common-Mode Input Voltage Range Maximum allowed pause Byte-to-Byte: 5 milliseconds
4.1.3 Power supply
The IF SMI RS-485 module needs the following power supply signals:
L, N (230VAC/50Hz)
4.1.4 SMI BUS
The SMI bus exists out of the following signals:
I+ (SMI BUS) I
-
(SMI BUS)
5. Menu navigation
5.1 Power-up
During power-up, the firmware version is shown in 3 stages:
Step 1
Display shows “F-“ for 2 sec as indication that firmware version follows.
Step 2
Display shows firmware version (major.minor) for
3 seconds.
Step 3
Display shows firmware revision for 2 seconds.
4.1.5 Master Up/Down button
The IF SMI RS-485 has an master UP/DOWN button, to operate all
connected SMI motors at simultaneously.
4.1.6 Base Address
The IF SMI RS-485 is selected by its base address. Each IF SMI RS-485
module connected to a shared RS-485 BUS must have an unique base
address. A maximum of 16 IF SMI RS-485 modules can be connected to
the same RS-485 BUS, which makes it possible to control 16 x 16 = 256
SMI motors.
2/10
G
5.2 Main menu
The main menu is the default menu that is being shown when no other
user actions take place. The main menu shows:
A counter – counting the number of correctly received RS-485 frames
from 0 up to 99 and then starts at 0 again.
A blinking dot in the right bottom corner with a blink-frequency of 1 Hz
When the UP or DOWN buttons in the main menu are pressed, all attached
SMI motors will move UP or DOWN (depends on the pressed button) as
long as the button is pressed. This feature is useful during commissioning
to check:
– if the SMI communication is working
– if all attached motors are running in the correct direction
– if the limit positions are set correctly
Display shows the following as a visual feedback:
UP button
pressed
5.4 Address menu
The current RS-485 base address is shown when the MODE button is
pressed shortly (< 5 sec).
As long as the MODE button is pressed shortly,
“Ad” is shown on the display.
DOWN button
pressed
Error code description:
E0 = no error
E1 = RS-485 framing error
E2 = RS-485 timing error
E3 = RS-485 data overflow error
E4 = RS-485 CRC error
E5 = RS-485 command error (not supported or invalid length)
E6 = RS-485 busy (not able to process new command)
E7 = SMI format error
E8 = SMI checksum error
E9 = SMI timing error
EA = SMI data overflow
EB = SMI echo error
EC = SMI queue full error
The error message is shown for 5 seconds. Pressing any buton returns to
main menu directly.
5.7 Error log menu
The error log keeps track of the 5 last occurred errors, and can be shown
be pressing the MODE button twice within 1 second.
The text “Er” is briefly visible to indicate that the error
log is shown.
When the MODE button is released, the current
RS-485 base address is shown for 5 sec.
To directly return to the main menu, the MODE button must be pressed
again.
5.5 Modify base address
The current RS-485 base address can be modified be pressing the
MODE button for more than 5 seconds (after 5 seconds the text “Ad” starts
blinking).
After the MODE button is released, the current RS-485 base address is
shown blinking.
– Pressing UP will increase the RS-485 base address.
– Pressing DOWN will decrease the RS-485 base address.
– Pressing MODE button – or wait for 5 seconds – will store the RS-485
base address and return to main menu.
The RS-485 base address can be modified from 0 to 15.
When pressing the DOWN button while base address is already 0, the following is shown to indicate
that the base address cannot be further decreased.
When pressing the UP button while the base address
is already 15, the following is shown to indicate that
the base address cannot be further increased.
5.6 Show error
Next, the last occurred error is shown blinking.
– By pressing the UP button, the previous occurred error will be shown.
– By pressing the DOWN button, the next occurred error will be shown.
When pressing DOWN button while first error in log
is currently being shown..
When pressing UP button while last error in log is
currently shown.
By briefly pressing MODE button – or waiting for a few seconds – you will
return back to main menu.
5.8 Soft RESET
The IF SMI RS-485 can be restarted (soft-reset) without interruption of the
power supply by pressing the MODE button for 10 seconds.
After 10 seconds pressing the MODE button, the soft-reset will be entered,
and display will briefly show the following:
When an error occurs,
this will be shown directly.
This chapter describes the communication protocol between the IF SMI RS-485 module
and Host controller.
IF SMI RS-485 DIN
6.1 Message structure
[SID] [LEN] [CMD] [DATA] [CRC16]
SID Slave ID
LEN Message length (without CRC)
CMD Command byte
DATA Optional data bytes
CRC16 16 bits checksum (LSB first)
The IF SMI RS-485 module has 4
DIP switches, which represents the base
address of the module from 0 to 15 (decimal)
or 0 to F (hexadecimal). The base address
is part of the Slave ID:
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT.
The position of each sun blind can be obtained by the detailed response
message MSG_GETDETSTAT. The IF SMI RS-485 module responds to
this request with a general status message MSG_GETGENSTAT.
The position of each sun blind can be obtained by the detailed response
message MSG_GETDETSTAT.
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
[NSTEP]: Number of steps (1..255) in UP direction. 1 step is defined as
2° rotation of the output shaft of the SMI motor.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT.
The position of each sun blind can be obtained by the detailed response
message MSG_GETDETSTAT.
6.3.5 MSG_STEP_DOWN
This message is used to relatively move all, or a set of sun blind, in DOWN
direction.
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
[NSTEP]: Number of steps (1..255) in DOWN direction. 1 step is defined
as 2° rotation of the output shaft of the SMI motor.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT.
The position of each sun blind can be obtained by the detailed response
message MSG_GETDETSTAT.
6.3.6 MSG_SET_POS
This message is used to move all, or a set of sun blind, to an absolute
position.
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
[POS0]: LSB of 16-bit absolute position.
[POS1]: MSB of 16-bit absolute position.
The absolute position value is defined as below:
0x0000 is the top position (0%).
0x8000 is the middle position (50%).
0xFFFF is the bottom position (100%).
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT.
The position of each sun blind can be obtained by the detailed response
message MSG_GETDETSTAT.
6.3.7 MSG_SET_TILT
This message is used to move all, or a set of venetian blinds, in a absolute
tilt orientation.
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
[TILT]: Absolute tilt orientation (0..255).
Absolute tilt orientation is defined as follow:
127 (0x7F) slats completely closed in down direction
0 (0x00) slats completely open (horizontal)
-128 (0x80) slats completely closed in up direction
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT.
The position of each sun blind can be obtained by the detailed response
message MSG_GETDETSTAT.
REMARK: The MSG_SET_TILT message uses a manufacturer specific
SMI command, which is currently only supported by Vestamatic SMI motors.
6.3.8 MSG_SET_POS_STEP_UP
This message is used to move all, or a set of venetian blinds, to an absolute
position combined with an relative up command.
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
[POS0]: LSB of 16-bit absolute position.
[POS1]: MSB of 16-bit absolute position.
[NSTEP]: Number of steps (1..255) in UP direction. 1 step is defined as
2º rotation of the output shaft of the SMI motor.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT. The position of each sun blind can be
obtained by the detailed response message MSG_GETDETSTAT.
6.3.9 MSG_SET_POS_STEP_DOWN
This message is used to move all, or a set of venetian blinds, to an absolute
position combined with an relative down command.
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
[POS0]: LSB of 16-bit absolute position.
[POS1]: MSB of 16-bit absolute position.
[NSTEP]: Number of steps (1..255) in DOWN direction. 1 step is defined
as 2º rotation of the output shaft of the SMI motor.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT. The position of each sun blind can be
obtained by the detailed response message MSG_GETDETSTAT.
6.3.10 MSG_GOTO_POS 1
This message is used to move all, or a set of venetian blinds, to intermediate position 1.
Message: [SID] / [LEN] / [CMND] / [MSK0] / [MSK1] / [CRC16]
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT. The position of each sun blind can be
obtained by the detailed response message MSG_GETDETSTAT.
6.3.11 MSG_GOTO_POS 2
This message is used to move all, or a set of venetian blinds, to intermediate position 2.
Message: [SID] / [LEN] / [CMND] / [MSK0] / [MSK1] / [CRC16]
[MSK0]: LSB of 16-bit mask to select motor address 0..7.
[MSK1]: MSB of 16-bit mask to select motor address 8..16.
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT. The position of each sun blind can be
obtained by the detailed response message MSG_GETDETSTAT.
6.3.12 MSG_GETMANID
This message is used to request the manufacturer ID of a specific motor.
Message: [SID] / [LEN] / [CMND] / [SMIID] / [CRC16]
[SMIID]: SMI address of motor (0..15).
[OPTIONS]: Gateway options:
bit 0: RS485 error feedback enabled flag
bit 1: Cycle logging in EEPROM enabled flag
bit 2-3: –
bit 4: RS485 error feedback flag state after power-up
bit 5: Cycle logging enabled flag state after power-up
bit 6-7: –
Response:[SID] / [LEN] / [CMND] / [OPTIONS] / [CRC16]
[OPTIONS]: Stored gateway options. See gateway options layout as
described above.
REMARK:Cycle logging is by default disabled, meaning that the
gateway does not keep track of the number of motor
cycles performed by each SMI motor.
For RS485 error feedback, see chapter 6.3.15 MSG_ERROR.
6.3.15 MSG_ERROR
This message is used to request the error log or used as a feedback message to host, when an error occurred during RS485 communication.
[ERR0..4]: Contents of error log, where [ERR0] is the most recent error
and [ERR4] is the oldest error in the log.
Error code description:
0x00 = no error
0x01 = RS485 framing error
0x02 = RS485 timing error
0x03 = RS485 data overflow error
0x04 = RS485 CRC error
0x05 = RS485 command error
(not supported or invalid length)
0x06 = RS485 busy (not able to process new command)
0x07 = SMI format error
0x08 = SMI checksum error
0x09 = SMI timing error
0x0A = SMI data overflow
0x0B = SMI echo error
0x0C = SMI queue full error
Error feedback
When during RS485 communication an error is detected by the gateway
and “RS485 error feedback” is enabled (see chapter 6.3.14 Set gateway
options), an error response is send to host.
[HARD]: An alphanumeric char to identify the hardware platform.
[VMAJ]: The major software version number (from 0 to 255).
[VMIN]: The minor software version number (from 0 to 255).
[REV]: An alphabetic char to identify the internal revision letter
(from A to V), X is reserved for specific test software version.
6.4.2 MSG_AUTO_ADDR
This message is used to start the SMI auto address procedure. Motor address conflicts will be solved and every motor becomes an unique address
(0..15). This procedure can take up to 60 seconds to solve all the address
conflicts.
Message: [SID] / [LEN] / [CMND] / [CRC16]
The IF SMI RS-485 module responds to this request with a general status
message MSG_GETGENSTAT.
6.4.3 MSG_GET_SER
This message is used to return the serial number and the SMI ID of a
specific sun blind.
[SMIID]: SMI address of motor (0..15)
[VAL0..n]: Parameter value (1, 2 or 4 bytes in size)
6.4.6 MSG_GET_POS 1
This message is used to get (read) the stored intermediate position 1.
Message: [SID] / [LEN] / [CMND] / [SMIID] / [CRC16]
[SMIID]: SMI address of motor (0..15)
Response: [SID] / [LEN] / [CMND] / [SMIID] / [POS0] / [POS1] / [CRC16]
[SMIID]: SMI address of motor (0..15).
When high-nibble of SMI address is 0xF0, an error occurred
during GET_POS1.
[POS0]: LSB of 16-bit intermediate position 1.
[POS1]: MSB of 16-bit intermediate position 1.
The intermediate position value is defined as below:
0x0000 is the top position (0%).
0x8000 is the middle position (50%).
0xFFFF is the bottom position (100%).
6.4.7 MSG_SET_POS 1
This message is used to set (write) intermediate position 1.
Message: [SID] / [LEN] / [CMND] / [SMIID] / [POS0] / [POS1] / [CRC16]
[SMIID]: SMI address of motor (0..15)
[POS0]: LSB of 16-bit intermediate position 1.
[POS1]: MSB of 16-bit intermediate position 1.
Response: [SID] / [LEN] / [CMND] / [SMIID] / [POS0] / [POS1] / [CRC16]
[SMIID]: SMI address of motor (0..15).
When high-nibble of SMI address is 0xF0, an error occurred
during SET_POS1.
[POS0]: LSB of 16-bit intermediate position 1.
[POS1]: MSB of 16-bit intermediate position 1.
6.4.8 MSG_GET_POS 2
This message is used to get (read) the stored intermediate position 2.
Message: [SID] / [LEN] / [CMND] / [SMIID] / [CRC16]
[SMIID]: SMI address of motor (0..15)
Response: [SID] / [LEN] / [CMND] / [SMIID] / [POS0] / [POS1] / [CRC16]
[SMIID]: SMI address of motor (0..15). When high-nibble of SMI address
is 0xF0, an error occurred during GET_POS2.
[POS0]: LSB of 16-bit intermediate position 2.
[POS1]: MSB of 16-bit intermediate position 2.
The intermediate position value is defined as below:
0x0000 is the top position (0%).
0x8000 is the middle position (50%).
0xFFFF is the bottom position (100%).
6.4.9 MSG_SET_POS 2
This message is used to set (write) intermediate position 2.
Message: [SID] / [LEN] / [CMND] / [SMIID] / [POS0] / [POS1] /
[CRC16]
[SMIID]: SMI address of motor (0..15)
[POS0]: LSB of 16-bit intermediate position 2.
[POS1]: MSB of 16-bit intermediate position 2.
In the “Communication” section, select the RS-485 communication port
of your PC, that is connected to the IF SMI RS-485 module. Also set the
RS-485 base address. This must correspond with the DIP switch settings
on the IF SMI RS-485 module. Press the “Open” button to open the communication channel.
7.2 General commands
On the “General” tab-sheet, you will find commands that don’t have additional parameters.
VERSION: Get software version of IF SMI RS-485 module.
GETGENSTAT: Get general status (motor present / motor ready).
AUTO_ADDR: Start the auto-address sequence, in case of address
On the “Motor Mask” tab-sheet, you will find the “motor mask” based
commands. With the checkboxes 15 to 0 you can select which motor(s)
you want to address, or simply select “All”, to address all motors. Next,
press a command button, like “UP”, “DOWN”, “STOP”, “STEP_UP”,
“STEP_DOWN”, “SET_POS”, “SET_TILT”, “SET_POS_STEP_UP”,
“SET_POS_STEP_DOWN”, “GOTO_POS1” or “GOTO_POS2”.
REMARK: Some commands need additional parameters. See section
“6. Protocol” for detailed information.
7.4 Motor ID based commands
On the “Motor ID” tab-sheet, you will find the “Motor ID” based commands. The motor you want to address, can be selected with the spin edit
box (in the dark gray part, behind Motor ID). Motor ID can be set from “0” to
“15”. Next, press a command button, like “GET_SERIAL”, “GET_PARAM”,
“SET_SMI_ID”, “GET_POS1”, “SET_POS1”, “GET_POS2”, “SET_POS2”
or “GETDETSTAT”.
REMARK: Some commands need additional parameters. See section
“6. Protocol” for detailed information.
7.5 Send / Receive
In the “Send/Receive” section, you can monitor the communication between PC and
IF SMI RS-485 module. You will see the Transmit and Receive data stream.