Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 20 из 20

Тема: Реализация обмена набора уставок с ПР200

  1. #11

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    на FBD нельзя делать обходы, ну можно, закольцовывая переменные через SEL, но сама программа будет ужасть... если такое делать, то на ST
    Макрос в макросе - способ облегчения решения.

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

    Т.е. заполнение конкретного рецепта - не очень сложная задача.

    Единственное ограничение - ПР200 имеет энергонезависимых переменных 1016 байт = 254 переменных udint или real, т.е. количество рецептов конечно и не очень значительно.
    Видимо, поэтому выбор автора темы - внешнее хранение рецептов - в облаке. Хотя и предложенный вариант хранения в виде констант - тоже вариант для рассмотрения.

  2. #12

    По умолчанию

    Цитата Сообщение от FPavel Посмотреть сообщение
    Есть платный функционал OwenCloud - программа (на языке Pascal).
    Можете сделать какую-нибудь переменную в ПР200 - номер выбранного рецепта, и по её значению изменять набор переменных.
    Но, думаю, требуется какое-то подтверждение из облака, что все уставки изменены и соответствуют выбранному рецепту, например, ещё одна переменная - номер загруженного рецепта. Особенно с учётом периода обмена и возможного обрыва соединения.
    В таком варианте - все значения будут намертво прописаны в программе. И до подтверждения готовности со стороны облака - я бы блокировал работу программы в ПР (вдруг половину рецепта загрузил, а потом связь оборвалась).

    Выбирать номер рецепта можно на мнемосхеме.

    Но самым удобным вариантом был бы - замена на ПР205 - поддерживающее около 1000 сетевых переменных, что позволяет хранить все рецепты в разных переменных, т.е. достаточно изменить только одно число - номер рецепта. Один недостаток по мнению ряда пользователей - отсутствует встроенный ПИД регулятор с автонастройкой (вроде бы исправили вчера в версии 2.11) и стоимость на 50% (10 т.р.) выше.
    Желательно иметь возможность удаленно менять значения уставок для каждого шага, поэтому и думал каким-то образом использовать для этого редактируемые шаблоны.

  3. #13

    По умолчанию

    Цитата Сообщение от Пашечкин Посмотреть сообщение
    Желательно иметь возможность удаленно менять значения уставок для каждого шага, поэтому и думал каким-то образом использовать для этого редактируемые шаблоны.
    Тогда:
    1. объявить набор переменных - уставок и заданий для рецептов
    2. объявить переменную - номер записываемого рецепта
    3. в целочисленной переменной для команд из вышестоящей системы выделить бит - строб записи рецепта

    И соответствующим образом записывать рецепты в саму ПР, а потом из облака только менять номер применяемого рецепта.

    У меня под рукой сейчас нет готового примера для записи времени наработки для трёх насосов - но идея записи будет именно подобной.
    Могу сделать за 30-40 минут, но работоспособность в ПР200 нужно проверять - больше работаю с ПР205, а они проще работают с энергонезависимыми переменными, т.е. навыки с ПР200 у меня слабее.

  4. #14
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,982

    По умолчанию

    через RapidScada можно такое организовать наверное. Или другую Scada. собственно смысл. Останавливаем ПР (программу), делаем несколько одинаковых команд, которые запишут всю пачку регистров, запускаем программу (ПР) с новыми данными. Тут важно, чтобы можно было в одну и ту же область записать разный набор данных. в Rapid это легко реализовать непосредственно при обмене с прибором. Насчет через облако, имея на хвосте ПМ210 или другой шлюз не пробовал.

  5. #15

    По умолчанию

    Я сохраняю рецепты в энергонезависимой самой ПР и другой командой извлекаю в сетевые.
    Owen1.jpg

  6. #16
    Пользователь
    Регистрация
    27.11.2011
    Адрес
    Краснодар
    Сообщений
    12,982

    По умолчанию

    EFrol ну у вас же переменных не так много. да и рецептов тоже. А если их будет 10-ок (рецептов) и каждый по 20-30 переменных ? Внутри ПР на FBD ?

  7. #17

    По умолчанию

    С рецептами никогда работать не доводилось, но из общих соображений сделал бы, как описал выше

    1. объявить набор переменных - уставок и заданий для рецептов
    2. объявить переменную - номер записываемого рецепта
    3. в целочисленной переменной для команд из вышестоящей системы выделить бит - строб записи рецепта

    И соответствующим образом записывать рецепты в саму ПР, а потом из облака только менять номер применяемого рецепта.

    Вот, как в примере - его ещё нужно дополнить проверкой номеров рецептов, т.к. из сети могут поступить недостоверные.
    Test_Recipes.owle

    По большому счёту, отличие от примера EFrol только в принудительном обнулении регистра команд и выбором номеров рецептов для использования и для записи при помощи отдельных переменных.

    И ещё - весть повторяющийся код ОБЯЗАТЕЛЬНО оформлять макросами - поможет сократить число опечаток.

  8. #18

    По умолчанию

    Цитата Сообщение от melky Посмотреть сообщение
    EFrol ну у вас же переменных не так много. да и рецептов тоже. А если их будет 10-ок (рецептов) и каждый по 20-30 переменных ? Внутри ПР на FBD ?
    Такая задача попадалась. Но там можно было вместо энергонезависимых регистров использовать просто константы.
    Портянка на FBD получилась масштабная.

  9. #19
    Пользователь Аватар для Сергей0308
    Регистрация
    25.06.2011
    Адрес
    Галактика Андромеды (M31)
    Сообщений
    9,433

    По умолчанию

    Я подобное делал и выкладывал на форуме! Там всё очень просто, в смысле, например для 16 рецептов: ставится мультиплексор на 16 входов и так на каждую переменную(уставку). Уставки(рецепты) хранятся в ПЗУ(константы). Чтобы можно было оперативно менять(редактировать) пару рецептом можно сохранить в энергонезависимой памяти ПР, у ПР 200 её не так много, всё!
    Короче, мне кажется, здесь минимум сложностей и ничего думать(придумывать) не надо, мультиплексоры должны быть в менеджере компонентов и я тысячу раз выкладывал на форуме, чуть ли не в каждом моём проекте встречаются.
    Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
    справиться с проблемами, либо это не твои проблемы.

  10. #20

    По умолчанию

    Спасибо всем, кто откликнулся. Склоняюсь к варианту с мультиплексорами. Только уставки не константы, а локальные переменные, их будут заносить уже на объекте.

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

Похожие темы

  1. Ответов: 16
    Последнее сообщение: 22.01.2025, 01:44
  2. Запрет обмена уставок пр200 сп307
    от lagutin в разделе Программируемые реле
    Ответов: 5
    Последнее сообщение: 21.07.2021, 16:58
  3. Реализация обмена по протоколу Modbus
    от antonkh в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 29.04.2019, 12:41
  4. Кнопки для уставок таймера ПР200
    от voronovskii_a в разделе Программируемые реле
    Ответов: 5
    Последнее сообщение: 08.11.2016, 19:48

Ваши права

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