• Nie Znaleziono Wyników

Instrukcja modulacji szerokości impulsu (PWM)

Tabela 6.14. Typy danych parametrów

6.3.7. Instrukcja modulacji szerokości impulsu (PWM)

Tabela 6.20. Instrukcja CTRL_PWM PWM (Pulse Width Modulation) zapewnia stały okres przebiegu wyjściowego ze zmiennym współczynnikiem wypełnienia.

Wyjście PWM działa przez cały czas od chwili uruchomienia generując impulsy o określonej częstotliwości (okresie). Szerokość impulsów jest zmieniana zgodnie z potrzebami, tak by uzyskać pożądany efekt sterowania.

Instrukcja CTRL_PWM wykorzystuje blok danych (DB) do przechowywania infor-macji o parametrach. Dla SCL należy najpierw stworzyć DB dla instrukcji pojedyn-czej instrukcji, aby móc się do niego odwoływać. STEP 7 dla LAD i FBD tworzy automatycznie DB, gdy tylko tworzona jest instrukcja. Bloki danych parametrów są sterowane za pomocą instrukcji CTRL_PWM.

Kiedy PLC po raz pierwszy wchodzi w tryb RUN, wtedy wartość szerokości im-pulsu przyjmuje wartość początkową określoną w konfiguracji urządzenia. Jeże-li trzeba zmienić szerokość impulsu, to użytkownik wpisuje wartości pod adres Q-word określony w konfiguracji urządzenia (Output addresses/Start address).

W celu wpisania pożądanej szerokości impulsu pod adres Q-word korzysta się z instrukcji przesunięcia, konwersji, arytmetycznych lub bloku PID. Należy stoso-wać właściwy zakres dla wartości Q-word (procenty, tysięczne, dziesięciotysięcz-ne lub format analogowy S7).

ཱ ཱ

Współczynnik wypełnienia można określić w procentach jako część okresu (0–100%), w tysięcznych (0–1000), dziesięciotysięcz-nych (1–10 000). Szerokość impulsu może się zmieniać od 0 (brak impulsu, zawsze OFF) do pełnej skali (brak impulsu, zawsze

Okres cyklu ON).

Szerokość impulsu

Ponieważ sygnał wyjściowy PWM może się zmieniać od zera do pełnego za-kresu, więc jest to sygnał cyfrowy bardzo zbliżony do sygnału analogowego. Na przykład, sygnał wyjściowy PWM może być zastosowany do sterowania szybko-ścią silnika od zatrzymania do pełnej prędkości albo może być użyty do sterowa-nia położeniem zaworu od całkowitego zamknięcia do pełnego otwarcia.

6.4. Tworzenie dzienników zdarzeń w plikach .csv

Program użytkownika może używać instrukcji dziennika zdarzeń do zbierania wartości danych z czasu pracy w trwałych plikach dziennika. Pliki dziennika są przechowywane w pamięci typu flash (dla CPU lub karty pamięci) w standardo-wym formacie CSV (Comma Separated Value). Rekordy danych są zorganizowa-ne w cyklicznych plikach o predefiniowanych rozmiarach.

Instrukcje dziennika zdarzeń są użyte w programie do tworzenia, otwierania, za-pisywania rekordów i zamykania plików dziennika. Użytkownik decyduje o tym, ja-kie dane mają zostać zapisane tworząc bufor danych, który definiuje pojedynczy rekord. Bufor danych jest używany do tymczasowego przechowania nowego re-kordu dziennika. Nowe wartości bieżące muszą zostać przeniesione programowo do bufora podczas pracy. Kiedy wszystkie bieżące wartości danych zostaną od-świeżone, można użyć instrukcji DataLogWrite do przeniesienia danych z bufora do dziennika zdarzeń.

Użytkownik może użyć wbudowanego w PLC Web server do zarządzania plikami dziennika. Za pomocą standardowej strony Web można ściągnąć wszystkie za-pisane rekordy, ostatnie rekordy, usunąć rekordy lub nawet całe pliki dzienników.

Po przetransferowaniu plików dziennika do PC użytkownika można przeanalizo-wać dane za pomocą standardowego arkusza kalkulacyjnego, takiego jak np. MS Excel.

Należy użyć instrukcji DataLog do programowego przechowania danych procesu podczas pracy w pamięci flash CPU. Rekordy danych są zorganizowane w cy-klicznych plikach o predefiniowanych rozmiarach. Nowe rekordy są dołączane do dzienników zdarzeń. Po przekroczeniu maksymalnej liczby rekordów, nowe nad-pisują najstarsze rekordy. Aby zapobiec nadpisaniu jakiegokolwiek rekordu należy użyć instrukcji DataLogNewFile. Nowe rekordy danych zostaną zapisane w no-wym pliku dziennika, podczas gdy stare pliki dziennika pozostaną w CPU.

Tabela 6.21. Instrukcja DataLogWrite

DataLogWrite zapisuje rekordy danych w określonym dzienniku. Istniejący docelowy dziennik musi być otwarty.

Należy załadować programowo bufor rekordów z bieżącymi wartościami danych procesu a następnie uruchomić instrukcję DataLogWrite, aby przenieść rekordy danych do dziennika.

Jeżeli nastąpi przerwa w zasilaniu podczas wykonywania operacji DataLogWrite, to rekordy danych, które były w trakcie przenoszenia do dziennika mogą zostać utracone.

Tabela 6.22. Instrukcje DataLogCreate and DataLogNewFile

LAD/FBD SCL Opis

DataLogCreate1 tworzy i inicjuje pliki dziennika przechowywane w katalogu DataLogs w CPU.

Pliki dziennika tworzone są w predefiniowanym rozmiarze.

DataLogNewFile1 pozwala na stworzenie nowego pliku dziennika bazując na już istniejącym pliku dziennika. Nowy plik będzie stworzony i otwarty niejawnie bazując na określonej nazwie.

Rekord nagłówka zostanie zduplikowany z istniejącego dziennika wraz z pierwotnymi właściwościami dziennika.

Pierwotny dziennik zostanie niejawnie zamknięty.

1 Operacje DataLogCreate i DataLogNewFile obejmują wiele cykli skanu programu. Czas potrzebny do stworzenia pliku dziennika zależy od struktury rekordu i liczby rekordów. Przed użyciem nowego dziennika dla innych operacji, należy wymusić logiką programu przejście bitu DONE w stan wysoki.

Tabela 6.23. Instrukcje DataLogOpen and DataLogClose

Instrukcja DataLogOpen otwiera istniejący plik dziennika. Dziennik musi być otwarty przed zapisem do niego nowych rekordów. Dzienniki mogą być otwierane i zamykane niezależnie. 8 dzienników może być otwartych równocześnie.

Instrukcja DataLogClose zamyka otwarte pliki dzienników. Po zamknięciu dzienników operacje DataLogWrite będą skutkowały błędem. Żadne operacje zapisu nie mogą zostać przeprowadzone w tym dzienniku, dopóki nie zostanie

przeprowadzona kolejna operacja DataLogOpen operation.

Przejście sterownika w tryb STOP zamyka wszystkie pliki dziennika.|

6.5. Monitorowanie i testowanie programu 6.5.1. Tablice monitorujące i tablice wymuszeń

Do monitorowania i modyfikowania wartości wykonywanego programu użytkowni-ka w podłączonym CPU stosuje się tablice monitorujące (watch tables). Użytkow-nik może w swoim projekcie stworzyć i zapisać tablice monitorujące, dostarczają-ce danych dla wielu środowisk testowych.

Tablica monitorująca pozwala monitorować i interaktywnie współdziałać z CPU w czasie, kiedy wykonuje on program użytkownika. Można wyświetlać i zmieniać wartości nie tylko zmiennych bloków kodu i danych, ale również obszarów pamię-ci CPU, włączając w to wejśpamię-cia i wyjśpamię-cia (I i Q), peryferyjne wejśpamię-cia i wyjśpamię-cia (I:P), pamięć bitową (M) i bloki danych (DB). Posługując się tablicą monitorującą moż-na uaktywniać wyjścia fizyczne (Q:P) CPU w trybie STOP. Na przykład, podczas testowania okablowania CPU, można przypisywać wyjściom określone wartości.

Step 7 pozwala również wymuszać lub ustawiać określone wartości zmiennych w tablicy wymuszeń. Więcej informacji na temat wymuszania znajduje się w roz-dziale „Narzędzia online i diagnostyczne”, w części dotyczącej wymuszaniu war-tości w CPU (strona 218).

Uwaga

Wymuszone wartości są przechowywane w CPU, a nie w tablicy monitorującej.

Nie można wymusić stanu wejścia (lub adresu „I“). Można natomiast wymusić stan peryferyjnego wejścia. W tym celu należy dodać do tego adresu „:P“ (przy-kładowo: „On:P“).