Описание интерфейса AMX-SCS

Автор работы: Пользователь скрыл имя, 25 Марта 2015 в 21:36, контрольная работа

Описание работы

В данном техническом руководстве содержится описание интерфейса между AMX Netlinx и сетью
SCS (MyHome – BTicino) с использованием шлюза AMX-SCS и модуля BT_TO_AMX,
разработанного компанией RealDom.
АМХ модуль подсоединяется к сети SCS с использованием интерфейса AMX-SCS по 232 порту
через стандартный интерфейсный кабель BTICINO артикула L4686 , имеющего следующие

Содержание работы

История изменений.......................................................................................................................................3
Введение.........................................................................................................................................................4
Общее описание ............................................................................................................................................4
Использование...............................................................................................................................................5
Интерфейс управления сетью SCS.............................................................................................................7
Информация о состоянии сети SCS...........................................................................................................9
Сообщения об ошибках .............................................................................................................................10
Конфигурация сети SCS.............................................................................................................................10
Замечания по программированию............................................................................................................11
Особенности реализации протокола....................

Файлы: 1 файл

amx_bticino_myhome.pdf

— 241.82 Кб (Скачать файл)
Page 1
Описание интерфейса AMX-SCS (Realdom)
между сетью SCS (MyHome-Bticino) и
NetLinx Module (AMX)

Page 2

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
2
Содержание
История изменений.......................................................................................................................................3
Введение.........................................................................................................................................................4
Общее описание ............................................................................................................................................4
Использование...............................................................................................................................................5
Интерфейс управления сетью SCS.............................................................................................................7
Информация о состоянии сети SCS...........................................................................................................9
Сообщения об ошибках .............................................................................................................................10
Конфигурация сети SCS.............................................................................................................................10
Замечания по программированию............................................................................................................11
Особенности реализации протокола........................................................................................................12

Page 3

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
3
История изменений
Дата
Коментарии
Февраль 2007
Разработка модуля и тестирование
Март 2007
Подготовка документации, создание серийного образца
Апрель 2007
Добавлена функция разбора строки, передаваемой от модуля в структуру
пользователя

Page 4

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
4
Введение
В данном техническом руководстве содержится описание интерфейса между AMX Netlinx и сетью
SCS (MyHome – BTicino) с использованием шлюза AMX-SCS и модуля BT_TO_AMX,
разработанного компанией RealDom.
АМХ модуль подсоединяется к сети SCS с использованием интерфейса AMX-SCS по 232 порту
через стандартный интерфейсный кабель BTICINO артикула L4686 , имеющего следующие
характеристики:
Baud rate = 38400 bps
Data bits = 8
Stop bit = 1
Parity = none
Команда АМХ, устанавливающая параметры порта должна выглядеть следующим образом:
send_string dvSCS_232,"'SET BAUD 38400,N,8,1 485 DISABLE'"
Кабель для подключения шлюза AMX-SCS по 232 порту (DB-9 Male) должен иметь следующий
порядок разъемов:
РАСПАЙКА КАБЕЛЯ
AMX NI
AMX-SCS
5 GND
5 GND
2 RXD
2 TXD
3 TXD
3 RXD
Общее описание
Модуль BT_TO_AMX обеспечивает интерфейс между шлюзом AMX-SCS и программой
пользователя NetLinx, выполняющейся на контроллерах AMX серии NI. Шлюз AMX-SCS
обеспечивает согласование технических характеристик протоколов и уровней сигналов 232 порта
процессора NI и интерфейсом 232 порта сети SCS, предварительный разбор протокола SCS перед
передачей данных в модуль BT_TO_AMX, сжатие и подготовку данных для управления сетью
SCS.
Модуль BT_TO_AMX является буфером между командами, поступающими из программы
пользователя NetLinx для управления устройствами в сети SCS и строками данных, описывающих
состояние сети SCS.

Page 5

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
5
В графическом виде общую схему работы можно представить так:
Интерфейс BT_TO_AMX доступен пользователю только в виде модуля BT_TO_AMX.tko.
Использование
Для использования BT_TO_AMX.tko модуля, программист должен выполнить следующие шаги:
1. Определить адрес порта к которому подключен шлюз AMX-SCS (например: COM-1).
2. Определить адрес виртуального устройства для связи с модулем BT_TO_AMX. Адреса
таких устройств в NetLinx начинаются с 33001.
3. Определить адрес сенсорной панели для управления сетью SCS (не является
обязательным).
4. Объявить модуль BT_TO_AMX.tko в программе NetLinx при помощи оператора
DEFINE_MODULE.
5. Подключить файл с описанием функций для работы с модулем BT_TO_AMX
(#INCLUDE 'IncSCS.axi').
Пример, как это сделать приведен ниже.
DEFINE_DEVICE
dvSCS=5001:1:0
// Адрес порта RS232 к которому подключен шлюз AMX_SCS
SCS_Event=33001:1:0
// Виртуальное устройство для обмена с модулем BT_TO_AMX
dvTP = 10001:1:0
// Сенсорная панель управления
#INCLUDE 'IncSCS.axi'
// Описание функций для работы с модулем BT_TO_AMX
DEFINE_VARIABLE
StSCS_Command SCS_Answer
// Структура для выборки полученных команд пользователем
VOLATILE INTEGER dvTP_EVENT[] = // Коды клавиш на сенсорной панели для управления SCS
{
101, // 1 - выполнить сценарий
102, // 2 - управление активатором
103, // 3 - регулировка яркости
Сеть SCS
Модуль
BT_TO_AMX
Программа
пользователя
NetLinx
Виртуальн
ое
устройство

Page 6

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
6
104, // 4 - блокировка статуса
105, // 5 - GEN
106, // 6 - AMB
107 // 7 - GRP
}
DEFINE_MODULE 'BT_TO_AMX' SCS(dvSCS, SCS_Event) // Модуль - интерфейс между сетью
SCS и программой пользователя

Page 7

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
7
Интерфейс управления сетью SCS
Управление сеть SCS осуществляется при помощи функций описываемых ниже. Каждая функция
преобразуется в команду для управления сетью SCS через модуль BT_TO_AMX (NetLinx command
send_command). Эти команды передаются модулю BT_TO_AMX для дальнейшей обработки и
пересылке через шлюз AMX-SCS в сеть SCS.
Ниже приведен полный перечень функций, поддерживаемых модулем BT_TO_AMX.
Функция
Описание
BT_Scenario(SCS_Event,A,PL,KN)
BT_Scenario - Функция управления сценариями через МН200
SCS_Event - Адрес виртуального устройства NetLinx
A – Зона (Area)
PL - Номер устройства в зоне (Place of Light)
KN – номер клавиши на устройстве
Пример:
BT_Scenario(SCS_Event,1,2,1)
BT_OODB(SCS_Event,A,PL,Status)
BT_OODB - Функция управления активаторами для включения и
выключения OODB - ON/OFF/DIM/BRIGHT
SCS_Event - Адрес виртуального устройства NetLinx
A – Зона (Area)
PL - Номер устройства в зоне (Place of Light)
Status=1 OFF, Status=0 ON, Status=3 BRIGHT, Status=4 DIM
Пример:
BT_OODB(SCS_Event,1,2,1)
BT_SetLLight(SCS_Event,A,PL,LLevel)
BT_SetLLight - Функция для регулировки яркости освещения
SCS_Event - Адрес виртуального устройства NetLinx
A – Зона (Area)
PL - Номер устройства в зоне (Place of Light)
LLevel= от 1 до 9, соответственно от 10% до 90%
Пример:
BT_SetLLight(SCS_Event,1,2,5)
BT_SetBlockStatus(SCS_Event,A,PL,Status)
BT_SetBlockStatus - Функция для блокировки статуса устройства
SCS_Event - Адрес виртуального устройства NetLinx
A – Зона (Area)
PL - Номер устройства в зоне (Place of Light)
Status=1 Blocked, Status=0 UnBlocked
Пример:
BT_SetBlockStatus(SCS_Event,1,2,1)
BT_GEN(SCS_Event,Status)
BT_GEN - Функция для команды GEN
SCS_Event - Адрес виртуального устройства NetLinx
Status=1 OFF, Status=0 ON
Пример:
BT_GEN(SCS_Event,1)
BT_AMB(SCS_Event,PL, Status)
BT_AMB - Функция для команды GEN
SCS_Event - Адрес виртуального устройства NetLinx
PL - Номер устройства в зоне (Place of Light)
Status=1 OFF, Status=0 ON
Пример:
BT_AMB(SCS_Event,2,1)

Page 8

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
8
BT_GRP(SCS_Event,PL, Status)
BT_GRP - Функция для команды GRP
SCS_Event - Адрес виртуального устройства NetLinx
PL - Номер устройства в зоне (Place of Light)
Status=1 OFF, Status=0 ON
Пример:
BT_GRP(SCS_Event,2,1)
Таблица 1 – перечень используемых функций

Page 9

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
9
Информация о состоянии сети SCS
Модуль BT_TO_AMX обеспечивает пересылку данных, генерируемых активаторами входящими в
сеть SCS, в программу NetLinx.
Данные, пересылаемые в программу NetLinx поступают в виде строк (CHAR STR[7]) на
виртуальное устройство SCS_EVENT и могут быть обработаны через событие NetLinx:
DATA_EVENT[SCS_EVENT] {
STRING: {
// Переменная DATA.TEXT содержит массив из 7 (семи) символов
}
}
Структура данных, принимаемых через переменную DATA.TEXT зависит от события,
произошедшего в сети SCS, но общий формат остается неизменным и выглядит следующим
образом:
Длинна строки – 7 байт.
1
2
3
4
5
6
7
$F0
хх
хх
хх
хх
хх
$F7
Байт № 1 - $F0 – начало строки, полученной от сети SCS.
Байт № 2 - Тип устройства:
0 = нет комманды,
1 = реле,
2 = диммер (только при включении устройства),
3 = датчик движения,
4 = выключатель как блок сценариев
Байт № 3 - Номер конфигуратора "А
Байт № 4 - Номер конфигуратора "PL"
Байт № 5 - Байт статуса для диммера, датчика движения и сценария.
Байт № 6 - Байт команды для всех устройств.
Байт № 7 - $F7 – конец строки, полученной от сети SCS.
Для корректного разбора данных из полученной строки можно использовать специальную
функцию'GetSCS', описание которой находится в файле IncSCS.axi. Эта функция анализирует
принятую строку (STR_FROM_SCS)
и заполняет структуру (SCS_Answer), объявленную
пользователем в своей программе:
Структура SCS_Answer имеет тип StSCS_Command? Который описан в файле IncSCS.axi так:
STRUCTURE StSCS_Command
{
integer SCS_TypeCommand
// Тип устройства:0=нет комманды, 1=реле, 2=диммер,
3=датчик движения,4=выключатель как блок сценариев
integer SCS_Area
// Номер конфигуратора "А"

Page 10

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
10
integer SCS_Place
// Номер конфигуратора "PL"
integer SCS_Status_1
// Статус
integer SCS_Status_2
// Команда
}
После вызова функции CALL 'GetSCS'(STR_FROM_SCS, SCS_Answer) переменные структуры
SCS_Answer будут иметь следующие значения:
SCS_Answer.SCS_TypeCommand - Тип устройства:
0=нет комманды,
1=реле,
2=диммер,
3=датчик движения,
4=выключатель как блок сценариев
SCS_Answer.SCS_Area
- Номер конфигуратора "А"
SCS_Answer.SCS_Place
- Номер конфигуратора "PL"
SCS_Answer.SCS_Status_1
- Статус
SCS_Answer.SCS_Status_2
- Команда
Сообщения об ошибках
Сообщения об ошибках выводятся командой SEND_STRING на устройство 0 (диагностика).
Модуль BT_TO_AMX анализирует следующие виды ошибок:
Сообщение об ошибке
Описание
SEND_STRING 0,"'SCS_ERROR(1) :
BAD STRING FROM SCS EVENT'"
Строка, поступившая из модуля BT_TO_AMX не является
корректной (нет символов начала и конца строки)
SEND_STRING 0,"'SCS_ERROR(2) :
BAD STRING TO SCS EVENT'"
Строка, поступившая в модуль BT_TO_AMX не является
корректной (нет символов начала и конца строки)
SEND_STRING 0,"'SCS_ERROR(3) :
BAD COMMAND TYPE TO SCS EVENT'"
Строка, поступившая в модуль BT_TO_AMX содержит не верный
(неподдерживаемый) код команты
Таблица 1 – Сообщения об ошибках
Конфигурация сети SCS
Интерфейс AMX – SCS подключается к COM порту на контроллере AMX с одной стороны и к
интерфейсу L4686 с другой.
В данный момент программное обеспечение интерфейса позволяет управлять сетью SCS в
пределах одной логической зоны BTICINO. Если в системе две логических зоны, то необходимо
объявить дополнительные устройства и модули, например:

Page 11

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
11
DEFINE_DEVICE
dvSCS_1=5001:1:0
// Адрес порта RS232 к которому подключен шлюз
dvSCS_2=5001:2:0
// Адрес порта RS232 к которому подключен шлюз
AMX_SCS SCS_Event_1=33001:1:0
// Виртуальное устройство для обмена с модулем
BT_TO_AMX
AMX_SCS SCS_Event_2=33002:1:0
// Виртуальное устройство для обмена с модулем
BT_TO_AMX
DEFINE_VARIABLE
StSCS_Command SCS_Answer_1 // Структура для выборки полученных команд пользователем
DEFINE_VARIABLE
StSCS_Command SCS_Answer_2 // Структура для выборки полученных команд пользователем
DEFINE_MODULE 'BT_TO_AMX' SCS_1(dvSCS_1, SCS_Event_1) // Модуль - интерфейс между
сетью SCS и программой пользователя
DEFINE_MODULE 'BT_TO_AMX' SCS_2(dvSCS_2, SCS_Event_2) // Модуль - интерфейс между
сетью SCS и программой пользователя
Замечания по программированию
Функции, используемые для управления сетью SCS (Таблица 1) преобразуют передаваемую им
информацию в строку, пересылаемую далее командой SEND_COMMAND виртуальному
устройству, определенного пользователем для связи с модулем BT_TO_AMX.
Формат строки следующий:
Длинна строки – 7 байт.
1
2
3
4
5
6
$F0
хх
хх
хх
хх
$F7
Байт № 1 - $F0 – начало строки, передаваемой в сеть SCS.
Байт № 2 – Тип команды:
SCS_BT_Scenario
- Функция управления сценариями через МН200
SCS_BT_OODB
- Функция управления активаторами для включения и выключен
SCS_BT_SetLLight
- Функция для регулировки яркости освещения
SCS_BT_SetBlockStatus
- Функция для блокировки статуса устройства
SCS_BT_GEN
- Функция для команды GEN
SCS_BT_AMB
- Функция для команды AMB
SCS_BT_GRP
- Функция для команды GRP
Байт № 3 - Номер конфигуратора “А” (если нет, то $00)
Байт № 4 - Номер конфигуратора “PL” (если нет то $00)
Байт № 5 – Статус или значение (зависит от типа команды):
Байт № 6 - $F7 – конец строки, передаваемой в сеть SCS.

Page 12

Компания REALDOM. +7.495.589.94.14, +7.495.589.94.15
http://www.realdom.ru
12
Особенности реализации протокола
В сетях SCS с большим количеством исполнительных устройств и активаторов в каждый момент
времени возможно выполнение большого количества команд. С целью обеспечения их полной
обработки в модуле BT_TO_AMX организован стек команд, заполняемый по мере их поступления
по принципу FIFO (первый пришел, - первый ушел). Это позволяет передавать в программу
пользователя все команды, генерируемые в сети SCS.

Информация о работе Описание интерфейса AMX-SCS