СODESYS V3.5: Repository Archive V3.5 SP4 (необходим для старых СПК) / Раздел CDS V3.5 на сайте
Форум: Вопросы и ответы / Визуализация / Настройка обмена с другими устройствами
Web-панель ВП110 / Modbus-индикатор СМИ2-М
Telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru | oscat.ru | Как обратиться в техподдержку?
Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | XY problem | Как правильно задавать вопросы | AnyDesk
Добрый день, petera, добрый день, коллеги!
Petera, сделал все по Вашему предложению http://www.owen.ru/forum/showthread....l=1#post247211
Вот теперь все работает как надо. Только показалось, что работать стало медленнее. Вычисление динамического адреса требует бОльшего времени? А ведь в примере элементов всего 3. А если их будет 30?
Далее осталась проблема с отображением битовых элементов, как у mick213: http://www.owen.ru/forum/showthread....l=1#post222133
При отключении битового элемента он отображается в состоянии "1" - включено - что не есть хорошо.Сообщение от mick213
Добрый день petera ! Сделал в своем проекте для панели СП310-Б(Master) и 6-ти ПЛК110-60(Slave) ModBus RTU отключение с опроса временно выключенных контроллеров как в примере ”Управление обменом или как ОТКЛ/ВКЛ связь по Modbus”. Сначала не заработало. Выяснилось, что функциональная область, почему-то не записывает в PFW130 значение 400. Пришлось заменить условие запуска “После загрузки проекта” на “Переход на экран элемента”. Получилось включать и отключать опрос контроллера, но возникла другая проблема. На другом экране в исторической таблице все записи, относящиеся к отключенному контроллеру, много раз в минуту формируют сообщения по переднему фронту. Также на экране с индикаторами отключенного контроллера все индикаторы находятся в значении “1” и периодически кратковременно (доли секунды) переходят в “0”. Что может приводить к такому эффекту и как от этого избавиться?
Ваше решение:
решило проблему, но! (в который раз но!) - существенно увеличилось время реакции на отображение состояния элемента. Аж до нескольких секунд. И на время переключения экранов тоже. Функц. обл. с пересылкой байтов тоже требует время? И это только один битовый элемент в примере!2. А вот, что касается остального, то действительно здесь наблюдается описанный "глюк". Причем только для битовых сигналов.
Предлагаю для решения этой проблемы использовать промежуточные регистры PSW.
Т.е. поставить в соответствие битам регистров 4х в ПЛК биты промежуточных регистров PSW панели.
Например
4х0 --> PSW256
4х1 --> PSW257
4х2 --> PSW258
.........
4х9 --> PSW265
и т.д.
Если Вы использовали для ламп, переключателей с индикацией или в исторической таблице биты 0х ПЛК, то их номера всегда можно представить в виде отдельных разрядов регистров 4х. Например 0х1 соответствует 4х0.01, а 0х31 соответствует 4х1.15.
Резюмируя все эксперименты, мое мнение - функция управления обменом - полезная, актуальная. В данной реализации вполне работоспособна с особенностями, описанными в теме. Недостатки - обязательная динамическая адресация всех отображаемых элементов, для битовых каналов - доп. функц. область с дополнительной пересылкой байтов - и все это лишь для корректного отображения информации. А это время. Ну а остальное покажет работа. Интересно узнать мнение других пользователей, а так же инженеров ОВЕН. Функция то не документирована, о PFW130 в официальных документах - ни слова.
Спасибо всем, кто откликнулся.
Вся тема тут: http://www.owen.ru/forum/showthread.php?t=23024
1. Во всех Ваших примерах используется скорость обмена 9600, почему? Делайте 115200.
2.Надеюсь, что в качестве индексного регистра Вы не используете регистры слейва? Нужно всегда использовать регистр PSW, а не 4х.Только показалось, что работать стало медленнее. Вычисление динамического адреса требует бОльшего времени? А ведь в примере элементов всего 3. А если их будет 30?
По поводу если их будет не 3, а тридцать нужно использовать копирование всех регистров слейва в промежуточные PSW, как здесь http://www.owen.ru/forum/showthread....l=1#post222908
Для каждого слейва отдельной функцией копировать весь блок регистров 4х и сразу задействовать дин.адресацию.
Захват-3.png
3. Тормоза с битовыми элементами.
А Вы точно используете дин.адрес для регистра, а не для бита?
Захват-4.png
Выкладывайте проект с "тормозами", хочу посмотреть в чем дело.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Решил проверить как повлияет на скорость обмена использование дин.адресации в функции копирования блока регистров.
За основу взял этот пример http://www.owen.ru/forum/showthread....l=1#post222908
Изменения в проекте
1. Из кнопки управления обменом убрал ф. открытия/закрытия окна №60006
Захват-6.png
2. В ф. копирования блока из 10 регистров включил дин. адресацию
Захват-7.png
3. Добавил функцию, которая непрерывно отсылает в ПЛК время работы панели(PSW38) которое увеличивается каждые 0,1 сек.
Захват-8.png
Теперь время работы панели посылается в рег.4х4, считывается обратно в другой ф.области в составе блока из 10 регистров и отображается на этом дисплее
Захват-9.png
3. Сделал маленькую программу для ПЛК
Захват-10.png
в которой тоже есть счетчик, который инкрементируется каждые 0,1 сек. Результат отображается на этом дисплее
Захват-11.png
Кроме того на экране есть битовые элементы привязанные к отдельным битам рег.4х на запись и битам промежуточных PSW на чтение
Это шесть переключателей с подсветкой
Захват-12.png
Используются три различных 4х регистров
Все просто летает, ни каких тормозов не наблюдаю
Никаких тормозов связанных с заменой прямого управления битами 4х, на биты промежуточных нет.
Никаких тормозов из-за использования дин.адресации в ф.копирования блока регистров 4х в регистры PSW тоже не наблюдаю.
Проекты для панели и ПЛК во вложении
Теперь попробую увеличить количество слейвов до трех
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Со скоростью согласен. Уже поменял.
Однако на тормозах не отразилось. Битовый канал реагирует на вкл/откл несколько секунд. И с переключением экранов стал подтормаживать. Насчет не 3 а 30 - я имел ввиду именно скорость отображения, не будет она в 10 раз медленнее?
Скрины не делаю, вот файл
Тест 7_1N2_115.rar
Дин. адресацию для битовых элементов нужно делать не здесь
Захват-13.png
а в функции копирования 4х в промежуточные PSW
Захват-14.png
т.е. так
Захват-15.png
Зы
Загрузил в панель, с указанными изменениям. Тормозов нет, экраны переключаются мгновенно.
Последний раз редактировалось petera; 12.05.2017 в 12:53.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Для теста быстродействия в Ваш проект добавил элементы ввода.
Захват-16.png
И т.к. слейвы у меня в ПЛК,
Захват-17.png
то адреса регистров изменил, а то набирать в конфигураторе по 100 и по 2900 регистров как-то не по себе
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
В пример из поста #481 добавил два слейва
Захват-1.png
Захват-3.png
Захват-2.png
Короче три слейва, из каждого читаются по десять регистров, которые отображаются на одном экране в том или ином виде.
На глаз тормозов не вижу
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Что то я не совсем понял смысл эл. ввода: с них записать в слэйв и сразу считать в панель? Так у меня так не получится, у меня везде входные регистры, только чтение.Для теста быстродействия в Ваш проект добавил элементы ввода.
А вот здесь -
Ошибку исправил. Стало работать быстрее, ноДин. адресацию для битовых элементов нужно делать не здесь, а в функции копирования 4х в промежуточные PSW
Мгновенно - это как? у меня экран переключается около сек., время от включения тумблера (у меня макет) на входе МВ110-32 (битовый канал) до включения лампочки на панели - примерно тоже секунда. Время немножко рознится - 1-2 сек. Это нормально? Просто честно, не знаю. Может это мгновенно?Загрузил в панель, с указанными изменениям. Тормозов нет, экраны переключаются мгновенно.
Как и на писано - тыц на кнопку и мгновенно другой экран Ни каких секунд.Мгновенно - это как? у меня экран переключается около сек., время от включения тумблера (у меня макет) на входе МВ110-32 (битовый канал) до включения лампочки на панели - примерно тоже секунда. Время немножко рознится - 1-2 сек. Это нормально? Просто честно, не знаю. Может это мгновенно?
Только чтение - это у Вас, а у меня все слейвы в ПЛК, могу читать и писать.Что то я не совсем понял смысл эл. ввода: с них записать в слэйв и сразу считать в панель? Так у меня так не получится, у меня везде входные регистры, только чтение.
А элементы ввода мне нужны, чтобы оценить время реакции панели. Нажал на ввод, ввел значения, нажал Enter и тут же на соседнем дисплее получил ответ от слейва, тоже мгновенно
ЗЫ
У меня время задержки ответа у слейвов - 0
Захват-1.png
Если я здесь укажу 5000,
Захват-2.png
то мгновенно превратится в 5 сек Причем это относится и к времени перехода между экранами.
Короче, ищите в настройках слейвов параметр "задержка ответа" и ставьте ее в ноль.
Последний раз редактировалось petera; 12.05.2017 в 19:35.
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg