Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 25 из 25

Тема: Запись и чтение переменных BOOL со slave устройства. ПОМОГИТЕ!

  1. #21

    По умолчанию

    Вот только подскажите как сделать проверку этих ключевых переменных на 0 и запись в них безопасных значений? Хотя бы пример приведите, а то пока с таким не сталкивался. Заранее спасибо.

  2. #22
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от Алексей КИПОВЕЦ Посмотреть сообщение
    Исходя из вашей рекомендации сделал панель мастером сети, ПЛК-100 slave, добавил в конфигурацию ПЛК-100 модуль statistic для отслеживания Power status контроллера ПЛК-100. Сделал небольшую программку для записи ключевых уставок регуляторов в retein при выключении контроллера от сети. Скирин программы прикладываю.
    Вы думаете, что retein переменные объявленные явно, в программе хранятся в каком-то другом месте чем неявно объявленные перемеренные в модуле слейв?
    Масло - масляное хранить одни retein переменные в других retein переменных.

    Достаточно, сделать хранение уставок в PFW регистрах панели, при включении панели - однократная запись всех в регистры ПЛК и забыть про проблему retein переменных(батарейка) в ПЛК.
    Последний раз редактировалось petera; 22.06.2020 в 15:14.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #23
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Вот Вам инструкция, как реализовать хранение уставок в PWF, копировать ВСЕ из панели в ПЛК при включении питания и копировать по одной при изменении оператором на экране https://owen.ru/forum/showthread.php...l=1#post316048
    Последний раз редактировалось petera; 22.06.2020 в 15:14.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  4. #24

    По умолчанию

    Спасибо большое разобрался. В вашем примере все очень просто.

  5. #25
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Алексей КИПОВЕЦ
    Вот только подскажите как сделать проверку этих ключевых переменных на 0 и запись в них безопасных значений? Хотя бы пример приведите, а то пока с таким не сталкивался.
    Как делаю я в связке Панель-мастер\ПЛК-слейв:
    1. Все переменные, объявленные в соответствующем порту ПЛК-слейв по умолчанию являются ретайн.
    2. При перепрошивке\сбросе ПЛК они теряются, т. е. сбрасываются в нули (но остаются при выключении\включении ПЛК).
    3. Для того, что бы избежать запуска установки\машины с неправильными (нулевыми) уставками\параметрами делаю проверку следующим образом:
    В ПЛЦ_ПРГ:
    Код:
    var
    init:bool; (*Флаг первичной инициализации, при включении ПЛК он всегда FALSE. Обычная BOOL-переменная*)
    end_var
    ---
    Код:
    (*В самом начале ПЛЦ_ПРГ*)
    IF NOT init THEN (*Если init не TRUE, то делаем далее*)
    FirstInit(); (*Вызов программы первичной проверки и  инициализации*)
    init:=TRUE; (*Присваиваем TRUE, что бы больше не было вызова FirstInit до следующего перевключения\перезагрузки ПЛК*)
    END_IF;
    IF RecoveryFlag THEN (*Переменная BOOL GLOBAL*)
    ==Делаем вызов всплывающего окна с предупреждением о сбросе значений переменных к значениям по умолчанию==
    ==Сбрасываем RecoveryFlag в FALSE по подтверждению и закрытию окна==
    END_IF;
    -------
    Создаем ПОУ FirstInit на ST
    В секции VAR переменные не нужны, т. к. все используемые переменные, объявленные в соответствующем порту ПЛК-слейв по умолчанию являются так же и GLOBAL
    ----
    Код:
    PROGRAMM FirstInit
    (*Тело программы*)
    IF Var1=0 AND Var2=0 AND Var3=0 THEN (*Var1..Var3 - переменные, объявленные в соответствующем порту ПЛК-слейв, которые по 
    логике работы установки по определению НЕ могут иметь нулевое значение. Обычно нескольких переменных достаточно, 
    что бы понять, что произошел сброс в нули всех переменных в регистрах ПЛК-слейв*)
    Var1:=*некое безопасное значение 1*;
    Var2:=*некое безопасное значение 2*;
    .
    .
    VarN:=*некое безопасное значение N*;
    RecoveryFlag:=TRUE; (*Флаг факта сброса значений переменных в значения по умолчанию. 
    Можно использовать для вызова всплывающего окна на Панели с предупреждением и 
    квитированием(закрытие окна и сброс флага*)
    END_IF;
    -------
    Преимущества данного способа:
    1. Все сохраняемые переменные находятся в одном месте, что удобно при отладке на реальной установке.
    2. При потере связи с Панелью ПЛК работает со значениями переменных, оставшихся в регистрах на момент потери связи.
    3. Функции Панели сокращаются только до отображения и изменения переменных, т. к. всю математику (масштабирование и пр) можно делать в ПЛК.
    ---
    Не претендую на идеологическую правильнось и кошерность, просто делюсь опытом, который применял на практике.
    Последний раз редактировалось Sulfur; 23.06.2020 в 12:21.

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. сп307 в режиме Slave чтение и запись PSB
    от Brandon_heat_dre в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 12.10.2019, 15:34
  2. Ответов: 54
    Последнее сообщение: 11.09.2017, 10:56
  3. СП270 Slave. Чтение и запись регистров PFW
    от petera в разделе Панели оператора (HMI)
    Ответов: 4
    Последнее сообщение: 02.05.2015, 18:36
  4. Чтение/запись переменных
    от Safron в разделе Master SCADA 3
    Ответов: 13
    Последнее сообщение: 22.09.2014, 15:47
  5. чтение переменных типа Bool в панели сп270
    от @le][ в разделе Панели оператора (HMI)
    Ответов: 1
    Последнее сообщение: 29.11.2009, 01:04

Ваши права

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