Добрый день! Имеется: СП-310Р (master), ПР102 (slave), Овен МСД-200 (slave).
Панель СП-310Р опрашивает ПР102 по modbus RTU данные типа "float" с установленной галочкой "изменить порядок регистров" через функциональную область и записывает в PSW область, далее через еще одну функциональную область передает эти значения (с PSW области, принятые с ПР-ки) на МСД-200.
На МСД-200 значения отображаются некорректно. Я так понял, для МСД 200 необходимо поменять порядок регистров, но не знаю как это сделать (точнее знаю, что надо написать макрос, но это пока слишком сложно для меня.) Помогите пожалуйста.
Последний раз редактировалось Фаниль92; 20.03.2024 в 17:16.
Если вам не нужна эта переменная в панели, то снимите галку и передайте эту переменную дальше с переставленными регистрами.
Вот скрин, 2 ФО и 2 раза переставил регистры 1 Перестановка регистров.jpg снял галку 1 Перестановка регистров 2.jpg
Если в панели она нужна, то галку оставьте, переменную примите как Float (например адрес 2) , WORD (адреса 2 и 3) переставьте местами и отправьте дальше.
Макросы не нужны, просто в ФО второй адрес например отправляете в 257 регистр, а 3 в 256 и читаете из 256 с переставленными регистрами.
Последний раз редактировалось kondor3000; 20.03.2024 в 19:16.
Переменных несколько, а именно 9, все они нужны для отображения в панели СП310 (целочисленные не нужны для отображения в панели). Не совсем понял как это сделать через ФО. Задача - опрос ПР-ки, вывод значений типа Float на экран, далее - передача этих значений на МСД-200. Проблема еще в том, что МСД-200 почему-то не принимает значения WORD, отправленные с СП310. Скрин как я сейчас настроил приложил.Пример.jpg
Последний раз редактировалось kondor3000; 20.03.2024 в 19:39.
Здравствуйте, подскажите, пожалуйста, есть ли возможность отключать чтение регистров контроллера трендами? Например, если произошёл обрыв связи контроллера 1, чтобы панель не пробегалась по каждому тренду контроллера 1, а сразу переходила к опросу следующего контроллера.
АПД: Пока вижу только 1 вариант - привязывать к трендам внутренние переменные и в отдельном макросе делать блокировки чтения регистров в эти переменные по какому-то флагу связи.
Есть ли ещё способы?
Последний раз редактировалось JIeKaPb; 27.03.2024 в 09:04.
Не так, есть биты отключения слейва целиком, тогда вам или вручную отключать не работающие или мониторить обмен. Если обмен пропал, включить бит выключения данного слейва.
Здесь описано как настроить биты отключения разных слейвов https://owen.ru/forum/showthread.php?t=35196&page=2#13
Последний раз редактировалось kondor3000; 27.03.2024 в 10:21.
Про отключение обмена со слейвом мне известно, но как тогда восстанавливать обмен, если ты его выключаешь через эти переменные? У меня смысл был такой, что есть некоторый флаг обмена. Если этот флаг не отработал - не делаю чтение регистров с этого контроллера и иду на следующий контроллер. Ну и соответственно, если отработал, то делаю опрос и только потом иду к следующему контроллеру. А когда мы сделаем отключение обмена со слейвом, то восстановить без включения обмена не выйдет, но и при этом мы не знаем, восстановилась ли связь.