Здравствуйте.
Пишу касательно механизма энергонезависимых переменных OwenLogic в привязке к ПР200.
Например, нужно наблюдать наработку устройства в секундах. Благо udint-тип в секундах - это порядка 140 лет непрерывного стажа.
Заводим соответствующую энергонезависимую переменную. Поскольку глобальные переменные из списка переменных OwenLogic доступны только на схеме, т.е. менять их изнутри функциональных блоков (ФБ) или функций невозможно (данный вариант ST не поддерживает указателей), только если помещать их в выходные блоки переменных, привязанные к var_output ФБ.
Прошу подтвердить/опровергнуть мои умозаключения:
1) Можно создать такую энергонезависимую переменную.
2) Поместить ее выходной блок переменной, привязанный к внутренней переменной var_output ФБ, где ведется подсчет наработки устройства.
3) Несмотря на то, что инкремент на единицу должен выполняться раз в секунду, ПР200 прогоняет свой цикл несколько раз за секунду. Это значит, что, в пределах этой секунды, искомой глобальной переменной, через выходной блок, будет присваиваться одно и то же значение, но это, в принципе, не важно.
4) Поскольку моя программа все же работает поверх или в рамках прошивки ПР200, момент присваивания энергонезависимой переменной какого-либо значения не вызывает непосредственно физический, пусть будет, прожиг, ячейки flash/EEPROM/NOR/ПЗУ-памяти, потому что сохранение энергонезависимых переменных выполняется прошивкой ПР200 самостоятельно только при отваливании с него питания. Таким образом можно свободно работать с энергонезависимой переменной, не опасаясь преждевременного износа flash-памяти прибора.




Ответить с цитированием
