После заливки проекта в контроллер, при включении питания, переменная имеет значение = 1, а надо чтобы было = 0.
При выключении с дискретного входа, после выкл/вкл питание переменная сохраняет = 0, после повторного включения с дискретного входа и выкл/ вкл питание переменная сохраняет = 1.
При переменная на выходе с дискретного входа = 0, и запись из сети, то переменная = 1, после выкл/вкл питание состояние переменной = 0.
То есть не работает энергонезависимость сетевой переменной, а с дискретного входа работает.
Последний раз редактировалось evgenykip; 24.07.2023 в 12:56.
Тяжело с вами, вы даже написать не можете нормально, прочтите сами, я вообще ничего не понял.
Проверить работу энергонезависимой памяти можно просто добавив в RETAIN новую переменную, которая нигде не записывается, записать просто в неё руками число и проверить. Это вы можете сдалать?
Нужно в конфиг меню добавить переменную для проверки, или каким образом ?
Вы меня извините за недопонимание, но я кодесис всего две недели занимаюсь, с переменными вообще ничего не понятно, где читать тоже не понятно ...
По аналогии с овенлоджиком пытаюсь делать ...
В первом проекте, который я выкладывал, схема с тригерами ( они ведь тоже ретейн ) сохранение работало же .
И сейчас в вашей схеме, с дискретного входа тоже сохранение работает.
В общем, добавил в конфиг меню переменную конфигурационную, вывел на дисплей ( иначе она не появляется в меню прибора ), записываю кнопками значение в нее => выкл/вкл питание => значение сохраняется.
Переменные, ранее добавленные: X1, Y1, X2, Y2, X3, Y3, X4, Y4 ( конфигурационные переменные ) в меню конфигурации, пишутся по сети и кнопками, сохраняются после выкл/вкл питание прибора.
Последний раз редактировалось evgenykip; 24.07.2023 в 14:54.
1) Переменные в конфигурации слейва, являются глобальными и RETAIN.
2) Переменные которые не в конфигурации, что бы стали RETAIN, объявляют так 1 RETAIN.jpg Заметьте, ей присвоена 1 и при первом включении, будет 1. А при последующих, что присвоите в работе. Если нужен 0, то убрать присвоение 1.
3) Если переменные сохраняются (Хоть одна), значит RETAIN работает (запись значения при выключении питания).
А конкретная переменная ST1 не сохраняется, значит её при включении перезаписывает или мастер или ваша программа. Надо найти откуда.
4) Ввод новой переменной ST1_ret для этого и сделан. В работе в неё записывается из ST1.
А при перезагрузке из ST1_ret записывается в ST1.
Так как вы всё время утверждаете, что RETAIN не работает, а оказывается, все остальные переменные сохраняются.
Последний раз редактировалось kondor3000; 24.07.2023 в 15:44.
Короче проверил верхнюю часть кода на другом ПЛК. Код из проекта 2_3.
1) Состояние самих кнопок не сохраняется, но переменная ST1 сохраняется в конфигурации.
2) Инициализацию можно выбросить, всё равно ST1 перезаписывает ST1_ret. И переменную ST1_ret тоже выбросить.
3) ST1 управляется и по сети и с кнопок, соответственно при перезагрузке остаётся предыдущее состояние.
То есть всё работает.1 Тест 1.jpg
Последний раз редактировалось kondor3000; 24.07.2023 в 21:29.