1 (edytowany przez Gerald22 2009-12-07 17:36:11)

Temat: Sterowanie blokady

Witam
Mam taki problem próbuje zrobić sterownie blokady elementów na taśmie do sterowania blokady używam czujnika elementów. Moim zadaniem jest aby czujnik puścił elementy które on zauważy a przed resztą blokada powinna pozostać zamknięta aby nie szły dalej na linii .
Dodatkowo czujnik zapodaje sygnał binarny zero jedynkowy.
Mój problem polega na tym że  czujnik jest umieszczony w pewnej odległości przed blokadą i mam problemy żeby dla mniejszej odległości między klockami blokada mi działała odpowiednio po prostu jeśli jest więcej klocków z mniejszymi odległościami między sobą  to na taśmę są puszczane klocki nieodpowiednie.
Dalej zamieszczam napisany przeze mnie program.
Jest to jeden z pierwszych moich programów więc przepraszam za formę.

PROGRAM obsluga_blokadyM3




VAR
    bloczek0: F_TRIG;
    bloczek1:RS;
    bloczek2:CTU;
    bloczek3:TP;
    bloczek5:TON;
    bloczek6:RS;
    bloczek7:TON;
    bloczek8:TON;

    marker0: BOOL;
    marker1: BOOL;
    marker2: BOOL;
    marker3: BOOL;
    marker4: BOOL;
    marker5: BOOL;
    marker6: BOOL;
    marker7: BOOL;
END_VAR


bloczek0(CLK:=czujnikB2 , Q=>marker0 );
bloczek1(SET:=marker0 , RESET1:=marker7 , Q1=>marker1 );


bloczek2(
    CU:=czujnikB2 ,
    RESET:=marker2 ,
    PV:= 2,
    Q=>marker3 ,
     );
marker2:= (NOT stop OR start OR marker3 OR marker6 );


bloczek5(IN:=marker1 , PT:=t#980ms , Q=> marker5 );

bloczek6(SET:=marker5 , RESET1:=marker7 , Q1=>blokadaM3 );

bloczek7(IN:=marker5 , PT:=t#350ms , Q=>marker6 );

bloczek8(IN:=marker1 , PT:=t#1550ms , Q=>marker7  );


IF marker3  OR marker4 THEN
bloczek3(IN:=marker3 , PT:=t#1830ms , Q=>blokadaM3 );
bloczek3(IN:=marker3 , PT:=t#1830ms , Q=>marker4 );
END_IF

marker2:= (NOT stop OR start OR marker3 OR marker6 );
IF marker2 THEN

bloczek2(
    CU:=czujnikB2 ,
    RESET:=marker2 ,
    PV:= 2,
    Q=>marker3 ,
     );

END_IF




Program działa na zasadzie że jeśli dwa klocki to otwiera blokadę na dłużej jeśli tylko jeden to na krócej.
Próbowałem jeszcze napisać jeszcze inną wersje kiedy pierwsze włączenie czujnika załączało pierwszą część bloczków opóźnień a jeśli w czasie zliczania przez te bloczki pojawił się sygnał znowu z czujnika to została załączana druga para ale miałem sporo problemów jeśli stosowałem dwie pary instancji bloczków rs odpowiednio dla pierwszego załączania przy jednym sygnale i  drugą instancje dla warunku drugiego załączania ale wtedy program w ogóle mi nie działał
a kiedy stosowałem jedną isntancję to działał tylko kiedy dla drugiego warunku .
Z góry przepraszam za tekst i składnie  moim celem nie jest uzyskanie super mały odległości między elementami chce tylko je jeszcze trochę zmniejszyć . Proszę o jakieś wskazówki.

2

Odp: Sterowanie blokady

zaczynają od porządku pokaż na jak wygląda to w naturze czyli jak fizycznie wygląda układ na maszynie 
a z opisu wynika iż potrzebujesz encodera na taśmie i jakiś rejestr przesuwny wtedy masz człe spektrum wiedzy gdzie co się znajduje, encoder możesz zastąpić impulsatorem jeśli taśma porusza się w jedną stronę

3

Odp: Sterowanie blokady

Załączam linka z rysunkiem mojej linii Ps. przepraszam za jakość.
http://www.sendspace.com/file/avbvcd

4 (edytowany przez marcin_kr7 2009-12-09 08:13:13)

Odp: Sterowanie blokady

więc tak musisz zrobić tablice i przesuwać ją  a urządzenia muszą działać pod nią więc to jest trochę inaczej zacznij od początku
w każdym razie jak tak bym do tego podszedł tablica była by odzwierciedleniem tego co znajduje się na taśmie i gdzie  wtedy jesteś pewny
albo jak czujnik znajdzie uszkodzenie to po czasie albo ilości impulsów otwiera się zastawka
każdy temat ma kilka rozwiązań !
użyj morze cfc będziesz więcej widział jest mniej awansowany jak st ale graficzny i przejrzysty

5

Odp: Sterowanie blokady

Możesz coś bliżej napisać o tablicy bo rozumiem że zapisuje sobie po kolei do niej wszystkie elementy dla których ma mi się otworzyć blokada ale jak mam rozpoznawać po jakim czasie blokada powinna się otworzyć i jak to zrobić w cfc mógłbyś rzucic jakiś prosty przykład

6 (edytowany przez marcin_kr7 2009-12-09 18:00:30)

Odp: Sterowanie blokady

jeśli mówimy o tablicy a naprawdę wektorze to zapominamy o czasie
po prostu długości taśmy mamy podaną w ilości impulsów dzielimy ją na pola robocze  .
liczymy ile pul jest miedzy naszym detektorem a aktorem czyli zasuwka do zrzucania wadliwych elementów
a impulsatora podzielony przez wielkości pola generuje przesunięcie wektora  więc jeśli 0 to obiekt
"ok" a 1 to wadliwy to nasz wektor ma taki wygląd
100000000
po przesunięciu pola
010000000
itd.


ps.
w bibliotekach easy800
jest moduł przesunięcia gotowy

7

Odp: Sterowanie blokady

Rozumiem tak ogólnie ale jak zrobić aby impulsy z generatora działały na przesunięcie wektora , rozumiem tez że wektor który nam się przesuwa np w cyklu zamkniętym przesuwa się także dla zasuwki która pod jego wpływem się otwiera lub zamyka ???
Jeszcze jedno ta biblioteka easy jest dla sterowników moeler czy da się ją zastosować też dla Wago.
Ps. A tak wogóle to dzięki bardzo za pomoc

8

Odp: Sterowanie blokady

PROGRAM PLC_PRG
VAR
    bloczek0: F_TRIG;
    czujnikB2: BOOL;
    marker0: BOOL;
    PRZESU: INT;
    X1: BOOL;
    CZUJNIK: BOOL;
    X2: BOOL;
    X3: BOOL;
    X4: BOOL;
    X5: BOOL;
    X6: BOOL;
    AKTOR: BOOL;
END_VAR

bloczek0(CLK:=czujnikB2 , Q=>marker0 );
PRZESU:=PRZESU+BOOL_TO_INT(MARKER0);

IF PRZESU=10 THEN
PRZESU:=0;
X1:=CZUJNIK;
X2:=X1;
X3:=X2;
X4:=X3;
X5:=X4;
X6:=AKTOR;
END_IF

TAKI BANALNY PROGRAMIK ALE TOBIE POWINIEN DZIAŁAĆ
TA 10 W IFIE TO PODZIAŁKA KROKU MUSISZ JĄ DOBRAĆ I POWIELIĆ X W ZALEŻNOŚCI OD POTRZEB

9

Odp: Sterowanie blokady

Pomogło ?

10

Odp: Sterowanie blokady

Dzięki wielkie za pomoc bardzo mi pomagasz Mam jeszcze takie zapytanie często jak coś programuje przebudowuje program wyskakuje 0 błędów oraz 0 ostrzeżeń czyli wszystko jest ok a kiedy próbuje się połączyć ze sterownikiem to wywala mi błąd typu Comunication Error (#0) Logout Performed
bywa że błąd jest wyrzucany za każdym razem i nie mogę w ogóle się zalogować do sterownika czasami pomaga wyłączenie i włączenie ale czasami muszę inaczej przeprogramować moduł Czy możesz mi coś powiedzieć na ten temat czy jest on spowodowany jakimiś niejednoznacznościami w kodzie lub zapętleniami i czy jeśli przebudowanie nic nie wykrywa czy da się je jakoś wykraść.
Czytałem o tym błędzie w manualu ale niestety piszą tylko że jest spowodowany błędami komunikacji a wydaje mi się że komunikacje mam dobrze zdefiniowaną  przez kabel Ethernetowy.
Mam jeszcze tylko pytanie czy da się zdefiniować komunikacje po kablu ers dla Wago nie wykorzystując kabla ethernetowego bo to może coś z portem ethernetowym jest nie tak. I jeszcze raz dzięki za pomoc

11

Odp: Sterowanie blokady

Przepraszam jeszcze że pytam ale nie do końca rozumiem treść twojego programu możesz mi wytłumaczyć treść tej części:
PRZESU:=PRZESU+BOOL_TO_INT(MARKER0);

IF PRZESU=10 THEN
PRZESU:=0;
X1:=CZUJNIK;
X2:=X1;
X3:=X2;
X4:=X3;
X5:=X4;
X6:=AKTOR;
END_IF
Jak to leci Rozumiem że triger na początku detektuje mi zbocze sygnału z czujnikaB2 potem zmienna przesu zwiększa się o 1 ale jak działa if i dlaczego czekamy aż przesu będzie równa dziesięciu wystąpieniom czujnikaB2 wydaje mi się że czujnik to zimenna równa jeden i załączająca nam blokade a reszta x to odpowiednio przeskalowana oś ale czym jest aktor i gdzie jest załączanie blokady byłbym wdzięczny gdybyś to trochę przybliżył i sorry  za pewnie tak głupie pytania ale jestem dopiero od nniedawna programuje plc

12 (edytowany przez marcin_kr7 2009-12-11 08:05:27)

Odp: Sterowanie blokady

tak impulsator daje impulsy ale na pewno nie tak ja miejsca na taśmie więc ta 10 jest zmienną która pozwoli ci na dopasowanie ci ilości impulsów na 1 pole produktu  .
pole produktu jest to pole w którym  na taśmie znajduje się 1 produkt
zamiast 10 wpisz sobie swoją liczbę dobraną w drodze prób
a co do x to musisz to powtórzyć tyle racy ile  jaka jest odległości w polach pracy między sensorem (u ciebie czujnikiem błędnego produktu ) a aktorem (u ciebie blokada do zwalania produktu z taśmy )
tera chyba jasne

a co do błędów komunikacji i logowania  po jakim porcie się łączysz i jaki masz system

13 (edytowany przez Gerald22 2009-12-12 00:58:18)

Odp: Sterowanie blokady

czujnikB2 jest czujnikiem błędnych elementów ??
a czym jest zmienna czujnik  i jak przesuwają się te x  i kiedy załączana jest ta blokada
czy zamiast aktor mogę napisać blokadaM3 czyli wyjście załączające blokadę a jeśli tak to dlaczego jest ono przypisywane do x
Sorry za takie pytania najwyraźniej jestem wyjątkowo tępy big_smile
Łącze się po kablu ethernetowym kanał ethernet TCP/IP mam xp nazwy portu nie pamiętam jutro sprawdzę i napisze

14

Odp: Sterowanie blokady

po prostu załaduj i za symuluj a wszystko zrozumiesz jak zobaczysz
niestety w 90 % przypadków automatykowi nie płaci się za soft ale za sprawdzenie i niezawodności !
musisz sprawdzić sam i zrozumieć inaczej tego nie zrobisz
a co do połączenia jak jest to w obrębie 1 sieci to sprawdź skrętki prawdo podobnie jest sporo błędów podczas ładowania  a dlaczego to sam poszukaj plc gada 1020 porcie ale używa jeszcze innych portów więc jak masz ruter po drodze albo wan to sprawdź naty wo gule po wanie możesz mieć takie problemy

15

Odp: Sterowanie blokady

Ok napisz mi tylko czy czujnik jest markerem czy odpowiada za jakiś rzeczywisty czujnik i czy aktor to moja blokada

16 (edytowany przez marcin_kr7 2009-12-12 15:18:21)

Odp: Sterowanie blokady

marker0 to impulsator
czujnik to czujnik błędnego elementu
aktor to element wykonawczy czyli twoja blokada

wpisz tylko adresy i biega smile