Моя команда вирішила використовувати ПЛК для управління промисловим процесом, який вимагає простого введення-виводу в режимі реального часу для зовнішніх пристроїв з мінімальною обробкою. Однак ми очікуємо, що точні виходи, необхідні для варіювання між запусками (насправді, даний випуск буде дуже рідко коли-небудь повторюватися), і оператор не матиме жодного досвіду програмування PLC / програмного забезпечення.
Хоча я не можу розкрити фактичний продукт, найкращою аналогією було б те, що ми розробляємо промисловий виробник коктейлів, PLC точно контролює відкриття та закриття різних клапанів у режимі реального часу. Оператор використовуватиме наше програмне забезпечення для розробки спеціальної послідовності добавок різних реагентів та включення / вимкнення відповідної важкої техніки (наприклад, промислового змішувача).
Ось виклик: наш сучасний підхід полягає в тому, щоб написати власний компілятор, який переводить інструкції, які дає оператор (відкритий клапан A протягом 10 мс, відкритий клапан В протягом 20 мс), у логіку сходів і машинний код ПЛК. Потім ми безпосередньо завантажимо нашу самостійно складену програму на ПЛК через серійний. Все це потрібно було б автоматизувати, щоб оператору потрібно було лише натиснути кнопку після того, як придумав свою послідовність кроків.
Однак, незважаючи на свої дослідження, я не знайшов жодного постачальника PLC, який би в обох 1) мав компілятор з API або публікував достатню кількість інформації про їх машинний код PLC, щоб можна було написати компілятор, 2) підтримує пряме завантаження програм на PLC без використання програмного забезпечення постачальника (CX-програміст, студія Atmel тощо).
Мене примушують вважати, що ми можемо використовувати неправильний підхід або, принаймні, не знаю, на який продукт звернути увагу. Введення / виведення є досить простим, щоб не виправдати побудову нашої власної плати, але функціональність, яку ми шукаємо, а саме взаємодія PLC з програмним забезпеченням високого рівня, здається, недоступна.
В ідеалі, ми хотіли б завантажувати всю програму на ПЛК відразу, а не надсилати інструкції по черзі. Виконання всіх інструкцій на ПЛК (або будь-якому пристрої, який ми в кінцевому підсумку використовуємо) потребує реального часу.
Чи є у продажу доступні PLC, які підтримують компіляцію та завантаження машинного коду, таким чином, щоб весь процес міг бути автоматизований за допомогою більшої програми? Чи є інший спосіб завантажити програму в реальному часі на ПЛК, написану програмним забезпеченням ПК, написаною мовою високого рівня?