PDA

Просмотр полной версии : Чтение переменных из Modicon tsx3708 в Мастерскада



Al-Al
09.03.2016, 14:03
Добрый день.
На объекте установлены Modicon tsx3708. Ранее со Шнайдеровскими ПЛК не работал. Подключены к АРМу в СОМ порт через преобразователь интерфейса.
Сейчас возникла необходимость замены SCADA, предложили им Мастерскаду, сам проект под Мастерскаду уже разработан, но возникли проблемы при стыковке с контроллером.
На АРМ установлен OPC сервер: OPC Factory Server v2.0.824. Старая скада как-то с ним работает.
В поддержке Шнайдера сказали, что необходимо прописать в настройках алиас, а в скаде обращаться, указывая конкретные адреса в ПЛК, типа так:
Alias!<adress>

Мастерскада видит ОРС сервер, сами переменные простым способом не вытягиваются. Нашёл, как указывать путь к переменной, указываю типа:
Alias!%MW101 - в ОРС сервере отображается ошибка. Что-то делаю не так. Подскажите где ошибка, как правильно обращаться. В контроллере требуются переменные по адресам %M и %MW.

Есть Universal Modbus OPC на 500 тегов, его бы хватило, пробовал на объекте установить бесплатный на 32 тега, чтобы опробовать связь, но получить данные не получилось.

Al-Al
09.03.2016, 14:06
Настройки OFS

SCADAMaster
09.03.2016, 15:28
Скачайте по этой ссылке OPC Test Validator:
https://yadi.sk/d/GIAPXFwzq2APK
Запустите его, подключитесь к ОРС серверу и считайте переменные. Выделите переменную, посмотрите ее свойства, скопируйте путь и вставьте в скаду ОРС переменную с этим путем и проверьте - будут ли в режиме исполнения поступать данные.

Но вообще лучше все таки заменить на Modbus Universal. Обратитесь в техподдержку Schneider и спросите как работать с Modbus переменными в этом контроллер (как можно получить список адресов). Это будет более надежное решение.

Al-Al
11.03.2016, 12:20
Более старым Валидатором пользовался, попробовал эту версию, переменные из этого ОРС он не читает.
Думаю, ОРС очень древний, и в данном случае нет вообще списка переменных.
Снифером сом-порта смотрел трафик, он весьма непонятный. Первые байты в запросе и ответе разные, хотя там же должен идти адрес запрашиваемого устройства, а устройство в сети одно.
Как уже говорил, Universal Modbus OPC не получилось заставить работать с контроллером. Пробовал запрашивать по тем адресам, по которым опрашивает ОРС сервер, ответ от контроллера отсутствовал.

Но тем не менее, задача решилась. Если вдруг кому-то понадобится установить связь с таким контроллером, то удалось её установить через штатный ОРС сервер Шнайдера (OPC Factory Server v2.0.824).

Запросы в Мастерскаде формировал таким образом:
Добавляем ОРС сервер стандартным образом, При добавлении тега выбираем "Вставить" -> "ОРС переменную..." Далее в верхнее поле "имя переменной" вводим адрес и выбираем "Полное имя переменной в ОРС сервере" и обязательно отмечаем галочкой "Не проверять существование в конфигурации ОРС сервера"!
Имя переменной, в данном случае это адрес - самое важное, пишем таким образом:
UNTLW01:0.254.0!%MW3,
где:
UNTLW01 - имя драйвера, если связь через сом-порт.
0.254.0 - адрес (хотя снифер по ком порту показывал другие адреса)
%MW3 - адрес внутри контроллера.

Так же читается область %М и %С. Хотя в техподдержке сказали, что %С не читается, но я попробовал, состояние счётчика %Сх.V - отображается корректно!

Также техподдержка Шнайдера говорила, что без указания Alias не будет работать, это не так, работать будет! Но можно и указать этот алиас, в данном случае он заменит часть записи: "UNTLW01:0.254.0" до знака "!". Про адрес они не сказали и неясно сказали про протокол, что там может быть как модбас так и нечто другое. Снифер подсказывает, что там нечто другое.

Если б алиас был указан в настройках на объекте, то я б не терял столько лишнего времени :) там какая-то самописная Скада, видимо обращается именно по адресам контроллера, но через ОРС сервер. Ранее с таким не сталкивался.

PS за валидатор спасибо!