Продолжаю серию заметок о программируемых логических контроллерах, с которыми мне доводится работать. В этот раз будет снова про «китайские контроллеры с Алиэкспресс» от кампании Wecon.
Но сначала нужно напомнить, почему я ими заинтересовался. При выборе ПЛК для проекта неизбежно возникает вопрос соотношения цены и качества. Хорошо, конечно, везде использовать проверенные временем контроллеры Siemens или Schneider, но это не всегда позволяет бюджет- они весьма дорогие.
Раньше, когда приходилось ставить в проект более дешевые контроллеры, мы выбирали отечественный ПЛК ОВЕН, но по многим причинам стали искать альтернативу и ему. Среди прочего, я обратил внимание на недорогие ПЛК китайской фирмы Wecon серий LX3V/LX3VP/LX3VE. Про самую простую и дешевую модель LX3V-0806MT-A2 я уже писал.
Сегодня поговорим о более продвинутых моделях: LX3VP-1616MR-A и LX3VE-1412MT-A.
Достоинства:
Недостатки:
Присмотримся внимательнее к конструкции рассматриваемых ПЛК. Фотографии кликабельны.
WECON LX3VE-1412MT-A, спереди
Далее буду рассматривать конструкцию только ПЛК WECON LX3VP-1616MR-A, как более сложную. Главное отличие между этими моделями состоит в типе дискретных выходов. Литеры «MT» в названии означают транзисторные выходы, «MR» означают релейные выходы.
WECON LX3VP-1616MR-A, спереди
Спереди, без крышек
1. Порты RS-485: Com1 и Com2
2. Верхние клеммы:
L, N: питание ПЛК через AC 85…264V
?: не используется в этих моделях
X0...X7, X10...X17: дискретные входы
S/S: общий для дискретных входов
3. Разъемы для подключения DB Board
4. Батарейка CR2032 для RTC
5. Переключатель RUN/STOP
6. Порт Micro-USB 2.0 TYPE B для загрузки программ. Лучше загружать программу через него, это значительно быстрее
7. Порт RS-422 Com0 для загрузки программ, гнездо Mini DIN-8
8. Нижние клеммы:
24V+, COM: исходящее питание встроенного БП 24V DC
COM1...COM5: входные клеммы для реле, соответственно: Y0, Y1, Y2...Y3, Y4...Y7, Y10...Y13, Y14...Y17
Y0...Y7, Y10...Y17: выходы реле
9. Индикация состояния дискретных входов и выходов
10. Разъем для подключения модулей расширения
Сверху, порты RS-485 Сom1 и Com2
Надпись под портами гласит о том, что одновременно может работать передача данных или по RS-422 Com0 или по RS-485 Com1. Дело в том, что Com0 и Com1 это физически один универсальный порт RS-422/485
Сбоку, шильдик ПЛК
На шильдике указано название модели LX3VP-1616MR-A, в то время, как на лицевой панели написано просто LX3VP-1616MR. Литера «A» означает «питание 85...264V AC».
Сзади, крепление на DIN-рейку
Снизу, контрольная пломба
Не повредив контрольную пломбу, нельзя разобрать корпус ПЛК и посмотреть на платы, а поврежденная пломба снимает прибор с гарантии. Но что не сделаешь ради любопытства! Ломаем пломбу и лезем внутрь. Фотографии еще более кликабельны.
Верхняя плата
Микросхемы покрыты толстым слоем лака, из-за этого маркировка на многих из них плохо читается.
Процессорная плата. Для дискретных выходов применяются реле Panasonic ALDP124 на ~250V/5A
Видим, что мозгом ПЛК является ARM процессор STM32F103VET6 с частотой 72 MHz
Плата питания
Если не хватает базового функционала ПЛК LX3VP/LX3VE, то его можно расширить при помощи установки модулей расширения и дополнительных плат DB Board. Таким образом можно увеличить количество входов и выходов, в том числе аналоговых, и увеличить количество портов передачи данных.
Всего можно нарастить на ПЛК до 256 входов и 256 выходов.
Модули расширения устанавливаются га DIN-рейку правее процессорного модуля и подключаются к нему, либо к предыдущему установленному модулю, через короткий шлейф. Это очень похоже на то, как было в Simatic S7-200, если кто таковые помнит.
На некоторых моделях ПЛК, например в простеньком LX3V-0806MT-A2, возможность подключения модулей расширения отсутствует.
Модуль аналогового ввода LX3V-4AD на 4 AI -10...10V/-20...20mA/4...20mA:
DB Board, в отличии от модулей расширения, устанавливаются непосредственно на корпус ПЛК в специальные посадочные места. В зависимости от модели ПЛК, посадочных мест под DB Board может быть 1 или 2. Все модели ПЛК LX3V имеют минимум 1 посадочное место, даже LX3V-0806MT-A2.
DB Board бывают одинарного(короткие) или двойного(длинные) размера. Соответственно и посадочные места для них бывают одинарного или двойного размера.
При подборе DB Board нужно учитывать, сколько на ПЛК посадочных мест и какого они размера. Например, у ПЛК LX3V-0806MT-A2 имеется 1 посадочное место под короткую DB Board.
У LX3VE-1412MT тоже 1 посадочное место, но под длинную DB Board.
У LX3VP-1616MR имеется 2 посадочных места, где 1 под короткую и 1 под длинную DB Board.
Естественно, в посадочное место под длинную плату, можно установить короткую DB Board, но в место под короткую плату нельзя установить длинную DB Board.
«Короткая» DB Board LX3VP-ETH-BD на 1 порт Ethernet:
«Длинная» DB Board LX3V-2AD-BD на 2 AI 4...20 mA:
На борту рассматриваемых моделей LX3VP/LX3VE имеется только 1 порт RS-422 Com0 и 2 порта RS-485: Com1 и Com2.
При этом, RS-422 Com0 и RS-485 Com1 являются двумя составными частями универсального порта RS-422/485, поэтому одновременно может работать передача данных или по Com0 или по Com1.
«Круглый» порт RS-422 Com0 изначально был введен в ПЛК Wecon для совместимости с Mitsubishi FX2N, где тот применяется для загрузки программ. Кстати, кабели RS-422 для программирования тоже совместимы. Но Wecon дополнительно установили в своих контроллерах порт USB для программирования, что значительно быстрее и удобнее.
Com0/Com1 поддерживает протокол Wecon LX3VP/LX3VE, а Modbus нет. К Com0/Com1 возможно подключить HMI, но они должны работать по протоколу Wecon LX3VP/LX3VE. Прежде всего, естественно, это HMI самой Wecon.
На данный момент HMI Samkoon и Weintek протоколы Wecon не поддерживают. Зато они поддерживают протокол Mitsubishi FX2N, а так, как Com0/Com1 у Wecon поддерживает и его, то к ПЛК можно попробовать подключить HMI и по протоколу Mitsubishi FX2N. Но тут уже на свой страх и риск- в симуляторе ПО HMI Samkoon мне удалось связаться с LX3VE, но надежность и правильность такой связки в реальной эксплуатации нужно проверять.
Протокол Wecon LX3VP/LX3VE хорош тем, что в программе ПЛК не нужно ничего дополнительно настраивать- просто подключаешь ПЛК к HMI и выводишь на нее данные.
Работает протокол с фиксированными параметрами: 9600, 7, 1, Even.
Работа ПЛК и HMI по протоколу Wecon
Порт RS-485 Com2 поддерживает протоколы Wecon LX3VP/LX3VE и Modbus.
Дополнительные порты RS-485 можно добавить с помощью DB Board LX3V-RS458-BD, на которой располагается по 2 порта RS-485 Modbus.
Таким образом в LX3VE-1412MT-A, где 1 место под DB Board, можно установить до 4 RS-485, из которых до 3 с Modbus.
На LX3VP-1616MR-A, где 2 места под DB Board, можно установить до 6 RS-485, из которых до 5 с Modbus.
В LX3VP/LX3VE нет портов Ethernet, но их можно добавить с помощью DB Board LX3VP-ETH-BD, на которой располагается 1 порт Ethernet.
Таким образом в LX3VE-1412MT-A может быть установлен 1 порт Ethernet, а в LX3VP-1616MR-A 2 порта Ethernet.
Изначально ПЛК Wecon создавались как дешевая альтернатива и клон популярных ПЛК Mitsubishi FX2N, отсюда их совместимость на уровне команд. Поэтому Wecon можно даже программировать через ПО Митсубиси Melsoft GX Works2, которое имеет больше возможностей, в том числе и программирование на языках LD, IL, FBD, ST, SFC. Но загрузить программу из этого ПО возможно только через RS-422 Com0.
В родном ПО Wecon PLCEditor доступны только языки LD и IL. Зато при программировании доступны дополнительные инструкции, которых нет в ПЛК Митсубиси.
Все инструкции программирования LX3VP
В программе нет возможности создавать функциональные блоки FB, можно использовать только подпрограммы.
Пример использования подпрограммы
За 2 года использования, ПЛК Wecon показали себя в работе хорошо.
> ПЛК Wecon на официальном сайте
> ПЛК Wecon на AliExpress
> Статья на Хабре про самый простой ПЛК Wecon
> Подробнее о программировании ПЛК Wecon
> Пример работы ПЛК Wecon с модулем расширения
> Форум Wecon
Но сначала нужно напомнить, почему я ими заинтересовался. При выборе ПЛК для проекта неизбежно возникает вопрос соотношения цены и качества. Хорошо, конечно, везде использовать проверенные временем контроллеры Siemens или Schneider, но это не всегда позволяет бюджет- они весьма дорогие.
Раньше, когда приходилось ставить в проект более дешевые контроллеры, мы выбирали отечественный ПЛК ОВЕН, но по многим причинам стали искать альтернативу и ему. Среди прочего, я обратил внимание на недорогие ПЛК китайской фирмы Wecon серий LX3V/LX3VP/LX3VE. Про самую простую и дешевую модель LX3V-0806MT-A2 я уже писал.
Сегодня поговорим о более продвинутых моделях: LX3VP-1616MR-A и LX3VE-1412MT-A.
Основные плюсы и минусы LX3VP/LX3VE
Достоинства:
- Программная архитектура, совместимая с Mitsubishi FX2N. Для меня это было ключевое- при программировании хотелось чего-то понятного и популярного, а не изучать очередной «эксклюзивный велосипед»
- Программирование через бесплатное ПО Wecon PLC Editor
- Есть симуляция ПЛК в ПО, что позволяет производить отладку программы без наличия самого контроллера. Эка невидаль? А, между тем, у другого китайского ПЛК Xinje, с которым я работал, при похожей программной архитектуре нет симуляции в ПО. И это может осложнить поддержку разработанных программ
- Загрузка программ через обычный кабель микро-USB
- До 6 портов передачи данных RS-485, из них до 5 с Modbus
- До 2 портов Ethernet при установке DB Board
- Возможность подключения плат расширения DB Board и модулей расширения. У ОВЕН ПЛК110, например, таких опций нет
- На официальном сайте есть форум, техподдержка и примеры программ
- Низкая стоимость, особенно, если покупать через Aliexpress или непосредственно на сайте Wecon
Недостатки:
- Только 1 порт RS-485 с Modbus на борту ПЛК, остальные только при подключении DB Board, то есть за дополнительную плату
- Отсутствует документация на русском языке. Но этот недостаток условный, так как в сети очень много информации на русском языке о программировании ПЛК Mitsubishi FX2N, с которыми Wecon LX3 совместимы на уровне команд. Поэтому можно смело изучать программирование Wecon по материалам Mitsubishi FX2N, я делал именно так
Характеристики
Конструкция
Присмотримся внимательнее к конструкции рассматриваемых ПЛК. Фотографии кликабельны.
WECON LX3VE-1412MT-A, спереди
Далее буду рассматривать конструкцию только ПЛК WECON LX3VP-1616MR-A, как более сложную. Главное отличие между этими моделями состоит в типе дискретных выходов. Литеры «MT» в названии означают транзисторные выходы, «MR» означают релейные выходы.
WECON LX3VP-1616MR-A, спереди
Спереди, без крышек
1. Порты RS-485: Com1 и Com2
2. Верхние клеммы:
L, N: питание ПЛК через AC 85…264V
?: не используется в этих моделях
X0...X7, X10...X17: дискретные входы
S/S: общий для дискретных входов
3. Разъемы для подключения DB Board
4. Батарейка CR2032 для RTC
5. Переключатель RUN/STOP
6. Порт Micro-USB 2.0 TYPE B для загрузки программ. Лучше загружать программу через него, это значительно быстрее
7. Порт RS-422 Com0 для загрузки программ, гнездо Mini DIN-8
8. Нижние клеммы:
24V+, COM: исходящее питание встроенного БП 24V DC
COM1...COM5: входные клеммы для реле, соответственно: Y0, Y1, Y2...Y3, Y4...Y7, Y10...Y13, Y14...Y17
Y0...Y7, Y10...Y17: выходы реле
9. Индикация состояния дискретных входов и выходов
10. Разъем для подключения модулей расширения
Сверху, порты RS-485 Сom1 и Com2
Надпись под портами гласит о том, что одновременно может работать передача данных или по RS-422 Com0 или по RS-485 Com1. Дело в том, что Com0 и Com1 это физически один универсальный порт RS-422/485
Сбоку, шильдик ПЛК
На шильдике указано название модели LX3VP-1616MR-A, в то время, как на лицевой панели написано просто LX3VP-1616MR. Литера «A» означает «питание 85...264V AC».
Сзади, крепление на DIN-рейку
Снизу, контрольная пломба
Не повредив контрольную пломбу, нельзя разобрать корпус ПЛК и посмотреть на платы, а поврежденная пломба снимает прибор с гарантии. Но что не сделаешь ради любопытства! Ломаем пломбу и лезем внутрь. Фотографии еще более кликабельны.
Верхняя плата
Микросхемы покрыты толстым слоем лака, из-за этого маркировка на многих из них плохо читается.
Процессорная плата. Для дискретных выходов применяются реле Panasonic ALDP124 на ~250V/5A
Видим, что мозгом ПЛК является ARM процессор STM32F103VET6 с частотой 72 MHz
Плата питания
Возможности расширения
Если не хватает базового функционала ПЛК LX3VP/LX3VE, то его можно расширить при помощи установки модулей расширения и дополнительных плат DB Board. Таким образом можно увеличить количество входов и выходов, в том числе аналоговых, и увеличить количество портов передачи данных.
Всего можно нарастить на ПЛК до 256 входов и 256 выходов.
Модули расширения устанавливаются га DIN-рейку правее процессорного модуля и подключаются к нему, либо к предыдущему установленному модулю, через короткий шлейф. Это очень похоже на то, как было в Simatic S7-200, если кто таковые помнит.
На некоторых моделях ПЛК, например в простеньком LX3V-0806MT-A2, возможность подключения модулей расширения отсутствует.
Модуль аналогового ввода LX3V-4AD на 4 AI -10...10V/-20...20mA/4...20mA:
DB Board, в отличии от модулей расширения, устанавливаются непосредственно на корпус ПЛК в специальные посадочные места. В зависимости от модели ПЛК, посадочных мест под DB Board может быть 1 или 2. Все модели ПЛК LX3V имеют минимум 1 посадочное место, даже LX3V-0806MT-A2.
DB Board бывают одинарного(короткие) или двойного(длинные) размера. Соответственно и посадочные места для них бывают одинарного или двойного размера.
При подборе DB Board нужно учитывать, сколько на ПЛК посадочных мест и какого они размера. Например, у ПЛК LX3V-0806MT-A2 имеется 1 посадочное место под короткую DB Board.
У LX3VE-1412MT тоже 1 посадочное место, но под длинную DB Board.
У LX3VP-1616MR имеется 2 посадочных места, где 1 под короткую и 1 под длинную DB Board.
Естественно, в посадочное место под длинную плату, можно установить короткую DB Board, но в место под короткую плату нельзя установить длинную DB Board.
«Короткая» DB Board LX3VP-ETH-BD на 1 порт Ethernet:
«Длинная» DB Board LX3V-2AD-BD на 2 AI 4...20 mA:
Интерфейсы и протоколы передачи данных
На борту рассматриваемых моделей LX3VP/LX3VE имеется только 1 порт RS-422 Com0 и 2 порта RS-485: Com1 и Com2.
При этом, RS-422 Com0 и RS-485 Com1 являются двумя составными частями универсального порта RS-422/485, поэтому одновременно может работать передача данных или по Com0 или по Com1.
«Круглый» порт RS-422 Com0 изначально был введен в ПЛК Wecon для совместимости с Mitsubishi FX2N, где тот применяется для загрузки программ. Кстати, кабели RS-422 для программирования тоже совместимы. Но Wecon дополнительно установили в своих контроллерах порт USB для программирования, что значительно быстрее и удобнее.
Com0/Com1 поддерживает протокол Wecon LX3VP/LX3VE, а Modbus нет. К Com0/Com1 возможно подключить HMI, но они должны работать по протоколу Wecon LX3VP/LX3VE. Прежде всего, естественно, это HMI самой Wecon.
На данный момент HMI Samkoon и Weintek протоколы Wecon не поддерживают. Зато они поддерживают протокол Mitsubishi FX2N, а так, как Com0/Com1 у Wecon поддерживает и его, то к ПЛК можно попробовать подключить HMI и по протоколу Mitsubishi FX2N. Но тут уже на свой страх и риск- в симуляторе ПО HMI Samkoon мне удалось связаться с LX3VE, но надежность и правильность такой связки в реальной эксплуатации нужно проверять.
Протокол Wecon LX3VP/LX3VE хорош тем, что в программе ПЛК не нужно ничего дополнительно настраивать- просто подключаешь ПЛК к HMI и выводишь на нее данные.
Работает протокол с фиксированными параметрами: 9600, 7, 1, Even.
Работа ПЛК и HMI по протоколу Wecon
Схема подключения
Порт RS-485 Com2 поддерживает протоколы Wecon LX3VP/LX3VE и Modbus.
Дополнительные порты RS-485 можно добавить с помощью DB Board LX3V-RS458-BD, на которой располагается по 2 порта RS-485 Modbus.
Таким образом в LX3VE-1412MT-A, где 1 место под DB Board, можно установить до 4 RS-485, из которых до 3 с Modbus.
На LX3VP-1616MR-A, где 2 места под DB Board, можно установить до 6 RS-485, из которых до 5 с Modbus.
В LX3VP/LX3VE нет портов Ethernet, но их можно добавить с помощью DB Board LX3VP-ETH-BD, на которой располагается 1 порт Ethernet.
Таким образом в LX3VE-1412MT-A может быть установлен 1 порт Ethernet, а в LX3VP-1616MR-A 2 порта Ethernet.
Программирование
Изначально ПЛК Wecon создавались как дешевая альтернатива и клон популярных ПЛК Mitsubishi FX2N, отсюда их совместимость на уровне команд. Поэтому Wecon можно даже программировать через ПО Митсубиси Melsoft GX Works2, которое имеет больше возможностей, в том числе и программирование на языках LD, IL, FBD, ST, SFC. Но загрузить программу из этого ПО возможно только через RS-422 Com0.
В родном ПО Wecon PLCEditor доступны только языки LD и IL. Зато при программировании доступны дополнительные инструкции, которых нет в ПЛК Митсубиси.
Все инструкции программирования LX3VP
В программе нет возможности создавать функциональные блоки FB, можно использовать только подпрограммы.
Пример использования подпрограммы
За 2 года использования, ПЛК Wecon показали себя в работе хорошо.
Ссылки
> ПЛК Wecon на официальном сайте
> ПЛК Wecon на AliExpress
> Статья на Хабре про самый простой ПЛК Wecon
> Подробнее о программировании ПЛК Wecon
> Пример работы ПЛК Wecon с модулем расширения
> Форум Wecon
Aquahawk
Подскажите пожалуйста. На чём лучше всего сделать штутку которая будетв обычной ethernet сети, получать по MQTT команды и отдавать либо шим либо 0-10 вольт управляющий сигнал. Насколько длинными могут быть провода управляющего сигнала? Мне надо 10 светильников отдельно каждый рулить. Команды будет раздавать центральный сервер.
anonymous
WAGO PFC100
Aquahawk
426 Евро? Ну конечно оно сделает то что мне надо, но это не то что я хотел. Тогда уж проще малин налепить везде где надо.
Ksiw
Поставьте на свет ардуину, самое место. Ethernet будет работать до сотни метров, скорость передачи тут совершенно не критична, даже со всеми потерями.
hjltu
yadi.sk/i/7j1ENqY6HEXGbA
yadi.sk/i/yVny0lgsJPEs3g
yadi.sk/i/u7ONhAEuQA2KPw
hjltu
Aquahawk
Диммеры у меня уже есть, они отлично диммируют нужные мне панели, без мерцания и всего такого. Управляются или шимом или аналогом 0-10 вольт. Мне нужно только доставить управляющий сигнал до них. Тянуть длинную сигнальную линию кажется странным. Я хочу поставить простенькие контроллеры у каждого диммера, а все сети протащить через ethernet.
hjltu
Aquahawk
Я решил не использовать esp8266. Точнее использовать там где больше никак. Если всё делать по уму, то у меня будет около 40 штук и я нахожу wifi слабым место. И мне захотелось сделать их на ethernet.
hjltu
Там где много wifi клиентов можно использовать unifi или несколько микротиков(бесшовный wifi).
Ksiw
Видел такие реализации: 2 пары гигабитного кабеля обжаты коннектором, остальные 2 — запараллелены и использованы в качестве питающих.
Wi-Fi все равно так себе решение. питание все равно тянуть нужно, и стабильность соединения порой страдает.
drblez
ab-log.ru/smart-house/ethernet/megad-2561
… Поддерживаемые протоколы для управления устройством и взаимодействия с сервером: HTTP, MQTT, SNMP (скоро!)…
Я это использую, что бы управлять освещением в «умном» доме
lingvo
Raspberry Pi + Codesys + I/O Модули на EtherCAT
Chupakabra303
Кодесис для простых задач особо не нужен. На распберри ставится OpenWrt и из пакетов mqtt, lua, python, php, gcc, что угодно (это все я пробовал).
Кстати многие думаю, что OpenWrt это для роутеров, а на самом деле это нечто большее, очень удобный линукс с пакетами на единицы мегабайт, прекрасно подходит для решения задач автоматизации, например. Кодесис, кстати, на нем я тоже запускал.
ser-mk
На OpenWrt или Raspberry?
Chupakabra303
На OpenWrt под raspberry pi, но нужно прошивку пересобирать. По умолчанию в wrt используется библиотека musl, а для codesys нужна glibc.
ser-mk
Интересно, мне показалось что они именно готовый образ распространяют для raspberry.
lingvo
Под стандартный Raspbian даже образ не нужен — Runtime устанавливается на любую Малину прямо из Codesys
ser-mk
Codesys для Raspberry, стоит больше чем сама Raspberry
lingvo
Да, 50 евро. Почти в 2 раза. И что?
ser-mk
Просто цена очень «интересная». особенно для домашней автоматизации)
lingvo
Как по мне цена супер-интересная, как для домашней автоматизации. К ней, кстати есть смысл прибавить еще 50 евров за библиотеку MQTT. У меня такой контроллер уже 2 год водой заведует.
lingvo
Либо вариант MQTT — Z-wave Bridge, например на том же OpenHAB + Z-wave модули Fibaro RGBW или аналогичные. У Z-wave в отличии от Wi-Fi нет проблем со стабильностью, но есть проблемы с доступностью частотного диапазона в России.
Chupakabra303
Raspberry pi с легкой OpenWrt и шилд 0-10В.
andersong
Занимаюсь промышленным программированием больше пяти лет. Работал с ПЛК Mitsubishi, Omron, Siemens. Последнее время делаю системы на Delta, которая уходит корнями в ту же Mitsubishi. Не так давно многие дилеры усиленно проталкивают китайское оборудование, типа Oni, Samkun итд. Но изменять проверенной десятилетиями технике ради какой-то призрачной выгоды (и выгоды-ли в долгосрочной перспективе) мы не готовы. При проектировании систем я закладываю срок службы лет 15-20, а отработают ли китайские аналоги хотя-бы лет 10, большой вопрос.
Но, автор, пиши ещё! Такие посты интересны, но редки на Хабре.
xztau
Oni — Корея, вроде бы.
lingvo
Я отдаю предпочтение софтовым ПЛК — Codesys, например. Для меня важно то, что железо под ПЛК можно подобрать под свою задачу — начиная от обычного RPi для лабораторных стендов/прототипов и заканчивая вполне индустриальными WAGO или взять обычную Windows машину, если надо много памяти и производительности.
Также важно наличие библиотек — таже MQTT или OPC UA и I/O функциональности.
ser-mk
Обычную Windows ПК использовать как ПЛК?
Zeleford
Меня это тоже удивило, но как оказалось для научной среды это стандартный подход.
Chupakabra303
Windows уже не обязателен. 3s выпустили кодесисовский рантайм под Linux x64.
Nick_Shl
А в чем вообще прелесть этих самых PLC? Зачем нужен дополнительный слой в виде прошивки МК исполняющей программу для PLC, если можно сразу писать программу для МК? Это и быстрее(в плане скорости выполнения программы) и гибче…
Siemargl
ненадежней
Nick_Shl
Вы думаете, что совокупность кода для МК написанного неизвестно кем и неизвестно как исполняющего вашу программу для ПЛК понадежнее будет, чем ваш код написанный сразу под МК?
Whuthering
Обычно, так и получается. Как раз из-за того, что большинство инженеров пишут код на C и C++ (а раньше и на ассемблере) как курица лапой, на выходе получается адовая лапша и undefined behaviour'ы.
А в случае с ПЛК им даётся вылизанная высокоуровневая песочница, в которой очень сложно прострелить себе ногу, ну и любой наладчик и даже электрик без большого опыта программирования сможет легко в коде разобраться.
F0iL
Сами ПЛК вместо самопальных устройств на микроконтроллерах используют как раз из-за удобства и надежности. Нормальный корпус, питание, гальваническая развязка, защита от ЭМ-помех, и т.д. — короче все то, что в противном случае придется делать самостоятельно и не факт что безошибочно.
С софтом то же самое. Рантайм ПЛК, по сути дела, это уже написанная и протестированная библиотека для работы с портами ввода-вывода, периферией контроллера, реализация коммуникационных протоколов, функций диагностики и удаленной перепрошивки, обработчиками программных и аппаратных ошибок, функциями холодного и горячего резервирования, и т.д. Опять же, все то, что в противном случае придется разрабатывать самостоятельно (вы же не будете подключать к проекту сторонние либы, написанные неизвестно кем и неизвестно как, или проводить их полное тестирование и верификацию?). Плюс интепретатор байт-кода, либо же компилятор в нативный код. Это уже чтобы была возможность писать на более высокоуровневых языках с меньшим соотношением WtF/LoC и количеством ошибок из-за невнимательности.
По факту же не рантайм ПЛК написан не «непонятно кем», а производителем контроллера. Если вы ему не доверяете, то просто не берите железку этого вендора, возьмите что-нибудь понадежнее и хорошо себя зарекомендовавшее.
А что до "… думаете понадежнее будет, чем..." — вот в этом как раз и проблема, у нас каждый Вася с завода в поселке Кукуево абсолютно уверен, что уж вот он-то точно напишет все лучше и надежнее, чем инженеры какого-нибудь Сименса или Шнайдера, которые этим занимаются уже десятки лет и собаку на этом съели. Феномен Даннинга-Крюгера в чистом виде. Результат, обычно, печальный.
Кстати, среды разработки под мэковские языки бывают и для микроконтроллеров, например, Beremiz. А бывают и промышленные контроллеры, которые можно программировать на Си, например, ScadaPack и B&R, но заказчики такое обычно очень сильно не любят по вышеописанным причинам, и в ТЗ явно обозначают, мол, «только МЭК-языки, никакого там Си и прочей кустарщины».
Nick_Shl
Я не говорю о самопальном устройстве, я говорю о таком же устройстве — нормальный корпус, питание, гальваническая развязка, защита от ЭМ-помех, и т.д.
Все что надо — вывод под ST-Link и документация какая нога за что отвечает. В идеале еще и библиотеки под IO-Link, ModBus и т.д. Все это мог бы сделать производитель этого PLC. В итоге разработка под такой «недо-PLC» была бы не сложнее чем под Arduino.
ИМХО, PLC в том виде, что они есть сейчас, существуют только потому, что так исторически сложилось.
lingvo
По стоимости железа это будет тот-же ПЛК. И Arduino-совместимые ПЛК уже существуют — https://industruino.com/
Но вы забываете, что Arduino не решает одну из стандартных проблем программиста для систем автоматики — многозадачность и выполнение в реальном времени. Без конкретного разбирательства, знаний и RTOS ардуинщик вряд-ли запустит несколько параллельно выполняющихся в реальном времени задач с циклами в пару десятков миллисекунд, да еще и Modbus мастер впридачу. А на ПЛК — легко и не задумываясь — это их конек. Так что разработка под Ардуино-подобный ПЛК проще не будет.
lingvo
Еще добавлю, что прелесть ПЛК перед МК также выражается во времени разработки. Т.е. программу под ПЛК вы напишите и отладите за гораздо меньшее время, чем для МК и можете даже не быть программистом при этом.
Точно также с железом — вы подключите ПЛК к своим датчикам и устройствам за гораздо меньшее время, чем с МК — вам не нужно изобретать платы сопряжения, думать о ЕМС и даже о дребезге контактов (иногда)
В совокупности получается, что вы покупаете ПЛК за X денег + тратите Y часов на разработку своего ПО и получаете результат. Если ваш час стоит Z, то общая стоимость проекта будет: X + YZ= S
Или вы покупаете МК за A денег, тратите B часов и получаете результат за A + BZ=K денег.
Вот и посчитайте, что получится дешевле.
Siemargl
А наличие на заглавной картинке оригинальной комплектовки Шнайдера (т.е.даже не производимых в РФ и Китае аналогов того же Шнайдера) намекает.
ExplodeMan Автор
Спасибо, что оценили стенд. Это моя гордость. А по поводу функциональности, так я одинаковые задачи решал с помощью и Wecon и Schneider и Siemens.
Siemargl
Самый младший контроллер Сименс, на данный момент S7-1212 несет на борту Ethernet с поддержкой пром.протоколов, что дает практически неограниченную расширяемость, примерно в 10 раз быстрее (а еще имеет FPU), имеет дохрена больше исполняемой памяти для пользователя — 75кБ скомпилированной/1Мб загрузочной (сравним с 2к шагов в Веконе из которых еще надо вычитать комментарии и еще чтото — может чуть больше — даже нет информации в спецках), и современную среду разработки с эмулятором и отладчиком.
Можете сравнивать дальше…
Векон — это конкурент максимум старого Овена, оба на STM32.
ExplodeMan Автор
LX3VP-1616 имеет 64К шагов. Я вас ни в чем не собираюсь убеждать, просто говорю, что одинаковые задачи решал и на Веконе и на Симатике.
Siemargl
Не надо путать теоретические 64К памяти с 64к шагов. Нужны документальные подтверждения. А в документации по программированию Вексон 2к как пример.
Достаточно было сказать что это копия древнего Mits FX2 и всё (кстати у них честно написано Program memory – 16k steps (with memory cassette)). С топами сравниваться
лицомтех. характеристиками не вышли.ТЛДР статьи: «Китайцы выпустили новый автомобиль, он по размерам как АУДИ, но гораздо дешевле»
ExplodeMan Автор
Этот вопрос я изучал на примере LX3V-0806MT-A2, у которого максимальный размер программы (LX3V-0806)- 16000 шагов(steps).
Позволю процитировать самого себя:
Таким образом, «шаг» физически занимает в памяти или 1 или, скорее всего, 2 байта(ворд). Точно не знаю- прогуглить навскидку не получилось, а практического интереса данная информация не представляет. Но даже, если степ это 1 байт, то 64к шагов это 64Кб памяти программ.
То же самое и в Сименс- разные команды занимают разное количество байт из указанных вами 75 кБ памяти.
Любые величины нужно сравнивать в одинаковых единицах измерения. Сравнивать кБ сименса и количество инструкций в программе, теоретически переведенных их степов, это некорректно. Примерно, как сравнивать значение температуры в кельвинах с температурой по фаренгейту.
Еще раз обращаю ваше внимание(в третий раз), что с топами я ничего не сравниваю. Я пишу о том, что одинаковые задачи можно реализовать с помощью топов и с помощью не топов. Все зависит от поставленной задачи, под которую нужно подбирать конкретный инструмент. Вы готовы оспорить это утверждение?
Нет. У них, если имеется ввиду Векон, указано, что в моделях LVE 32K steps, а в моделях LVP 64K steps.
Siemargl
У них — это у оригинала FX2N.
ExplodeMan Автор
То есть, вы обсуждаете ПЛК Векон, при этом приводя характеристики Митсубиси. Очень профессиональный подход.
Siemargl
Так это же [нелицензионная] реплика.
При равной памяти будут одинаковые характеристики.
Таких реплик кстати, на алиэкспресс вагон и пучок — и в корпусном исполнении и голые платы…
ExplodeMan Автор
Да, а при разной памяти будут разные характеристики, как в этом случае.