Настройка WatchDog (интерфейс RS 232)

Здесь обсуждаются любые продукты компании СофтЛаб-НСК для телевизионного вещания (Форвард Т, Форвард ТС, Форвард Голкипер, Форвард Рефери, Форвард Офис, Форвард Инжест)

Модераторы: ElenVR, Людмила, PR

Ответить
ychetka
Сообщения: 117
Зарегистрирован: 05 ноя 2009 12:32

Настройка WatchDog (интерфейс RS 232)

Сообщение ychetka »

Прошу разьяснить момент с настройкой и взаимодействием с комутатором.

Имеется комутатор фирмы Less.

Вот выдержка из документа присланного мне по запросу формата команд Км.

Код: Выделить всё

FA  - Prot32 - пакет по протоколу 32х32 

 Получив заголовок пакета, коммутатор пытается принять 5-байтовый блок данных.

  Блок данных включает следующие байты:

•	байт  1 	     - Команда - определяет содержание байтов 2, 3 и 4
•	байты 2, 3, 4 - Данные - значение различно для различных команд
•	байт  5	     - Контрольная сумма - (^(FA+Команда+Данные)) & 07FH

Если:
•	во время приема входного пакета пауза между байтами превысила 5мс;
•	полученная контрольная сумма не совпала с вычисленной коммутатором;
•	обнаружена ошибка в содержании пакета,
то КМ прекращает прием и передает 0F6H  - Error - обнаружена ошибка.

Коммутатор принимает следующие команды:

C1 - Set - установка состояния коммутатора

Байты данных имеют следующее значение: 
•	байт 2 - выбор матрицы коммутации: 
	бит 0 - Видео,  бит 1 - Аудио,  и т.д.
•	байт 3 - номер переключаемого входа 
•	байт 4 - номер выходного канала, на который необходимо переключить указанный вход
При отсутствии ошибок КМ передает 0F4H  - OK - обмен без ошибок.
Итак, я не совсем понял каким образом передать HEx последовательность из 4 байт из устройства ? Я так понимаю ребята из less рассказывали про двоичный формат, а watchDog шестнадцатеричный формат, но почему -то в примере http://www.softlab-nsk.com/rus/forward/ ... tchdog.pdf в эти поля загоняют двично. Проясните ситуацию пожалуста. Просто перевести нужный мне двоичный в шеснадцатиричный формат и загнать в поля в конфиге ?
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

но почему -то в примере http://www.softlab-nsk.com/rus/forward/ ... tchdog.pdf в эти поля загоняют двично.
Не могли бы вы конкретно указать страницу где заколачиваются двоичные данные? Речь идет о стр. 20?
ychetka
Сообщения: 117
Зарегистрирован: 05 ноя 2009 12:32

Сообщение ychetka »

Да я имелл ввиду стр. 20. Сейчас думаю уже не совсем так.

Вот файл высланный less - http://depositfiles.com/files/3xxgodcfi
В файле RS_4x1.doc

Формат пакета - 5 последовательно передаваемых байт с произвольными паузами (все данные - hex):

Код: Выделить всё

FA  09 Cmd Data ChkSum

Здесь: 	FA - Заголовок пакета, уникальный байт
   		09 - номер устройства, фиксированное значение
		Сmd - код команды
		Data - данные, сопровождающие команду
		ChkSum - контрольная сумма пакета, равная инвертированной сумме (09+Cmd+Dat) со сброшенным старшим битом: ChkSum= (~(09+Cmd+Dat))&07fH
При правильном формате пакета и допустимой команде коммутатор немедленно посылает либо установленный параметр (Data), либо запрошенный параметр - для команд опроса.

Подскажите должа ли выглядеть строка вписываемая в настройки Watchdog таким образом - FA090301D ?
(переключение выхода ( звук и видео) Км на 1 вход)
[/url]
Даниленко Сергей
Сообщения: 7093
Зарегистрирован: 26 фев 2004 09:53
Откуда: Techsupport SoftLab-NSK

Сообщение Даниленко Сергей »

Подскажите должа ли выглядеть строка вписываемая в настройки Watchdog таким образом - FA090301D
У вас в команде 9 символов, т.е. 4,5 байта. Явно потерян один символ.
ychetka
Сообщения: 117
Зарегистрирован: 05 ноя 2009 12:32

Сообщение ychetka »

перед D убрал 0 так как

:со сброшенным старшим битом: ChkSum= (~(09+Cmd+Dat))&07fH
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Дело не в этом. По правилам шестнадцатеричной системы байт D нужно писать с ведущим нулем: 0D (или 0x0D). Иначе в потоке шестнадцатеричных символов ничего невозможно будет понять. То есть, любой байт должен быть представлен двумя символами, даже если старший разряд равен нулю, и убирать нули нельзя.

Вообще, по-моему, Les должен вам предоставить последовательность управляющих символов, а не заставлять вас самостоятельно считать какие-то контрольные суммы. А иначе что же получается - каждый пользователь их оборудования должен быть программистом, и для вычисления управляющей последовательности по их документации должен писать программу?
ychetka
Сообщения: 117
Зарегистрирован: 05 ноя 2009 12:32

Сообщение ychetka »

Vd, спасибо за поддержку, но у меня сосмнения что это должен делать Less. Может softlab-nsk обеспечить совместимость с комутаторами своего устройства ?
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Мы предоставляем техническую возможность соединения с ЛЮБЫМИ устройствами, управляемыми через RS232. Почему вы считаете, что мы должны осуществлять техподдержку ВСЕХ подобных устройств, производителями которых мы не являемся?

И уж точно мы не ответственны за то, что производители таких устройств сопровождают их документацией, по которой простой пользователь (а не программист) не может организовать управление этим устройством.

Мы готовы вам помогать, но просто имейте ввиду, что по поводу своих устройств наша помощь - обязанность для нас, но помощь по поводу чужих устройств для нас обязанностью не является. Если чужое устройство вообще неисправно, мы с этим тоже должны разбираться?

Представьте, например, что вы купили в одной огранизации компьютер, а в другой - устройство, которое подключается к компьютеру через USB, RS232 или как-то еще. Подключаете устройство, а оно не работает. К кому вы обратитесь за техподдержкой - к тому, кто продал вам компьютер? Не считаете этот вариант несколько нелогичным?
ychetka
Сообщения: 117
Зарегистрирован: 05 ноя 2009 12:32

Сообщение ychetka »

Мне не особо хочется разводить демагогию, т.е. это удалет от решения проблемы, но пару предложений напишу (чуть чуть поразвожу)

Комутатор стоит в разы дороже Watch Dog.
Вот здесь - http://www.softlab-nsk.com/rus/forward/ ... tchdog.pdf стр. 11 , раздел Подготовка к работе , пункт 3 написанно - "Подключить WatchDog к коммутатору" а совсем не Подключите комутатор к WatchDog.
Производится настройка WatchDog, а не комутатора.

В одном согласен с вами - проблема совместимости не должна касатся пользователя. Не очень приятно если честно заплатив деньги, и вам и им, расчитывая на решение, добится которого, в итоге крайне трудно.

Отписал ребятам из Les, попросил пример команды, по заданным мной условиям. Посмотрим что ответят они.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Стоимость чужого устройства хоть в 1 млн. у.е. никак не обязывает нас решать проблемы, за которые мы не ответственны. Согласитесь, что производитель больше знает про собственное устройство, и может быстрее и точнее предоставить управляющую последовательность. Потому как мы, не зная особенностей чужого устройства, можем ошибиться, неправильно поняв чужую документацию; теоретически в документации могут быть ошибки; еще бывает, что документация не соответствует обновленной версии устройства (вариантов может быть много). А у нас и устройства-то нет, нам попросту проверить не на чем. Предоставление управляющей последовательности от нас может превратиться в гадание на кофейной гуще, действия наугад, что для вас может вылиться в еще бОльшие и бессмысленные потери времени, чем ожидание ответа от производителя.

> пункт 3 написанно - "Подключить WatchDog к коммутатору" а совсем не Подключите комутатор к WatchDog.

Было бы написано наоборот, вы бы сразу обратились в Les, ничего не требуя от нас? :-) Хотя, если честно, я не вижу разницы в том, что к чему подключается. Кроме одной: здесь имеется ввиду, что WatchDog управляет коммутатором, посылая на него управляющую последовательность, а не наоборот. Но чисто электрически это означает соединение двух устройств проводами. А у проводов нет приоритетного направления - они электричество в обе стороны проводят.

Предлагаю демагогию на этом закончить, а дождаться ответа от Les все же правильнее. С нашей стороны готовы обещать следующее: как только Les даст последовательность управляющих байт, мы вам поможем их в правильном виде ввести в нужное место в нашей программе.
ychetka
Сообщения: 117
Зарегистрирован: 05 ноя 2009 12:32

Сообщение ychetka »

А с чего вы решили что мне из les кто нибудь даст управляющие последовательности для моего комутатора?

К вопросу о несоответствии и о том что вам проверить не на чем -

В письме от office@tvservice.od.ua (Вашу продукцию приобретаем у них) мне процитировали то что им ответил les - "Сейчас все коммутаторы подддерживают все команды (процессор у свех один и тот же)."

А вообще вы очень клоните к тому что решайте свои талмуты сами с les а мы тут не при чем. Хотя настраивается ваше устройство, и настраивается его непосредственная функция - управление комутатором.

И еще хочу сказать на сайте les.ru, на страничке
http://les.ru/partners.htm есть такая строчка - СофтЛаб-НСК - набор готовых решений для построения и автоматизации малобюджетных телестудий профессионального качества.

Это ведь вы ? Только я не понял где готовое решение относительно моего вопроса ? Мне непонятно так, же , почему я , а не Вы со своим партнером должен решать вопрос ? Разьясните товаришь.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

> А с чего вы решили что мне из les кто нибудь даст управляющие последовательности для моего комутатора?

Это закрытая информация? Вроде нет - в документации описаны команды коммутатора. Но, насколько я понял, там еще какие-то контрольные суммы вычислять надо. Почему это должны делать вы или мы? Почему производитель не может предоставить документ с законченной информацией, готовой к использованию? Мне кажется, вы вполне вправе попросить их дать готовую последовательность.

> В письме от office@tvservice.od.ua (Вашу продукцию приобретаем у них) мне процитировали то что им ответил les - "Сейчас все коммутаторы подддерживают все команды (процессор у свех один и тот же)."

Откуда мы знаем про вашу переписку с ними? Вот, только сейчас от вас и узнали. Равно как и то, что продукцию вы у них приобретали. Впрочем, к решению проблемы это никакого отношения не имеет.

> А вообще вы очень клоните к тому что решайте свои талмуты сами с les а мы тут не при чем. Хотя настраивается ваше устройство, и настраивается его непосредственная функция - управление комутатором.

Для нашего устройства нужна готовая последовательность байт, которую нужно ввести в нашей программе. Дайте готовую последовательность, мы расскажем, как и куда ее ввести (хотя в документации вроде все уже написано, но помочь мы готовы). В чем проблема? В том, что готовой последовательности нет? Но почему мы сами должны вам ее предоставить? По какому договору или прочим обязательствам? Поясните, пожалуйста.

У нас вы приобрели устройство, которое, по своим функциям, обязано осуществлять следующее:
- позволять набрать произвольную управляющую последовательность в программе настройки
- уметь отправлять эту последовательность через интерфейс RS-232 в произвольное устройство (заметьте, мы в ответ от этого устройства никакой информации не получаем, и ничего про это устройство не знаем)

Где-то сказано про то, что устройство должно делать что-то еще?

> Мне непонятно так, же , почему я , а не Вы со своим партнером должен решать вопрос ?

Может, вы обратили внимание, что наша компания у них перечислена в разделе "Наши коллеги", а не партнеры.
Мы с ними никаких договоров не заключали, в том числе и по поводу того, что мы обязаны осуществлять техническую поддержку устройств, которые они производят. И мы, и они независимо поставляют устройства, которые друг с другом умеют взаимодействовать. Дальше про каждое устройство каждый производитель осуществляет техподдержку самостоятельно.

Я вовсе не хочу сказать, что мы полностью открещиваемся от того, чтобы помочь вам настроить наше устройство. Насколько я понял, вы дали запрос в Les по поводу предоставления управляющей последовательности. Давайте дождемся ответа от них. Сомневаюсь, что на наш запрос они бы быстрее ответили. Мы для них, в отличие от вас, реально практически никто - вы-то им деньги заплатили, а мы им - нет. И в мире существует много других производителей, которые умеют управлять их коммутаторами, мы никакого приоритета здесь не имеем.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

> Подскажите должа ли выглядеть строка вписываемая в настройки (переключение выхода ( звук и видео) Км на 1 вход)

Смотрим документ RS_4x1.doc. В нем написано следующее:
Формат пакета - 5 последовательно передаваемых байт с произвольными паузами (все данные - hex):
FA 09 Cmd Data ChkSum
Соответственно, нужно передать в коммутатор сначала 4 байта команды (напишу их с пробелами, чтобы было лучше видно):

FA 09 03 00

FA и 09 - значения, которые никогда не изменяются (заголовок и номер устройства); 03 - код команды "коммутация выхода на вход №Data (значения 0..3 соответствуют входам 1..4) в слоях видео и звука", за которым в четвертом байте должен следовать номер входа - для вашего входа №1 должно следовать значение 0 (см. пояснение в скобках).

После них должна следовать контрольная сумма:
ChkSum - контрольная сумма пакета, равная инвертированной сумме (09+Cmd+Dat) со сброшенным старшим битом: ChkSum= (~(09+Cmd+Dat))&07fH
То есть нужно сложить три байта, начиная с 09 (сложение HEX-чисел умеет делать калькулятор Windows):
09+03+00 = 0С

Это число нужно инвертировать - отнять от 0xFF:

FF - 0C = F3

Старший разряд в двоичном представлении (перевести в двоичный вид опять-таки умеет калькулятор Windows) нужно сбросить (обнулить):

F3 (Hex) = 11110011 (Bin), самый старший (левый) разряд нужно обнулить (т.е. просто выкинуть) и перевести число в шестнадцатеричный вид:

1110011 = 73 (Hex)

Соответственно, полная последовательность из 5 байт (вместе с контрольной суммой) такова:

FA 09 03 00 73

Их и нужно ввести в программе настройки WatchDog (только без пробелов!) - попробуйте и напишите, получилось или нет.

Если нужно подключить выход ко входам 2...4, то вместо байта 00 нужно использовать значения 01, 02 и 03 соответственно. 5-й байт контрольной суммы нужно будет пересчитать.
Последний раз редактировалось vd 02 фев 2011 18:14, всего редактировалось 4 раза.
vd
Сообщения: 2311
Зарегистрирован: 05 мар 2003 19:21

Сообщение vd »

Насчет того, что такое сброшенный старший бит. Байт в виде шестнадцатеричного числа - это два разряда. Например, 0D. Бит - это разряд двоичного числа. Перевести шестнадцатеричное число в двоичное можно в том же калькуляторе Windows: сначала включите переключатель Hex, затем введите шестнадцатеричное число из двух разрядов. Переключитесь в режим Bin - увидите двоичное представление числа.

Байт состоит из восьми бит. Если количество разрядов в двоичном представлении байта меньше, чем 8, значит, старший разряд и так равен нулю, и ничего дополнительно сбрасывать не нужно. Если же битов 8, и старший (самый первый, слева) равен 1, то нужно его сбросить: записать то же двоичное число без первой единицы, оставив только 7 цифр, набрать это число в калькуляторе в режиме Bin и нажать переключатель Hex, чтобы перевести число в шестнадцатеричный вид.

Вообще, конечно, на месте Les я бы вместе с устройством предоставил программу, которая позволяет подсчитать контрольную сумму сама, не вынуждая это делать пользователя, который вовсе не обязан быть программистом и знать, что такое двоичная система. Либо, если клиент заплатил за устройство не одну сотню у.е., то уж точно помог бы ему посчитать контрольную сумму и предоставил бы ему управляющую последовательность по запросу.
s62
Сообщения: 5
Зарегистрирован: 02 фев 2011 18:51

Сообщение s62 »

Здравствуйте!
Я работаю в ЛЭС-ТВ и сегодня получил письмо от ychetka (и ответил на него) на ту же тему, что обсуждается здесь.
Протокол управления коммутаторами, который размещен на нашем сайте, предназначен для программистов, а не пользователей. Предполагается, что пользователи управляют коммутаторами через панель на коммутаторе, внешнюю панель, или с помощью какой-либо программы управления. Также предполагается, что последовательность байтов по RS-232 посылает программа, написанная программистом.

Поскольку Форвард позволяет вводить коды для управления самим пользователям, действительно возникает проблема, о которой идет речь.
Раньше такие случаи если и бывали, то крайне редко (точно не помню), а в последние пару месяцев действительно несколько человек (ychetka кажется - третий) обращались со схожими просьбами.
Я отправил программку для расчета HEX-последовательностей команд ychetka, выставлю её в ближайшее время на сайте.

Пара моментов:
1)RS_4x1.doc - это протокол не для матричных коммутаторов, а для свитчеров 4х1. Нужный протокол - в документе protocol_rs-232_matrix.doc в файле с протоколами, который можно скачать у нас на сайте.

2)В обмене по RS-232 для матричных коммутаторов у нас используется RTS-CTS, это создает, как я понимаю, дополнительные проблемы при управлении от Форварда. Мы переписывались не так давно с Сергеем Даниленко на этот счет, он писал, что они что-то видоизменяли в программе, чтобы она нормально работала с нашими коммутаторами, чем закончилось, я, честно говоря, не знаю.

С уважением,
Сергей Осколков.
Ответить