УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

DCON протокол


Автор Сообщение
Сообщение создано: 08. 07. 2009 [13:18]
andrelek
Андрей Полевой
Создатель темы
Зарегистрирован(а) с: 13.12.2008
Сообщения: 210
Всем спасибо огромное! Буду пробовать сейчас.
Сообщение создано: 08. 07. 2009 [16:10]
andrelek
Андрей Полевой
Создатель темы
Зарегистрирован(а) с: 13.12.2008
Сообщения: 210
Проводя все проверки обнаружился интересный факт! Когда посылаю запрос из транспортов вижу на осциллографе пакет длиной в 0.2 мс. Под виндой посылаю тот же пакет получаю ответ, но изменив адрес устройства, что б получить длину запроса, и отослав запрос, получаю длину запроса равной 1 мс. Длины пакетов очень приблизительны, содержание пакетов разобрать не возможно.
Сообщение создано: 08. 07. 2009 [17:41]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
Еще раз внимательно посмотрел скрины - исходящий трафик на модуль 7017 есть, а входящего нет.
То есть модуль не отвечает на запросы.
Такое возможно если настройки модуля 7017 не совпадают с настройками опенскады (не будем учитывать физическое отсутствие связи и неправильное включение/отсутствие терминатора на конце линии RS-485):
1. адрес = 3
2. скорость = 9600
3. кол-во бит данных = 8
4. проверка на четность =отсутствует, в опенскаде = N
5. кол-во стоповых бит =1
6. проверка контрольной суммы =нет проверки, в опенскаде CRC = нет галочки
7. проверка модулем наличия связи с главным HostOK =отключено, в опенскаде не реализовано - откл
Проверьте утилитой, поставляемой с блоками ввода-вывода, соответствие этих 7 пунктов заданным в опенскаде.
Еще хотелось бы узнать чем преобразуете RS-232 в RS-485?
Бывает некоторые преобразователи требуют дополнительных сигналов от COM-порта для переключения направления передачи. В опенскаде эти дополнительные сигналы не реализованы. То есть преобразователь должен быть с автоматическим определением направления передачи.
P.S. Когда писал модуль DCON для OpenSCADA снижал скорость обмена до 1200 бод и визуально по светодиодам наблюдал наличие ответных пакетов. Попробуйте приглядеться к светодиодам в утилите настройки и в опенскаде. Ну и тайминги в опенскада лучше завысить пока связь не появится.


[Сообщение редактировалось 4 раз(а), в последний раз 08.07.2009 в 18:14.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 09. 07. 2009 [11:21]
andrelek
Андрей Полевой
Создатель темы
Зарегистрирован(а) с: 13.12.2008
Сообщения: 210
almaz wrote:

Такое возможно если настройки модуля 7017 не совпадают с настройками опенскады (не будем учитывать физическое отсутствие связи и неправильное включение/отсутствие терминатора на конце линии RS-485):
1. адрес = 3
2. скорость = 9600
3. кол-во бит данных = 8
4. проверка на четность =отсутствует, в опенскаде = N
5. кол-во стоповых бит =1
6. проверка контрольной суммы =нет проверки, в опенскаде CRC = нет галочки
7. проверка модулем наличия связи с главным HostOK =отключено, в опенскаде не реализовано - откл
Проверьте утилитой, поставляемой с блоками ввода-вывода, соответствие этих 7 пунктов заданным в опенскаде.

в .png файле скрин работы утилиты для приборов ICPCON. Описание заданной команды находится на странице 24 приложенного документа I7017-rus.pdf, расшифровка ответа в этом же документе на стр. 14. Формат данных фиксированный для всей серии I-7000, это 8N1 о чем написано в приложенном док I7520-rus[1].pdf на стр.4
Все доки для серии I-7000 просмотрел, но 7пункт не знаю как проверить.
Пользуюсь преобразователем интерфейсов I-7520R c автоматическим определением направления потока данных.
almaz wrote:

Еще хотелось бы узнать чем преобразуете RS-232 в RS-485?
Бывает некоторые преобразователи требуют дополнительных сигналов от COM-порта для переключения направления передачи. В опенскаде эти дополнительные сигналы не реализованы. То есть преобразователь должен быть с автоматическим определением направления передачи.
P.S. Когда писал модуль DCON для OpenSCADA снижал скорость обмена до 1200 бод и визуально по светодиодам наблюдал наличие ответных пакетов. Попробуйте приглядеться к светодиодам в утилите настройки и в опенскаде. Ну и тайминги в опенскада лучше завысить пока связь не появится.

Когда посылаю запрос из транспортов опенскады вижу на осциллографе пакет длиной в 0.2 мс, т.е мой посланный запрос, без ответа. Под виндой посылаю тот же запрос получаю ответ, но изменив адрес устройства, что б получить временную длину запроса, для сравнения, и отослав запрос, получаю длину запроса равной 1 мс. Логично что прибор не воспринимает запрос, т.к длина запросов по времени разная. Только почему запрос короткий по сравнению с виндовым не известно! С какими настройками опенскада инициализирует ком порт? Есть ли там указания на тип используемого UART? Не могли бы вы просмотреть тип UART ком порта на работающей машине?
Сообщение создано: 09. 07. 2009 [11:41]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
У нас есть такой преобразователь и модуль. Проведу подключение и настройку. Позже выложу здесь подробное описание действий.
А где .png со скриншотом утилиты?

[Сообщение редактировалось 1 раз(а), в последний раз 09.07.2009 в 11:45.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 09. 07. 2009 [12:51]
andrelek
Андрей Полевой
Создатель темы
Зарегистрирован(а) с: 13.12.2008
Сообщения: 210
Простите, прохлопал ушами и не добавил. icon_smile.gif
Но в нем уже нет необходимости. После шаманских танцев с бубном над параметром UART (значение вернул первоначальное) и перезагрузки (очередной) компа, боги надо мной смилостивились. Ответ получен.
Огромное вам спасибо за помощь!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Сообщение создано: 09. 07. 2009 [19:32]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
Для практических применений не забудьте включить CRC, чтобы измеряемый параметр не скакал, при каждой ошибке в сети RS-485 (статистику ошибок проверяли - редко, но бывает)

21 век - век повсеместной автоматизации. Главное - во благо всем людям.
Сообщение создано: 10. 07. 2009 [15:29]
kuzulis
Денис Шиенков
Зарегистрирован(а) с: 10.07.2009
Сообщения: 128
А почему б в скаду не добавить какую нить вкладочку с такой функцей как "трассировка запросов/ответов" ? тогда гораздо легче было бы отлаживать всё.

ЗЫ: вопрос к разработчикам icon_smile.gif
Сообщение создано: 10. 07. 2009 [15:58]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
А вкладка "Запрос" для чего по вашему здесь предусмотрена: http://wiki.oscada.org/Doc/OpisanieProgrammy?v=axu#h827-4

Learn, learn and learn better than work, work and work.
Сообщение создано: 11. 07. 2009 [00:03]
almaz
Almaz Karimov
Contributor
Зарегистрирован(а) с: 25.09.2008
Сообщения: 516
andrelek wrote:

После шаманских танцев с бубном над параметром UART (значение вернул первоначальное) и перезагрузки (очередной) компа, боги надо мной смилостивились. Ответ получен.

Андрей, а танцы с параметрами UART и возврат первоначальных значений делали в OpenSCADA или в операционной системе?
Так как OpenSCADA инициализирует последовательный порт своими значениями, предполагаю, что танцевали с параметрами UART в OpenSCADA. Чип UART настолько стандартизирован, что на всех компьютерах setserial выдает одно и то же (см. выше в этой теме форума).
Делаю предположение, что после каждой смены параметров и таймаутов порта не выполнялась переинициализация.
Вывод: после изменения любых параметров последовательного транспорта необходимо перезапустить порт галочкой "Включен" ("Enable"). И никаких танцев и перезагрузок.
И, вообще, эти галочки есть у каждого параметра, контроллера и др., пользуйтесь ими почаще в режиме разработки проекта.

[Сообщение редактировалось 4 раз(а), в последний раз 11.07.2009 в 01:13.]

21 век - век повсеместной автоматизации. Главное - во благо всем людям.



6311