|
[ На главную ] -- [ Список участников ] -- [ Правила форума ] -- [ Зарегистрироваться ] |
On-line: |
Телемеханика и связь в энергетике / Модемы и протоколы ТМ / Помогите новичку в 104 |
Страницы: 1 |
Автор | Сообщение |
Andrey V. Группа: Участники Сообщений: 3 |
Добавлено: 02-12-2012 12:09 |
Здравствуйте, уважаемые участники форума. В данное время занимаюсь написание драйвера протокола МЭК-104. Драйвер пишу для Simatic S7-400 на языке SCL. Для начала от драйвера требуется хотя бы просто выполнять запрос на передачу данных от сервера данных. Подскажите, правильно ли я вижу последовательность запросов: 1. Синхронизация устройств (SYN-ACT SYN) задача канального уровня. Происходит автоматически. 2. Далее для контроля соединения выполнить TESTFR act-con. Для первого раза считаю, что можно выполнить не по таймеру, а сразу при подключении для проверки соединения. 3. Открытие активного IP соединения – STARTDT act-con. 4. Запрос на передачу данных (C_IC_NA_1) act-con. 5. Прием данных. 6. C_IC_NA_1 завершение активации. 7. Передаем S(n), где n количество принятых кадров. 8. Ну и далее по таймеру T3 проводится TESTFR, пока не последует следующий запрос. Предназначение TESTFR вроде понятно, но тогда для чего нужна тестовая функция C_TS_TA_1 (107). Отличие только в том что в C_TS_TA_1 есть метка времени? |
|
LM редкий гость Группа: Участники Сообщений: 19 |
Добавлено: 03-12-2012 16:18 |
Как вариант для чего она нужна: - TestFR работает просто на активном коннекте без учета параметров КП (ПУ), таких как общий адрес ASDU, причина передачи и т.д. А ответ на эту команду как раз и может содержать подобные вещи: 44 - неизвестен идентификатор типа 45 - неизвестна причина передачи 46 - неизвестен общий адрес АСДУ 47 - неизвестен адрес оббъекта информации |
|
Andrey V. Группа: Участники Сообщений: 3 |
Добавлено: 03-12-2012 21:48 |
Т.е. C_TS_TA_1 это функция прикладного уровня, а TESTFR канального, если можно так выразиться... Ну а последовательность опроса правильная? |
|
LM редкий гость Группа: Участники Сообщений: 19 |
Добавлено: 04-12-2012 09:27 |
Все таки если реализовывать протокол самому, то не надо отходить от ГОСТ, я думаю...Т.е. касаемо пункта 2, до StartDT act-con ничего посылать не надо. Не знаю, к сожалению, насколько глубоко позволяет SCL язык Simatic рабоатать с портами, но общая идея такая: 1) Установка TCP/IP соединения между станциями (другими словами с точки зрения TCP/IP соединение активно уже сразу после установления соединения) 2) Дальше уже протокольная часть: - посылка StartDT act, с получением ответа StartDT con открывает канал для работы с точки зрения МЭК104 - и только при получении ответа StartDT con можно продолжать работу. Иначе же дисконнект с закрытием соединения и пукнт 1 заново через таймаут. - дальше 4 5 6 - в процессе приема данных может так получится что их много ;-) стало быть нужно контролировать кол-во принятых пакетов (типа I) на предмет достижения числа W (ГОСТ МЭК104) и по факту достижения слать в ответ S(n), где n количество принятых кадров. Или же если данных мало и W не достигнуто, но таймер T2 (время с прихода последеного I) отработал тоже слать S(n). - 8 |
|
Andrey V. Группа: Участники Сообщений: 3 |
Добавлено: 04-12-2012 20:37 |
LM, Спасибо большое за помощь! |
|
alex_o Группа: Участники Сообщений: 2 |
Добавлено: 15-12-2012 22:25 |
Здравствуйте. Не поможет ли кто-нибудь прояснить: после отправки TestFR-Act сколько времени нужно ожидать ответ TestFR-Con? Вроде бы логически напрашивается активное закрытие соединения в случае неприхода ответа в течение времени t3, но в стандарте по этому поводу ничего не сказано. | |
LM редкий гость Группа: Участники Сообщений: 19 |
Добавлено: 18-12-2012 14:45 |
Здраствуйте. Согласно ГОСТ Т3 таймер перезапускается по факту не отсылки, а приема сообщения (I, S или U). Стало быть нельзя его юзать. А вот тамер Т1 как раз то, что надо. ;-). Текста в ГОСТ-е я тож не нашел, но картинка есть.... Рисунок 14) | |
alex_o Группа: Участники Сообщений: 2 |
Добавлено: 21-12-2012 18:17 |
Ну да, это вроде бы то самое, что надо. Спасибо. |
Страницы: 1 |
Телемеханика и связь в энергетике / Модемы и протоколы ТМ / Помогите новичку в 104 |