Страница 12 из 12 ПерваяПервая ... 2101112
Показано с 111 по 118 из 118

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

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

    По умолчанию

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

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

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

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

    По умолчанию

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

  3. #113

    По умолчанию

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

  4. #114

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Т.е., предположительно, проблема в некорректном вызове функций из библиотеки Modbus.lib.
    Ошибки в коде программы нет, думаю есть проблема с функцией 04 в данной библиотеке в совокупности с ПЛК110 М02. Вот код получения данных этого модуля:

    IF Mdl.Step = 1 THEN
    Mdl.pDisp^.ReadInpRegs(Enable := NOT Mdl.pDisp^.ReadInpRegs.Read,
    Mode := MB_RTU,
    DevAddr := Mdl.Base.Adress,
    FirstAddr := StartRegister,
    Quantity:=RegisterCount, (*количество регистров*)
    ComHandle := Mdl.pDisp^.Settings.Port,
    TimeOut := Mdl.Base.TimeOut,
    Buffer:= Mdl.pDisp^.ReciveBuffer);
    IF Mdl.pDisp^.ReadInpRegs.Complete THEN
    tmpReadError :=Mdl.pDisp^.ReadInpRegs.Exception;
    IF tmpReadError =0 THEN
    Mdl.reAI:=Mdl.pDisp^.ReciveBuffer[1]+Mdl.pDisp^.ReciveBuffer[0]*256;
    Mdl.Step:=Mdl.Step +1;
    ELSE
    fcModuleAddAttempt(MdlBase := Mdl.Base);
    IF Mdl.Base.CurrentAttempt > Mdl.Base.MaxAttempts THEN
    Mdl.Step := CompleteStep;
    END_IF
    END_IF
    END_IF
    END_IF
    Жаль. табуляция не сохраняется в сообщении

  5. #115
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    9,700

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Ошибки в коде программы нет
    это чем доказано? Тем что вы выложили код? Так Вы в нем читаете, а не записываете. А Вы ведь так же думаете что
    что ПЛК посылает какой-то широковещательный сигнал, после чего эти слэйвы становятся недоступными по старым адресам
    тут есть как бы одна сложность, либо через конфигуратор либо через библиотеку с проклакой но только то что напишет программист
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  6. #116

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    В
    Если предположить существование этой дичи - то это не проблема диспетчера. И не проблема ПЛК. Это сами слейвы - полное гавно. Это стоп-кран у каждого кресла в самолете. Выкиньте эти слейвы в помойку.
    Это не новый проект, эти устройства работают в сети уже 7 лет. Причина того,что начались проблемы - это выход из строя ПЛК фирмы Insyte, после чего начались попытки пересадить сетку на ПЛК Овен. Почему я их должен выбрасывать? Отработав без проблем 7 лет с другим ПЛК, и заменив его на новый ПЛК Овен они начали глючить? Сомневаюсь. Больше похоже что глючит новый ПЛК и его надо, как Вы выражаетесь - "выбосить это полное гавно в помойку"

    Или Вы тоже напишите, что "у Всех не глючит, а у Вас глючит..." Да форум полный сообщений о той или иной проблеме Овна и решения этих проблем через различные костыли. Я надеялся, что подняв эту тему кто подскажет как решить данную проблему или в каком направлении копать, а выбросить "полное говно" я всегда успею. Кстати, в переходный период сеть ещё работала от Scada, установленной на компе и ничего не глючило и адреса не слетали. Так что делайте вывод про ПЛК Овен или Овно...
    Последний раз редактировалось Sergeba; 05.03.2020 в 01:26.

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

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Это не новый проект, эти устройства работают в сети уже 7 лет. Причина того,что начались проблемы - это выход из строя ПЛК фирмы Insyte, после чего начались попытки пересадить сетку на ПЛК Овен. Почему я их должен выбрасывать? Отработав без проблем 7 лет с другим ПЛК, и заменив его на новый ПЛК Овен они начали глючить? Сомневаюсь. Больше похоже что глючит новый ПЛК и его надо, как Вы выражаетесь - "выбосить это полное гавно в помойку"

    Или Вы тоже напишите, что "у Всех не глючит, а у Вас глючит..." Да форум полный сообщений о той или иной проблеме Овна и решения этих проблем через различные костыли. Я надеялся, что подняв эту тему кто подскажет как решить данную проблему или в каком направлении копать, а выбросить "полное говно" я всегда успею. Кстати, в переходный период сеть ещё работала от Scada, установленной на компе и ничего не глючило и адреса не слетали. Так что делайте вывод про ПЛК Овен или Овно...
    Попробуйте, использовать функции из библиотеки Modbus не через диспетчер, а в лоб.
    Сохранится ли тогда проблема со сменой адресов?
    Нужно все же удалять все лишнее, чтобы найти проблему.

  8. #118

    По умолчанию

    Использовал диспетчер на ПЛК160[M02]. Понравилось. (Потому что.. см. nickname)


    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Настройка порта происходит на шаге dispOpeningPort в диспетчере, на который (шаг) мы уже более не возвращаемся, побывав там однажды. Если опрашивать модули на разных скоростях, то соответственно нужно, повторно настраивать порт на другую скорость.
    Одним словом, такая возможность не предусмотрена в текущей реализации.
    Реализовал изменение свойств порта (скорость, стоп-биты, четность) в диспетчере и параметров опроса устройств (период опроса, таймаут).
    Свойства меняются с панели СП310, но это непринципиально.

    Изменения в коде несложные, если интересно, могу поделиться.

Страница 12 из 12 ПерваяПервая ... 2101112

Похожие темы

  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

Ваши права

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