MASC.SoftPLC(VPLC) pinned «Делимся ссылками на дистрибутивы для желающих попробовать: VPLC https://updates.max-automation.ru/vplc/vplc-setup.exe VPLC-Server https://updates.max-automation.ru/vplc-server/vplc-server-setup.exe VPLC-Studio https://updates.max-automation.ru/vplc-studio/vplc…»
Провели сравнительные тесты PLC Modicon M580 4040 vs VPLC на мини-пк (i5-7200U 2.5 GHz, 16 GB ОЗУ) 🔍
Проверяли производительность в четырёх ключевых категориях (скриншоты программного кода для тестов представлены выше):
1️⃣ REAL
VPLC - 55 550 000 операций за 100 мс
PLC - 505 000 операций за 100 мс
Итог: разница в 110 раз
2️⃣ INT
VPLC - 4 294 967 294 операций за 100 мс
PLC - 1 490 000 операций за 100 мс
Итог: разница в 2 882 528 раз
3️⃣ Функции установить и прочитать бит
VPLC - 27 500 000 операций за 100 мс
PLC - 132 000 операций за 100 мс
Итог: разница в 208 раз.
4️⃣ Двойное преобразование типов
VPLC - 4 294 967 294 операций за 100 мс
PLC - 2 600 000 операций за 100 мс
Итог: разница в 1 651 910 раз
Вы спросите: почему разница в сотни и миллионы раз?
Всё дело в уникальной возможности компилятора VPLC - оптимизации благодаря С++, приведем в пример функции установки и чтения бита без оптимизации: 4 000 000 операций за 100 мс (9 фото).
⚠В стандартном исполнении VPLC оптимизация присутствует!
Проверяли производительность в четырёх ключевых категориях (скриншоты программного кода для тестов представлены выше):
1️⃣ REAL
VPLC - 55 550 000 операций за 100 мс
PLC - 505 000 операций за 100 мс
Итог: разница в 110 раз
2️⃣ INT
VPLC - 4 294 967 294 операций за 100 мс
PLC - 1 490 000 операций за 100 мс
Итог: разница в 2 882 528 раз
3️⃣ Функции установить и прочитать бит
VPLC - 27 500 000 операций за 100 мс
PLC - 132 000 операций за 100 мс
Итог: разница в 208 раз.
4️⃣ Двойное преобразование типов
VPLC - 4 294 967 294 операций за 100 мс
PLC - 2 600 000 операций за 100 мс
Итог: разница в 1 651 910 раз
Вы спросите: почему разница в сотни и миллионы раз?
Всё дело в уникальной возможности компилятора VPLC - оптимизации благодаря С++, приведем в пример функции установки и чтения бита без оптимизации: 4 000 000 операций за 100 мс (9 фото).
⚠В стандартном исполнении VPLC оптимизация присутствует!
🔥4
⏱ Тестируем стабильность циклических задач в VPLC
Подробно проверили, как VPLC ведёт себя по времени, и результат получился показательный.
В VPLC временные такты считаются по системному времени в микросекундах. Для подтверждения вышесказанного, провели тест: поставили минимальное время цикла - 1 миллисекунда, длился он 1 минуту. Как итог: вышло четко 60К в 60К (1 мин = 60 сек, 60 сек = 60 000 мс).
Во время второго такого же теста пробовали нагружать процессор сторонним ПО (нагрузка доходила до 80%), время выполнения программы колебалось с 1 до 3-5 микросекунд, но цикличность соблюдалась также, как и в первом тесте!
Третий тест - сутки. За этот период время в контроллере не изменилось ни на одну секунду по сравнению с системным!
На практике это даёт несколько важных плюсов:
— таймеры и счётчики времени не уходят при нагрузке;
— периодические задачи ведут себя предсказуемо.
Мы сомневались, что такие результаты возможны в среде Windows, но на практике VPLC показал отличные результаты👍
Подробно проверили, как VPLC ведёт себя по времени, и результат получился показательный.
В VPLC временные такты считаются по системному времени в микросекундах. Для подтверждения вышесказанного, провели тест: поставили минимальное время цикла - 1 миллисекунда, длился он 1 минуту. Как итог: вышло четко 60К в 60К (1 мин = 60 сек, 60 сек = 60 000 мс).
Во время второго такого же теста пробовали нагружать процессор сторонним ПО (нагрузка доходила до 80%), время выполнения программы колебалось с 1 до 3-5 микросекунд, но цикличность соблюдалась также, как и в первом тесте!
Третий тест - сутки. За этот период время в контроллере не изменилось ни на одну секунду по сравнению с системным!
На практике это даёт несколько важных плюсов:
— таймеры и счётчики времени не уходят при нагрузке;
— периодические задачи ведут себя предсказуемо.
Мы сомневались, что такие результаты возможны в среде Windows, но на практике VPLC показал отличные результаты👍
🔥2
Запустили VPLC на NanoPi NEO (4 ядра, Cortex A7) и продолжаем сравнительные тесты с PLC Modicon M580 4040!
Проверяли производительность в двух категориях (скриншоты программного кода, подтверждение результатов, а также характеристики NanoPi представлены выше):
1️⃣ REAL
5 303 351 операций за 100 мс
PLC - 505 000 операций за 100 мс
Итог: разница в 10,5 раз
2️⃣ INT
60 532 687 операций за 100 мс
PLC - 1 490 000 операций за 100 мс
Итог: разница в 40,5 раз
Вывод: даже небольшой NanoPi обошел один из самых лучших ПЛК от Schneider в разы🔥
Проверяли производительность в двух категориях (скриншоты программного кода, подтверждение результатов, а также характеристики NanoPi представлены выше):
1️⃣ REAL
5 303 351 операций за 100 мс
PLC - 505 000 операций за 100 мс
Итог: разница в 10,5 раз
2️⃣ INT
60 532 687 операций за 100 мс
PLC - 1 490 000 операций за 100 мс
Итог: разница в 40,5 раз
Вывод: даже небольшой NanoPi обошел один из самых лучших ПЛК от Schneider в разы🔥
🔥4❤1
Смогли запустить VPLC на таком маленьком контроллере для домашней автоматизации)
Так это ещё PLC или уже не совсем :-)
Ещё заказали контроллер Wiren Board 8 (последняя фотка), протестируем и на нем!
Так это ещё PLC или уже не совсем :-)
Ещё заказали контроллер Wiren Board 8 (последняя фотка), протестируем и на нем!
👍3