Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 43

Тема: СП270 примеры организации связи.

  1. #1

    По умолчанию СП270 примеры организации связи.

    Предлагаю ряд примеров для организации построения связи между ПЛК и СП270 с минимальной нагрузкой на панель. В процессе написания проекта с большим количеством переменных 4х и 0х заметно, что панель подгружается, параметры отображаются, но с запозданием, реакция оперативности с нажатием на кнопки и отображений индикации ламп замедлено. Получается не совсем красивая ситуация но давайте попробуем выжать все возможности с панели СП270.

    Обмен между ПЛК и СП270 в обычном режиме (панель в примерах будим использовать в качестве мастера).
    Вложение 5029

    Обмен между ПЛК и СП270 в режиме передачи данных с копированием в память PSW с функцией передать данные (чтение) оптимальный режим.
    Вложение 5030

    Обмен между ПЛК и СП270 в режиме передачи данных с копированием в память PSW с функцией передать данные и функции загрузить данные (чтение, запись).
    Вложение 5025

    Как оперативно принимать и передать Dword (Float) в режиме передачи данных с копированием в память PSW.
    Вложение 5026
    Последний раз редактировалось Адрей; 11.04.2013 в 17:17.

  2. #2

  3. #3

    По умолчанию

    И в каком режиме работа оптимальна?
    я просто не могу оттестировать это сейчас, и в чём состоит оптимизация?

  4. #4

    По умолчанию

    наверно во втором, раз так написано.
    в том, что панель, спрашивая с плк тучу параметров, опрашивает того не тучей же разрозненных посылок, а оптом, за один присест всю простыню регистров считывает

  5. #5

    По умолчанию

    Цитата Сообщение от Игоррр Посмотреть сообщение
    И в каком режиме работа оптимальна?
    я просто не могу оттестировать это сейчас, и в чём состоит оптимизация?
    Самый оптимальный и оперативный режим работы с минимальной нагрузкой на процессор для СП270 в режиме мастера это вариант №2, одной посылкой читает блок в 32 регистра Word.

  6. #6

    По умолчанию

    Попытался разобраться с примерами, вот дурацкие вопросы частично по протоколу наверное
    вопрос по примеру 1

    насосы и кнопки связаны напрямую с регистрами как я понял, все по функции 0х01 (Read Coil Status) (те чтение/запись регистров)
    Вопрос 1. Панель запросы посылает сама постоянно? или только при изменении состояния кнопки (те нажал кнопку, панель послала запрос на изменение регистра в ПЛК)?
    потому как если только при изменении, то непонятно как насосы изменяют свое состояние, или панель при изменении одной переменной посылает запрос на все?
    Вопрос 2. Почему насосы запитаны по функции 0х01 (Read Coil Status), а не например 0х02 (Read Input Status) они же только принимают значение и не меняют его?
    Вопрос 3. (к програмерам К СП200, риторический) почему функция
    0х01 (Read Coil Status) называется 0х
    0х02 (Read Input Status) называется 1х
    при этом
    0х03 (Read Holding Registers) - 3х
    0х04 (Read Input Registers) - 4х
    это для простоты понимания?

    вопрос по Примеру 2

    Функциональная область -> Функция -> Передача данных (это означает запись в регистр Панели из Области вывода ПЛК?)
    Тоесть при нажатии на кнопки мы сразу отправляем запрос на изменение битов в плк, а Функциональная область циклически записывает Регистры ПЛК в память Панели одним пакетом?

    А то название Передача данных както наводит на мысль что данные уходят с панели на ПЛК.
    Вопрос 4. Если ответ на вопрос 1 - панель сама постоянно опрашивает, то получается что панель и так сама опрашивает и мы функцию в цикл поставили? а как они определяют приоритет (в смысле панель и функция)? или они по очереди?

    С примерами 3 и 4 вроде все ясно если понимать ответ на вопрос 1 и 4 который зависит от 1))

    PS Не вините слишком строго, запутался я, а разобраться хочется.
    Последний раз редактировалось Karrimdra; 18.11.2011 в 20:54.

  7. #7

    По умолчанию

    Пример есть а дальше ручками.

    У панелей есть особенности чтение работает непрерывно, запись только по состоянию нажатия кнопки пример1. Для непрерывного чтения, записи пример 3.

    По остальным вопросам это не камне.

  8. #8

    По умолчанию

    Все равно пока расплывчато для меня)

    Те берем пример 1, там нету от нас явных команд произвести чтение или запись.
    Я так понял, есть буфер обмена панели, указав в кнопке или насосе 0х0 или 0х15, видимо означает что они читают пишут в память буфера.
    Конгда есть изменение кнопки (к примеру: нажатие) или явная команда (например: Функциональная область -> Функция -> Передача данных) панель формирует запрос на запись, если никаких явных команд от элементов то панель сама формирует запрос к слейв устройствам для обновления значениями с буфера слейв устройств.

    Например в примере 1 логика отправки запросов.

    Пока нет изменений регистров ModBus со стороны элементов панели то запрос на чтение всех регистров указанных на всех экранах из сети (при этом запрос делается на каждый регистр отдельно???),
    если есть изменение регистров ModBus со стороны элементов панели, то запрос на запись того регистра что изменился.

    тогда в примере 2

    Мы не даем панели свободного времени чтобы опрашивать регистры поштучно потому что занимаем все свободное время выполнением цикла запросов блоком.

    Я правильно понял работу или это не так.
    Поправьте меня пожалуйста или дайте подтверждение, я не увидел явного описания этого процесса нигде. А для того чтобы понять суть оптимизации хотелось бы понимать суть процесса. Иначе возникают вот такие посты
    И в каком режиме работа оптимальна?
    я просто не могу оттестировать это сейчас, и в чём состоит оптимизация?
    наверно во втором, раз так написано.
    ...
    говорящие о том что мы просто можем догадываться о сути оптимизации, потому как нам не понятна природа алгоритмов формирования запросов этой панели.

    Если приведенное выше верно, то я не очень понимаю где может пригодиться пример 3 (подскажите для общего развития плз)?
    Последний раз редактировалось Karrimdra; 19.11.2011 в 10:27.

  9. #9

    По умолчанию

    Вот идело в том что там нет буфера и приходится каждый сылки на внешний тег делать отдельный запрос а это только минус (теряем время обмена) проще целый блок прочитать функции записи (то есть чтение как должно быть).

  10. #10

    По умолчанию

    Извиняюсь, подитожу алгоритм я правильно понял, за исключением того что в панели нет буфера.

    те пока нет команд на запись она циклически запрашивает данные по 1 штуке. (команды на запись инициируются элементами управления)

    Верно?
    Последний раз редактировалось Karrimdra; 19.11.2011 в 11:12.

Страница 1 из 5 123 ... ПоследняяПоследняя

Ваши права

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