Mój zespół zdecydował się użyć sterownika PLC do sterowania procesem przemysłowym, który wymaga prostych operacji we / wy w czasie rzeczywistym do urządzeń zewnętrznych przy minimalnym przetwarzaniu. Oczekujemy jednak, że dokładne dane wyjściowe będą się różnić w zależności od serii (w rzeczywistości dana seria będzie bardzo rzadko powtarzana), a operator nie będzie miał doświadczenia w programowaniu PLC / oprogramowania.
Chociaż nie mogę ujawnić rzeczywistego produktu, najlepszą analogią byłoby to, że projektujemy przemysłowy producent koktajli, przy czym PLC kontroluje dokładnie otwieranie i zamykanie różnych zaworów w czasie rzeczywistym. Operator użyje naszego oprogramowania do zaprojektowania niestandardowej sekwencji dodawania różnych odczynników oraz włączania / wyłączania odpowiednich ciężkich maszyn (np. Mieszalnika przemysłowego).
Oto wyzwanie: naszym obecnym podejściem jest napisanie własnego kompilatora, który tłumaczy instrukcje podane przez operatora (otwarty zawór A na 10 ms, otwarty zawór B na 20 ms) na logikę drabinkową i kod maszynowy PLC. Następnie pobieralibyśmy bezpośrednio nasz samodzielnie skompilowany program do sterownika PLC przez port szeregowy. Wszystko to musiałoby zostać zautomatyzowane, aby operator musiał tylko kliknąć przycisk po wymyśleniu sekwencji kroków.
Jednak pomimo moich badań nie znalazłem ani jednego dostawcy PLC, który 1) ma kompilator z API lub publikuje wystarczającą ilość informacji o kodzie maszynowym PLC, aby umożliwić napisanie kompilatora, 2) obsługuje bezpośrednie pobieranie programów do PLC bez użycia oprogramowania programistycznego dostawcy (programator CX, studio Atmel itp.).
Jestem przekonany, że przyjmujemy niewłaściwe podejście, a przynajmniej nie wiem, jakiego produktu szukać. We / wy jest wystarczająco proste, aby nie uzasadniać budowy własnej płyty, ale funkcjonalność, której szukamy, a mianowicie interakcja PLC z oprogramowaniem na wysokim poziomie, wydaje się być niedostępna.
Idealnie byłoby, gdybyśmy chcieli pobrać cały program do PLC na raz i nie wysyłali instrukcji pojedynczo. Wykonanie wszystkich instrukcji na PLC (lub jakimkolwiek innym urządzeniu, z którego ostatecznie skorzystamy) musi odbywać się w czasie rzeczywistym.
Czy są dostępne na rynku sterowniki PLC, które obsługują kompilowanie i pobieranie kodu maszynowego, tak że cały proces może zostać zautomatyzowany przez większy program? Czy istnieje inny sposób pobrania programu czasu rzeczywistego na sterownik PLC napisany przez oprogramowanie komputerowe napisane w języku wysokiego poziomu?