No na modyfikację nie mam czasu. Zwłaszcza, że już dawno nic nie pisałem. W dodatku ja nie używam wait (i Tobie też odradzam) co wymaga trochę innego podejścia do pisania programu. Mogę jedynie podpowiedzieć, że najlepiej było by skorzystać z przerwań INT0 i INT1 podłączonych pod przyciski. Wtedy przerwanie aktualnego zadania było by możliwe natychmiast....
Najszybciej i najbardziej dydaktycznie: Utwórz sobie 8 flag, powiedzmy od M0.0 do M0.7. Utwórz 10 networków. 8 zakończonych w/w flagami jako cewkami, 2 zakończone wyjściami jako cewkami. Odtwórz poszczególne segmenty z FBD w tychże networkach używając prostej logiki stykowej (AND= styki szeregowo, OR= styki równolegle, NOT pojedynczego elementu = styk...
Markery (flagi) są to bity pomocnicze które można wykorzystać podczas pisania programów. Np: I0.0 AND I0.1 = F0.0 F0.0 = Q0.1 przerzutnik wykorzystuje siędo zatrzaskiwania flag i pamiętania ich stanu aby ją wykorzystać w innym kawałku kodu AND I0.0 S (set) F0.0 ... F0.0 = Q0.0 R (reset) F0.0 Powodzenia :)
Wiec jak juz masz obliczona predkosc(jednostki jakie sobie chcesz) to musisz poprzenosic dane do twoich rejestrow, pamieci. Nigdy nie bawilem sie Omronem ale napewno jest funkcja MOVE. Czy to w drabince czy w STLu. Wiec podajesz tam wartosc lub rejestr wartosci ktora chcesz przeniesc i rejestr do ktorego chcesz przeniesc. Ale jezeli to maja byc wyniki...
Mam pytanie. Odnośnie sterownika cMp2: Pamięć CIO to IR? Jak wpisuje nazwę: np.: IR 10 to wywala błąd ale jak wklepuje 10 to jest ok. Czy w tym sterowniku IR dzieli się na wyjścia fizyczne, wejścia fizyczne i arenę WORK? Input: IR 000 to IR 009 (10 words) to jak adresujemy to wpisujemy po prostu 0.00 do 9.00? Work area: IR 020 to IR 049 IR 200 to IR...
Może trzeba zacząć od tego, że nie powinno się ( nie można) używać dwóch tradycyjnych cewek w jednym programie? Powinna być jedna, na samym końcu uruchamiana przez odpowiednie flagi/markery. Program wykonuje się z góry do dołu, więc wynik z 1 networka jest nadpisywany przez wynik RLO z 2 networka.
A może dać posługując się terminologią automatyków lub programistów dodatkową flagę (marker)? Czyli np. wirtualne wyjście nazwane "Zostaw wodę" sterowane np. przy pomocy przełącznika mono. Następnie uzyskać logikę tak by po ustawieniu wyjścia (flagi) nie wyłączało zaworu podczas uzbrajania tylko po czasie działania sterowania mono? Jest to możliwe do...
Pilz wysyla do PLC zezwolenie na wykonanie paru rzeczy. W programie od Pilza jeśli logika bezpieczeństwa jest spełniona wystawiam stan logiczny TRUE na wirtulanym wyjściu (takie coś jak marker, flaga w PLC), który właśnie chcę odczytać z Pilza po Profibusie. Zobacz foto dokumentacji ramki od Pilza https://obrazki.elektroda.pl/3085625600_...
Zamiast tego, należy używać w programie sterownika tylko flag i rejestrów, z których część będzie "wejściami" (komputer zapisuje wartości) a część "wyjściami" (komputer odczytuje wartości). znacznie więcej pracy. Dla Unitronics (jaki model?) możesz użyć protokołu Modbus RTU lub Modbus TCP. Jeśli dobrze rozumiem, to chodzi o to żeby nie używać np styków...
Witam Flagi to po angielsku. Po niemiecku to Markery, czyli tak naprawdę F i M to to samo, w panelu odczytujesz MW, czyli całe słowo "flag"
Pułapki nie powinno być :-) Pamięć M - to obszar markerów (flag) - dostępne są bezpośrednio w każdym sterowniku. Bloki danych DB należy wpierw zadeklarować i stworzyć ich strukturę, która może zawierać dowolne zmienne (od bitów, poprzez bajty, słowa, tablice itp. także różnych typów: int, real, string, time). Jest to tak jakby dodatkowy obszar pamięci....
Użyj Cross Reference. Nie pamiętam jak jest to w Step7, ale w Step5 był mechanizm zmiany adresu na inny (globalnie). I tu możesz podstawić za nieistniejące wejście jakąś flagę/marker. Odwołanie do czegoś co nie istnieje zawsze wygeneruje błąd.
Marker jest podpięty do scady, jeżeli w scadzie będzie 1, to marker ma 1 i nie da się tego kasować.
Na moje oko to nie ma prawa działać poprawnie. W tym kodzie praktycznie wszystko jest źle. Nie powiedziałbym, że tak wszystko źle. I możliwe że nawet działa poprawnie, tyle że parę rzeczy warto poprawić. Po pierwsze rzeczywiście lepiej nie mieszać HAL (o ile się da) z działaniami prosto na rejestrach, bo po to właśnie jest HAL, by tego nie musieć robić....
flanka czyli flaga, marker? chodzi o np M0.1 - uzywam tego do zapamietania jakiegos stanu "0" albo "1" do pozniejszego wykozystania w programie, nie wiem jak to inaczej opisac, tak w s7-200 sa z tego co mi wiadomo dwa timery opozniajace zalaczenie: TON i TONR, roznica jest taka ze TON po zaniku sygnalu uaktywniajacego zeruje sie a TONR liczy dalej do...
Tak - Marker to wirtualna cewka (jako wynik jakiś działań) i jednocześnie jako wirtualne wejście. U innych producentów/oprogramowania jest to nazywane jako "flagi". W ten sposób jakiś ciąg "przyczynowo-skutkowy" można zakończyć markerem; mając kilka ciągów - kilka markerów -> w ten sposób program jest czytelny i łatwiejszy do analizy (jak coś nie chodzi)....
witam, musisz uzyc OB100,OB101,OB102 -osobiscie uzywam OB100 wpisujesz np.: SET S M0.0 i masz juz marker M0.0 a '1' podczas pierwszego scanu pozdrowienia
Jeśli to jest "normalny" sterownik to nie ważne czy program jest na flagach(merkerach) czy wyjściach(diodach). Powinien działać tak samo. Tyle że u Ciebie te programy się różnią.
Do zweryfikowania: 1. Jaka wartość jest wybrana w parametrze "Retentive" zmiennych (flag/markerów %M), które mają być podtrzymane po zaniku zasilania (prawy przycisk na zmiennej i "Properties" lub po prostu kliknięcie na zmienną - pojawią się w oknie "Inspector"). 2. Czy jest ustawiona wartość początkowa dla rozpatrywanych zmiennych ("Initial Value"...
Oczywiście, że można, ale niesie to ze sobą pewne konsekwencje. Błędów kompilacji jednak raczej zbyt często bym się nie spodziewał. Pamiętaj, że program wykonuje się liniowo od początku do końca (chyba, że użyjesz instrukcji skoku, wtedy są zawirowania ;) ). Zatem jeśli zapiszesz wartość do wyjścia (bitu, flagi, markera itp) w jednym miejscu to możesz...
Zastanawia mnie np. taka kwestia: w jaki sposób prawidłowo rozwiązuje się problem komunikacji UART z peryferyjną elektroniką? Nie mam markera końca nadawania a max. czas odpowiedzi nie jest określony dla każdej z komend. Jedyne co mi przychodzi do głowy to właśnie jakiś timeout od ostatniego odebranego znaku lub parsowanie zawartości bufora cyklicznego...
Problem jest po teście flagi C, powinna tam być instrukcja skoku. ;if the result is less than 0 reg1>reg2 then C is reset Btfssstatus, c ; check marker c ; negative result operations Bsfportb,0 ;set port b.0 ***************** Bcfportb,1 ; reset portb.1 Gotoconver ; positive result operations Bcfportb,0 Bsfportb,1 ; set port, reset port Gotoconver Powinno...
Panel mam połączony z LOGO Siemens napisałem program który zaczyna prace gdy marker M1 ma stan wysoki marker M1 sterowany jest z panela hmi za pomocą przełącznika toggle swith atrybut toggle wszystko działa prawidłowo ale po zaniku napięcia panel uruchamia się z przełącznikiem w pozycji 0 czy można temu jakoś zaradzić? kolejny problem to taki że w programie...
Oba znaczniki, M i X, są opisane w dokumentacji jako wirtualne wyjścia. Ja używam zawsze M jako zwykłej flagi (np. po bloku AND, OR, etc.) natomiast "open connector" X używam np. za blokiem tekstowym - wyjście Q tego bloku nie powinny "wisieć" i wtedy wystarczy połączyć je z znacznikiem X1.
Witam Może zacznij od tego że podprogram "Program" wywoływany jest wtedy gdy jest ustawiona flaga M00002, a więc I00001 oraz "załączenie procesu" I00002 i "czujnik wałka" I00006. Jeśli brak któregoś z tych warunków to "Program"przestaje być wykonywany a poustawiane tam wyjścia zostają w stanie jak zostały ustawione . Druga sprawa: każde wyjście powinno...
Jesli nie wykorzystujesz nigdzie indziej flagi t_Result_Detection_Roll to nie ma sensu tego rozbijać na dwa networki. Większy bajzel w programie się robi, więc wersja powyższa jest jak najbardziej ok. A co do samego wykorzystania zmiennych z obszaru TEMP pamiętaj, że są one tymczasowe. Ja z reguły sobie je deklaruję jako pomocnicze.. np. jeśli chcę...
Posklejałem coś takiego: [syntax=basic4gl]'----------------------... '--------------------KONFIGURACJA-------... $regfile = "m8def.dat" 'informuje kompilator o pliku $crystal = 8000000 'informuje kompilator o częstotliwości oscylatora $crystal = 8000000 $hwstack...
Co jakiś czas ktoś wysyła do mnie e-maila z prośbą o pomoc w napisaniu aplikacji łączącej się z CPU Siemens S7 . Postanowiłem zamieścić kawałek przykładowego (prostego) programu. Okroiłem go do niezbędnego minimum. http://obrazki.elektroda.net/100_1277211... Program łączy się po ethernecie ze sterownikiem i pobiera bajt markera MB0. Jak wiadomo...
Co nie zmienia faktu że LAD pozostaje standardem i jeszcze długo nim zostanie więc brak wsparcia jest sporym minusem. Co do niskiego progu wejścia dla FBD - dość kontrowersyjne stwierdzenie. Zarówno LAD jak i FBD wymagają pewnych podstaw. Dla LAD jest to znajomość schematu elektrycznego (styki NO NC Cewka itp) Dla FBD jest to znajomość schematu i elementów...
Napisz zatem kod takiej procedury i zawrzyj w nim także funkcje protokołu 1wire (odczyt i zapis bitu oraz bajtu i.tp. z obsługą błędów) w avr gcc Implementacja procedury przeszukiwania magistrali 1-Wire oraz podstawowych funkcji protokołu w AVR GCC wymaga dość szczegółowego podejścia. Poniżej przedstawiam przykładowy kod, który zawiera podstawowe operacje...
Kolego Dra98. Ludzie chorują na raka - jednym pomagają leki, innym nie. Wy bawicie się w rosyjską ruletkę - dostajecie wyniki, które pokazują wzrost stężenia markera nowotworowego i mówicie - nic z tego nie będzie, nie ma co leczyć, do piachu. Co z tego, że Ty miałeś dwa dyski, których uratować się nie dało? Jakbyś miał dwa tysiące dysków to wtedy byś...
troche posiedzialem i zrobilem sobie program ktory widac ponizej jednak mam maly problem - funkcja FindDevices() znajduje mi tylko 1 czujnik z 2 (i zapisuje odpowiednio jego adres) kiedy przychodzi do wyswietlania to dla drugiego czujnika mam same zera - kiedy odlacze czujnik ktorego pomiary dostaje i zostawie ten drugi to wszystko dziala prawidlowo...
Od początku. System ma kilka stanów stabilnych: gotowość, rozruch, praca, postój. Możemy je zakodować używając przerzutników RS i/lub bitów pamięci (wyjść lub markerów). W przypadku wystąpienia zakłócenia w pracy system przechodzi do stanu Postój, z którego wyjść może po wciśnięciu i wyciśnięciu S2 (czyli zbocze 0->1, S2 jest NC!). Stan Postój wygodnie...
http://obrazki.elektroda.pl/9745806300_1... Witam. Sesja się zbliża, więc tradycyjnie zacząłem już prokrastynować :D . Ostatnio zacząłem pisać bibliotekę do obsługi klawiatury PS/2 w C dla AVR i postanowiłem na szybko w godzinkę lub dwie stworzyć jakiś praktyczny projekt w celu jej przetestowania. Początkowo nie planowałem tego publikować,...
Witam serdecznie rozpoczyna się w pełni sezon na koszenie trawy. Wobec wysokich cen za fabryczne roboto kosiarki (bez kablowe) z GPS RTK , składam pytanie czy znacie jakieś ciekawe przetestowane pr... Bezpośrednia odpowiedź na pytanie – Tak, istnieje kilka realnie przetestowanych projektów DIY kosiarek RTK, a także opłacalne scenariusze „re-use” tańszych...
https://obrazki.elektroda.pl/4100915500_... https://obrazki.elektroda.pl/8830364200_... https://obrazki.elektroda.pl/1416756900_... https://obrazki.elektroda.pl/5273174100_... https://obrazki.elektroda.pl/4562896500_... https://obrazki.elektroda.pl/6971512600_...
Czym i jaka wersją kompilowałeś, bo mi w WinAVR wyskakują same błędy!! :-( Najnowszą wersją WinAVR. W załączniku jeszcze raz to samo, ale kompletny projekt z Programmers Notepad. Przed chwilą sprawdziłem i kompiluje się tak jak powinno ('Make All' z menu Tools). Te procedury FFT mogą stwarzać problemy przy kompilacji, jak próbowałem ich pierwszy raz...
1/ Zmień marker2 na volatile - inaczej kompilator może tak zoptymalizować kod, że pętla główna wykona się tylko raz (chociaż po opisie można wnioskować, że nie to jest problemem) 2/ wynik_msb, wynik_lsb zmień na unsigned char, a wynik na unsigned int (patrząc po sposobie wyliczania "wynik" nie powinno to mieć znaczenia) 3/ Przy odczycie z SPI nie musisz...
Siedzę na problemem od kilku dni i nie mogę się dopatrzeć błędu. Dla niecierpliwych - sam problem opisany jest na samym końcu. Próbuję odczytywać dane z czujnika AM2302 z użyciem timera (timerów). Czujnik posiada jedną linię danych typu OC (lub coś w pobliżu). Komunikacja polega na tym, że master (MCU) w celu wybudzenia czujnika generuje stan niski...
markery simatic markery fatek robot markery
dmuchać ciepłym powietrzem resetować ustawić kanał zmiana numeru seryjnego drukarki
hotpoint ariston zmywarka karta dźwiękowa
Częstotliwość kluczyka Mercedes GLK 2010: 315 MHz czy 433,92 MHz? Programowanie biorytmów na Arduino GIGA