еще одна интересная особенность - когда нажимаешь "сброс" на корпусе ПЛК retain-ы сбрасываются в НУЛИ
я извиняюсь, может РП невнимательно прочитал, но не нашел как отключить действие переключателя "сброс"
еще одна интересная особенность - когда нажимаешь "сброс" на корпусе ПЛК retain-ы сбрасываются в НУЛИ
я извиняюсь, может РП невнимательно прочитал, но не нашел как отключить действие переключателя "сброс"
Никак. Если нажимаете сброс - значит что-то пошло не так. Просто так сброс не жмут.
Тролль-наседка, добрый, нежный и ласковый
Ритейны в ПЛК110 М02 инициализируются в ноль если выполнена следующая последовательность:
1)В ПЛК не было программы. Подача питания, подключение, загрузка программы в ПЛК, создание загрузочного проекта.
2)Далее сброс по тумблеру =>тогда инициализация в ноль
Для того, чтобы ритейны сохранились, необходимо после первой загрузки проекта сбросить ПЛК по питанию . После этого сброс по тумблеру не приводит к инициализации ритейнов в ноль
большое спасибо
Есть еще один вариант, перевести "трехпозиционный переключатель" в положение "СТОП" и включить ПЛК. И все переменные, объявленные как retain, сбросятся в ноль.
Вообще-то, о таких вещах в мануалах писать надо.
Последний раз редактировалось monteg; 16.09.2016 в 14:24.
У меня всё равно приводит к сбросу retain (ПЛК110-60М02, m02v0.3.53). А вот проект остаётся: если перключить тумблер в "Работа", то при следующем включении работает загруженный проект.
Но Сброс retain-переменных по сбросу это ладно, а вот по "Стоп" (если случайно на объекте переключили в "Стоп" и включили питание) - действительно беда. Кроме как термоклеем этому нельзя никак противостоять программно? Типа модуля "Button" в конфигурации предыдущей версии контроллера? Может, что-то вроде записи переменных не с модификатором RETAIN, а по указателю по адресу, где живёт MRAM, или ещё как-то?..
Или там всегда при условии положение "Стоп" и выключение питания (если успеть после включения перевести в "Работа", то переменные сохраняются, но ведь обычно на объекте - "Ой, не работает, выключаем всё") вся MRAM всегда затирается нулями?
Да во флеше не хочется хранить, когда есть замечательная для таких применений (на самом деле) память MRAM... В старых проектах у меня флеш используется без RETAIN, так как там тоже с ней проблемы были (из-за аккумулятора или ещё чего, уже не помню, - принял решение там RETAIN не использовать).
Последний раз редактировалось SuP; 27.11.2016 в 21:00.
Список файлов из М02:
filedir
Journal.dat
local_addres.dat
debug.txt
DEFAULT.PRG
DEFAULT.CHK
DOWNLOAD.SDB
Или речь про старый? Там понятно, что в файл пишут. Ну, а я пишу в свой файл по своим правилам.
Потому что можно упростить часть программы, используя Retain, и повысить заодно надёжность, т.к. используется более надёжная память. Но, увы, менее надёжными механизмами.
В новом ПЛК110 retain.bin уже не создаётся. Собственно, список файлов я постил из этого тестового проекта, которым пытался проверить табличку из раздела "Реманентные переменные" файла "CoDeSys_V23_RU.pdf". Проверка показала, что любой тип RETAIN сбрасывается...
Последний раз редактировалось SuP; 27.11.2016 в 22:07.
Если бы всё это было бы просто водой, стекающей с чайного листа после дождя, то можно было бы созерцать, пока не стечёт, и потом только сорвать этот лист. Но здесь мы имеем дело с "чёрным ящиком" (компанией ОВЕН), с которой не всегда предсказуемо, когда и что будет сделано. Тем более в случаях, когда уже вроде бы и сделано, но...