Рубрика CodeSys

Обмен данными с ПЛК по протоколу Modbus TCP

Как-то раз в карибском море… В нашем чате, снова прозвучала тема про управление ПЛК по протоколу ModbusTCP Главная сложность: «Как организовать управление из нескольких источников?». Если развернуть этот вопрос, то имеется следующая проблема — есть переменная в технологическом процессе, которая…

Читать далееОбмен данными с ПЛК по протоколу Modbus TCP

CmpLog и Component Manager в Codesys. Быстрая отладка и диагностика технологического процесса.

Согласно мему у языка LD есть следующее преимущество. А второй пункт, который часто упоминается теми, кто специализируется на LD — легкая и безболезненная диагностика. Из-за графического представления, при отладке самого технологического процесса, можно легко увидеть почему не сработал тот или…

Читать далееCmpLog и Component Manager в Codesys. Быстрая отладка и диагностика технологического процесса.

Межпроцессовое взаимодействие в Codesys. Разделяемая память(Shared memory).

Рано или поздно возникает желание запустить на ПЛК какой-нибудь скриптик или своего демона, который бы гораздо быстрее и проще решал определенную задачу, чем стандартными инструментами среды разработки. При таком подходе появляется очень интересный вопрос: «А как обмениваться данными между двумя…

Читать далееМежпроцессовое взаимодействие в Codesys. Разделяемая память(Shared memory).

Использование объектно-ориентированного подхода для ППО ПЛК.

Очень долгое время при написании прикладного программного обеспечения(программ) для плк использовался структурный подход, да и сейчас он максимально лидирует на рынке АСУТП. Вторая вещь — ООП. Руководство от PLC Open, по ООП, первой версии было выпущено 18 ноября 2021 года.…

Читать далееИспользование объектно-ориентированного подхода для ППО ПЛК.

Работа с сокетами в Codesys V3.5 #2. Библиотеки SysSocket2 и CmpTls

Продолжаем работать с сокетами в среде разработки Codesys. Пройдем обзорно по шифрованию, протоколу который это позволяет сделать и как это все реализуется. TLS SysSocket2 и CmpTls Cоздание контекста Создание сокета Обмен данными Отличие в работе SysSocket и SysSocket2 с TLS сокетом Обратная связь…

Читать далееРабота с сокетами в Codesys V3.5 #2. Библиотеки SysSocket2 и CmpTls

Работа с сокетами в Codesys V3.5 #1

Приступаем к работе с сокетами в среде разработки Codesys. Это первая статья, в которой будет создан сокет, установлено TCP соединение и произойдет передача данных. ПЛК выступает в роли клиента и весь код создан с использованием стандартных библиотек. Сокеты Библиотека Codesys…

Читать далееРабота с сокетами в Codesys V3.5 #1

Юнит тестирования в АСУТП на базе ПЛК и CODESYS. EnUnitTest.

В этой статье будет юнит тестированиеи его принципы; интерфейсы и абстрактные классы, что означает наследование и много ООП в Codesys; принципы написания тестируемого кода и примеры плохого кода от меня, а также EnUnitTest — библиотека тестирования. Многие спорят: стоит ли…

Читать далееЮнит тестирования в АСУТП на базе ПЛК и CODESYS. EnUnitTest.

Опрос множества функциональных блоков. Codesys 3.5

Имеем: Много одинаковых объектов управления. Задача: Надо опрашивать все блоки. Многие подумают про массив функциональных блоков или про функция и массив структур, или еще что-то. Мы же пойдем по сложному пути. У нас есть какой-то функциональный блок со своей логикой.…

Читать далееОпрос множества функциональных блоков. Codesys 3.5

Codesys. Объектно-ориентированное программирование на ПЛК. Часть 7. Принцип разделения интерфейсов и принцип инверсии зависимости.

Настало время для разбора двух последних принципов дизайна, которые использует объектно-ориентированное программирование. принцип разделения интерфейсов, который нам позволяет иметь более гибкие классы и принцип инверсии зависимости, который позволяет избежать жесткого связывания компонентов. Они также работают и для ПЛК, в том…

Читать далееCodesys. Объектно-ориентированное программирование на ПЛК. Часть 7. Принцип разделения интерфейсов и принцип инверсии зависимости.

Программирование ПЛК на Codesys. Bit c Bool.

Сегодня я поставил для себя точку в свое сравнении переменной типа Bit с типoм BOOL. Так что я расскажу что сколько занимает место в структурах и расскажу как, по моему мнению, лучше мапить данные в среде Codesys. Размеры Bit и…

Читать далееПрограммирование ПЛК на Codesys. Bit c Bool.