-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.nask.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: Mario <m...@...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: stara pamięć nie rdzewieje
Date: Tue, 03 Jun 2014 15:37:59 +0200
Organization: Netia S.A.
Lines: 97
Message-ID: <lmkk3i$e5n$1@mx1.internetia.pl>
References: <5389d4ca$0$2224$65785112@news.neostrada.pl>
<lmclhp$kft$1@node2.news.atman.pl> <lmcmas$nn1$1@node1.news.atman.pl>
<5389deb2$0$2231$65785112@news.neostrada.pl>
<lmcnal$ope$1@node1.news.atman.pl> <lmg8r9$gml$1@node1.news.atman.pl>
<lmgbht$h1c$1@mx1.internetia.pl> <lmhmoh$fl7$1@node2.news.atman.pl>
<lmih5l$jj2$1@mx1.internetia.pl> <lmj242$emr$1@node1.news.atman.pl>
NNTP-Posting-Host: 159-205-61-211.adsl.inetia.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1401803698 14519 159.205.61.211 (3 Jun 2014 13:54:58 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Tue, 3 Jun 2014 13:54:58 +0000 (UTC)
In-Reply-To: <lmj242$emr$1@node1.news.atman.pl>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031007
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:665970
[ ukryj nagłówki ]W dniu 2014-06-03 01:41, Piotrne pisze:
> W dniu 2014-06-02 20:35, Mario pisze:
>
>>> Natomiast numerowanie stanów nie było takie proste. Dla każdego
>>> stanu przewidziany był oddzielny bit ("przekaźnik"), który
>>> włączał się i wyłączał w odpowiednim momencie. Czyli jeśli
>>> maszyna ma 100 stanów, to zamiast jednego licznika 7-bitowego
>>> potrzeba 100 oddzielnych bitów - "przekaźników".
>>
>> Rozumiem, że numerowanie nie było proste bo ktoś postanowił
>> żeby nie było proste. Ja tam numeruję stany w zmiennej int.
>
> To widocznie przeoczyłem możliwość aktywacji danej gałęzi
> przy spełnieniu warunku nr_stanu == n. Oczywiście taki
> warunek można poskładać z przekaźników i chcąc coś zrobić
> w stanie nr 10 podać jako warunek:
> (bit0 == wyłączony) ORAZ (bit1 == włączony) ORAZ
> (bit2 == wyłączony) ORAZ (bit3 == włączony)
Nie jest to dobre bo przechodząc do kolejnego stanu musisz kasować bit
poprzedniego (czy poprzednich). Łatwo o pomyłkę. A jak masz zmienną STEP
to przy warunku STEP=10 i np PozycjaKoncowa=True ustawiasz STEP na 11.
Bloczki =, >, >=, <, <= ADD, MUL czy MOVE masz praktycznie w każdej
implementacji Laddera.
> i podobnie ustawiać wartość nr_stanu w (prawie) każdej
> gałęzi, ale to jest jeszcze mniej czytelne od używania
> pojedynczych bitów. Operacje na liczbach też są uciążliwe
> - trzeba użyć bloku z odpowiednim działaniem, podawać
> argumenty z określonej lokalizacji, wskazywać lokalizację
> wyniku, aktywować blok działania. Jeśli to jest coś
> bardziej skomplikowanego niż A+B, to potrzeba kilku bloków
> i robi się nieczytelne. Nawet nie próbowałem umieszczać
> tego w jednej gałęzi, tylko wykonywało się "po kolei".
Można umieszczać w jednym rungu tylko zazwyczaj nie da się do wyjścia z
wynikiem operacji podpinać wejścia następnego bloczka matematycznego.
Trzeba używać zmiennych pomocniczych co jest dość upierdliwe.
> Kalkulatora HP z odwrotną notacją polską dawno temu używałem
> i pisałem programiki! Był bardziej przyjazny niż LD.
>
>
>> LD można konwertować do Instruction List.
>> Ten to dopiero wygląda jak asembler.
>
> To właściwie były równoważne zapisy programu - można
> przełączać "widok" między LD a IL. Czasem czytelniejszy jest IL.
> Tak mniej więcej wyglądał kod IL:
>
> (* Network 8 *)
> (*Repetitions: wartość domyślna 10*)
> LD %Q0.7
> OR %SM0.1
> MOVE 10, %VW162
> (* Network 9 *)
> (*Czas rozpędzania/hamowania silnika w ms): wartość domyślna 20*)
> LD %Q0.7
> OR %SM0.1
> MOVE 20, %VW104
> (* Network 25 *)
> (*Obliczenie liczby kroków*)
> LD %SM0.0
> MOVE %VD150, %VD140
> MUL %VD136, %VD140
> (* Network 26 *)
> (*Obliczenie liczby kroków - c.d.*)
> LD %SM0.0
> DIV DI#10, %VD140
> (* Network 33 *)
> LD %SM0.0
> AND %Q0.5
> PHOME 1, %M8.0, %V220.3, %V220.3, %VW110, %VW174, %VW100, %VW102,
> %VW104, %M16.0, %M0.2, %VB207
Dla m,nie czytelniejszy rysunek w ladderze. A szczególnie gdy monitoruję
z laptopa realizację programu w PLC.
> Adresy w pamięci trzeba było uzgadniać z innym urządzeniem
> - panelem HMI, który komunikował się z PLC. Narzędzia do programowania
> nie były zintegrowane, można było np. przygotować bazę zmiennych
> z adresami i wymieniać ją między środowiskami.
Teraz są zintegrowane. Ale to też nie musi być zaletą. W Schneiderze
możesz używać wspólnych nazw w PLC (np M258) i HMI (Magelis).
W protokole komunikacyjnym też są wysyłane nazwy zmiennych a nie
odpowiadające im adresy. W efekcie przy panującej modzie na nadawanie
długich nazw, transmisja jest zajęta głównie przesyłaniem nazw a nie
wartości :) Przy dużej ilości zmiennych to może być problem.
--
pozdrawiam
MD
Następne wpisy z tego wątku
- 03.06.14 16:22 Tomasz Wójtowicz
Najnowsze wątki z tej grupy
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-15 Łódź => NodeJS Developer <=
- 2025-02-15 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-15 Warszawa => Developer .NET (mid) <=
- 2025-02-15 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-02-14 Zdalne załączanie grzałki bojlera elektrycznego
- 2025-02-14 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-14 Częstochowa => Product Manager - Systemy infrastruktury teleinformaty
- 2025-02-14 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-02-14 Warszawa => Data Engineer (Tech Leader) <=
- 2025-02-14 Czy ma sens grupa news:pl.soc.polityka-prawna ? :-)
- 2025-02-14 e-paper
- 2025-02-14 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-14 Warszawa => System Architect (Java background) <=
- 2025-02-14 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-14 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=