Показано с 1 по 10 из 13

Тема: ПР200. Проверить макрос. Снова энергонезависимый счетчик наработки.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Dimensy Посмотреть сообщение
    А что сбрасывается в ноль? И зачем переменной "сброс" энергонезависимость?
    Это «защита»
    Переменная СБРОС в режиме энергонезависимости с настройкой по умолчанию 0 для того чтобы при инициализации программы, после запуска на приборе первый раз, не получить неоднозначного значения.
    Изменение этой переменой происходит на 1 цикл программы. В 99,999% она в состоянии 0.

    Сброс приходит от «внешнего» источника.
    Из общего макроса, который энергонезависимо проверяет наступление новых суток.
    Последний раз редактировалось Shiryaevo; 01.05.2023 в 11:39.

  2. #2

    По умолчанию

    Цитата Сообщение от Shiryaevo Посмотреть сообщение
    Это «защита»
    Переменная СБРОС в режиме энергонезависимости с настройкой по умолчанию 0 для того чтобы при инициализации программы, после запуска на приборе первый раз, не получить неоднозначного значения.
    Изменение этой переменой происходит на 1 цикл программы. В 99,999% она в состоянии 0.

    Сброс приходит от «внешнего» источника.
    Из общего макроса, который энергонезависимо проверяет наступление новых суток.
    Неоднозначности не будет, будет точно 0.

  3. #3

    По умолчанию

    Цитата Сообщение от 1exan Посмотреть сообщение
    Неоднозначности не будет, будет точно 0.
    может и так....
    программисты системы тоже люди
    и конденсаторы высыхают.
    привык "НЕ доверять/ перепроверять" входные параметры.
    иногда фанатично... издержки опыта создания промышленных систем

    Однако ж, вернемся к сути моего сообщения...

    На мой вопрос не получил пока ответа: "Является ли схема источником проблемы перезаписи "энергонезависимой" переменной при подаче напряжения?"

    Мое мнение: не является, потому что
    1) переменная "Секунды" в рамках первого цикла (первого просчета входов и выходов интеппретатором) сохраняет значение сама себя.
    2) Умножение на "0" возникает только в предусмотренных случаях.

    Что-то еще я не учитываю?

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

    И на второй вопрос:"Есть ли какие то особенности использования энергонезависимых переменных в маркосах?"

    Откуда второй вопрос?
    Мне не известны особенности реализации интерпретора на уровне ядра для коммутационных реле, но по общему правилу, если пользователь (разработчик кода для интерпретатора) использует вложенные процедуры (в данном случае макросы), то в стеке (интерпретатора) создаются локальные переменные (с локальной видимостью).
    Однако если в процедуре используется "энергонезависимая" переменная, это значит что разработчик интерпретатора должен предусмотреть управления такими переменными:
    - включать в цепочку (список/таблицу) таких же переменных ( с контролем доступности ресурса) - другими словами включать эти переменные в данные блока "управление записью и чтения из энергонезависисомй памяти"
    - при инициализации ядра (при включении прибора) восстанавливать цепочку с учетом того, что переменные являются локальными для нескольких экземпляров макроса.

    Та же мысль, но другими словами: реализация функции ядра по управлению локальными (для макроса) "энергонезависмыми" переменными задача не то чтобы сложная, но с учетом особенностей и разнообразия аппаратной начинки может потребовать высокой аккуратности и заметного времени на отладку.
    И, возможно, чтобы не связываться с этим (в первую очередь из-за времени на отладку интерпретатора), архитектор (руководитель разработки) ядра мог принято решение: "ПР200 - это не промышленный прибор, для его ценовой категории мы "сервис интерпретатора" поддерживать не будем"

    Меня "подталкивает" к этой мысли три факта:
    1) только ФБ (некоторые) содержат параметр "энергонезависимость" (возможно разработчик иннтерпретатора реализовал функцию с описанными выше особенностями только для фиксированного, контролируемого, списка блоков)
    2) Описанные в документации особенности использования локальных переменных функций (не макросов, / функций на скрит-языке)
    3) демонстрируемые Активистами форума примеры не "опускаются" на уровень макроса, то есть примеры приводятся на "главной" странице (реализация на "главной странице "не требует от разработчика интерпретатора вышеописанного функционала)

    Я сам могу проверить свою теорию на приборе.
    Но так как я не являюсь постоянным программистом для ПР200, то физически прибор ко мне попадает на короткие интервалы времени для исправления ошибок и внесения нового функционала.
    (сам экземпляр прибора выполняет свою боевую функцию в электрощите эксплуатирующей организации)

    Когда прибор будет у меня снова в руках, я сам проверю свою теорию
    Пока что обращаюсь к опыту сообщества и особенно к Активистам форума, за усилия которых мои искренние слова Благодарности!
    Последний раз редактировалось Shiryaevo; 01.05.2023 в 13:44.

Похожие темы

  1. ПР200. Проверить МАКРОС.
    от Shiryaevo в разделе Программируемые реле
    Ответов: 10
    Последнее сообщение: 09.04.2023, 22:25
  2. Энергонезависимый циклический счетчик
    от Stranger_121 в разделе СПК210, СПК1xx [М01]
    Ответов: 5
    Последнее сообщение: 14.09.2020, 11:44
  3. Как реализовать энергонезависимый счетчик?
    от Aleksey.KIP в разделе СПК2xx (архив)
    Ответов: 1
    Последнее сообщение: 04.07.2018, 12:59
  4. энергонезависимый счетчик импульсов
    от mitri4 в разделе Программируемые реле
    Ответов: 4
    Последнее сообщение: 16.02.2018, 09:04
  5. ПР200 счетчик времени наработки. Помогите новичку.
    от mitya1698 в разделе Программируемые реле
    Ответов: 18
    Последнее сообщение: 07.10.2016, 10:20

Метки этой темы

Ваши права

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