Страница 11 из 13 ПерваяПервая ... 910111213 ПоследняяПоследняя
Показано с 101 по 110 из 130

Тема: Универсальный диспетчер для Modbus.lib

  1. #101

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Это пока не Ваше, прекратите насиловать себя
    Зачем так утверждать? Универсальный диспетчер у меня запустился на ПЛК110, сейчас переношу его на ПЛК307. Не сразу всё получается, но у кого сразу получалось? Сейчас уже почти добил - работает на одном порту, пытаюсь разобраться, почему не заводится второй порт...
    А конфигуратор - УВОЛЬТЕ!!! Вот его делали люди с кривыми руками и не доделав бросили... Кое как работают модули, но совсем отвратно работает в конфигураторе режим Modbus TCP Slave. От него меня вылечила соответсвующая библиотека, которую мне порекомендовал Евгений Кислов, за что ему большое спасибо.

  2. #102

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    нужная локальная переменная называется m_xReqSend - это аналог Read из библиотеки Modbus для Codesys V2.3.
    Не во всех функциях Modbus есть эта переменная... Ещё есть другая - m_xIsReqSend

    Не пойму, опять наблюдаю такую картину на первом порту всё идеально, на втором все модули считают NoPollingErrCnt... Ставлю NoPollingTime = T#7s, подсчёт ошибок прекращается. Неужели опрос идёт по 7 сек на модуль? Хотя, вижу что показания обновляются примерно раз в 2,5сек. Такое впечатление, что таймер неправильно считает секунды...Среднее время цикла основной программы в Мониторе около 0,8мс

    Добавил основную программу обработки данных. Средний опрос подскочил до 9,5сек. Пришлось поставить NoPollingTime = T#10s. Действительно, отклик модулей стал медленным, по сравнению с конфигуратором... Поставил в Task цикл = 1мс, до этого было 5мс. По факту в мониторе средний цикл около 3мс, среднее время опроса модулей сократилось до 6,8сек - всё равно много, по ощущениям через конфигуратор скорость опроса 1,5-2 сек.

    Запустил вариант программы с модулями через конфигуратор. Средний цикл в Task = 5.9мс, при этом опрос модулей около 1,5 сек.

    Плюс у диспетчера - опрос модулей безупречен, но медленный. Через конфигуратор скорость опроса в 4 раза быстрее, но периодически отваливаются модули, переподключаются с помощью "костылей", из-за этого есть вероятность пропуска команды.
    Последний раз редактировалось Sergeba; 27.01.2020 в 00:50.

  3. #103
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Отвечу в общем.
    На CDS V2 на любом порту опрос прекрасно работает.
    Очень странно, что на CDS V3 опрос зависит от порта.

  4. #104

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Отвечу в общем.
    На CDS V2 на любом порту опрос прекрасно работает.
    Очень странно, что на CDS V3 опрос зависит от порта.
    Когда время поднял до 10сек - тоже ошибки прекратились...
    Я так понимаю, опрос через конфигуратор как то имеет бОльший приоритет и обрабатывается отдельным циклом? Пробовал опрос в диспетчере вытащить в отдельный Task и назначить приоритет выше - опрос увеличился на 2-3 сек.
    Минимум чего я добился - средний опрос 6,8сек. Для относительно быстрых систем это не приемлимо... А так - работает идеально. модули не отваливаются...

  5. #105

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вы бы хоть проект выложили, ну явно же косяк где то, ни кто не будет ждать даже секунду при опросе модуля/лей,тут бы весь форум был завален подобными жалобами
    Ок, вот проект. Убрал из него обработку данных. Оставил только опрос с диспетчеризацией
    Вложения Вложения

  6. #106

    По умолчанию

    Продолжение истории.
    ПЛК307 пока забросил по причине ну очень медленной обработки... В сервисном центре ОВЕН поменяли мне мой старый ПЛК110 М01 на новый ПЛК110 М02... Как говориться "шило на мыло".
    Обновил таргет, заливаю проект, который уже работал на старом ПЛК110. Вроде бы всё работает... но смотрю, у меня есть шесть температурных модулей, из них выдаёт температуру только один, хотя на старом ПЛК все работали... Там ничего сложного - функция 04. Постоянно по остальным идёт таймаут - ошибка. Подключаюсь компом - нет модулей, только один отзывается... Цепляюсь к каждому, отключив от общей сети - чудно - у всех модулей, кроме одного адрес сбросился к 1. Меняю адреса, подключаю ПЛК307 - всё работает, переподключаю на ПЛК110 - опять сбиваются адреса на температурных датчиках. ЧТО ЗА ХРЕНЬ???
    Последний раз редактировалось Sergeba; 01.03.2020 в 21:20.

  7. #107

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    так если у датчиков сбились - то это проблема датчиков, что у них сбиваюцца
    Ну да, настроенные через конфигуратор ПЛК307, ПЛК110 не сбиваются, и под универсальным диспетчером на старом ПЛК110 не сбивались, а на новом ПЛК110 начали сбиваться, где проблема у датчиков? Думаю это проблема обработки функции 04 из библиотеки на новом ПЛК110.

  8. #108
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,314

    По умолчанию

    Вы формулируйте как-нибудь более понятно : что сбивается, в чем оно выражается и т.п. В вышеизложенном лично я пока вижу только проблемы самих датчиков. Ваши межстрочные мысли мне неведомы.

    Порты на mo2 да, с траблами, но это никоим образом не может привести к сбою на внешних девайсах.

    Если считаете что проблема с 4й функцией какой-то либы - ищите автора либы или копайте ее код коли он доступен.
    Правда непонятно каким образом функция имеет отношение к порту. Это как цвет ботинок к работе трамвая.
    Последний раз редактировалось Валенок; 02.03.2020 в 20:38.

  9. #109
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Ну да, настроенные через конфигуратор ПЛК307, ПЛК110 не сбиваются, и под универсальным диспетчером на старом ПЛК110 не сбивались, а на новом ПЛК110 начали сбиваться, где проблема у датчиков? Думаю это проблема обработки функции 04 из библиотеки на новом ПЛК110.
    Попробуйте использовать функции из библиотеки Modbus.lib и опрашивать в лоб. Например, через case.
    Дело в том (я уже много раз на это указывал), что диспетчер решает одну простую задачу - управляет очередностью доступа модулей к порту.
    Поэтому, если где-то, что-то Вы, пишете не туда, то это от диспетчера не должно зависеть, как и от устройства (ПЛК3хх, ПЛК1хх и т.д.). Т.е., предположительно, проблема в некорректном вызове функций из библиотеки Modbus.lib.

  10. #110

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    каким образом функция имеет отношение к порту. Это как цвет ботинок к работе трамвая.
    Я и не писал ничего про порты, почитайте моё сообщение внимательно. У меня на новом ПЛК при использовании функции 04 сбивается адрес слэйв-устройства - все адреса на них становятся 1 (почему то кроме одного из этих устройств). Я грешу не на диспетчер, а на сам ПЛК110 М02. Прошивка или таргет так повлиял не знаю. Вывод сделал такой, поскольку данный проект не сбивая адреса работает на ПЛК307 в двух вариантах - под диспетчером и под конфигуратором, также не сбиваются адреса на старом ПЛК110 М01. на новом ПЛК110 М02, под конфигуратором адреса не сбиваются, а под диспетчером сбиваются сразу. Текст программ, функций везде один и тот же. Делаю вывод, что на новом ПЛК110 М02 некорректно обрабатывается функция 04 из библиотеки, причём на некоторых устройствах, что приводит к тому, что эти устройства теряют свои адреса в сети. Получается, что ПЛК посылает какой-то широковещательный сигнал, после чего эти слэйвы становятся недоступными по старым адресам, и у них у всех присваивается адрес 1 (еденица).

Страница 11 из 13 ПерваяПервая ... 910111213 ПоследняяПоследняя

Похожие темы

  1. Универсальный блок питания ПР114
    от sea в разделе Программируемые реле
    Ответов: 12
    Последнее сообщение: 13.10.2013, 22:56
  2. PCLogger - универсальный логгер для CDS v3
    от Mikhail Shvetsov в разделе ПЛК3хх
    Ответов: 0
    Последнее сообщение: 23.11.2012, 14:39
  3. Универсальный Modbus Сервер Инсат и 200 контроллеров ПЛК-100
    от lomtik в разделе Сетевые технологии
    Ответов: 17
    Последнее сообщение: 08.11.2012, 23:42
  4. Универсальный конфигурируемый регулятор
    от ОООСА в разделе Разработки
    Ответов: 32
    Последнее сообщение: 09.12.2009, 22:12
  5. Ответов: 7
    Последнее сообщение: 04.05.2009, 10:42

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •