Помогите новичку в 104

  Вход на форум   логин       пароль   Забыли пароль? Регистрация
On-line:  

Раздел: 
Телемеханика и связь в энергетике / Модемы и протоколы ТМ / Помогите новичку в 104

Страницы: 1  ответить новая тема

Автор Сообщение


Группа: Участники
Сообщений: 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 есть метка времени?

редкий гость
Группа: Участники
Сообщений: 19
Добавлено: 03-12-2012 16:18
Как вариант для чего она нужна:
- TestFR работает просто на активном коннекте без учета параметров КП (ПУ), таких как общий адрес ASDU, причина передачи и т.д. А ответ на эту команду как раз и может содержать подобные вещи:
44 - неизвестен идентификатор типа
45 - неизвестна причина передачи
46 - неизвестен общий адрес АСДУ
47 - неизвестен адрес оббъекта информации


Группа: Участники
Сообщений: 3
Добавлено: 03-12-2012 21:48
Т.е. C_TS_TA_1 это функция прикладного уровня, а TESTFR канального, если можно так выразиться...

Ну а последовательность опроса правильная?

редкий гость
Группа: Участники
Сообщений: 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


Группа: Участники
Сообщений: 3
Добавлено: 04-12-2012 20:37
LM, Спасибо большое за помощь!




Группа: Участники
Сообщений: 2
Добавлено: 15-12-2012 22:25
Здравствуйте. Не поможет ли кто-нибудь прояснить: после отправки TestFR-Act сколько времени нужно ожидать ответ TestFR-Con? Вроде бы логически напрашивается активное закрытие соединения в случае неприхода ответа в течение времени t3, но в стандарте по этому поводу ничего не сказано.

редкий гость
Группа: Участники
Сообщений: 19
Добавлено: 18-12-2012 14:45
Здраствуйте. Согласно ГОСТ Т3 таймер перезапускается по факту не отсылки, а приема сообщения (I, S или U). Стало быть нельзя его юзать. А вот тамер Т1 как раз то, что надо. ;-). Текста в ГОСТ-е я тож не нашел, но картинка есть.... Рисунок 14)


Группа: Участники
Сообщений: 2
Добавлено: 21-12-2012 18:17
Ну да, это вроде бы то самое, что надо. Спасибо.

Страницы: 1  ответить новая тема
Раздел: 
Телемеханика и связь в энергетике / Модемы и протоколы ТМ / Помогите новичку в 104

KXK.RU