Sterowniki Programowalne (SP) Wykład 13

Podobne dokumenty
J zyk C dla sterowników programowalnych GeFanuc

Systemy Czasu Rzeczywistego (SCR)

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Utworzenie pliku. Dowiesz się:

Sterowniki Programowalne Sem. V, AiR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Materiały dodatkowe. Simulink PLC Coder

Kurs SIMATIC S7-300/400 i TIA Portal - Zaawansowany. Spis treści. Dzień 1

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Programowanie mikrokontrolerów AVR

Pierwsze kroki z easy Soft CoDeSys Eaton Corporation. All rights reserved.

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wstęp do Programowania, laboratorium 02

Język FBD w systemie Concept

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

1 Podstawy c++ w pigułce.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Wstęp do programowania. Wykład 1

1.Wstęp. 2.Generowanie systemu w EDK

Ćwiczenie 1. Przygotowanie środowiska JAVA

Wprowadzenie do środowiska Qt Creator

Podstawy Programowania. Wykład 1

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Programowanie w języku C++ Grażyna Koba

Sterowniki Programowalne (SP) Wykład #4

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Mikrokontroler ATmega32. Język symboliczny

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Sterowniki Programowalne (SP)

Programowanie niskopoziomowe

Informator techniczny

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Siemens S Konfiguracja regulatora PID

PAMIĘĆ OPERACYJNA...107

Architektura komputerów

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Sterowniki Programowalne sem. V, AiR

Sterowniki programowalne

Sterowniki Programowalne (SP) - Wykład #1 Wykład organizacyjny

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Języki i metodyka programowania. Wprowadzenie do języka C

1 Podstawy c++ w pigułce.

Programowanie procesora Microblaze w środowisku SDK

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Programowanie obiektowe zastosowanie języka Java SE

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Programowanie w języku Python. Grażyna Koba

MiAcz2. Programowalne systemy przemysłowe automatyki PLC

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Programowanie proceduralne w języku C++ Pojęcia podstawowe - kod źródłowy

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Ćwiczenia z S Komunikacja S z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

2 Przygotował: mgr inż. Maciej Lasota

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Podstawy i języki programowania

Warsztaty dla nauczycieli

PROGRAMOWANIE w C prolog

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

JAVA?? to proste!! Autor: wojtekb111111

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Divar - Archive Player. Instrukcja obsługi

Kompilator języka C na procesor 8051 RC51 implementacja

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

1 POLSKI INSTALACJA OPROGRAMOWANIA IDC3 FIRMY TEXA INSTALACJA W SYSTEMIE WINDOWS VISTA...21

WPROWADZENIE DO INFORMATYKI

Programowanie strukturalne i obiektowe

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Podstawy programowania skrót z wykładów:

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

Wprowadzenie do biblioteki klas C++

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Podstawy programowania - 1

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Język ludzki kod maszynowy

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Proste algorytmy w języku C

Opisy efektów kształcenia dla modułu

Praca w środowisku Visual Studio 2008, Visual C

Język C - podstawowe informacje

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Transkrypt:

Sterowniki Programowalne (SP) Wykład 13 Język C dla sterowników programowalnych GeFanuc Na podstawie C Programmer's Toolkit for PACSystems WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok III, semestr V Opracował: Bartosz Puchalski 04.11.2016

Cel/zakres wykładu Wstęp Dokumentacja Przybornik Praca z przybornikiem Wymagania co do nazw plików Nazwy zastrzeżone Pliki nagłówkowe (wymagane) Dodatkowe pliki nagłówkowe 2

Cel/zakres wykładu Praca z przybornikiem Funkcja Main Typy zmiennych Dostęp do pamięci Makra bitowe Kompilacja Dodawanie bloku C do projektu Praktyka 3

Wstęp PACSystems C Programmer's Toolkit (przybornik) zawiera składniki takie jak: biblioteki, narzędzia, dokumentacje, potrzebne do tworzenia bloków programu w języku C dla kontrolerów PACSystems. Bloki C są budowane w języku ANSI C przy pomocy edytorów tekstu oraz aplikacji zawartych w przyborniku na komputerze osobistym (PC). 4

Wstęp Bloki C są dołączane do projektu uruchamianego na kontrolerze PACSystems poprzez narzędzie do programowania sterowników GE Fanuc Proficy Machine Edition. W Proficy Machine Edition wywołanie bloków C w programie użytkownika następuje: przez język drabinkowy (instrukcja Call), przez moduł wejścia/wyjścia, lub przez przerwanie czasowe. W celu dodania bloku C do projektu w Proficy Machine Edition należy wykorzystać funkcję "Add C block". 5

Wstęp Blok C w kontrolerach PACSystems domyślnie jest ograniczony do rozmiaru 256 KB o ile taka ilość pamięci jest aktualnie dostępna. Przykłady wykorzystania bloków C są następujące: kształtowanie przebiegów czasowych, obliczanie wyprzedzenia/opóźnienia (lead/lag), generowanie komunikatów, wybieranie wejść, operacje arytmetyczne, algorytmy regulacji np. PID, sortowanie, przesuwanie oraz kopiowanie danych. 6

Wstęp - Dokumentacja Tytuł dokumentu: C Programmer's Toolkit for PACSystems TM User's Manual, GFK-2259E January 2012 Strona internetowa: https://ge-ip.force.com/communities/cc_home Dokumentacja zawiera niezbędne informacje dotyczące programowania aplikacji w języku C dla kontrolerów z rodziny PACSystems. Wymagana jest znajomość: języka C, działania kontrolerów PAC Systems. 7

Wstęp - Przybornik Okno główne przybornika Katalog przybornika Ikona przybornika (Pulpit) 8

Wstęp - Przybornik Minimalne wymagania systemowe: Komputer klasy PC z procesorem Pentium 166 MHz lub lepszy, RAM: minimum 128 MB, Miejsce na dysku: minimum 100MB, System operacyjny: Windows 2000, Windows ME, Windows 98, Windows NT 4.0 SP6a lub Windows XP 9

Praca z przybornikiem Kod źródłowy języka C, wykorzystany do budowy aplikacji/bloków C, dla kontrolera PACSystems może być napisany w dowolnym edytorze tekstu pod warunkiem że plik wyjściowy będzie kompatybilny z kompilatorem GNU C (nie jest rekomendowane używanie procesorów teksu). Zaleca się aby każdy blok C był budowany w oddzielnych katalogach. Można do tego celu wykorzystać katalog \Projects\ utworzony zaraz po instalacji przybornika. 10

Praca z przybornikiem Wymagania co do nazw plików Nazwy plików boków napisanych w języku C (np. mojblokc.gefelf) muszą spełniać następujące zalecenia: maksymalna długość nazwy 31 znaków, pierwszy znak nazwy musi być literą, nazwa pliku nie może zawierać spacji, nie można używać Real jako nazwy pliku, gdyż jest ona zarezerwowana przez przybornik. 11

Praca z przybornikiem Nazwy zastrzeżone Aby zapobiec konfliktom pomiędzy przybornikiem a zdefiniowanymi przez użytkownika nazwami w aplikacji C nie powinno się używać nazw zaczynających się: od GEF_, kropką. - na przykład.mydata. Nie przestrzeganie tych zasad może powodować błędy podczas kompilacji, błędne zapisywanie plików oraz nieprawidłowe operacje. 12

Praca z przybornikiem Pliki nagłówkowe (wymagane) W celu wykorzystania funkcji oraz makr zawartych w bibliotece danego kontrolera PACSystems należy dołączyć wyszczególnione poniżej pliki nagłówkowe do kodu: #include <PACRXPlc.h> /*Dla bloków C uruchamianych na dowolnym kontrolerze PACSystems */ #include <PACRX7iPlc.h> /* Dla bloków C uruchamianych i wykorzystujących zasoby kontrolerów z rodziny RX7i */ #include <PACRX3iPlc.h> /*Dla bloków C uruchamianych i wykorzystujących zasoby kontrolerów z rodziny RX3i */ Lista funkcji oraz makr danego kontrolera jest wyszczególniona w Załączniku A, dokumentu C Programmer's Toolkit... 13

Praca z przybornikiem dodatkowe pliki nagłówkowe W celu wykorzystania odpowiednich funkcji biblioteki uruchomieniowej języka C należy dołączyć wyszczególnione poniżej pliki nagłówkowe (jeden bądź kilka): #include <stdio.h> /* Wejście/wyjście */ #include <math.h> /* Matematyka */ #include <stdlib.h> /* Matematyka, konwersja danych, wyszukiwanie */ #include <string.h> /* Obsługa łańcuchów znaków */ #include <time.h> /* Obsługa czasu */ #include <ctype.h> /* Klasyfikacja znaków, konwersja */ Lista funkcji biblioteki uruchomieniowej języka C wspieranych przez kontrolery PACSystems zamieszczona jest w załączniku B, dokumentu C Programmer's Toolkit. 14

Praca z przybornikiem Funkcja main Po dołączeniu odpowiednich plików nagłówkowych, można przystąpić do pisania właściwego kodu dla bloku C, który będzie wykonywał określone przez programistę zadania, wykorzystując funkcje z wybranych bibliotek. Blok lub bloki C muszą posiadać jedną i tylko jedną funkcję o nazwie GefMain. Jest to odpowiednik funkcji main w języku C. Poprzez tę funkcję przekazywane są dane do i z bloku "C". 15

Praca z przybornikiem Typy zmiennych Zmienna w C Toolkit Opis T_BOOLEAN 8 bitów, gdzie 0 oznacza FAŁSZ a wartość niezerowa PRAWDĘ Odpowiednik w środowisku programistycznym BOOL T_BYTE 8 bitów, bez znaku BYTE T_WORD 16 bitów, bez znaku WORD T_DWORD 32 bity bez znaku DWORD T_INT8 8 bitów ze znakiem niedostępne T_INT16 8 bitów ze znakiem użycie typu INT w kodzie źródłowym C skutkuje typem 32 bitowym ze znakiem 16

Praca z przybornikiem Typy zmiennych Zmienna w C Toolkit Opis T_INT32 32 bity ze znakiem DINT T_UINT8 8 bitów bez znaku BYTE T_UINT16 16 bitów, bez znaku UINT T_UINT32 32 bity bez znaku DWORD Odpowiednik w środowisku programistycznym T_UINT64 64 bity bez znaku niedostępne T_REAL32 T_REAL64 32 bity, zmiennoprzecinkowa 64 bity, zmiennoprzecinkowa REAL LREAL 17

Praca z przybornikiem Dostęp do pamięci sterownika Typ referencji Opis %I Wejście dyskretne (tylko do odczytu) %Q Wyjście dyskretne (tylko do odczytu) %M Dyskretna pamięć wewnętrzna ( tylko do odczytu) %T Dyskretna pamięć tymczasowa (tylko do odczytu) %G Dyskretne pamięć globalna (tylko do odczytu) %S Dyskretne pamięć systemowa (tylko do odczytu) 18

Praca z przybornikiem Dostęp do pamięci sterownika Typ referencji Opis %AI %AQ Rejestry wejść analogowych Rejestry wyjść analogowych %R Rejestry systemowe %P Rejestry programu (używane do zapamiętywania danych z bloku Main) %L Lokalne rejestry (używane do zapamiętywania danych z bloków) 19

Praca z przybornikiem Dostęp do pamięci sterownika Modyfikator Opis B Referencja bajtowa bez znaku (8 bitów, 0 255) W Referencja Word (16 bitów, 0 65535) I D F Dbl Referencja całkowitoliczbowa (16 bitów ze znakiem, -32768 32767) Referencja podwójnej precyzji całkowitoliczbowa (32 bity ze znakiem) Referencja zmiennoprzecinkowa (32 bity standard IEEE) Referencja zmiennoprzecinkowa podwójnej precyzji (64 bit standard IEEE) 20

Praca z przybornikiem Przykład RI(1) = 3; Przypisuje wartość całkowitoliczbową 3 do rejestru %R00001 RW(2) = 0x55AA; Przypisuje wartość typu Word 55AAh do rejestru %R0002 21

Praca z przybornikiem Makra bitowe Modyfikator Opis BIT_TST_X Wykonuje test bitu BIT_SET_X Ustawia określony Bit na wartość 1 BIT_CLR_X Czyści określony bit, ustawia wartość 0 22

Praca z przybornikiem Przykład #include PACRXPlc.h int GeFMain() { if (BIT_TST_I(120)) { BIT_SET_Q(137); BIT_SET_M(29); BIT_SET_T(99); } else { BIT_CLR_Q(137); BIT_CLR_M(29); BIT_CLR_T(99); } return(gef_execution_ok); } 23

Praca z przybornikiem Makra bitowe Aby wykorzystać makra bitowe do zmiennych zorientowanych jako słowo w sterowniku PLC, należy podać dwa parametry określające: 1. Adres w pamięci sterownika, 2. Numer bitu z wybranego słowa (numery bitów od 1 do 16, gdzie 1 oznacza najmniej znaczący bit) Przykład: if (BIT_TST_R(135, 6) ) BIT_SET_P(13, 4); else BIT_CLR_AI(2,1); 24

Praca z przybornikiem Kompilacja Po wykonaniu bloku C należy skompilować jego kod źródłowy. Kompilacja bloku: Uruchomić C Toolkit ikoną PACSystems C Toolkit znajdującą się na pulpicie lub uruchomić plik ctkpacs.bat znajdujący się w folderze przybornika, W oknie konsoli DOS przejść do katalogu, w którym znajduje się plik źródłowy w języku C. 25

Praca z przybornikiem Kompilacja Wpisać odpowiednią komendę: aby skompilować kod źródłowy napisany w języku C, który będzie uruchamiany na dowolnym kontrolerze z rodziny PACSystems RX: compilecpacrx<file_name> aby skompilować kod źródłowy napisany w języku C, który będzie uruchamiany na kontrolerach z rodziny PACSystems RX3i: compilecpacrx3i<file_name> aby skompilować kod źródłowy napisany w języku C, który będzie uruchamiany na kontrolerach z rodziny PACSystems RX7i: compilecpacrx7i <file_name> Przykład Aby skompilować plik mojplikc.c dla kontrolerów z rodziny RX3i należy wpisać: compilecpacrx3i mojplikc 26

Praca z przybornikiem Kompilacja Jeśli wystąpią błędy kompilacji zostaną one wyświetlone na ekranie konsoli. Jeżeli kompilacja zakończy się powodzeniem zostanie utworzony plik o tej samej nazwie co plik źródłowy tylko że z rozszerzeniem.gefelf Plik ten zostanie umieszczony w podkatalogu PLC w tym samym katalogu co plik źródłowy. W taki sposób jest jednoznaczne, który plik należy wgrać na sterownik. Przykład Po skompilowaniu kodu źródłowego zawartego w pliku mojplik.c zostanie utworzony plik mojplikc.gefelf, który należy wgrać na sterownik 27

Praca z przybornikiem Dodawanie bloku C projektu Po skompilowaniu kodu w języku C należy przypisać plik *.gefelf do bloku C w aplikacji Proificy. Blok C zdefiniowany w projekcie Proficy musi posiadać taką samą liczbę parametrów jak funkcja GefMain. Nie jest sprawdzane czy liczba parametrów przypisana w projekcie zgadza się z ilością zdefiniowaną w funkcji GefMain. W przypadku gdy liczba parametrów się nie zgadza blok C może działać nieprawidłowo. 28

A teraz praktyka ( ʖ ) 29

A teraz praktyka ( ʖ ) 30

A teraz praktyka ( ʖ ) 31

A teraz praktyka ( ʖ ) 32

A teraz praktyka ( ʖ ) 33

A teraz praktyka ( ʖ ) 34

A teraz praktyka ( ʖ ) 35

A teraz praktyka ( ʖ ) 36

A teraz praktyka ( ʖ ) 37

A teraz praktyka ( ʖ ) 38

A teraz praktyka ( ʖ ) 39

A teraz praktyka ( ʖ ) 40

A teraz praktyka ( ʖ ) 41

A teraz praktyka ( ʖ ) 42

43