Вход

Просмотр полной версии : RETAIN в ПЛК63



Hemann
15.07.2016, 21:12
Коллеги, приветствую!

В рамках повышения своего технического уровня решил поиграться со случайно нашедшимся ПЛК63. Написал несколько пробных программок и столкнулся с тем, что переменные, объявленные как RETAIN в PLC_PRG не запоминаются. Программка - в прикреплении. Смысл ее такой - в рабочем режиме с помощью SubMenu вводятся 2 конфигурационные переменные (с их энергонезависимостью проблем нет), а в монопольном режиме посредством функций из библиотек Ind_Mode и Work_Mode также вводятся 2 переменные, которые объявлены как RETAIN. Так вот эти переменные после выключения-включения питания не сохраняются. В чем косяк? Может просто в батарейке? Или в проге?

Валенок
15.07.2016, 23:48
1.Делаешь прогу :
var retain
i : int;
end_var
---
; (*это код*)

2.Грузишь (*с очисткой, завод.сбросом..)
3.Руками пишешь в i что-нить <> 0
4.Дергаешь питание
5.Соединяешься
6.Смотришь на i и находишь ответ

Hemann
18.07.2016, 17:32
Ага, спасибо, сразу не допетрил так сделать, т.к. в первую очередь грешу на себя. Сейчас попробовал - данные не сохраняются. Завтра поменяю батарейку - еще раз проверю

lara197a
18.07.2016, 18:33
в ветках переменные сохраняются.
всего 448 байт можно сохранить.

ASo
18.07.2016, 18:35
Ретайн в ПЛК63 не связаны с батарейкой.
Там чисто немаскируемое прерывание от БП при пропадании питания и запись во флэшь по остаткам заряда конденсаторов БП.

Hemann
24.07.2016, 16:01
Как-то закрутился на объекте на пусконаладке, так что батарейку так и не поменял. :) Но коллеги подсказывают, что дело не в батарейке. Открыл ПЛК - конденсаторы похожи на живые, хотя, конечно, внешний вид - не показатель исправности. Так что нужно еще подумать. К коду программы вопросов нет? Нигде я не накуролесил?

Филоненко Владислав
25.07.2016, 10:24
сколько лет ПЛК?
Простой код,как Валенок писал, пробовали?