Я в прошлом году тот же вопрос задавал. Сказали, что можно ориентироваться на 10.
https://owen.ru/forum/showthread.php...l=1#post396234
Проконсультируйте, пожалуйста, вот по какому вопросу:
В настройках ModbusTCP Slave-устройства имеется возможность включить запись во внутренние регистры статус подключения, а именно просматривать количество отправленных пакетов и т.д.
Нигде более, кроме как в единственной ФО идет обращение к этому устройству путем копирования группы регистров во внутреннюю память.
Выполнение ФО установлено на каждые 60 сек (1 минуту).
Вопрос: Как быстро должен инкрементироваться счетчик отправленных пакетов?
Ожидалось +1 в 1 минуту. Но строчит как из полемета. Как-то замедлить скорость передачи пакетов удалось, только параметром "время ожидания", который в инструкции не рекомендуется трогать.
Хотелось бы получить разъяснения по этому поводу.
Замечено также, что обновление данных в копируемых регистрах происходит как раз через каждую 1 минуту.
Предполагаю, что постоянно передаются служебные пакеты TCP-протокола, типа KeepAlive (Я на связи). Верно?
Последний раз редактировалось EFrol; 27.06.2023 в 18:23.
Никаких служебных пакетов не передается.
Тут дело вообще не ModbusTCP, тоже самое будет и для Modbus по RS485.
Предположим, что у Вас ФО делает простейшую функцию - копирует регистр из внешнего слейва во внутренний регистр или регистр другого слейва.
Не зависимо от условия выполнения заданного в настройках ФО, например по фронту бита, или при переходе на текущий экран, или при загрузке проекта, или при вкл. питания, или по времени и т.д. ЧТЕНИЕ РЕГИСТРА из слейва выполняется ВСЕГДА, с максимально возможной частотой - "время ожидания". А вот уже результать функции, в нашем случае - запись полученных данных, выполняется однократно и только по условию , например по фронту бита, или при переходе на текущий экран, или при загрузке проекта, или при вкл. питания, или по времени и т.д.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
В дополнение к #2864
Если Вам действительно нужно обеспечить чтение только каждые 60 сек (1 минуту), то
- либо используйте макрос на Си
- либо сделайте так
1. Создайте окно с ФО, которая копирует регистр из слейва в другой регистр, например внутренний регистр
Захват-01.png
ФО две функции 1- копировать регистры, 2 - закрыть это окно.
Захват-02.png
2. На экране поместите ФО с условием - каждые 60 сек (1 минуту)
Захват-03.png
ФО содержит всего одну функцию - вызов окна, созданного в п.1
Захват-04.png
Режим открытия окна - скрытое, тогда окно будет невидимым.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
https://www.youtube.com/@%D0%9F%D0%B...BA%D0%BE%D0%B2
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Есть вопрос, конфигуратор СП300 это уже мертвый проект или планируется его поддержание?
Работать в нем совершенно невозможно, начиная от неконтролируемого самопроизвольного выбора цвета прозрачности вставляемых элементов, заканчивая полным отсутствием гибкости формирования таблиц простых и таблиц аварий. Отсутствует карта занятых регистров, никакого ассистента ввода макросов, дерево элементов отсутствует, дерево окон просто деревянное.
Ну и непосредственно банальные глюки самой панели как невозможность включения/отключения ее звука без перезапуска)))
Доброго времени суток всем. Помогите решить элементарную задачку... Имеется "Переключатель с индикацией" который по нажатию записывает в регистр регулятора данные (1 - пуск), регулятор при определённых событиях может генерировать уровень выходного сигнала по аварийной температуре - 100 (второй релейный выход), как сделать чтоб при появлении этого сигнала по аварийной температуре произошло отключение "Переключатель с индикацией"? Что то типа аварийного стопа по перегреву?
В первой ФО (непрерывно) мат.функция PSW256 = 100 - 4x9
Во второй ФО (фронт бита PSW256.15) выкл. бит 4x137.0
Т.е. любое отрицательное число имеет 1 в старшем бите, соответственно если 4x9 > 100 выставит бит PSW256.15, который сбросит 4x137.0
Проект_пример.txp
Спасибо, всё получилось!