Работа с сокетами в 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.

Codesys. Объектно-ориентированное программирование на ПЛК. Часть 6. Принцип подстановки Барбары Лисков

Продолжаем тему различных принципов проектирования классов и в целом про объектно-ориентированное программирование на ПЛК в среде Codesys. Сегодня на повестке дня принцип подстановки Лисков. Мы рассмотрели принцип единственной ответственности, а также принцип открытости/закрытости Что же такого интересного сформулировала Бараба Лисков?…

Читать далееCodesys. Объектно-ориентированное программирование на ПЛК. Часть 6. Принцип подстановки Барбары Лисков

Я против SCADA систем без автобусов.

Действительно я против построение SCADA так как их строят сейчас. Я против того функционала, который им пытаются приписать и что на них пытаются реализовать. В этой статье я представлю свое видение современных систем, поговорим об отдельных узлах в системе, посмотрим…

Читать далееЯ против SCADA систем без автобусов.

Codesys. Объектно-ориентированное программирование на ПЛК. Часть 5. Принцип открытости/закрытости.

Написание кода при ООП, отличается при обычном процедурном программировании. Существует определенные принципы дизайна кода, которые позволяют создавать легко сопровождаемый, удобочитаемый, массово применяемый код — это SOLID. Эти принципы относятся к дизайну ваших модулей, а в нашем случае функциональных блок и…

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