PL180755B1 - Sposób generowania i zapamiętywania programu użytkowego dla sterownika programowalnego - Google Patents
Sposób generowania i zapamiętywania programu użytkowego dla sterownika programowalnegoInfo
- Publication number
- PL180755B1 PL180755B1 PL96325157A PL32515796A PL180755B1 PL 180755 B1 PL180755 B1 PL 180755B1 PL 96325157 A PL96325157 A PL 96325157A PL 32515796 A PL32515796 A PL 32515796A PL 180755 B1 PL180755 B1 PL 180755B1
- Authority
- PL
- Poland
- Prior art keywords
- function
- parameters
- temporarily
- application program
- functional
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Electrophonic Musical Instruments (AREA)
- Control Of Ac Motors In General (AREA)
Abstract
S posób generowania 1 zapamietywania programu uzytkowego dla sterownika programowalnego, w którym przy przetwarzaniu programu uzytkowego, skladajacego sie z rozkazów, ustala sie z sy- gnalów wejsciowych procesu przemyslowego sygnaly wyjsciowe dla procesu przemyslowego, znam ienny tym , ze po wprowadzeniu w kazdym przypadku do rozkazów (B 1, B2, B3, B4, B5) programu uzytkowego kodu funkcyjnego i parametrów funkcyjnych przy- porzadkowanych kodowi f u nkcyjnemu, gdzie parametry funkcyjne odnosza sie do sygnalu wejsciowego (E 1, E2, E3, E4) albo innego rozkazu (B5), pobiera sie rozkazy (B 1, B2, B3 B4, B5) do przetwo- rzenia podczas generowania program u uzytkowego dla kazdego sygnalu wyjsciowego, zaczynajac od rozkazu (B i, B2, B3, B4) przypisanego danemu sygnalowi wyjsciowemu (A 1, A2, A3, A4), pobiera sie kod funkcyjny do przetworzenia i zapamietuje sie go tymczasowo, ustala sie liczbe parametrów funkcyjnych oraz pobie- ra sie kolejne parametry funkcyjne, przy czym gdy parametr funkcy- jny jest sygnalem wejsciowym (E 1, E2, E3, E4) to zapamietuje sie tymczasowo wskazanie na sygnal wejsciowy (E 1, E2, E3, E4), zas gdy parametr funkcyjny jest nowym kodem funkcyjnym to zapa- mietuje sie tymczasowo wskazanie na nowy rozkaz (B5) oraz naste- puje przejscie programu do tego nowego rozkazu (B5), nastepnie zapamietuje sie tymczasowo inny kod funkcyjny oraz powtarza sie d la nowego rozkazu (B5) ustalanie liczby i pobieranie kolejnych pa- rametrów funkcyjnych oraz tymczasowe zapamietanie wskazania na sygnal wejsciowy (E 1, E2, E3, E4) i na nowy rozkaz (B5), po czym zapamietane tymczasowo kody funkcyjne i zapamietane tym- czasowo parametry funkcyjne umieszcza sie w pamieci stalej (14) albo oznacza jako poprawne dopiero wtedy, gdy zostana pobrane w calosci wszystkie rozkazy (B 1, B2, B3, B4, B5) co najmniej danego sygnalu wyjsciowego (A1, A2, A3, A4) F I G 3 PL PL PL PL
Description
Przedmiotem wynalazku jest sposób generowania i zapamiętywania programu użytkowego dla sterownika programowalnego.
Znane sąrozwiązania, w których w sterowniku programowalnym przy przetwarzaniu programu użytkowego, składającego się z rozkazów, ustala z sygnałów wejściowych procesu przemysłowego sygnały wyjściowe dla procesu przemysłowego.
Istotą sposobu generowania i zapamiętywania programu użytkowego dla sterownika programowalnego, według wynalazku, w którym przy przetwarzaniu programu użytkowego, składającego się z rozkazów, ustala się z sygnałów wejściowych procesu przemysłowego sygnały wyjściowe dla procesu przemysłowego, jest to, że po wprowadzeniu w każdym przypadku do rozkazów programu użytkowego kodu funkcyjnego i parametrów funkcyjnych przyporządkowanych kodowi funkcyjnemu, gdzie parametry funkcyjne odnoszą się do sygnału wejściowego albo innego rozkazu, pobiera się rozkazy do przetwarzania podczas generowania programu użytkowego dla każdego sygnału wyjściowego, zaczynając od rozkazu przypisanego danemu sygnałowi wyjściowemu, pobiera się kod funkcyjny do przetworzenia i zapamiętuje się go tymczasowo, ustala się liczbę parametrów funkcyjnych oraz pobiera się kolejne parametry funkcyjne, przy czym gdy parametr funkcyjny jest sygnałem wejściowym to zapamiętuje się tymczasowo wskazanie na sygnał wejściowy, zaś gdy parametr funkcyjny jest nowym kodem funkcyjnym to zapamiętuje się tymczasowo wskazanie na nowy rozkaz oraz następuje przejście programu do tego nowego rozkazu, następnie zapamiętuje się tymczasowo inny kod funkcyjny oraz powtarza się dla nowego rozkazu ustalanie liczby i pobieranie kolejnych parametrów funkcyjnych oraz tymczasowe zapamiętanie wskazania na sygnał wejściowy i na nowy rozkaz,
180 755 po czym zapamiętane tymczasowo kody funkcyjne i zapamiętane tymczasowo parametry funkcyjne umieszcza się w pamięci stałej albo oznacza jako poprawne dopiero wtedy, gdy zostaną pobrane w całości wszystkie rozkazy co najmniej danego sygnału wyjściowego.
Sposób według wynalazku objaśniono w oparciu o przykład wykonania przedstawiony na rysunku, na którym fig. 1 przedstawia schemat blokowy programatora i sterownika programowalnego, fig. 2 - konstrukcję interfejsu użytkowego programatora, a fig. 3 - schemat logiczny programu użytkowego.
Przedstawiony na fig. 1 programator 1 posiada procesor 2,któryjest połączony przez szynę systemową3 z pamięciąstałą4 i pamięciązapisu/odczytu 5 oraz z interfejsami 6,7 i 8. W pamięci stałej 4 zapamiętanaj est procedura pracy procesora 2, zaś pamięć zapisu/odczytu 5 służy programatorowi 1 jako pamięć robocza. Poprzez interfejs 6 za pośrednictwemjednostki wprowadzania 9, na przykład klawiatury, można wprowadzać dane do programatora 1. Podobnie za pośrednictwem interfejsu 7 dane można przedstawić na jednostce wskaźnikowej 10. Za pośrednictwem interfejsu komunikacyjnego 8 programator 1 może komunikować się z programowalnym sterownikiem 12 poprzez łącze komunikacyjne 11 narysowane linią przerywaną.
Programowalny sterownik 12 również posiada swój procesor 13, który przetwarza program użytkowy. Program użytkowy składa się z wielu rozkazów do wykonania i jest umieszczony w pamięci stałej 14 z możliwością kasowania i zapisu. Według przetwarzanego programu użytkowego procesor 13 uzyskuje dostęp poprzez sterownik 15 i interfejs procesowy 16 do nie pokazanego bliżej procesu przemysłowego albo urządzenia przemysłowego 17. Wczytuje stamtąd sygnały wejściowe, zapamiętuje je w pamięci zapisu/odczytu 18 i za pomocą programu użytkowego ustala sygnały wyjściowe. Sygnały wyjściowe sąrównież zapamiętywane wpamięci zapisu/odczytu 18 i następnie wysyłane poprzez sterownik 15 i interfejs procesowy 16 do urządzenia przemysłowego 17. Ponadtojednostka sterująca 12 zprogramowalnąpamięciąposiada interfejs 19 do programatora. Procesor 13, pamięci 14, 18, sterownik 15 oraz interfejs komunikacyjny 19 są również połączone ze sobą za pomocą szyny 20.
Programator 1 i programowalny sterownik 12 mogą być w zasadzie urządzeniami oddzielonymi od siebie. Jak pokazano na fig. 1 przerywaną linią i także na fig. 2, programator 1 jestjednak korzystnie zintegrowany ze sterownikiem programowalnym 12. W obu przypadkach jest jednak możliwe, aby programator 1 miał dostęp do pamięci stałej 14 poprzez interfejsy 8 i 19 oraz łącze komunikacyjnej 11. Jest przy tym możliwe wpisywanie nowego programu użytkowego do pamięci stałej 14 oraz wczytywanie, kasowanie albo modyfikowanie istniejącego programu użytkowego.
Jak przedstawiono na fig. 2 sterownik programowalny 12 posiada przyłącza śrubowe 21, 22, 23, 24, pole klawiaturowe 25 oraz wyświetlacz LCD 26. Poprzez przyłącze śrubowe 21 programowalny sterownik 12 jest połączony z 24-woltowym elektrycznym źródłem zasilania. Poprzez dwa z przyłączy śrubowych 22 można wysyłać cyfrowy sygnał wyjściowy do urządzenia przemysłowego 17. Poprzez jeden z zacisków śrubowych 23 można wczytywać sygnał wejściowy urządzenia przemysłowego 17. Poprzez zaciski śrubowe 24 można z kolei zasilać elektrycznie włączniki i czujniki, podłączone do zacisków śrubowych 22 i 23. Zaciski śrubowe 22, 23, 24 są więc elementem interfejsu procesowego 16.
Wyświetlacz LCD 26 odpowiada jednostce wskaźnikowej 10 programatora 1. Przy pomocy wyświetlacza 26 można ponadto pokazać komunikaty programowalnego sterownika 12 podczas pracy. Wyświetlacz 26 służy więc również jako jednostka kontrolna. Pole klawiaturowe 25 umożliwia bezpośrednie wprowadzanie rozkazów do programatora 1 i programowalnego sterownika 12.
Program użytkowy składa sięjak zazwyczaj z poszczególnych rozkazów, przy czym każdy rozkaz składa się zawsze z kodu funkcyjnego i parametrów funkcyjnych przyporządkowanych kodowi funkcyjnemu. Podczas pracy programowalny sterownik 12 wykonuje cyklicznie następujący szereg rozkazów: wczytuje sygnały wejściowe z urządzenia przemysłowego 17, za pomocąprogramu użytkowego ustala sygnały wyjściowe dlatego urządzenia, oraz wysyła sygnały wyjściowe do urządzenia przemysłowego 17.
180 755
Przy generowaniu programu użytkowego programator 1 pobiera kolejno rozkazy do przetworzenia z jednostki wprowadzania 9. W tym celu zaczynając od rozkazu przypisanemu pierwszemu sygnałowi wyjściowemu ustala się, która funkcja ma zostać wykonana. Tak więc wysyła się odpowiednie zapytanie do jednostki wskaźnikowej 10 i odczekuje, aż użytkownik wprowadzi kod funkcyjny poprzez jednostkę wprowadzania 9.
Gdy zostanie wprowadzony kod funkcyjny, jest on zapamiętywany tymczasowo przez programator 1 w pamięci zapisu/odczytu 5. Następnie programator 1 ustala, ile parametrów funkcyjnych jest przypisanych temu rozkazowi. Należy tu rozróżniać pomiędzy wewnętrznym przyporządkowaniem wewnątrz programatora 1 i liczbą parametrów funkcyjnych widocznych dla użytkownika. Wewnętrznie liczba parametrów funkcyjnychjest taka sama dla wszystkich kodów funkcyjnych, w podanym przykładzie j est ona równa cztery. Natomiast na zewnątrz pobiera się zawsze liczbę potrzebnych parametrów funkcyjnych. Przykład powinien wyjaśnić to bliżej:
Gdy jako kod funkcyjny zostanie wprowadzony kod operacji logicznej OR, faktycznie pobiera się cztery parametry. Te cztery parametry uwzględnia się również później przy przetwarzaniu programu. Gdy natomiastjako kod funkcyjny zostanie wybrana na przykład negacja logiczna, od użytkownika pobiera się tylko jeden parametr, czyli sygnał wejściowy do zanegowania. Pozostałe trzy parametry nie są uwzględniane przy przetwarzaniu programu.
Po pobraniu i tymczasowym zapamiętaniu kodu funkcyjnego w pamięci zapisu/odczytu 5 programator 1 współpracując zjednostkąwprowadzającą9 i jednostkąwskaźnikową 10 pobiera i tymczasowo zapamiętuje kolejne parametry funkcyjne. Jako parametr funkcyjny można wprowadzić albo sygnał wejściowy albo inny kod funkcyjny. Sprawdza się przy tym od razu przy każdym wprowadzeniu parametru funkcyjnego, czy jest to kod funkcyjny.
Jeżeli parametr funkcyjny niejest kodem funkcyjnym, a sygnałem wejściowym, zostaje on tymczasowo zapamiętany i następuje przejście do następnego parametru funkcyjnego. Przez sygnał wejściowy nie należy w tym przypadku rozumieć tylko sygnałów wejściowych z procesu technicznego 17, ale również sygnały, których wartość jest znana od początku. Przykładem tego typu sygnałów są stały sygnał jedynkowy albo zerowy oraz sygnał taktujący.
Jeżeli natomiast jako nowy parametr funkcyjny zostanie wprowadzony kod funkcyjny, jako parametr funkcyjny nie zapamiętuje się tymczasowo kodu funkcyjnego, ale adres nowego rozkazu. Bezpośrednio po tym następuje skok do nowego rozkazu i zapamiętuje się tymczasowo kod funkcyjny wprowadzony bezpośrednio przedtem. Następnie ponownie ustala się liczbę parametrów funkcyjnych oraz pobiera się i tymczasowo zapamiętuje parametry funkcyjne.
Również przy tych parametrach funkcyjnych sprawdza się od razu, czy sąto sygnały wejściowe czy kody funkcyjne. Jeżeli sąto nowe kody funkcyjne, ponownie zapamiętuje się od razu adres nowego rozkazu jako parametr funkcyjny i następuje skok do nowego rozkazu. Również tutaj zapamiętuje się tymczasowo kod funkcyjny podany uprzednio, ustala się liczbę potrzebnych parametrów funkcyjnych oraz pobiera się i tymczasowo zapamiętuje parametry funkcyjne.
To przełączane pobieranie kodów funkcyjnych i parametrów funkcyjnych jest kontynuowane tak długo, aż wszystkie parametry funkcyjne pobranego ostatnio i zapamiętanego tymczasowo kodu funkcyjnego wskazują na sygnały wejściowe. Gdy wszystkie parametry funkcyjne wskazują na sygnały wejściowe, dany rozkaz został wprowadzony w całości. Następuje wtedy powrót do poprzedniego rozkazu i w razie potrzeby pobiera się i tymczasowo zapamiętuje kolejne parametry funkcyjne, przy czym w razie potrzeby znowu następuje skok do nowego rozkazu.
Powyższa procedura jest kontynuowana tak długo, aż wszystkie funkcje wymagane do ustalenia sygnału wyjściowego zostaną związane ze sobą, czyli wprowadzone sąwszystkie parametry funkcyjne każdego rozkazu. Dopiero gdy to nastąpi, pobierany jest rozkaz przypisany następnemu sygnałowi wyjściowemu i procedura jest powtarzana, o ile jest to konieczne. W ten sposób programuje się kolejno wszystkie sygnały wyjściowe.
Oczywiście wprowadzanie programu użytkowego może być w dowolnej chwili przerwane przez użytkownika. W tym przypadku nie następuje jednak zapamiętanie wprowadzonego i zapamiętanego tymczasowo programu częściowego. Przy wyłączeniu programatora 1 wprowadzone dane zostają utracone. Zapamiętanie programu użytkowego pobranego i zapamiętanego
180 755 tymczasowo w pamięci zapisu/odczytu 5 w pamięci stałej 14 jest możliwe dopiero wtedy, gdy czynność programowania zostanie całkowicie zakończona. Czynność programowania albo tworzenie programu użytkowego uznaje się za całkowicie zakończone wtedy, gdy dla każdego sygnału wejściowego został wprowadzony rozkaz, oraz gdy każdy parametr funkcyjny każdego programowanego kodu funkcyjnego jest zajęty.
Na fig. 3 jest przedstawiony schemat logiczny prostego programu użytkowego. Linie ciągłe oznaczająprzy tym połączenia wymagane z powodu żądanych operacji logicznych. Linie przerywane pokazują dodatkowe połączenia wymagane przez schemat programowania, a linie kreskowo-punktowe pokazują połączenia uzupełnione samoczynnie przez programator 1. Wprowadzanie przykładowego programu według fig. 3 odbywa się następująco:
Najpierw programator 1 pyta poprzez jednostkę wskaźnikową 10 i jednostkę wprowadzania 9, który kod funkcyjny jest potrzebny do ustalenia sygnału wyjściowego na pierwszym wyjściu Al. Użytkownik wprowadza poprzez jednostkę wprowadzania 9 informuje, że powinna nastąpić operacja logiczna AND 27. Odpowiedni kod funkcyjny jest zapamiętywany tymczasowo w pamięci zapisu/odczytu 5 programatora 1. Następnie pobiera się i tymczasowo zapamiętuje pierwszy, drugi i trzeci parametr funkcyjny, czyli trzy z czterech sygnałów wejściowych operacji logicznej AND.
Pierwszy i drugi parametr wejściowy to sygnały wejściowe E1 i E2. Tak więc przy wprowadzaniu obu tych parametrów funkcyjnych natychmiast następuje przejście do następnego parametru funkcyjnego. Natomiast przy pobieraniu trzeciego parametru funkcyjnego użytkownik wprowadza żądanie wykonania operacji logicznej NOT 28. Jako trzeci parametr funkcyjny zostaje więc tymczasowo zapamiętany adres rozkazu, pod którym będzie następnie przeprowadzana operacja NOT 28.
Następnie programator 1 wykonuje skok do tego rozkazu i pobiera jedyny parametr funkcyjny dla operacji logicznej NOT 28. Użytkownik wprowadza tutaj sygnał wejściowy E3. Programator 1 zapamiętuje tymczasowo ten parametr funkcyjny i uzupełnia rozkaz o trzy dalsze parametry funkcyjne, które zawsze wskazują logicznąjedynkę. Również te trzy parametry funkcyjne są tymczasowo zapamiętywane w pamięci 5. Parametryzacja operacji logicznej nOt 28 zostaje wtedy zakończona. Następuje więc powrót do dalszej parametryzacji operacji logicznej AND 27 i pobiera się oraz zapamiętuje tymczasowo czwarty parametr funkcyjny. Ponieważ operacja logiczna AND 27 według fig. 3 ma trzy rzeczywiste parametry wejściowe, czwarte wejście jest wiązane poprzez odpowiednie wprowadzenie danych przez użytkownika z logicznąjedynką
Programowanie wyjścia Al zostaje więc zakończone i następuje przejście do programowania wyjścia A2.
Najpierw następuje zapytanie i po wprowadzeniu przez użytkownika zapamiętuje się tymczasowo, że kodem funkcyjnym do generowania sygnału wyjściowego A2 jest operacja logiczna OR 29. Następnie pobiera się kolejno cztery parametry funkcyjne operacji logicznej OR 29.
Jako pierwszy parametr funkcyjny według przykładowego programu z fig. 3 wprowadza się zaprogramowanąjuż operację logicznąNOT na wejściu E3. Ponieważ ta operacja logiczna została już zaprogramowana, nie wymaga się wprowadzania dalszych danych odnośnie tego parametru funkcyjnego i po tymczasowym zapamiętaniu następuje od razu przejście do drugiego parametru funkcyjnego.
Drugi i trzeci parametr funkcyjny to rzeczywiste sygnały wejściowe E2 i E4, tak więc od razu można przejść do czwartego parametru funkcyjnego.
Według przykładu programowania z fig. 3 również operacja logiczna OR 29 ma tylko trzy sygnały wejściowe. Czwarty parametr funkcyjny wskazuje więc na stałą wartość zero.
Ponieważ programowanie wyjścia A2 jest przez to zakończone, następuje przejście do wyjścia A3.
Według podanego przykładu programu wyjścia A3 i A4 nie są właściwie potrzebne. Dla wyjścia A3 wybiera się więc operację logicznąNOT 30, która jest związana z logicznąjedynką. Wyjście A3 jest więc ustawione na stałą wartość zero. Tak samo jest z wyjściem A4, na którym
180 755 przeprowadza się logiczną operację NOT 31. Alternatywnie możliwe jest również bezpośrednie połączenie wyjść A3 i A4 z logicznym zerem.
Otrzymany w ten sposób program jest następnie zapamiętywany w pamięci 14. Jest on podany w poniższej tabeli.
| B1: | FC (AND) ADDR (E1) ADDR (E2) ADDR (B5) ADDR („1”) |
| B2: | FC (OR) ADDR (B5) ADDR (E2) ADDR (E4) ADDR („0”) |
| B3: | FC (NOT) ADDR („1”) ADDR („1”) ADDR („1”) ADDR („1”) |
| B4: | FC (NOT) ADDR („1”) ADDR („1”) ADDR („1”) ADDR („1”) |
| B5: | FC (NOT) ADDR (E3) ADDR („1”) ADDR („1”) ADDR („1”) |
Po lewej stronie tabeli 1 przez B1, B2, B3, B4, B5 za każdym razem oznaczony jest początek poszczególnych rozkazów. Te dane służą jednak wyłącznie wyjaśnieniu i nie są elementem zapamiętanego programu. We właściwym programie FC oznacza kod funkcyjny, a ADDR adres.
Program jako taki składa się z bloków, każdy po pięć bajtów. Pierwszy bajt zawsze stanowi kod funkcyjny rozkazu, pozostałe cztery bajty to cztery parametry funkcyjne. Pierwsze cztery rozkazy B1, B2, B3, B4, określają rozkazy dla czterech sygnałów wyjściowych. Od piątego rozkazu zapamiętane są rozkazy, do których trzeba sięgać pośrednio, aby obliczyć sygnały wyjściowe.
Przetwarzanie programu użytkowego w trakcie eksploatacji sterownika programowalnego następuje jak poniżej:
Cyklicznie przetwarza się rozkazy B1, B2, B3, B4. Przy przetwarzaniu każdego z rozkazów B1, B2, B3, B4 najpierw odczytuje się kod funkcyjny przypisany rozkazowi. Następnie odczytuje się kolejne parametry funkcyjne przypisane tego rozkazowi. Przy odczytywaniu każdego parametru funkcyjnego sprawdza się od razu, czy wskazuje on na kolejny rozkaz. Jeżeli parametr funkcyjny wskazuje na sygnał wejściowy, jest on tymczasowo zapamiętywany.
180 755
Jeżeli parametr funkcyjny wskazuje natomiast na inny rozkaz, od razu, czyli przed odczytaniem następnego parametru funkcyjnego, następuje skok do tego rozkazu i odczytuje się kod funkcyjny oraz parametry funkcyjne przypisane temu rozkazowi. Również tutaj, jeżeli kod funkcyjny pokazuje na nowy rozkaz, natychmiast wykonuje się ten rozkaz, zanim będzie można przetwarzać kolejne parametry funkcyjne. Gdy zostaną przetworzone wszystkie parametry funkcyjne rozkazu, ustala się sygnał wyjściowy przypisany temu rozkazowi, w razie potrzeby następuje skok do rozkazu wywołującego i wyznaczony sygnał wyjściowy stanowi podstawę dalszego przetwarzania programu użytkowego.
Również tutaj zasada zostanie wyjaśniona za pomocą programu według tabeli.
Najpierw odczytuje się kod funkcyjny rozkazu B1. Następnie odczytywane są parametry funkcyjne, które wskazująna wejścia E1 i E2. Przy odczytywaniu trzeciego parametru funkcyjnego następuje rozgałęzienie do rozkazu B5. Jego kod funkcyjny i wszystkie cztery parametry (ponieważ wszystkie wskaziuąna sygnały wejściowe) są odczytywane i ustalany jest sygnał wyjściowy przypisany rozkazowi B5. Z tym sygnałem wyjściowym wraca się następnie do rozkazu B1 i odczytuje czwarty parametr funkcyjny. Następnie ustala się sygnał wyjściowy A1 i zapamiętuje w pamięci zapisu/odczytu 18.
Następnie odczytywanyjest kod funkcyjny rozkazu B2 i pierwszy parametr funkcyjny rozkazu B2. Następnie ponownie następuje skok do rozkazu B5, odczytywany jestjego kod funkcyjny i jego cztery parametry funkcyjne i ustalany jest sygnał wyjściowy rozkazu B5. Później następuje powrót do rozkazu B2 i odczytywane sąpozostałe trzy parametry funkcyjne. Następnie ustalany jest sygnał wyjściowy rozkazu B2.
Na końcu odczytywane i wykonywane są jeszcze kod funkcyjny i parametry funkcyjne rozkazu B3 i w ten sposób ustalanyjest sygnał wyjściowy A3. To samo zachodzi dla rozkazu B4 i wynikającego z niego sygnału wyjściowego A4.
Po ustaleniu ostatniego sygnału wyjściowego A4 ustalone sygnały wyjściowe Al, A2, A3, A4 sąwysyłane do procesu technicznego 17 i ponownie odczytuje się sygnały wejściowe El, E2, E3, E4. Następnie rozpoczyna się nowy cykl przy ustalaniu sygnałów wyjściowych Al, A2, A3, A4.
Alternatywnie do opisanego sposobu przetwarzania możliwe jest również bezpośrednie zapamiętywanie w pamięci stałej 14 tych rozkazów, które należą do sygnału wyjściowego, gdy dany sygnał wyjściowy jest całkowicie zaprogramowany. Można więc na przykład od razu zapamiętać rozkazy B1, B2, B3, B4, B5, gdy zostanie całkowicie zaprogramowany sygnał wyjściowy Al.
Można także zapamiętywać od razu w pamięci stałej 14 każdy wprowadzony kod funkcyjny i każdy wprowadzony parametr funkcyjny. W tym przypadku trzeba byłoby zapamiętywać na początku przetwarzania programu w specjalnie do tego przewidzianym obszarze pamięci stałej 14, że zaprogramowanie wszystkich sygnałów wyjściowych A1, A2, A3, A4 nie jest poprawne. Na przykład cztery jednobitowe komórki pamięci mogą być ustawione na logiczne zero, aby wskazać, że cztery sygnały wyjściowe A1, A2, A3, A4 są niepoprawnie zaprogramowane. Cztery jednobitowe komórki pamięci mogą zostać ustawione na logicznąjedynkę gdy sygnały wyjściowe A1, A2, A3, A4 zostaną poprawnie zaprogramowane. Zaznaczanie poprawności może zależnie od wyboru następować po przetworzeniu całości programu użytkowego albo oddzielnie dla każdego sygnału wyjściowego A1, A2, A3, A4 po pobraniu wszystkich rozkazów danego sygnału wyjściowego A1, A2, A3, A4.
Rozkazy nie muszą być zapamiętane kolejno jak w tabeli. Możliwe jest na przykład umieszczenie w pamięci 14 kolejno wszystkich rozkazów potrzebnych do wyznaczenia sygnału wyjściowego A1, tutaj rozkazów B1 i B5. Rozkazy B1, B2, B3, B4 do wyznaczenia sygnałów wyjściowych A1, A2, A3, A4 zostałyby wtedy zapamiętane za tymi rozkazami (tutaj B1 i B5). Przy przetwarzaniu programu użytkowego trzeba w tym przypadku obserwować, jaki j est najwyższy adres wywoływany dla ustalenia sygnału wyjściowego A1. Rozkaz do ustalenia sygnału wyjściowego A2 rozpoczyna się wtedy przy kolejnym najwyższym adresie. W podobny sposób, czyli przez tymczasowe zapamiętanie najwyższego potrzebnego adresu, można wtedy ustalić, na którym miejscu umieszczone sąrozkazy do ustalania sygnałów wyjściowych A3 i A4. Od znawcy zależy, który sposób postępowania uzna za korzystniejszy przy realizacji niniejszego wynalazku.
180 755
u
22
FIG2
180 755
El
E2
Γ
E3
E4 ”0*
Α1
Α2
Α3
Α4
FIG3
180 755
L.
FIG 1
Departament Wydawnictw UP RP. Nakład 60 egz.
Cena 2,00 zł.
Claims (1)
- Zastrzeżenie patentoweSposób generowania i zapamiętywania programu użytkowego dla sterownika programowalnego, w którym przy przetwarzaniu programu użytkowego, składającego się z rozkazów, ustala się z sygnałów wejściowych procesu przemysłowego sygnały wyjściowe dla procesu przemysłowego, znamienny tym, że po wprowadzeniu w każdym-przypadku do rozkazów (B1, B2, B3, B4, B5) programu użytkowego kodu funkcyjnego i parametrów funkcyjnych przyporządkowanych kodowi funkcyjnemu, gdzie parametry funkcyjne odnoszą się do sygnału wejściowego (E1, E2, E3, E4) albo innego rozkazu (B5), pobiera się rozkazy (B1, B2, B3, B4, B5) do przetworzenia podczas generowania programu użytkowego dla każdego sygnału wyjściowego, zaczynając od rozkazu (B1, B2, B3, B4) przypisanego danemu sygnałowi wyjściowemu (A1, A2, A3, A4), pobiera się kod funkcyjny do przetworzenia i zapamiętuje się go tymczasowo, ustala się liczbę parametrów funkcyjnych oraz pobiera się kolejne parametry funkcyjne, przy czym gdy parametr funkcyjny jest sygnałem wejściowym (E1, E2, E3, E4) to zapamiętuje się tymczasowo wskazanie na sygnał wejściowy (E1, E2, E3, E4), zaś gdy parametr funkcyjny jest nowym kodem funkcyjnym to zapamiętuje się tymczasowo wskazanie na nowy rozkaz (B5) oraz następuje przejście programu do tego nowego rozkazu (B5), następnie zapamiętuje się tymczasowo inny kod funkcyjny oraz powtarza się dla nowego rozkazu (B5) ustalanie liczby i pobieranie kolejnych parametrów funkcyjnych oraz tymczasowe zapamiętanie wskazania na sygnał wejściowy (E1, E2, E3, E4) i na nowy rozkaz (B5), po czym zapamiętane tymczasowo kody funkcyjne i zapamiętane tymczasowo parametry funkcyjne umieszcza się w pamięci stałej (14) albo oznaczajako poprawne dopiero wtedy, gdy zostanąpobrane w całości wszystkie rozkazy (B1, B2, B3, B4, B5) co najmniej danego sygnału wyjściowego (A1, A2, A3, A4).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP95113939 | 1995-09-05 | ||
| PCT/EP1996/003744 WO1997009661A1 (de) | 1995-09-05 | 1996-08-23 | Verfahren zum erzeugen und abspeichern eines aus befehlen bestehenden anwenderprogramms für eine speicherprogrammierbare steuerung und betriebsverfahren für eine speicherprogrammierbare steuerung |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| PL325157A1 PL325157A1 (en) | 1998-07-06 |
| PL180755B1 true PL180755B1 (pl) | 2001-04-30 |
Family
ID=8219580
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PL96325157A PL180755B1 (pl) | 1995-09-05 | 1996-08-23 | Sposób generowania i zapamiętywania programu użytkowego dla sterownika programowalnego |
Country Status (14)
| Country | Link |
|---|---|
| US (1) | US6144889A (pl) |
| EP (1) | EP0848843B1 (pl) |
| JP (1) | JP3916253B2 (pl) |
| KR (1) | KR100425371B1 (pl) |
| CN (1) | CN1093647C (pl) |
| AT (1) | ATE186409T1 (pl) |
| CZ (1) | CZ64898A3 (pl) |
| DE (1) | DE59603592D1 (pl) |
| ES (1) | ES2140126T3 (pl) |
| HU (1) | HUP9802775A3 (pl) |
| MY (1) | MY115845A (pl) |
| PL (1) | PL180755B1 (pl) |
| TW (1) | TW386186B (pl) |
| WO (1) | WO1997009661A1 (pl) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1999028794A2 (de) * | 1997-11-26 | 1999-06-10 | Moeller Gmbh | Kleinsteuerung |
| JP3625143B2 (ja) * | 1998-12-28 | 2005-03-02 | 大日精化工業株式会社 | 顔料の分散剤、顔料分散液及びカラーフイルター |
| JP4327283B2 (ja) * | 1999-01-26 | 2009-09-09 | 株式会社キーエンス | プログラマブルコントローラ |
| DE10065401A1 (de) * | 2000-12-27 | 2003-03-06 | Siemens Ag | Automatisierungssystem |
| US7076780B2 (en) * | 2001-09-13 | 2006-07-11 | Conocophillips Company | Application program interface for a computer program |
| US7174052B2 (en) * | 2003-01-15 | 2007-02-06 | Conocophillips Company | Method and apparatus for fault-tolerant parallel computation |
| US7360130B2 (en) * | 2004-05-24 | 2008-04-15 | Jed Margolin | Memory with integrated programmable controller |
| US7546374B2 (en) | 2005-08-05 | 2009-06-09 | Global Serv Inc. | Methods and arrangements for managing and maintaining a switch environment |
| US7689704B2 (en) | 2005-08-05 | 2010-03-30 | Global Serv Inc. | Methods and arrangements for managing automated switching |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4315315A (en) * | 1971-03-09 | 1982-02-09 | The Johns Hopkins University | Graphical automatic programming |
| JPS58155416A (ja) * | 1982-03-11 | 1983-09-16 | Fanuc Ltd | ラダ−ダイヤグラム表示方式 |
| US5126956A (en) * | 1982-03-11 | 1992-06-30 | Fanuc Ltd | Method and apparatus for displaying segments of a ladder diagram which turn on an operator specified relay |
| NO171240C (no) * | 1985-04-25 | 1993-02-10 | Bbc Brown Boveri & Cie | Programmeringsanordning for en lagerprogrammerbar styring |
| US4736320A (en) * | 1985-10-08 | 1988-04-05 | Foxboro Company | Computer language structure for process control applications, and translator therefor |
| US5034899A (en) * | 1986-07-07 | 1991-07-23 | Bbc Brown Boveri Ag | Software tool for automatically generating a functional-diagram graphic |
| JP2927484B2 (ja) * | 1989-01-25 | 1999-07-28 | 株式会社日立製作所 | プログラムの自動生成方法及び装置 |
| JPH04337843A (ja) * | 1991-05-15 | 1992-11-25 | Hitachi Ltd | プログラム動作表示方法 |
| US5377315A (en) * | 1992-10-06 | 1994-12-27 | Leggett; Andrew G. | Regeneration of process control flow diagrams for programmable logic controllers |
| US5508909A (en) * | 1994-04-26 | 1996-04-16 | Patriot Sensors And Controls | Method and systems for use with an industrial controller |
| US5696971A (en) * | 1994-12-23 | 1997-12-09 | Recursive Technologies Associates | Recursive functions optimizier (RFO) for compliers of high-level programming languages |
-
1996
- 1996-08-23 US US09/029,330 patent/US6144889A/en not_active Expired - Lifetime
- 1996-08-23 DE DE59603592T patent/DE59603592D1/de not_active Expired - Lifetime
- 1996-08-23 CN CN96196852A patent/CN1093647C/zh not_active Expired - Fee Related
- 1996-08-23 EP EP96929323A patent/EP0848843B1/de not_active Expired - Lifetime
- 1996-08-23 CZ CZ98648A patent/CZ64898A3/cs unknown
- 1996-08-23 WO PCT/EP1996/003744 patent/WO1997009661A1/de not_active Ceased
- 1996-08-23 AT AT96929323T patent/ATE186409T1/de not_active IP Right Cessation
- 1996-08-23 JP JP51081997A patent/JP3916253B2/ja not_active Expired - Fee Related
- 1996-08-23 PL PL96325157A patent/PL180755B1/pl not_active IP Right Cessation
- 1996-08-23 KR KR10-1998-0701657A patent/KR100425371B1/ko not_active Expired - Fee Related
- 1996-08-23 ES ES96929323T patent/ES2140126T3/es not_active Expired - Lifetime
- 1996-08-23 HU HU9802775A patent/HUP9802775A3/hu unknown
- 1996-08-24 TW TW085110336A patent/TW386186B/zh not_active IP Right Cessation
- 1996-09-04 MY MYPI96003662A patent/MY115845A/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| JPH11512205A (ja) | 1999-10-19 |
| CN1196128A (zh) | 1998-10-14 |
| EP0848843B1 (de) | 1999-11-03 |
| ES2140126T3 (es) | 2000-02-16 |
| TW386186B (en) | 2000-04-01 |
| DE59603592D1 (de) | 1999-12-09 |
| CZ64898A3 (cs) | 1998-06-17 |
| MY115845A (en) | 2003-09-30 |
| HK1011885A1 (en) | 1999-07-23 |
| HUP9802775A3 (en) | 2001-12-28 |
| CN1093647C (zh) | 2002-10-30 |
| US6144889A (en) | 2000-11-07 |
| KR100425371B1 (ko) | 2004-06-16 |
| EP0848843A1 (de) | 1998-06-24 |
| HUP9802775A2 (hu) | 1999-03-29 |
| KR19990044413A (ko) | 1999-06-25 |
| PL325157A1 (en) | 1998-07-06 |
| WO1997009661A1 (de) | 1997-03-13 |
| JP3916253B2 (ja) | 2007-05-16 |
| ATE186409T1 (de) | 1999-11-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0158430B1 (en) | Programming controller having automatic contact line solving | |
| US4122519A (en) | Data handling module for programmable controller | |
| US4677558A (en) | Method and system for controlling operation of an apparatus or engine, particularly internal combustion engine | |
| US5592613A (en) | Microcomputer having a program correction function | |
| US4484303A (en) | Programmable controller | |
| PL180755B1 (pl) | Sposób generowania i zapamiętywania programu użytkowego dla sterownika programowalnego | |
| CA1111951A (en) | Programmable controller with limit detection | |
| CA1112367A (en) | Programmable controller with programmable i/o scan rate | |
| JP3024422B2 (ja) | プログラマブルコントローラおよびプログラマブルコントローラの運転方法 | |
| JP4327283B2 (ja) | プログラマブルコントローラ | |
| EP0230536B1 (en) | I/o processor for programmable sequence controller | |
| KR970009927B1 (ko) | 사출성형기의 성형조건 제어장치 및 그 제어방법 | |
| JP2003248514A (ja) | 監視制御システム | |
| JP3018732B2 (ja) | プログラマブルコントローラ | |
| JP2731166B2 (ja) | プログラマブルコントローラ | |
| JP3351165B2 (ja) | プログラマブル・コントローラ及びプログラマブル・コントローラのプログラム変更方法 | |
| KR100383001B1 (ko) | 엠씨유의 온-보드 프로그램 방법 | |
| JP2720401B2 (ja) | 命令メモリ範囲の拡張装置 | |
| JPS6027401B2 (ja) | シ−ケンスコントロ−ラ | |
| KR100206907B1 (ko) | 메모리 관리가 가능한 메모리카드 | |
| JPS5998212A (ja) | シ−ケンスコントロ−ラの実行速度確認方式 | |
| JPH07287606A (ja) | エンジン制御装置 | |
| JPH035602B2 (pl) | ||
| JPH01149135A (ja) | メモリ管理方式 | |
| JPS6015970B2 (ja) | マイクロプロセツサにおける割込処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Decisions on the lapse of the protection rights |
Effective date: 20050823 |