86. Ссылки (REFERENCE TO)

  Рет қаралды 1,825

CodesysOneLove

CodesysOneLove

Күн бұрын

Пікірлер: 17
@nik01aich
@nik01aich Жыл бұрын
спасибо за ссылку на статью про ссылки))
@mutalexander
@mutalexander Жыл бұрын
Спасибо! Отличное видео! Разобраны все моменты, с которыми пришлось ранее столкнуться при изучение ссылок и их отличия от указателей.
@CodesysOneLove
@CodesysOneLove Жыл бұрын
Спасибо за предложенную тему. =)
@zardosim7339
@zardosim7339 Жыл бұрын
Указатели перешли из "C". Тяжело они до меня до ходили, т.к. весьма абстрактны. А вот в ассемблере они очень понятны, т.к. он прозрачен. За видио спасибо. Покурю).
@СуНаиль
@СуНаиль Жыл бұрын
Автор, было бы интересно рассмотреть работы со счетчиками через прерывания, работу энкодера так же. В Инете вообще нет видео по аппаратной теме прерывании по всяким событиям.
@CodesysOneLove
@CodesysOneLove Жыл бұрын
Я с вами полностью согласен - это было бы интересно. Но у наших ПЛК c CODESYS V3.5 "прерывания" (ExternalEvent в терминах CODESYS) пока что не поддержаны. Если в будущем мы поддержим такой функционал (я надеюсь, это произойдет - у нас довольно много запросов от клиентов на управление шаговыми двигателями, работу с энкодерами и т.д) - то я обязательно сделаю видео.
@MikeTroitskiy
@MikeTroitskiy Жыл бұрын
Давно эта тема интересовала, спасибо!
@Alexandr_Nazarov
@Alexandr_Nazarov 5 ай бұрын
Про пример индексного доступа через указатель. В коде для CDS2.3, наверное, строку изменения адреса надо сделать второй. Иначе если массив в коде вызова индексируется с 0..(iElementArray -1), то элемент массива с индексом "0" будет пропущен, так как указатель при вызове функции будет указывать на первый элемент массива.
@Alexandr_Nazarov
@Alexandr_Nazarov 5 ай бұрын
В CDS3.5, как выяснилось, обращение к массиву через Указатель происходит с начального индекса "0", независимо от диапазона индексов реального массива. Т.е если реальный массив имеет индексы 10..100, то значения индексов через Указатель должны быть 0..90. Из видео это не очевидно.
@CodesysOneLove
@CodesysOneLove 5 ай бұрын
@@Alexandr_Nazarov спасибо за cправедливое замечание.
@Alexandr_Nazarov
@Alexandr_Nazarov 8 ай бұрын
Честно говоря не понял (начало видео) почему указателю prDataArrya, который указывает на адрес первой и единственной переменной типа Real, а не на массив Real, и как к этому указателю применить индекс. Или на это надо смотреть с точки зрения предположения повторяемости однотипных переменных начиная с указателя на первый их элемент в случае применения индекса? prDataArrya: POINTER TO Aarray [1..100] of REAL? Поясните пожалуйста.
@CodesysOneLove
@CodesysOneLove 8 ай бұрын
"На это надо смотреть с точки зрения предположения повторяемости однотипных переменных начиная с указателя на первый их элемент в случае применения индекса" - совершенно верно.
@ОлегПфлюг-к3ц
@ОлегПфлюг-к3ц 3 ай бұрын
Здравствуйте. Допустим добавили в проект устройства модбас мастер, библиотека HCFA. Дали ему имя - master. Добавили слейф, имя slave. Далее канал имя ReadW. У него есть параметр с именем input и скорей всего структура размером в 9 слов (word) . Если правильно понимаю, выделяется ресурс, подключается исполнительный код вот это всего. Возможно ли получить ссылку на параметр input ?
@CodesysOneLove
@CodesysOneLove 3 ай бұрын
Добрый день. Я не видел библиотеки, о которой вы говорите, так что затрудняюсь сходу ответить. Можете связаться со мной в понедельник по почте (e.kislov@owen.ru) и прислать ваш телеграм - можно пообщаться там по этому вопросу.
@ОлегПфлюг-к3ц
@ОлегПфлюг-к3ц 3 ай бұрын
Разобрался. Это скорей всего входная значение функции что бы взять адрес переменной)). Скорей всего так)) Решил пока вот так. Потому что контроллер с типом Union не захотел работать PROGRAM STIO //Получаем состояние входов выход VAR_INPUT WIO: input; //Из модбаса END_VAR VAR tt: POINTER TO IO; //Временная переменная IO:REFERENCE TO IO; //Переменные со входов выходов только чтение END_VAR tt := ADR( WIO); //Начальный адрес IO REF=tt^; //Разименовываем адресс и присваиваем этот адрес ссылке входов выход в структуре
@Evrosetyan1N
@Evrosetyan1N 8 ай бұрын
Доброго времени суток! Верно ли (в плане быстродействия), что ссылками имеет смысл передавать переменные размером более 32(64) бит, а всё, что имеет меньший размер, быстрее передать через копирование?
@CodesysOneLove
@CodesysOneLove 8 ай бұрын
Добрый день. Это хороший вопрос, но ответа у меня нет. Я могу только предположить, что для переменных размеров в 32/64 бита в плане быстродействия не будет фиксируемой пользователем разницы между передачей по значению и передачей по ссылке.
87. Новые возможности CODESYS V3.5 SP19
24:29
CodesysOneLove
Рет қаралды 1,9 М.
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 37 МЛН
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 14 МЛН
Support each other🤝
00:31
ISSEI / いっせい
Рет қаралды 60 МЛН
CODESYS 3.5 Урок1
25:47
Дмитрий Хороменков
Рет қаралды 2,3 М.
Как устроен PYTHON
37:44
про АйТи | IT Pro
Рет қаралды 9 М.
100. Наюнсы загрузки проектов
21:16
CodesysOneLove
Рет қаралды 1,5 М.
Основы семантики перемещения в с++
18:14
Полевой Дмитрий
Рет қаралды 5 М.
Всё об указателях в C++ за 20 минут
20:00
Chain Game Strong ⛓️
00:21
Anwar Jibawi
Рет қаралды 37 МЛН