Ещё бы добавил про инициализацию массива структур с одинаковыми значениями с неочевидными скобками astB: ARRAY [1..10] OF stB:=[10((xV1:=TRUE,xV2:=FALSE))]; Спасибо за видео! Было бы интересно ещё что-нибудь узнать про 1) способы/инструменты/методы автоматизации разработки в codesys. 2) Применение ООП, скриптов и интерфейсов codesys, но мб это можно отнести к первой теме 3) Ниже человек писал про выгрузку / загрузку файла содержащего переменные мне тоже было бы интересно
для модулей дискретных входов и выходов наверное лучшем решением обьявить массивы в программе и присвоить их так как если менять вышедший по любым причинам модуль к примеру на 32 входа назначить присвоить одну переменную вместо нужного присвоения 32-х
Спасибо, Евгений. Было бы не плохо ещё пример с массивами переменной длины. Как будет выглядеть при объявлении их вх/вых переменными функции, ФБ и самое интересное в методе. В 61131-3 и справке КС3.5 пример только на функцию.
Предлагаю тему: Работа с библиотекой caa device diagnosis. Диагностика периферии (AO, AI, DI, DO) : получения диагностической информации с модулей (например с 750-466 2AI :)
@@CodesysOneLove Ну и вопросов с диагностикой AI 750-466 нет , там используется для передачи значения b3-b14, а b0-b2 для диагностики = 011 - ниже 4 ма, 001 выше 20ма
@@ОлегПфлюг-к3ц CAA Device Diagnonis - это вообще универсальная низкоуровневая библиотека для коммуникационных драйверов. Про WAGO первым написали вы, а не я. Показывать работу библиотеки на примерах драйверов самого CODESYS (типа EtherCAT и т.д.) я не вижу смысла, так как пользователю предоставлены уже более высокоуровневые и удобные средства их диагностики.
@@CodesysOneLove Ну,например,затрагивая эту тему-считывание при старте контроллера значений из файла и запись в структуру или массив структур,сохранение тех же массивов структру в файл.
Я вот думал куда вопрос задать, это вроде не структура, а соккет. Для какой цели в одном проекте 2 дивайся, в CS можно добавить к имеющему проекту для PLC210 хоть SPK1xx.
Подскажите пожалуйста как лучше всего собирать один крупный массив из нескольких более мелких? к примеру есть массив а[0..4], b[0..9] и из них надо в один цикл программы собрать массив с[0..14]. перебирать по одному элементу не вариант, вопрос в сборке именно за один цикл
В принципе, перебор в цикле FOR тоже будет выполнен в одном цикле программы. Но удобнее использовать функции из библиотеки CAA Memory - в частности, MemMove.
Евгений, благодарю за очень полезное видео. Вопрос. Если массив или структуру инициализировать в блоке RETAIN переменных, то при включении контроллера какие значения будут выводиться? Начальные или последние, которые запомнил ПЛК?
Рекомендую вам пройти курс - там рассматриваются оба этих типа: stepik.org/course/123987/promo Если коротко: массив - это набор данных одного типа (например - набор уставок типа REAL: ARRAY [1..10] OF REAL), а структура - набор данных разных типов (например, структура параметров одной точки измерения: название точки в WSTRING, значение величины в REAL, флаг ошибки в BOOL и т. д.)
Спасибо, оказалось очень полезное видео. Не знал ранее про графический редактор.
ВЫ Супер!!! Спасибо!!!
Спасибо, ждем еще разборов
Ещё бы добавил про инициализацию массива структур с одинаковыми значениями с неочевидными скобками
astB: ARRAY [1..10] OF stB:=[10((xV1:=TRUE,xV2:=FALSE))];
Спасибо за видео! Было бы интересно ещё что-нибудь узнать про 1) способы/инструменты/методы автоматизации разработки в codesys.
2) Применение ООП, скриптов и интерфейсов codesys, но мб это можно отнести к первой теме
3) Ниже человек писал про выгрузку / загрузку файла содержащего переменные мне тоже было бы интересно
По 1) - можете более конкретно написать, что бы вам было интересно?
для модулей дискретных входов и выходов наверное лучшем решением обьявить массивы в программе и присвоить их так как если менять вышедший по любым причинам модуль к примеру на 32 входа назначить присвоить одну переменную вместо нужного присвоения 32-х
Спасибо, Евгений. Было бы не плохо ещё пример с массивами переменной длины. Как будет выглядеть при объявлении их вх/вых переменными функции, ФБ и самое интересное в методе. В 61131-3 и справке КС3.5 пример только на функцию.
Такой пример у меня был, но именно с функцией: ua-cam.com/video/yUd4KYcO97c/v-deo.html
Но с ФБ и методами - все совершенно аналогично.
Предлагаю тему: Работа с библиотекой caa device diagnosis. Диагностика периферии (AO, AI, DI, DO) : получения диагностической информации с модулей (например с 750-466 2AI :)
Да, хорошая тема. Привозите PFC200 и любой модуль (на неделю-две, потом вернем) - и такое видео появится.
@@CodesysOneLove caa device diagnosis это библиотека для многих модулей не только для Wago)
@@CodesysOneLove Ну и вопросов с диагностикой AI 750-466 нет , там используется для передачи значения b3-b14, а b0-b2 для диагностики = 011 - ниже 4 ма, 001 выше 20ма
@@ОлегПфлюг-к3ц CAA Device Diagnonis - это вообще универсальная низкоуровневая библиотека для коммуникационных драйверов. Про WAGO первым написали вы, а не я. Показывать работу библиотеки на примерах драйверов самого CODESYS (типа EtherCAT и т.д.) я не вижу смысла, так как пользователю предоставлены уже более высокоуровневые и удобные средства их диагностики.
@@CodesysOneLove Не, не отрицаю что я тему про ваго начал. Без претензий. Спасибо за ответы.
Очень полезно.хотелось бы увидеть видео по работе с файлами.
А можете подробно описать, какие аспекты работы с файлами вам наиболее интересны? На каком примере вы рекомендуете это рассмотреть?
@@CodesysOneLove Ну,например,затрагивая эту тему-считывание при старте контроллера значений из файла и запись в структуру или массив структур,сохранение тех же массивов структру в файл.
@@eugeneberdnik6295 речь о файле с бинарными данными?
@@CodesysOneLove мне было бы интересно увидеть про работу с файлами csv и еже с ними.
@@eugeneberdnik6295 понял, запишу себе на будущее.
Я вот думал куда вопрос задать, это вроде не структура, а соккет. Для какой цели в одном проекте 2 дивайся, в CS можно добавить к имеющему проекту для PLC210 хоть SPK1xx.
В состав АСУ может входить несколько контроллеров - и поэтому в проекте CODESYS можно добавить несколько устройств.
Няшка
Всё перерыл, но не нашел, как каждому элементу массива сделать разный комментарий. У шнайдер в Unity Xl pro и Control Expert такое есть, очень удобно
Такой возможности, к сожалению, нет.
Подскажите пожалуйста как лучше всего собирать один крупный массив из нескольких более мелких? к примеру есть массив а[0..4], b[0..9] и из них надо в один цикл программы собрать массив с[0..14]. перебирать по одному элементу не вариант, вопрос в сборке именно за один цикл
В принципе, перебор в цикле FOR тоже будет выполнен в одном цикле программы. Но удобнее использовать функции из библиотеки CAA Memory - в частности, MemMove.
Евгений, благодарю за очень полезное видео.
Вопрос. Если массив или структуру инициализировать в блоке RETAIN переменных, то при включении контроллера какие значения будут выводиться? Начальные или последние, которые запомнил ПЛК?
Последние, которые запомнил ПЛК.
Так и не понял различия между массивами и структурами, кто бы смог объяснить их принципиальное различие и примеры где и в каких целях их использовать?
Рекомендую вам пройти курс - там рассматриваются оба этих типа: stepik.org/course/123987/promo
Если коротко: массив - это набор данных одного типа (например - набор уставок типа REAL: ARRAY [1..10] OF REAL), а структура - набор данных разных типов (например, структура параметров одной точки измерения: название точки в WSTRING, значение величины в REAL, флаг ошибки в BOOL и т. д.)