Во второй вид Ретейн хорошо делать сохранение часов наработки к примеру или ещё какие-то сервисные параметры который не должны терятся на оборудовании из-за сбоя программы или тд
@ОчиченкоНикита Жыл бұрын
Спасибо, очень полезная информация! Подача как всегда на уровне.
@МаксимРузов-ъ1у Жыл бұрын
Хотелось бы разобраться с методами (не нашёл про это почти ничего) и курс работы с библиотеками. Ролик замечательный, спасибо Вам за труды!
@CodesysOneLove Жыл бұрын
Насчет методов - можете, например, в этом документе посмотреть примеры их создания и использования: ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf А насчет "курса работы с библиотеками" - можно подробнее? Какие библиотеки вас интересуют?
@nikitagorkovenko6544 Жыл бұрын
Спасибо, как всегда информативно и структуироаано. Хотелось еще добавить к видео поведение Retain И Persistent Retain переменных при их локализации (AT Declarations). Как одновременно иметь локализованных переменные и в тоже время энергонезависимые. Спасибо!
@CodesysOneLove Жыл бұрын
Это хороший вопрос. Я в принципе рекомендую избегать прямых адресов (AT Declarations), поэтому не уделил ему внимания. Документация в этом вопроса однозначна - в области RETAIN нельзя использовать AT-адресацию ("An assignment of inputs, outputs, or memory addresses with the AT keyword is not permitted."). content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_var_retain.html В вашем случае можно использовать функционал рецептов - на канале есть отдельный плейлист на эту тему.
@Glukonic Жыл бұрын
Не всегда рецепты подходят к примеру пропало питание на длительное время, а контроллер электрическлй печью управляет и нет смысла делать через рецепты если уставки меняются сравнительно не часто и их количество не меняется одновременно. Спасибо за видео, я конечно понял, но послушать ни когда не лишнее, думаю просмотрев видео до конца я что-то новое почерпну для себя.
@mikhailborzykh1506 Жыл бұрын
Добрый вечер. Спасибо за интересный ролик. Я хотел бы узнать об Persistance Manager. Использование которого даёт возможность создавать структуру данных где определённые вариабле могут быть перзистент
Добрый день. Спасибо за качественный контент. Подскажите, пожалуйста, что будет с retain переменными, если обновить boot application без codesys, а с помощью файлового менеджера?
@CodesysOneLove Жыл бұрын
Добрый день. Применительно к нашим ПЛК (где эта ситуация обрабатывается стандартным механизмом CODESYS) - новое приложение не загрузится из-за ошибки контрольной суммы RETAIN-памяти (простыми словами - рантайм "поймет", что текущий слепок RETAIN-памяти не соответствует загруженному приложению). Поэтому, например, в наших скриптах при загрузке проекта с USB или SD RETAIN-память полностью зачищается перед копированием нового приложения в память контроллера.
@slayzay Жыл бұрын
Спасибо, полезно! О чем хотелось бы посмотреть: разобрать пример записи лога аварий на флешку. Чтоб велась накопительная история событий. Codesys 2.3 делал, по вашим примерам и сдал объекты. Codesys 3.5 пока нет, требует времени
@CodesysOneLove Жыл бұрын
Вопросу записи данных в файлы посвящен целый документ: ftp.owen.ru/CoDeSys3/11_Documentation/03_3.5.11.5/CDSv3.5_Archives_v3.0.pdf Примеры там есть. Видео о работе с файлами тоже есть на канале.
@slayzay Жыл бұрын
@@CodesysOneLove Спасибо!
@mad_donda Жыл бұрын
Приветствую, особенность retain переменных в ФБ это фишка ОВЕН, или codesys в общем? Спасибо).
@CodesysOneLove Жыл бұрын
Это фишка самого CODESYS.
@MaximAndri Жыл бұрын
Правильно ли я понял, что в программе не надо контролировать частоту изменений persistent переменной, так как запись все равно будет происходить 1 раз в секунду и это не приведет к износу памяти? А если значение переменной не изменится, то и запись не будет происходить раз в секунду?
@CodesysOneLove Жыл бұрын
Да, но это касается именно ПЛК ОВЕН. В других контроллерах может быть другая реализация RETAIN.
@Glukonic Жыл бұрын
По поводу идей для видео - я бы хотел немного узнать об 2-3х устройств в одном проекте (соккетами вроде это называется на одном из вэбинаров вскользь касались этой темы) узнать это на примере связки ПЛК210 и СПК1xx - плюсы и минусы если одно из устройств будет необходимо временно обесточить (мусор в виде отчёта об ошибках и избежания ситуаций с опросом устройства пока оно спит) Спасибо. Пока что-то особо не знаю что предложить, если только рассказать про обьект AxisGroup (я так понимаю что это идеально подходит для Серводрайверов все параметры или частотников в коопе с серводвигателями)
@CodesysOneLove Жыл бұрын
По первому вопросу - на том вебинаре не "касались вскользь", а демонстрировался конкретный пример: kzbin.info/www/bejne/Y368k3h5rJ6CqtU Насчет описанной ситуации про обесточивание не понял - лучше задайте этот вопрос на нашем форуме, более подробно описав, что именно вас интересует. По второму вопросу - наши контроллеры не поддерживают AxisGroup, так что нем могу ничего про него рассказать.
@apple_wow6016 Жыл бұрын
Вопрос про сохранение и восстановление Persistent переменных. Как выбрать переменные которые нужно сохранить , не все а только те что выбрал ?
@CodesysOneLove Жыл бұрын
Если я правильно понял вопрос и он касается момента на 14:45 - то в группе рецептов PersistentVariables в рецепте PersVars нужно для тех переменных, которым не нужно восстанавливать значения, сделать пустые ячейки.
@apple_wow6016 Жыл бұрын
@@CodesysOneLove вопрос касается момента 18:50. Там показывается как сделать слепок Persistent переменных. Можно ли как то выбрать те переменные которые мне нужны для сохранения, а не все Persistent?
@CodesysOneLove Жыл бұрын
@@apple_wow6016 нет, в этом случае в файле сохраняется полный слепок энергонезависимой памяти (включая все RETAIN- и PERSISTENT-переменные).
@Созидатель-п6х4 ай бұрын
Добрый день. Подскажите, пожалуйста, чем отличаются теплый (WARM) старт и холодный (COLD) старт, кроме как в связи с поведением RETAIN- переменных? И перезагрузка ПЛК отключением автомата, это что: теплый сброс, холодный сброс, пообще не сброс в данном смысле?
@CodesysOneLove4 ай бұрын
Добрый день. Других отличий нет.
@Созидатель-п6х4 ай бұрын
@@CodesysOneLove спасибо!
@Glukonic Жыл бұрын
Хотел по поводу тем, возможно интересно будет пояснить чем кардинально отличаются методы, к примеру метод добавили а внизу в ПРГ написали ACT(); к примеру, что интересного можно указывать между скобками, какой метод более лучше для начала если хочется просто не путаться в коде и разбить логику на компоненты оборудования и исключать по булевой переменной ненужный метод (про отключения узлом мастером шикарно и понятно была рассказано, там имя узла выбирать и энейбл вроде очевидно, но очевидно для проффи) Разбил на несколько указал в список SD_copy_USB (); и другие в этом духе, а вот сейчас думаю, а вот выйдет из строя пчв или почистить его, я исключу его из опроса, а хочется что-бы в коде контроллер не трогал переменные - не знаю интересно ли это народу, так что это мысли так сказать в комментариях. Спасибо.
@CodesysOneLove Жыл бұрын
Между скобками можно указать аргументы метода - точно так же, как это делается для функции.
@alexanderfilin43469 ай бұрын
Как добавлять переменные из структур в энергонезависимую память?
@CodesysOneLove9 ай бұрын
Не получится. Только экземпляр структуры целиком. Или изворачиваться - например, вместо переменной в структуре объявлять указатель на нее, и передавать при инициализации в него адрес RETAIN-переменной.
@Glukonic Жыл бұрын
а можно щи в ПерсистенВар врисывать начальные переменные ? - что-бы при заливке проекта на новый контроллер не были нули
@CodesysOneLove Жыл бұрын
Да, можно.
@Glukonic Жыл бұрын
@@CodesysOneLove спасибо, я тогда уставки из Ритейн в список Персистем перевиду. P/S надеюсь попаду на Вэбинар, на днях зарегистрируюсь.
@ОлегПфлюг-к3ц Жыл бұрын
Вопрос по кодесисту 3.5 в свойствах fb или POU есть галочка внешняя реализация. Что за зверь и как ее пользовать?
@CodesysOneLove Жыл бұрын
Эта галочка нужна, когда вы создаете библиотеку на языке ANSI C, которую потом планируете использовать в CODESYS. Чтобы узнать, как ее использовать - приходите к нам работать (или к другому производителю, который разрабатывает ПЛК с рантаймом CODESYS).
@ОлегПфлюг-к3ц Жыл бұрын
@@CodesysOneLove спасибо за ответ. Может подскажите как посмотреть на что она ссылается?)
@CodesysOneLove Жыл бұрын
@@ОлегПфлюг-к3ц я не понимаю вопроса, извините.
@gtfox66316 ай бұрын
Не смотря на то, что вам не нравится ретейн в фб, рассказать как это делается и об конфигурационных переменных можно было бы.
@CodesysOneLove6 ай бұрын
Я не говорил, что мне "не нравится ретейн в фб" - лишь описал, какие последствия имеет такой подход. Фраза "рассказать как это делается " тоже не очень понятна. Чтобы использовать ретейн в ФБ - достаточно добавить в области объявления блока секцию VAR RETAIN. Больше рассказывать, на мой взгляд, тут нечего. Что касается "конфигурационных переменных" - если речь о VAR_CONFIG, то они не имеют отношения к RETAIN.
@gtfox66315 ай бұрын
@@CodesysOneLove да, прошу прощения, это я смешал в кучу ретейн и конфигурационные переменные... В овене нет такой функциональности, чтобы объявить назначенные конфигурационные переменные как ретейн (при этом весь FB не попадает в ретейн) А возможно такое было в ваго, где область регистров модбас была ретейном и по этим же адресам можно было прописать конфигурационные переменные из ФБ (причем не используемые переменные прописывались на один адрес и экономили кучу места)
@КонстантинФедоров-о3л6 ай бұрын
Можно ли персистент переменные сохранять через код программы?
@CodesysOneLove6 ай бұрын
Поясните причину вашего вопроса, пожалуйста, чтобы я смог точнее на него ответить.
@КонстантинФедоров-о3л6 ай бұрын
@@CodesysOneLove Как я понял, персистент переменные можно сохранять лишь вручную в персистент варс, через рецепты, также восстановить. А есть ли возможность автоматически их сохранять через код программы?
@CodesysOneLove6 ай бұрын
@@КонстантинФедоров-о3л нет, это не так. Кратко повторю некоторые тезисы из видео: Механизм сохранения PERSISTENT-переменных может быть разным и зависит от конкретного контроллера; в контроллерах ОВЕН они сохраняются автоматически, как и RETAIN - при изменении любой из относящихся к ним переменных, но не чаще раза в секунду. То, что касается рецептов - это просто возможность сохранить "слепок" текущих значений PERSISTENT-переменных на ПК (например, для дальнейшего анализа).
@КонстантинФедоров-о3л6 ай бұрын
@@CodesysOneLove Мне как раз таки и нужно автоматически сохранять переменные персистент в рецепты. Для этого требуется библиотека Recipe Management или есть, также возможность обратиться через библиотеку CmpApp?
@CodesysOneLove6 ай бұрын
@@КонстантинФедоров-о3л В данном случае потребуется именно Recipe Management. CmpApp для вашей задачи не подойдет.