Полезные материалы для изучения TwinCAT
- Блог разработчика на TwinCAT
- Страница с полезными ссылками
- Официальная документация
- Префиксы в переменных
- Типы данных
- Атрибуты
- Комментарии и документирование
- Сайт с каталогом всех устройств и ПО от Beckhoff, к каждому продукту имеется мануал, для скачивание некоторых продуктов требуется регистрация
- Автоформатировщик кода на ST
- Хорошая статья про EtherCAT
- Блог с публикациями связанными с TwinCAT
- Туториал для начинающих
- Серия обучающих видео на YouTube
Обязательно оставляйте в комментариях материалы, которые помогли вам разобраться с TwinCAT 3.
- Блог разработчика на TwinCAT
- Страница с полезными ссылками
- Официальная документация
- Префиксы в переменных
- Типы данных
- Атрибуты
- Комментарии и документирование
- Сайт с каталогом всех устройств и ПО от Beckhoff, к каждому продукту имеется мануал, для скачивание некоторых продуктов требуется регистрация
- Автоформатировщик кода на ST
- Хорошая статья про EtherCAT
- Блог с публикациями связанными с TwinCAT
- Туториал для начинающих
- Серия обучающих видео на YouTube
Обязательно оставляйте в комментариях материалы, которые помогли вам разобраться с TwinCAT 3.
👍2
ПЛК каких производителей вы используете на коммерческих проектах?
Anonymous Poll
60%
Siemens
16%
Allen-Bradley
20%
Schneider Electric
9%
Omron
8%
Beckhoff
11%
WAGO
9%
Mitsubishi
9%
Delta
5%
Advantech
27%
Другие производители (укажите в комментариях)
👍1👎1
Какие HMI/SCADAs вы используете на коммерческих проектах?
Anonymous Poll
56%
SIMATIC WinCC
5%
EcoStruxure SCADAs
9%
Master Scada 3.x
12%
Master Scada 4D
2%
TwinCAT HMI
8%
Simple Scada
3%
Rapid Scada
3%
Movicon
4%
CIMPLICITY
27%
Другие (укажите в комментариях)
20 практик по повышению безопасности ПЛК проектов
Источник: www.plc-security.com
1 Модульность кода
Разделите код на модули, используя различные организационные единицы. Тестируйте модули независимо друг от друга.
2 Следите за режимом работы
Держите ПЛК в режиме исполнения. Если ПЛК вышел из режима исполнения — выдайте предупреждение оператору.
3 Вся логика операций по возможности должна быть в ПЛК
4 Используйте переменные-флаги для отслеживания ошибок и целостности кода
Добавляйте счётчики для флагов ошибок.
5 Используйте криптографические методы или контрольную сумму для проверки целостности кода
Используйте хеши или контрольную сумму для проверки целостности кода и выдачи предупреждения, если он был изменён.
6 Проверяйте таймеры и счётчики
Счётчики и таймеры разработанные для ПЛК программ должны быть проверены в ПЛК , в том числе на обработку обратных отсчётов и значений меньше нуля.
7 Проверяйте парные входы/выходы (например ПУСК/СТОП)
Убедитесь, что парные сигналы не задаются вместе. Оповещайте оператора, если состояние входов/выходов физически не возможно. Подумайте, как исключить переключения сигналов, которые могут нанести повреждения.
8 Проверяйте переменные приходящие от HMI в ПЛК
Доступ к переменным ПЛК должен быть ограничен диапазоном значений. Необходимо учесть обработку значений, вышедших за допустимые пределы, можно предусмотреть оповещения об этом оператору.
9 Следите за косвенными обращениями
Косвенное обращение - это использование значения одного регистра в другом регистре.
10 Присваивайте значения регистрам через функции
Специальные функции для заполнения регистров позволят избежать переполнений и неавторизированных внешних записей, что защитит данные ПЛК.
11 Организуйте проект так,чтобы была возможность проверять достоверность сигналов
12 Проверяйте входы исходя из ожидаемых значений
Предупреждайте оператора, если на вход приходит значение выходящее за возможные рамки. Предупреждайте о необычной активности входов.
13 Отключайте ненужные и неиспользуемые порты и протоколы
ПЛК могут содержать сетевые интерфейсы и модули, которые в основном по умолчанию включены. Выключайте их, если они не используются.
14 Ограничьте сторонние интерфейсы передачи данных
Ограничьте типы соединений и доступ к данным для сторонних интерфейсов. Обмен данными должен быть определён и ограничен для работы с разрешёнными данными.
15 Определите безопасную обработку состояния в случае перезапуска ПЛК
16 Следите за тенденцией изменения время цикла
Суммируйте время циклов и выводите на тренде каждые 2-3 секунды.
17 Логируйте время безотказной работы и отслеживайте его
Логируйте время работы, чтобы знать когда ПЛК был запущен. Тренд и логи помогут проводить дианостику.
18 Логируйте аварийные остановки и отслеживайте тенденции
Сохраняйте события аварийных остановок из-за неисправностей или отключений для поиска и исправления ошибок перед повторным запуском ПЛК.
19 Мониторинг за использованием памяти
Измерение и предоставление уровня используемой памяти обычно встроено в среду разработки.
20 Ловите ложные срабатывания для критических предупреждений
Определите критические предупреждения. Установите механизм предупреждения для ложных срабатываний.
Источник: www.plc-security.com
1 Модульность кода
Разделите код на модули, используя различные организационные единицы. Тестируйте модули независимо друг от друга.
2 Следите за режимом работы
Держите ПЛК в режиме исполнения. Если ПЛК вышел из режима исполнения — выдайте предупреждение оператору.
3 Вся логика операций по возможности должна быть в ПЛК
4 Используйте переменные-флаги для отслеживания ошибок и целостности кода
Добавляйте счётчики для флагов ошибок.
5 Используйте криптографические методы или контрольную сумму для проверки целостности кода
Используйте хеши или контрольную сумму для проверки целостности кода и выдачи предупреждения, если он был изменён.
6 Проверяйте таймеры и счётчики
Счётчики и таймеры разработанные для ПЛК программ должны быть проверены в ПЛК , в том числе на обработку обратных отсчётов и значений меньше нуля.
7 Проверяйте парные входы/выходы (например ПУСК/СТОП)
Убедитесь, что парные сигналы не задаются вместе. Оповещайте оператора, если состояние входов/выходов физически не возможно. Подумайте, как исключить переключения сигналов, которые могут нанести повреждения.
8 Проверяйте переменные приходящие от HMI в ПЛК
Доступ к переменным ПЛК должен быть ограничен диапазоном значений. Необходимо учесть обработку значений, вышедших за допустимые пределы, можно предусмотреть оповещения об этом оператору.
9 Следите за косвенными обращениями
Косвенное обращение - это использование значения одного регистра в другом регистре.
10 Присваивайте значения регистрам через функции
Специальные функции для заполнения регистров позволят избежать переполнений и неавторизированных внешних записей, что защитит данные ПЛК.
11 Организуйте проект так,чтобы была возможность проверять достоверность сигналов
12 Проверяйте входы исходя из ожидаемых значений
Предупреждайте оператора, если на вход приходит значение выходящее за возможные рамки. Предупреждайте о необычной активности входов.
13 Отключайте ненужные и неиспользуемые порты и протоколы
ПЛК могут содержать сетевые интерфейсы и модули, которые в основном по умолчанию включены. Выключайте их, если они не используются.
14 Ограничьте сторонние интерфейсы передачи данных
Ограничьте типы соединений и доступ к данным для сторонних интерфейсов. Обмен данными должен быть определён и ограничен для работы с разрешёнными данными.
15 Определите безопасную обработку состояния в случае перезапуска ПЛК
16 Следите за тенденцией изменения время цикла
Суммируйте время циклов и выводите на тренде каждые 2-3 секунды.
17 Логируйте время безотказной работы и отслеживайте его
Логируйте время работы, чтобы знать когда ПЛК был запущен. Тренд и логи помогут проводить дианостику.
18 Логируйте аварийные остановки и отслеживайте тенденции
Сохраняйте события аварийных остановок из-за неисправностей или отключений для поиска и исправления ошибок перед повторным запуском ПЛК.
19 Мониторинг за использованием памяти
Измерение и предоставление уровня используемой памяти обычно встроено в среду разработки.
20 Ловите ложные срабатывания для критических предупреждений
Определите критические предупреждения. Установите механизм предупреждения для ложных срабатываний.
👍1
PLCopen является независимой всемирной ассоциацией по темам, связанным с разработкой проектов на ПЛК. Организация выпускает рекомендации и руководства для увеличения эффективности решений с использованием ПЛК. Все полезные материалы можно найти на официальном сайте: https://plcopen.org
Качество, безопасность. Открытый международный стандарт позволит упростить сопровождение проектов.
Некоторые документы переведены на русский язык:
📘 Coding guidelines -- Рекомендации разработке программ
📗 Compliant libraries -- Рекомендации по разработке библиотек
📙 SCF -- Руководство по использованию SFC
Качество, безопасность. Открытый международный стандарт позволит упростить сопровождение проектов.
Некоторые документы переведены на русский язык:
📘 Coding guidelines -- Рекомендации разработке программ
📗 Compliant libraries -- Рекомендации по разработке библиотек
📙 SCF -- Руководство по использованию SFC
Какие языки программирования вы используете на коммерческих проектах для программирования ПЛК?
Anonymous Poll
62%
ST
44%
LD
10%
SFC
41%
FBD
2%
IL
12%
CFC
9%
C
8%
C++
6%
Другие (укажите в комментариях)
В сети обнаружено более 4 000❗️ устройств АСУ ТП уязвимых для удалённых атак. В качестве основного инструмента обнаружения были использованы поисковые системы Shodan, Censys и Google. Исследование проводилось только пассивным методом через доступную в поисковых системах информацию.
Ссылка на источник с подробной аналитикой.
Ссылка на источник с подробной аналитикой.
CODESYS Tech Talk Fall 2021
Краткое содержание:
Чтобы не отставать от развития, пользователям придется пойти на некоторый риск и попробовать некоторые вещи, которые не были доказаны миллионом часов работы. Нужно быть достаточно смелыми, чтобы стремиться к поэтапному повышению производительности и снижению совокупной стоимости владения системами за счет реализации концепций систем с открытой архитектурой и идей автоматизации открытых процессов.
Важно, чтобы IT и OT работали вместе для достижения цифровой трансформации.
Промышленности необходимо стремиться к стандартизации интерфейсов и возможности проводить обновления без необходимости “копировать и заменять” аппаратное и программное обеспечение целых систем. Архитектура открытой платформы имеет основополагающее значение для поиска новых и инновационных способов повышения производительности производства и бизнеса.
Полная версия по ссылке.
Краткое содержание:
Чтобы не отставать от развития, пользователям придется пойти на некоторый риск и попробовать некоторые вещи, которые не были доказаны миллионом часов работы. Нужно быть достаточно смелыми, чтобы стремиться к поэтапному повышению производительности и снижению совокупной стоимости владения системами за счет реализации концепций систем с открытой архитектурой и идей автоматизации открытых процессов.
Важно, чтобы IT и OT работали вместе для достижения цифровой трансформации.
Промышленности необходимо стремиться к стандартизации интерфейсов и возможности проводить обновления без необходимости “копировать и заменять” аппаратное и программное обеспечение целых систем. Архитектура открытой платформы имеет основополагающее значение для поиска новых и инновационных способов повышения производительности производства и бизнеса.
Полная версия по ссылке.
👍1
Я вам че - Автоматизатор?
Отличный авторский блог про актуальные проблемы и решения в области промышленного программирования и автоматизации. Только актуальное, интересное и полезное простым языком и с практическими примерами.
Ссылка на блог.
Отличный авторский блог про актуальные проблемы и решения в области промышленного программирования и автоматизации. Только актуальное, интересное и полезное простым языком и с практическими примерами.
Ссылка на блог.
👍3
Проект proPoll
Стартует опрос специалистов области промышленной автоматизации, благодаря которому планируем составить общее представление о состоянии индустрии, а также попытаться заглянуть в будущее. Расскажите о своем опыте, что займет у вас буквально 5 минут.
Результаты опроса будут опубликованы в telegram-канале @pro_PLC в конце декабря 2021.
Просим помочь в распространении данного опроса, делитесь ссылкой в рабочих и профессиональных чатах.
https://forms.gle/VKNf21VCSPjSXGSa8
#proPoll
Стартует опрос специалистов области промышленной автоматизации, благодаря которому планируем составить общее представление о состоянии индустрии, а также попытаться заглянуть в будущее. Расскажите о своем опыте, что займет у вас буквально 5 минут.
Результаты опроса будут опубликованы в telegram-канале @pro_PLC в конце декабря 2021.
Просим помочь в распространении данного опроса, делитесь ссылкой в рабочих и профессиональных чатах.
https://forms.gle/VKNf21VCSPjSXGSa8
#proPoll
Актуальные вопросы сетевой безопасности технологических сетей АСУ ТП
От каких киберугроз нужно защищать технологические сети АСУ ТП и для чего нужны наложенные сетевые средства защиты? Каковы требования к обеспечению кибербезопасности промышленных сетей? Нужны ли контроллерам и датчикам специальные ИБ-инструменты?
Ссылка на источник.
От каких киберугроз нужно защищать технологические сети АСУ ТП и для чего нужны наложенные сетевые средства защиты? Каковы требования к обеспечению кибербезопасности промышленных сетей? Нужны ли контроллерам и датчикам специальные ИБ-инструменты?
Ссылка на источник.
👍1
OpenPLC
- полнофункциональный стандартизированный ПЛК с открытым исходным кодом, как в программном, так и в аппаратном обеспечении. Цель проекта - предоставить недорогое промышленное решение для автоматизации и исследований. OpenPLC использовался во многих исследовательских работах в качестве основы для исследований промышленной кибербезопасности, так как исходный код доступен в открытом доступе.
Проект создан в соответствии со стандартом IEC 61131-3, который определяет базовую архитектуру программного обеспечения и языки программирования для ПЛК. OpenPLC состоит из трех частей: среда выполнения, редактор и конструктор HMI.
Ссылка на сайт проекта.
- полнофункциональный стандартизированный ПЛК с открытым исходным кодом, как в программном, так и в аппаратном обеспечении. Цель проекта - предоставить недорогое промышленное решение для автоматизации и исследований. OpenPLC использовался во многих исследовательских работах в качестве основы для исследований промышленной кибербезопасности, так как исходный код доступен в открытом доступе.
Проект создан в соответствии со стандартом IEC 61131-3, который определяет базовую архитектуру программного обеспечения и языки программирования для ПЛК. OpenPLC состоит из трех частей: среда выполнения, редактор и конструктор HMI.
Ссылка на сайт проекта.
👍1