Pull to refresh

Самописный таймер в виде функции для промышленного контроллера Simatic S7-1200

Industrial Programming *
Sandbox
Еще для серии S7-300 и S7-400 под Step 7 классических версий предлагаемых разработчику таймеров вполне хватало — это и стандартные таймеры IEC, реализованные в виде функциональных блоков, и таймеры S5 (которые, к слову, до сих пор существуют для серии S7-1500). Однако в ряде случаев разработчик не применял стандартные инструменты и реализовывал собственные таймеры, чаще всего — в виде функций. Такие таймеры-функции необходимы были при «айтишном» подходе к программированию, в котором оперировали не отдельными экземплярами функциональных блоков технологического оборудования, с соответствующей обвязкой входов и выходов, а массивами структур. Например — массив структуры типа «дискретный вход». Или массив структуры «агрегат». Такой подход к программированию имеет право на существование, поскольку позволяет серьезно экономить рабочую память CPU, но, с другой стороны, делает программный код трудночитаемым. Стороннему программисту и с простым видом программы на LAD разобраться получается далеко не сразу, а про кучи индексов, массивов и функций их обработки — и речи не идет, тут без документации к ППО (и без поллитры, разумеется) вообще никуда.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 9.5K
Comments 7

Сервер Modbus TCP для Simatic S7-1200 / S7-1500

Industrial Programming *Programming microcontrollers *
Tutorial

Первая спецификация протокола Modbus была опубликова в 1979 году. Протокол предназначен для опроса подчиненных устройств по принципу «запрос-ответ». Modbus RTU (Remote Terminal Unit) работает по последовательному интерфейсу передачи данных (RS-232, RS-485, RS-422). Сегодня речь пойдет о немного измененном протоколе, Modbus TCP, работающий на прикладном уровне стека протоколов TCP/IP.

Для начала посмотрим, как настраивается (программируется, если быть точнее) серверная часть. Modbus TCP Server — аналог Modbus RTU Slave, то есть, является подчиненным устройством. Это важно, не путайте. Сервер лишь отвечает на запросы, но не генерирует их.

В данном примере применяется CPU S7-1516 с версией прошивки 2.6. Серия S7-1200 программируется аналогично.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Views 13K
Comments 18

Клиент Modbus TCP для Simatic S7-1200 / S7-1500

Industrial Programming *Programming microcontrollers *
Tutorial

Продолжаем тему программирования протокола Modbus TCP на контроллерах Simatic S7-1500. В прошлый раз речь шла о серверной части, сегодня опишем клиентскую. Клиент Modbus TCP — это узел, который генерирует запросы к серверу, т.е. запрашивает данные и передает уставки/команды. В терминологии Modbus RTU это «мастер», ведущее устройство. В отличии от RTU, в протоколе TCP может быть несколько «мастеров» (правильно — клиентов).

Читать далее
Total votes 4: ↑3 and ↓1 +2
Views 8.5K
Comments 5

Программирование Modbus RTU Master на примере Simatic S7-1200 и ПЧ Sinamics V20

Industrial Programming *Programming microcontrollers *
Tutorial

Давно хотел рассказать про тонкости программирования обмена по протоколу Modbus RTU в случае, когда контроллер (в нашем случае S7-1214) выступает RTU Master'ом. Недавно меня попросили помочь с обменом между ПЛК и частотным преобразователем Sinamics V20, ну и почему бы не написать заодно заметку, постаравшись приблизить решение задачи к боевым условиям.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 20K
Comments 42

Промышленный интернет вещей в ПЛК Simatic S7-1x00 на примере протокола MQTT

Industrial Programming *IOT

Обнаружил в базе знаний Siemens (SIOS) интересный пример использования контроллеров линейки S7-1200 и S7-1500 в качестве клиента протокола MQTT

Ссылка на первоисточник.

Попробуем разобраться?

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 5.2K
Comments 7

О несомненной пользе применения современного оборудования Simatic

Industrial Programming *

Году эдак в 2011 я на правах фрилансера написал и внедрил ПО для управления водонапорной станцией. По итогам система получилась распределенной и даже немного сложной, но начиналось все с локальной станции управления одной насосной установкой.

Проектная организация заложила CPU Simatic S7-313C. Неожиданно мне стало интересно, как это будет выглядеть на новой линейке Simatic? Влезет ли прикладная программа, легко ли она портируется? Сколько стоит решение - внедренное ранее и выбранное мной сейчас?

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 3.9K
Comments 20

Штука для намотки трансформаторов. Без Arduino

Industrial Programming *Programming microcontrollers *DIY

В одном из проектов понадобилось намотать под сотню трансформаторов. Это стало поводом пересмотреть нелюбовь к моточным изделиям, которая тянулась ещё со школы, где, помогая в кабинете физики, вручную перематывал большую катушку для опытов Фарадея. Зелёную, как сейчас помню.

Поэтому вместо поиска трансформаторного завода меня манил ящик с деталями от старых проектов.

Читать далее
Total votes 69: ↑69 and ↓0 +69
Views 20K
Comments 38