Algorytmy regulacji procesów ciągłych

Zagadnienie szybkiego prototypowania algorytmów regulacji automatycznej, a następnie ich implementacji w sterownikach programowalnych, zaczyna odgrywać coraz większą rolę. Złożone układy regulacji wymagają stosowania bardziej wyrafinowanych algorytmów, niż regulacja dwustawna czy najpopularniejszy obecnie w przemyśle algorytm PID.

Rys. 1. Regulator PID to blok funkcyjny o zmiennych wejściowych xzad, xreg, parametrach kp, Td, Ti, Ts, uimin, uimax, umin, umax, i jednej zmiennej wyjściowej ureg

Według naszych danych z ubiegłego roku rodzimi inżynierowie zdecydowanie najczęściej programują urządzenia automatyki posługując się językiem schematów drabinkowych. Jest to również najpopularniejszy z języków udostępnianych użytkownikom przez producentów sprzętu. Okazuje się jednak, że rosnące wymagania programowanych aplikacji zmuszają niekiedy do stosowania języków tekstowych wyższego rzędu, jak na przykład języka tekstu strukturalnego. Tendencja ta dotyczy również pozostałych metod programowania. W 2007 roku na polskim rynku język bloków funkcyjnych znany był ponad 60% ankietowanych, zaś język listy instrukcji przeszło 35%. Z kolei język tekstu strukturalnego nie był obcy niemal 30% naszych respondentów. Co piąty stosuje do programowania sterowników również język ANSI C. W przypadku języków SFC (16,83%), CFC (4,95%) oraz języków dedykowanych tylko do urządzeń konkretnego producenta polscy inżynierowie nie wykazują zbyt dużej aktywności.

Przyjrzyjmy się, jak można przejść od koncepcji algorytmu regulacji badanego z użyciem narzędzi symulacji komputerowej do jego implementacji w sterownikach PLC. Do tego celu potrzebne są urządzenia, które poza językiem schematów drabinkowych pozwolą użytkownikowi na tworzenie bloków funkcyjnych (zgodnie z normą IEC 61131-3) za pomocą języków tekstowych wysokiego poziomu. Zalicza się do nich tekst strukturalny (ST), a coraz częściej również ANSI C. Norma IEC 61131-3 definiuje pięć języków programowania PLC:

  • Instruction List (IL) – język tekstowy stosunkowo niskiego poziomu, podobny do znanego z mikrokontrolerów asemblera;
  • Ladder Diagram (LAD) – język schematów drabinkowych;
  • FBD – Function Block Diagram, język bloków funkcyjnych;
  • Sequential Function Chart (SFC) – język graficzny, opisujący funkcjonalność sterowanego procesu z użyciem notacji akcji i warunków przejścia pomiędzy ich realizacją;
  • Structured Text (ST) – język tekstu strukturalnego, język tekstowy wysokiego poziomu (bardzo podobny do Pascala), stosowany do oprogramowania zadań sterowania, wymagających złożonych obliczeń numerycznych.