Страница 15 из 16 ПерваяПервая ... 513141516 ПоследняяПоследняя
Показано с 141 по 150 из 157

Тема: Конфигуратор vs modbus.lib

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

    По умолчанию

    1. По поводу циклов нет никакой путаницы (по крайней мере у меня). То что для обработки любого запроса тратится минимум 3 цикла (если быть точным - 3 вызова функции, но так как я вызываю функцию 1 раз за цикл, то в моей реализации это одно и то же), равносильно тому, что время на обработку любого запроса будет >= 2*MinCycleLenght.
    А далее все зависит от величины MinCycleLength. Если она не велика, то мое замечание теряет смысл. Если значительна, то это необходимо иметь ввиду.

    Величину проекта следует измерять, видимо, по количеству функций, выполняемых ПЛК и по кол-ву оборудования, находящегося под управлением ПЛК.
    Косвенной характеристикой может служить количество модулей ввода/вывода, подключенных к ПЛК. В том проекте, в котором величина цикла у меня 15 мс, на двух сетях RS-485 сидят 19 абонентов: 3 модуля МУ110-32Р, 2 модуля МВ110-32ДН, 2 модуля МВ110-8А, 6 ЧП фирмы АВВ, 6 индикаторов.
    Если у Вас есть проекты, в которых со схожим количеством абонентов время цикла 2-3 мс (или меньше!), то мне, действительно, интересно узнать как Вы организуете свои программы. Если возможно, то с удовольствием, посмотрю Ваш код (ksporyagin@mail.ru).
    Отмечу также, что у меня таких проекта 2 (полностью идентичных). Один на старой модификации ПЛК110, другой на ПЛК110 М02. Время цикла выполнения первого я уже неоднократно указывал, время цикла второго 1,3 мс.

    2. Что касается замечания по поводу буфера.
    Оно исходит из личного опыта. Я столкнулся с собственной ошибкой при использовании.
    Заключалась ошибка в следующем. Работу с ФБ MB_WR_REGS я вел следующим образом. На 1-м шаге формировал буфер, переходил на следующий шаг, где вызывал данный блок. Если блок завершался с ошибкой, то я, думая, что буфер никто не трогал (ведь я его не трогал!), оставался на 2-м шаге, где повторно вызывал блок MB_WR_REGS, передавая в него все тот же буфер. Но оказывается, что буфер уже изменен. Что в моем случае приводило к ошибкам в работе оборудования. Правильно (для моей организации программы) вернуться на 1-й шаг и заново сформировать буфер.
    Данное замечание в общем случае будет звучать так, как я его сформулировал выше:
    "При использовании блока MB_WR_REGS (запись регистров хранения), в том случае, если блок вернул ошибку, то перед повторным вызовом данного блока необходимо заново формировать буфер посылки. В противном случае вы пошлете не то, что ожидаете, так как MB_WR_REG использует переданный ему буфер для формирования полной посылки Modbus."

    Почему я выделяю именно ФБ MB_WR_REGS. Потому что, например, для блока MB_WR_SNG_REG, мы вообще не передаем буфер. Для ФБ чтения мы буфер не формируем перед отправкой, а только вычитываем из буфера после завершения работы ФБ.

  2. #142
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    1. По поводу циклов нет никакой путаницы (по крайней мере у меня). То что для обработки любого запроса тратится минимум 3 цикла (если быть точным - 3 вызова функции, но так как я вызываю функцию 1 раз за цикл, то в моей реализации это одно и то же), равносильно тому, что время на обработку любого запроса будет >= 2*MinCycleLenght.
    А далее все зависит от величины MinCycleLength. Если она не велика, то мое замечание теряет смысл. Если значительна, то это необходимо иметь ввиду.

    Величину проекта следует измерять, видимо, по количеству функций, выполняемых ПЛК и по кол-ву оборудования, находящегося под управлением ПЛК.
    Косвенной характеристикой может служить количество модулей ввода/вывода, подключенных к ПЛК. В том проекте, в котором величина цикла у меня 15 мс, на двух сетях RS-485 сидят 19 абонентов: 3 модуля МУ110-32Р, 2 модуля МВ110-32ДН, 2 модуля МВ110-8А, 6 ЧП фирмы АВВ, 6 индикаторов.
    Если у Вас есть проекты, в которых со схожим количеством абонентов время цикла 2-3 мс (или меньше!), то мне, действительно, интересно узнать как Вы организуете свои программы. Если возможно, то с удовольствием, посмотрю Ваш код (ksporyagin@mail.ru).
    Отмечу также, что у меня таких проекта 2 (полностью идентичных). Один на старой модификации ПЛК110, другой на ПЛК110 М02. Время цикла выполнения первого я уже неоднократно указывал, время цикла второго 1,3 мс.
    не надейтесь,покрайней мере сильно, на выполнение запросов модбас в отдельной задаче, плк у нас не многозадачные и к тому же Валенок уже объяснял что актуальными данными воспользоваться главная программа сможет только во время своего цикла,так что если между этими выполнениями Вы опросите слейвы хоть раз десять, КПД от них минимальный
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    1Величину проекта следует измерять, видимо, по количеству функций, выполняемых ПЛК и по кол-ву оборудования, находящегося под управлением ПЛК.
    Ну где-то 150 физических единиц (датчики, вентиляторы и т.п.)

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    , на двух сетях RS-485 сидят 19 абонентов: 3 модуля МУ110-32Р, 2 модуля МВ110-32ДН, 2 модуля МВ110-8А, 6 ЧП фирмы АВВ, 6 индикаторов...
    Средненький проектик. На обмен 0.4..0.7мс. Работа еще пара-тройка.
    А для МО2 вообще за чудо вылезть из 1-й мс.

    2xИП320,4x8A,2x8ДФ,2x16Р,3x16Д,1x6У,3xМЭ-3M - вообще на одной линии
    или
    13xПЧВ,2x8AС,1x32ДН,1xСП270
    Соббсно длина писек тут имеет значение ?

    За 15мс ПЛК-МО1 выполнит за 10 тыщ операций. Какая надобность в этих тыщах каждый цикл ?

  4. #144

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Ну где-то 150 физических единиц (датчики, вентиляторы и т.п.)


    Средненький проектик. На обмен 0.4..0.7мс. Работа еще пара-тройка.
    А для МО2 вообще за чудо вылезть из 1-й мс.

    2xИП320,4x8A,2x8ДФ,2x16Р,3x16Д,1x6У,3xМЭ-3M - вообще на одной линии
    или
    13xПЧВ,2x8AС,1x32ДН,1xСП270
    Соббсно длина писек тут имеет значение ?

    За 15мс ПЛК-МО1 выполнит за 10 тыщ операций. Какая надобность в этих тыщах каждый цикл ?
    Валенок, 90% всех программ, что я видел - всё в одном цикле выполняется последовательно каждый цикл. И, как следствие, сколько не дай, вся производительность уходит в свисток.
    Тролль-наседка, добрый, нежный и ласковый

  5. #145
    Пользователь
    Регистрация
    16.08.2012
    Адрес
    Воронеж
    Сообщений
    146

    По умолчанию

    Еще бы спецы Овен мануальчик накотали по организации связи через библиотеку modbus, как положено. И сразу бы у многих вопросы отпали в том числе и по кривому конфигуратору. Ведь правильно написали, есть 1, 2 модуля используй конфиг, если больше библиотеку. Но как это сделать грамотно? Как организовать опрос 10 модулей? Вывести в отдельную программу?

  6. #146
    Пользователь
    Регистрация
    16.08.2012
    Адрес
    Воронеж
    Сообщений
    146

    По умолчанию

    Дак уважаемый Валенок, я имею ввиду что руководство только показывает как открыть порт и, например, считать с одного модуля. А затем выясняется: что для N количества модулей необходимо вынести открытие порта в одну задачу, обращение к N устройствам еще в несколько, а обработку полученных данных в другую задачу. Вы уж простите меня за мой французский, но коль мы про машину и инструкцию. Поэтому я и спрашиваю полноценное руководство, в котором будет написано как грамотно сделать опрос N количества устройств чтобы контроллер нормально опрашивал и не тупил. А про 150 единиц оборудования - это все на rs485 или я что то не понял?

  7. #147
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от GTS Посмотреть сообщение
    Дак уважаемый Валенок, я имею ввиду что руководство только показывает как открыть порт и, например, считать с одного модуля. А затем выясняется: что для N количества модулей необходимо вынести открытие порта в одну задачу, обращение к N устройствам еще в несколько, а обработку полученных данных в другую задачу. Вы уж простите меня за мой французский, но коль мы про машину и инструкцию. Поэтому я и спрашиваю полноценное руководство, в котором будет написано как грамотно сделать опрос N количества устройств чтобы контроллер нормально опрашивал и не тупил. А про 150 единиц оборудования - это все на rs485 или я что то не понял?
    мне кажется из-за Вашей любви к разнесению всего по задачам у Вас и происходит торможение, примеры в опросе нескольких модулей описаны в руководстве http://www.owen.ru/forum/showthread.php?t=23897
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #148
    Пользователь
    Регистрация
    16.08.2012
    Адрес
    Воронеж
    Сообщений
    146

    По умолчанию

    Так этож для 3 кодесиса, или все равно?

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

    По умолчанию

    Цитата Сообщение от GTS Посмотреть сообщение
    Так этож для 3 кодесиса, или все равно?
    сам подход ни чем не отличается
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

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

    По умолчанию

    Цитата Сообщение от GTS Посмотреть сообщение
    Дак уважаемый Валенок, я имею ввиду что руководство только показывает как открыть порт и, например, считать с одного модуля. А затем выясняется: что для N количества модулей необходимо вынести открытие порта в одну задачу, обращение к N устройствам еще в несколько, а обработку полученных данных в другую задачу. Вы уж простите меня за мой французский, но коль мы про машину и инструкцию. Поэтому я и спрашиваю полноценное руководство, в котором будет написано как грамотно сделать опрос N количества устройств чтобы контроллер нормально опрашивал и не тупил. А про 150 единиц оборудования - это все на rs485 или я что то не понял?
    GTS, быть может это Вам будет интересно - Универсальный диспетчер для Modbus.lib.

Страница 15 из 16 ПерваяПервая ... 513141516 ПоследняяПоследняя

Похожие темы

  1. Библиотеки MODBUS.LIB и OWENNET.LIB
    от desperadoes в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 30.01.2014, 20:15
  2. Modbus.lib и МДВВ
    от ПРОЕКТ-П в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 17.05.2013, 15:04
  3. Ответов: 4
    Последнее сообщение: 18.09.2012, 22:16
  4. ПЛК100 и Modbus.lib
    от Slev в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 19.03.2012, 08:22
  5. RTE + Modbus.lib
    от K.I.V. в разделе ПЛК3хх
    Ответов: 10
    Последнее сообщение: 09.07.2008, 10:30

Ваши права

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