PLC - hazardy w jezyku drabinkowy

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Polish to

Threaded View

Ponoc jezyk drabinkowy doczekal sie normy, a ja czytam sobie
materialy od unitronicsa .. i paru rzeczy zapomnieli napisac :-)

Poszczegolne "linie" sa wykonywane kolejno ? jest to zagwarantowane
?

A i tak widze mozliwy hazard w jednej "linii", np

--|B1|--*---(S2)----(R1)---
         |
         |
          ---(S3)---(S4)--(S5)---


jak  bit1 jest ustawiony, to zalaczamy bit2, potem (?) resetujemy
bit1,

Czyli bit1 mignie tylko chwile.  Ustawia sie bity 3, 4, 5, czy nie
zdaza ?

Bardziej mnie interesuja inne bloki funkcyjne, gdzie jest wejscie
EN i wyjscie(?)  ENO, domyslam sie ze sluzy wlasnie do ustalenia
kolejnosci .. ale zapomnieli tego napisac :-)

--
J.


Re: PLC - hazardy w jezyku drabinkowy
W dniu 2010-09-27 10:28, J.F. pisze:
Quoted text here. Click to load it


Tak bardzo skr贸towo i og贸lnie...
Wyobra藕 sobie 偶e operujesz na pami臋ci nie na wej艣ciach i wyj艣ciach.
Znane mi PLCki maj膮 niejako 3 fazy obr贸bki danych (kt贸re sk艂adaj膮 si臋 na
jeden cykl wykonawczy).
1 - Zeskanowanie stanu wej艣膰 do pami臋ci
2 - Obr贸bka danych w pami臋ci na podstawie drabinki (od g贸ry w d贸艂, od
lewa do prawa)
3 - Ustawienie wyj艣膰 na podstawie pami臋ci.

Czyli to co ustawisz w danym cyklu na wyj艣ciu pojawi si臋 dopiero w
nast臋pnym cyklu je艣li odczytasz to na wej艣ciu...

Dla Twojego przyk艂adu (o ile B1 b臋dzie zanegowane czyli -|\B1|-) to
b臋dzie tak 偶e w pierwszym cyklu:
Je偶eli B1 = 0 to ustawi S2 = 1 R1 = 1
  w kolejnej drabince ustawi S3 = 1 S4 = 1 S5 = 1
Wypchnie dane na wyj艣cie.
W kolejnym cyklu:
Poniewa偶 B1 = 1 to S2 = 0, R1 = 0
    S3 = 0 S4 = 0 S5 =  0
Wypchnie dane na wyj艣cie
W kolejnym cyklu powt贸rzy od pocz膮tku i b臋dzie tak macha艂 z
cz臋stotliwo艣ci膮 wykonywania cykli.

Poza tym wydaje mi si臋 偶e wyj艣cia nie powinny by膰 艂膮czone szeregowo
tylko r贸wnolegle, przynajmniej zawsze tak robi艂em.
Troch臋 dawno temu mia艂em kontakt z drabinkami i PLC ale na 80% wydaje mi
si臋 偶e napisa艂em dobrze. Niech mnie kto艣 potwierdzi lub poprawi.
Poza tym pami臋tam 偶e na stronie Alan i Bradley mieli ca艂e oprogramowanie
z symulatorem par臋 lat temu.

--
Pozdrawiam Mi艂osz.

Re: PLC - hazardy w jezyku drabinkowy
W dniu 2010-09-27 12:56, MiB3%osz Skowyra pisze:
Quoted text here. Click to load it
ciach.
B3%, od
Quoted text here. Click to load it

W sumie to on chyba ma na myB6%li komF3%rki pamiEA%ci/markery a nie I/O. =
Na20%
komF3%rkach moBF%esz dziaB3%aE6% i zmienia ci natychmiast (?). SwojB1% dr=
ogB1% po co20%
pisaE6% tak BF%eby prosiE6% siEA% o kB3%opoty. MF3%gB3% przecieBF% stanem=
 bitu 120%
poustawiaE6% wszystkie inne a dopiero pF3%BCniej go skasowaE6%.


--20%
Pozdrawiam
MD


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

Akurat mialem na mysli wlasnie operowanie na pamieci [MB]
S i R - set i reset

Quoted text here. Click to load it

Nie, ma wlasnie byc niezanegowane. Jesli bit 1 jest ustawiony - to
go skasuj.
Ale zrob tez cos wiecej.

Ustawianie jest w innym miejscu.

Choc oczywiscie moglbym zrobic buzzer
--|\B1|--*---(S2)----(B1)---

i tez sie pytac co wtedy :-)

Quoted text here. Click to load it

Rozsadnie - ale w przykladach maja szeregowo.
Poza tym wlasciwie to pytanie pozostaje - polacze powiedzmy
--|B1|--*---(S2)--
        *--(S3)---
        *--(R1)---
        *--(S4)---

i co z tego wyjdzie ?

Wlasciwie to mnie interesuja funkcyjne, gdzie jest niby jakies
wejscie/wyjscie sterujace.

Quoted text here. Click to load it

Bardziej mnie interesuje co norma na to, bo jesli nic ... no to
chyba najlepiej unikac hazardow podwojnie :-)

J.


Re: PLC - hazardy w jezyku drabinkowy
W dniu 2010-09-27 13:59, J.F. pisze:

[...]
Quoted text here. Click to load it

Niestety... dalej nie pomog臋. Pami臋膰 nie ta ;(

--
Pozdrawiam Mi艂osz.

Re: PLC - hazardy w jezyku drabinkowy
W dniu 2010-09-27 14:59, J.F. pisze:
Quoted text here. Click to load it
NormC4%85 jest, C5%BCe jak program wejdzie do gaC5%82C4%99zi to wykon=
uje jC4%85 do koC5%84ca,
nawet jak w niej zmienisz stan bitu zezwalajC4%85cego.
Po prostu, jak juC5%BC wejdzie to stan bitu inicjujC4%85cego nie ma w t=
ym20%
przebiegu znaczenia.
TwC3%B3j reset wpC5%82ynie na wykonanie programu dopiero w nastC4%99pn=
ym cyklu.
Chyba C5%BCe zrobisz coC5%9B takiego :
-|B1|--*--S2
        *--S3
        *--R1
        *--|B1|--S8
        *--S4

tu s8 nie zostanie nigdy ustawiony, ale S4 jak najbardziej.

Pozdrawiam
   A



Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

Na Moellerze wyszed墓聜 pi脛聶kny buzer.

Chyba 墓藕e zrobisz co墓聸 takiego :
-|B1|--*--S2
        *--S3
        *--R1
        *--|B1|--S8
        *--S4

tu s8 nie zostanie nigdy ustawiony, ale S4 jak najbardziej.

Pomijaj脛聟c b墓聜脛聟d logiczny, wszystko si脛聶 zgadza.
Najprawdopodobniej ka墓藕de wyj墓聸cie (ka墓藕de doj墓聸cie do prawej pionowej linii) to
nowa linia w STL.

--
Desoft


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

Je偶eli wyjdzie buzzer to chyba nic? przecie偶 chcia艂e艣 zrobi膰 buzzer.

Chyba Need ma tak膮 opcj臋 edytora, 偶e mo偶na prze艂膮cza膰 si臋 pomi臋dzy dwiema
opcjami j臋zyka LD.
Jedna jest taka standardowa - pionowa, z tymi wszystkimi znaczkami. Druga
pozioma. Zamiast  -( )- jest cewka przeka藕nika, zamiast --|  |-- jest
rysunek zwyk艂ego styku,  itd.
Programowanie nie jest programowaniem, tylko rysowaniem schematu.
Tylko przekr臋caj膮c monitor o 90* zobaczymy LD.

--
Desoft


--
Desoft


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

Buzzer to jedna sprawa, ma wyjsc, ale do dalszych galezi po *
wezmiemy stan wejsciowy B1 czy przed momentem wyliczony  ? :-)

Jak to Szymon pisze - Step przydziela zmienna tymczasowa, Moeller
nie, czeski film :-)

J.


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

Nie, jest to wymuszone. Sterownik nie jest w stanie uruchomi膰 tylu w膮tk贸w
jednocze艣nie, aby przetworzy膰 ka偶dy szczebel LD w tym samym czasie.
Dlatego robi to sekwenycjnie.

Quoted text here. Click to load it

Co nazywasz hazardem? nie widz臋 tutaj stan贸w niedozwolonych.

--| Not S1 |--(Q1)--
Czy tutaj jest hazard?
Brz臋cz膮cy przeka藕nik nie jest hazardem, a raczej dobrym odwzorowaniem
rzeczywisto艣ci: identycznie zachowa si臋 prawdziwy przeka藕nik.

Quoted text here. Click to load it

Tak, dok艂adnie.

Quoted text here. Click to load it

Nie, bit1 zga艣nie dopiero w nast臋pnym cyklu

Quoted text here. Click to load it

Zd膮偶膮.
Wszystkie wej艣cia czytane s膮 przed rozpocz臋ciem cyklu, Dane wej艣ciowe danej
linii nie s膮 aktualizowane w czasie wyliczania tej linii. Dane wyj艣ciowe
aktualizowane s膮 po zako艅czeniu cyklu.
Je偶eli w pascalu napiszesz a := not a to program si臋 zawiesi?
przecie偶 po wykonaniu linii a, jest not a, wi臋c wej艣ciowe a nie jest a tylko
not a, ale wcze艣niej by艂o a, czyli teraz powinno by膰 a czy not a ?   :-)))))

--
Desoft


Re: PLC - hazardy w jezyku drabinkowy
W dniu 2010-09-27 17:05, Desoft pisze:
Quoted text here. Click to load it
ciowe

OIDP to porty we  sB1% czytane na poczB1%tku skanu a Out sB1% zapisywane =
na20%
jego koniec. Markery czy komF3%rki pamiEA%ci sB1% aktualizowane na bieBF%
B1%co.



--20%
Pozdrawiam
MD


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

Ja sie pytam czy to jest zagwarantowane :-)
Czy obliczenia beda w kolejnosci numeracji "linii" programu,  czy w
dowolnej,
czy sterownik moze miec dwa procesory/rdzenie i wykonac dwie naraz
czy nie,
no i najciekawsze - jak to wyglada dla jednej "linii" "programu".

Quoted text here. Click to load it

No dobra, to by wyjasnialo wiele niejasnosci.
Czyli wszystkie "linie" sa obliczane niejako rownoczesnie ?

i np prosty zapis
-|1|-(2)-
-|2|-(3)-
-|3|-(4)-

to jest rejestr przesuwajacy o jeden bit na cykl ?

Quoted text here. Click to load it

Pascal to prosty jezyk, powiedz co wyjdzie w C z
a=5 ; b=a++ - a-- ;   :-)
a wykorzystujac obiekty .. no, jestem ciekaw czy udaloby sie
doprowadzic do zawieszania pierwszego przykladu :-)

Stop, zaraz wrocmy do laddera - nawet jest przyklad jak realizowac
petle, umieszczamy etykiete np w linii siodmej programu, a w linii
np dziewiatej dajemy do niej skok. I wedle opisu b臋da sie
wykonywaly linie 7,8,9,7,8,9,7,8,9,..  az warunek nie dopusci do
skoku.
Czyli obliczane jest jednak na biezaco.

Pomysl Unitronicsa, czy wszystko zgodnie z norma ?

J.


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

To musisz sprawdzi膰 w dokumentacji sterownika. Nie spotka艂em takiego kt贸ry
nie robi艂by tego sekwencyjnie.

Quoted text here. Click to load it

W kolejno艣ci numeracji linii

Quoted text here. Click to load it

raczej 32k rdzeni, jak ma艂a pami臋膰 to 8k rdzeni

Quoted text here. Click to load it

Podstawowym j臋zykiem programowania jest IL. I takie dywagacje nale偶a艂oby
sprowadza膰 do tego j臋zyka. Nie wiem czy Ka偶dy kompilator t艂umaczy STL do
IL...
IL te偶 musi by膰 t艂umaczony na j臋zyk maszynowy, mimo wszystko to nie jest
prawdziwy asembler.

Quoted text here. Click to load it

Tutaj pewnie zale偶y to od producenta sterownika.
To jest kwestia "czy z tego sterownika mo偶na zrobi膰 buzzer"

Quoted text here. Click to load it

Zbyt og贸lnie. Norma wr臋cz zabrania przenoszenia pionowego pomi臋dzy liniami.
Wi臋c musisz u艣ci艣li膰: czy to jedna linia czy trzy.
Je偶eli b臋d臋 mai艂 czas jutro to potestuj臋 te "hazardy"


Quoted text here. Click to load it

Bardzo cz臋sto 艣rodowiska j臋zyka LD umo偶liwiaj膮 prze艂膮czenie si臋 z LD na STL
za pomoc膮 jednego klikni臋cia. A j臋zykowi STL bli偶ej do pascala ni偶 C


Quoted text here. Click to load it

My tu si臋 licytujemy czy dyskutujemy o w艂a艣ciow艣ciach LD?


Quoted text here. Click to load it

W LD? Norma nie przewiduje p臋tli, wi臋c musia艂by by膰 to indywidualny pomys艂
producenta sterownika.

Quoted text here. Click to load it

Norma nie przewiduje bardzo wielu rzeczy, wr臋cz nic nie normuje.
Od kilku tygodni gryz臋 ten temat i nic nie wynika z tej normy. Nie znalaz艂em
偶adnego sterownika kt贸ry by艂by w 100% zgodny z norm膮.

--
Desoft


Re: PLC - hazardy w jezyku drabinkowy
On Mon, 27 Sep 2010 19:18:08 +0200,  Desoft wrote:
Quoted text here. Click to load it

No ba, gdyby bylo to bym nie pytal :-)

Quoted text here. Click to load it

Trudno nie robic sekwencyjnie jak jest jeden procesor.
Ale sterowniki sie rozwijaja, kiedys wstawia Core4 :-)

Quoted text here. Click to load it

Nie bardzo sobie wyobrazam az tyle rdzeni sprzetowych. Moze za 10 lat.
Chyba ze ktos to zacznie robic na FPGA

Quoted text here. Click to load it

Buzzer akurat sie daje i moich watpliwosci nie budzi.

Quoted text here. Click to load it

Trzy osobne linie. Tylko czy druga wezmie stan bitu 2 z poczatku
cyklu, czy ten przed chwila obliczony w linii pierwszej ?

Quoted text here. Click to load it

Az sobie spojrzalem do konkurencji - S7 tez maja takie skoki.

I ma "midline output", czyli jak rozumiem - natychmiastowe.

J.



Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

LD jest "prze艂膮czalny" na STL, z tym 偶e w STL mo偶na zrobi膰 wi臋cej.
STL z definicji posiada p臋tle. W LD trzeba aby producent utworzy艂 taki
bloczek.
Nie znalaz艂em nigdzie coby norma IEC61131-3 co艣 m贸wi艂a o p臋tlach dla LD.
Tak jak wspomnia艂em wcze艣niej ta norma to raczej _pr贸ba_ znormalizowania
tych j臋zyk贸w.
Podstawowe rzeczy robione s膮 zgodnie z norm膮, pozosta艂e wed艂ug uznania
producenta.

--
Desoft


Quoted text here. Click to load it
We've slightly trimmed the long signature. Click to see the full one.
Re: PLC - hazardy w jezyku drabinkowy

Nie wiem, czy rejestr przesuwny (kwestia interpretacji zapisu), ale zapala
mi kolejno poszczeg贸lne wyj艣cia - co cykl.

--
Desoft


Re: PLC - hazardy w jezyku drabinkowy

Quoted text here. Click to load it

Pomy艂ka, wszystkie jednocze艣nie.

--
Desoft


Re: PLC - hazardy w jezyku drabinkowy
W dniu 2010-09-28 11:34, Desoft pisze:
Quoted text here. Click to load it

ZmieF1% kolejnoB6%E6 to bEA%dzie cyklicznie.
-|4|------S(1)
    |
    --R(4)

-|3|------S(4)
    |
    --R(3)

-|2|------S(3)
    |
    --R(2)

-|1|------S(2)
    |
    --R(1)

--20%
Pozdrawiam
MD


Re: PLC - hazardy w jezyku drabinkowy

Quoted text here. Click to load it

cyklu pzetwarzania sterownika? zgasnie od razu. w normalnych PLC operacje sa
wykonywane na pamieci od razu w miejscu instrukcji. W kolejnym szczeblu
bedzie juz niski.
Problemem nie jest to czy on zgasnie od razu tylko jak dziala "kompilator".
zrobilem test w Melsecu IEC - bit1 jest czytany oddzielnie dla drugiej
galezi (paskudztwo). W Stepie RLO po operacji przeczytania bitu1 na poczatku
bedzie przechowane do konca networka jako rezultat posredni.

Quoted text here. Click to load it

Maly komentarz...
Po pierwsze bit1 nie jest wejsciem (w sensie IO) i nie mozna na nim wykonac
operacji wyj艣ciowej.

Po drugie dane wyjsciowe (w sensie IO) nie sa owszem aktualizowane od razu
(chyba ze z uzyciem specjalnych instrukcji w niektorych typach sterownikow),
ale tablica wyjsc (obszar pamieci) jest odswiezony natychmiast. Myle sie?

Quoted text here. Click to load it

Dla J.F. Tam w srodku jest w koncu zwykly procesor:)

Pozdrawiam,
Szymon

Quoted text here. Click to load it


Re: PLC - hazardy w jezyku drabinkowy
Quoted text here. Click to load it

U jakiego producenta moBF%na B3%B1czyE6% cewki szeregowo?

--
Artur

Site Timeline