1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

STB NIP 2311

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить

Автор темы
Barash
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 03 июн 2020, 01:56
Имя: Кирилл
Благодарил (а): 1 раз
Поблагодарили: 1 раз

STB NIP 2311

Сообщение Barash »

Господа, приветствую. Требуется записать данные в модуль DDO3705 (в составе острова NIP 2311). Прочитать образ выходов получается - проблем нет, но при попытке записи в тот же регистр, с которого данные успешно читаются, возникает ошибка "неверная функция". Функция "06", регистр 40006 - согласно документации проблем быть не должно. Что за ерунда, где моя ошибка?
У вас нет необходимых прав для просмотра вложений в этом сообщении.

BelousovMP
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 01 ноя 2023, 14:30
Имя: Михаил
Благодарил (а): 1 раз

STB NIP 2311

Сообщение BelousovMP »

Добрый день!
Удалось ли решить дынную проблему? Аналогичная ситуация с Advantis STB с NIP 2311! DI и AI читаются, а DO и AO не пишутся... Делаем все по инструкции, согласно описания на Advantis STB. NIP 2311 отвечает при попытке записи в адреса 40001.. и дальше - дает ошибку modbus: 02 - Адрес данных, указанный в запросе, недоступен.
Аватара пользователя

Jackson
администратор
администратор
Сообщения: 17589
Зарегистрирован: 17 июн 2008, 16:01
Имя: Евгений свет Брониславович
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 825 раз
Поблагодарили: 1653 раза

STB NIP 2311

Сообщение Jackson »

Какой функцией пишете регистры?
Сколько регистров пишете одной посылкой?
Как пишете (запись значения или запись по маске)?
По вопросам работы Форума можно обратиться по этим контактам.

BelousovMP
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 01 ноя 2023, 14:30
Имя: Михаил
Благодарил (а): 1 раз

STB NIP 2311

Сообщение BelousovMP »

Пишем разрешенными согласно описания STB функциями 06 (запись одного регистра) и 16 (запись нескольких регистров). На картинке оба варианта запроса и ответа. В каждом из примеров первый ответ - это выполнение данного запроса к ModbusSlave на компьютере (нормальный ответ), второй ответ - это обращение и ответ от STB.
Результат одинаковый - 02 - Адрес данных, указанный в запросе, недоступен
У вас нет необходимых прав для просмотра вложений в этом сообщении.

BelousovMP
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 01 ноя 2023, 14:30
Имя: Михаил
Благодарил (а): 1 раз

STB NIP 2311

Сообщение BelousovMP »

В продолжении вопроса.
Наш Advantis STB NIP 2311 довольно старый - годов 2015 - 2016 г.в. Сегодня после всех безуспешных попыток, всевозможных экспериментов - ничего не получилось, проблема не решилась. Нашли на сайте SE последнюю прошивку - перепрошили. Заработала запись, но также как-то не предсказуемо странно... Логически не можем понять почему так работает система STB NIP 2311 ...
1. Записываем в регистры 40001... и видим срабатывание соответствующих каналов DO модулей. Но каналы DO срабатывают на ~1 сек и автоматически отключаются - сбрасываются в "0" (отключаются). Почему так происходит - не понятно... Т.е. если писать одни и те же значения с частотой реже чем 1 раз в секунду каналы DO начинают пульсировать - включаться/отключаться.
2. После обновления прошивки, какое-то время работали функции записи 06 (запись одного регистра) и 16 (запись нескольких регистров). После очередной перезагрузки STB NIP 2311, данные функции перестали работать выдавая все ту же ошибку что и ранее. Но функция 23 (0x17) — чтение/запись нескольких регистров (Read/Write Multiple registers), работает.
При этом все функции записи 06, 16 и 23 - работают одинаково, записывают значения, которые потом автоматически сбрасываются в "0" (проблема п.1).

Может кто-нибудь сталкивался с такой проблемой? Как решить?
Есть ли какое-то логическое объяснение подобной работе контроллера ввода/вывода STB NIP 2311?

Автор темы
Barash
здесь недавно
здесь недавно
Сообщения: 26
Зарегистрирован: 03 июн 2020, 01:56
Имя: Кирилл
Благодарил (а): 1 раз
Поблагодарили: 1 раз

STB NIP 2311

Сообщение Barash »

Давненько это было, подробностей не помню. Помню, что проблема была не с функциями и регистрами, а с чем-то другим. Толи надо было master IP указать, то ли наоборот убрать, в общем что-то связанное с конфигурацией острова. Изначально из коробки острова заточены под работу c Unity Pro (Control Expert) и для опроса через IO Scanner, для всего остального нужно слегка попотеть. Обратитесь в техподдержку, ребята там весьма грамотные.

Отправлено спустя 6 минут :
Вот вам кусочек переписки:
[+]
Напомните мне пожалуйста, какой версией Unity Pro (Control Expert) Вы пользуетесь для создания проекта и пришлите мне архив вашего проекта (в формате .zef ) в котором Вы осуществляете запись в остров STBNIP.
Если Вы используете IO Scanner через модуль BMXNOE01x0, то строчка считывания и записи в таблице IO Scanner-a будет выглядеть примерно так.
Не пользуюсь ничем из этого. Для считывания конфигурации острова использую Advantys v12.3.0.0 build 2. Соответственно могу прислать файл .isl или .aiw. Но не думаю, что это необходимо. Производственная линия встала на ТО и появилась возможность спокойно поиграться с конфигурацией острова. Так вот, стоило только прописать в мастерIP адрес вновь установленного контроллера, как запись стала работать. Поясните мне только вот что, если не задано ни одного мастерIP, то от какого из устройств остров будет разрешать команды на запись? От того, которое к нему первым постучалось? Или всё-таки от любого? Но тогда почему мой ПЛК не может производить запись, когда одновременно с ним к острову обращается ранее установленная скада? Причём, при записи остров возвращает код ошибки (то ли неподдерживаемая функция, то ли некорректный адрес, сейчас уже не помню), т.е. это не перезапись регистров как если бы ПЛК что-то записал, скада перезаписала, а я не заметил, но именно ошибка. Те же самые функции, те же самые адреса, при установленном мастерIP - и всё прекрасно работает. На данном этапе меня устраивает достигнутый результат, но хотелось бы понимать в чём была суть проблемы, ведь может так случиться, что островом понадобится управлять одновременно с двух клиентов. Это ведь возможно?
[+]
Именно поэтому я спрашивал Вас, каким образом Вы осуществляете связь с островом Advantys и обмен данными с ним.
При использовании встроекнного конфигуратора Advantys в Unity Pro ( Control Expert) и использовании IO Scanner-a, Мастер IP задавать не нужно, система уже знает откуда будут идти запросы. Если конфигурация острова создана вне проекта Unity Pro и модуль STBNIP опрашивается сторонним устройством, но в обязательном порядке должен быть задан Master IP хотя бы для одного устройства.
Согласно документации модуль STB NIP 2311 может быть настроен на распознавание до трех устройств в качестве ведущих (главных, Master) контроллеров.
Модуль может поддерживать соединение и с большим количеством контроллеров, но эти три Мастер контроллера всегда будут иметь приоритет в подключении к модулю STB NIP2311. Модуль NIP должен постоянно поддерживать открытое соединение по крайней мере с одним Мастер контроллером.
Если модуль STB NIP 2311 теряет все связи с ведущими контроллерами:

Модуль STB NIP 2311 ожидает заданное время (время удержания), пока главный контроллер не установит новое соединение с ним .
Если новое соединение не установлено до истечения периода тайм-аута, модуль STB NIP 2311 переводит каналы выходных модулей своего острова в предустановленное состояние.

Модуль STB NIP 2311 может поддерживать до 16 одновременных соединений Modbus TCP с одним или несколькими устройствами Ethernet.
Любой контроллер в сети Ethernet может подключиться к модулю STB NIP 2311 для чтения и записи данных.
Обычно модуль STB NIP 2311 разрешает запросы на подключение в порядке очереди. После предоставления соединение остается открытым до тех пор, пока устройство само не прекратит связь с STB NIP 2311.
Когда Мастер контроллер запрашивает соединение, его запрос имеет приоритет над другими не Мастер контроллерами. Даже если не Мастер контроллер уже подключен к STBNIP 2311, то связь с ним разрывается для предоставления соединения с Мастер контроллером.
Когда модуль STB NIP 2311 достигает максимального количества одновременных подключений в 16, он должен закрыть существующее подключение, прежде чем сможет открыть новое.
STB NIP 2311 закрывает существующие соединения в зависимости от времени последней транзакции соединения; Т.е. он закрывает соединение, самой последней транзакции, которого является самой старой.
При этом все остальные соединения между STB NIP 2311 и ведущим контроллером сохраняются.
Ешё одним интересным параметром является «Время резервирования»:
- Время резервирования — это интервал, в течение которого подключенный контроллер должен выполнить команду записи в модуль STB NIP 2311. Доступ на запись истекает, если в течение этого периода не получена команда записи.
• В поле настройки введите значение: от 0 до 120000 мс (с шагом 10 мс). (По умолчанию = 60000 мс.)
Этот период времени обновляется каждый раз, когда до истечения его срока действия получена команда записи.
Это время относится только к не Мастер-клиентам. Значение представляет количество времени, в течение которого не Мастер клиент имеет эксклюзивный доступ для записи, прежде чем другой не Мастер сможет осуществить запись. Обращение любого из трёх Мастер контроллеров немедленно отменяют время резервирования не Мастера, даже когда они производят запись.

BelousovMP
здесь недавно
здесь недавно
Сообщения: 4
Зарегистрирован: 01 ноя 2023, 14:30
Имя: Михаил
Благодарил (а): 1 раз

STB NIP 2311

Сообщение BelousovMP »

Кирилл, спасибо за ответ!
Сегодня, еще не прочитав Ваше сообщение, самостоятельно частично дошли до соответствующих настроек STB NIP 2311(Holdup Time и Reservation Time), но в Вашем сообщении очень подробно и понятно все написано - еще больше понимания у нас появилось в назначении данных параметров.
В нашем случае STB NIP 2311 опрашивается контроллером Quantum сконфигурированным через Unity, но конфигурацию STB NIP 2311 "автоконфигурировали" и потом уже позже удалось найти и установить Advantis Configuration Software - посмотреть конфигурацию, которая в принципе изначально была нам понятна. Настройки Holdup Time, Reservation Time и MasterIP только сегодня на них обратили внимание.
Как итог, теперь настройка STB NIP 2311 понятна и поведение - предсказуемо. :good:
Спасибо!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «ПЛК»