Sprawozdanie RSS III


Rzeszów,12.12.2013r.

0x01 graphic
Politechnika Rzeszowska

Wydział Elektrotechniki i Informatyki

Katedra Informatyki i Automatyki

Rozproszone Systemy

Sterowania

Rozproszony system kontrolno-pomiarowy ze sterownikiem SMC.

Adam Kubicki

Dawid Zięba

Jakub Zimoń

EF/AA-DI-3

Grupa L6

Cel ćwiczenia:

Celem ćwiczenia jest zapoznanie się z niewielkim rozproszonym systemem kontrolno-pomiarowym programowanym w języku ST normy IEC 61131-3.

Zasada działania:


Zbiornik wyposażony jest w dwa zawory (do napełniania - Z1, do opróżniania - Z2), grzałkę G1, alarm ALM, trzy czujniki przekroczenia poziomu cieczy (H1, H2, H3), zamocowane odpowiednio na: 10, 50 i 90% wysokości zbiornika, czujnik przekroczenia ciśnienia P1 oraz dwa czujniki temperatury (zadanej T1 i aktualnej T2). Zawory Z1, Z2, grzałka G1 i alarm ALM podłączone są do modułu wyjść binarnych (SM4), czujniki poziomu H1..H3 oraz ciśnienia P1 - do modułu wejść binarnych (SM5), czujniki temperatury - do modułu wejść analogowych SM2. Sterownik SMC obsługujący moduły SM jest dodatkowo połączony z komputerem PC umożliwiającym wizualizację procesu w programie InTouch.

Wykonanie programu:

System został zrealizowany w programie CPDev, wizualizacja wykonana została w InTouch, a za komunikację pomiędzy programem a sterownikiem odpowiada protokół Modbus RTU.

Przebieg ćwiczenia:
Najpierw uruchomiony został projekt w CPDev-ie, gdzie zapoznaliśmy się z elementami drzewa projektu, kodem źródłowym, oraz dokonaliśmy kompilacji projektu.

Następnie dokonaliśmy symulacji off-line projektu w CPSim-ie, czyli takiej, która odbywa się na komputerze.

Kolejnym elementem skonfigurowanie komunikacji PC ze sterownikiem SMC, oraz przesłaniem na niego programu i wykonaniem symulacji on-line, czyli takiej, której dane pochodzą z prawdziwego sprzętu. Później podłączyliśmy wizualizację projektu w InTouch-u ze sterownikiem za pomocą Motbus-a.

Ostatnim elementem było uzupełnienie programu sterownika o stany alarmowe, oraz podgrzewanie cieczy w zbiorniku. Poniżej znajduję się cały kod programu, wraz ze zmianami.


Kod programu sterującego w języku ST.

PROGRAM STEROWANIE

VAR_EXTERNAL (*$AUTO*)

END_VAR

VAR

Stan : INT:=0; (* Stan automatu *)

Stan_: INT:=1; (* Stan automatu (poprzedni) *)

END_VAR

(*** Sterowanie poziomem cieczy ***)

CASE Stan OF

0: (* Tryb MANUAL (AUTO=FALSE) *)

IF AUTO THEN Stan := Stan_; END_IF

1: (* Tryb AUTO (AUTO=TRUE): napełnianie *)

IF START THEN

Z1 := TRUE; Z2 := FALSE; (* Napełnianie zbiornika *)

IF H3 THEN Stan := 2; END_IF (* Przejście do opróżniania *)

ELSE

Z1 := FALSE; Z2 := FALSE; (* Wstrzymanie napełniania *)

END_IF

IF NOT AUTO THEN

Stan_ := Stan; (* Zapamiętanie stanu *)

Stan := 0; (* Przejście do MANUAL *)

END_IF

2: (* Tryb AUTO (AUTO=TRUE): opróżnianie *)

IF START THEN

Z1 := FALSE; Z2 := TRUE; (* Opróżnianie zbiornika *)

IF NOT H1 THEN Stan := 1; END_IF (* Przejście do napełn. *)

ELSE

Z1 := FALSE; Z2 := FALSE; (* Wstrzymanie opróżniania *)

END_IF

IF NOT AUTO THEN

Stan_ := Stan; (* Zapamiętanie stanu *)

Stan := 0; (* Przejście do MANUAL *)

END_IF

END_CASE

(*** Regulacja temperatury cieczy (p.6) ***)

IF AUTO AND START THEN

IF (T2<T1) THEN

G1 := TRUE;

ELSE

G1 := FALSE;

END_IF

END_IF

(*** Sygnalizacja alarmów (p.5) ***)

IF P1 OR (G1 AND NOT H1) OR (H3 AND NOT H2) OR (H2 AND NOT H1) THEN

ALM:=TRUE;

END_IF

(*** Obsługa alarmów ***)

IF ALM AND START THEN (* ALARM - np. uszkodzone czujniki *)

Z1 := FALSE; Z2 := FALSE; (* Stan bezpieczny Z1, Z2 *)

G1 := FALSE; (* Grzałka G1 wyłączona *)

AUTO := FALSE; (* Tryb MANUAL *)

START := FALSE; (* Zatrzymanie procesu *)

Stan := 0; (* Tryb MANUAL *)

END_IF

IF ALMACK THEN (* Jeśli potwierdzony alarm *)

ALM := FALSE; (* Kasowanie alarmu *)

ALMACK := FALSE; (* Kasowanie potwierdzenia *)

END_IF

END_PROGRAM

0x01 graphic

Rysunek 1: Testowanie działania programu pod symulatorem.

0x01 graphic

Rysunek 2: Informacja o rozpoczętej transmisji ze sterownikiem.

0x01 graphic

Rysunek 3: Widok na zmienne pochodzące od układu SMC.


0x01 graphic

Rysunek 4: Działająca wizualizacja w InTouch.


Wnioski:

Na laboratorium zapoznaliśmy się z działaniem programów CPDev, oraz InTouch.

Powyższy system cyklicznego napełniania i opróżniania zbiornika nie był przez nas przygotowywany od początku, a jedynie udoskonalany.

Ćwiczenie to miało na celu pokazanie jak działają wymienione wyżej programy, podstawy języka ST, oraz komunikację Modbusa.

System ten działa w oparciu o sterownik SMC wraz z modułami SM, który to komunikował się z PC za pomocą protokołu Modbus RTU.



Wyszukiwarka

Podobne podstrony:
Sprawozdanie nr 4 III sem
SPRAWOZDANIE HYDROMECH III, sgsp, Hydromechanika, HYDROMECHANIKA 1
Sprawozdanie nr 5 III sem
SPRAWOZDANIE HYDROMECH III , sgsp, Hydromechanika, HYDROMECHANIKA 1
Sprawozdanie biofizyka III, Farmacja ŚUM, I ROK, Biofizyka, Sprawozdania
Sprawozdanie z cw III poprawiona, Farmacja, II rok farmacji, I semstr, fizyczna, Fizyczna, Sprawozda
Sprawozdanie nr 2 III sem, PW
Sprawozdanie nr 1 III sem
Sprawozdanie nr 2 III sem
Sprawozdanie nr 3 III sem
sprawozdanie cw III, Studia, Sprawozdania
Sprawozdanie nr 4 III sem
SPRAWOZDANIE Z CWICZENIA NR 4, Technologia zywnosci, semestr III, chemia zywnosci
6 Bioakustyka, BIOLOGIA UJ LATA I-III, ROK III, semestr I, biofizyka, sprawozdania
Laboratorium sprawozdania cz. 3, Mechanika III semestr, Fizyka, Laboratoria i sprawozdania
Laboratorium sprawozdania cz. 3, Mechanika III semestr, Fizyka, Laboratoria i sprawozdania
Rafał Polak 12k2 lab8, Inżynieria Oprogramowania - Informatyka, Semestr III, Systemy Operacyjne, Spr
Sprawozdanie III

więcej podobnych podstron