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 :)
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.
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....
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...
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...
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....
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"
Z tego co pamiętam kompaktowe sterowniczki mają wyścia adresowane od 100.00 w górę, w modułowych adres wyjścia zależy od pozycji na racku. Jak chcesz ustawić bit 20.00 możesz to zrobić cewką ( ) , lub bloczkiem SET (wtedy się zatrzaśnie). W przypadku W i CIO możesz użyć bloczka MOV, natomiast w przypadku D nie możesz użyć cewki, da się użyć SETB. Generalnie...
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...
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_...
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)....
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"...
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ą.
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...
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...
ogarnąłem to w taki sposób - wszelkie komentarze mile widziane ;) nie śmiać się jeśli to mocno dookoła proszę :) [syntax=c]void HAL_UART_RxCpltCallback(UART_HandleTypeD... *UartHandle) { if(UartHandle->Instance == USART1) //ensure that interrupt comes from USART1 { if(USART1->RDR == 0xA3 && !marker) //if 0xA3 received and no correct frame receive in...
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.
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...
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.
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...
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ę...
Marker jest podpięty do scady, jeżeli w scadzie będzie 1, to marker ma 1 i nie da się tego kasować.
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...
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
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...
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...
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ś...
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ć,...
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...
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_...
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...
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...
Hej Dzięki wielkie za link, niestety ustawiłem według tego co podałeś i dalej nic: Konfiguracja: version 12.4 no service pad service tcp-keepalives-in service tcp-keepalives-out service timestamps debug datetime msec service timestamps log datetime msec no service password-encryption ! hostname cisco ! boot-start-marker boot-end-marker ! ! no aaa new-model...
https://obrazki.elektroda.pl/3724104100_... Dzisiaj kontynuujemy przygodę z płytką ESP32-2432S028R. W poprzedniej części uruchomiliśmy wyświetlacz oraz ekran dotykowy, więc dzisiaj z tego skorzystamy. Zobaczymy jakie mamy dostępne możliwości i kształty do rysowania a potem rozważymy jakie są sposoby na wydajne rysowanie tak, aby częstotliwość...
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...
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
kuchenki gazowe odkurzacz zelmer meteor wymiana silnika silnik smarowanie
impedancja pętli zwarcia miele zmywarka
Toyota RAV4 III 2008 3.5L - Typ skrzyni automatycznej U660E Lokalizacja przekaźnika wentylatora wnętrza w pojazdach