bo raz że "dostajemy wydajność za darmo" a dwa że poznajemy lepsze techniki zarządzania zasobami. Kontrolowanie dostępu do współdzielonych zasobów przez "krótkie" wyłączanie przerwań to moim zdaniem kiepski pomysł, ale w tym omawianym przypadku inaczej się nie da. Dodano po 3 Dodam jeszcze, że programy napisane jako maszyna stanów bardzo dobrze testuje...
W ciągu ostatnich kilku lat obserwujemy przyspieszenie adopcji zintegrowanych FPGA (eFPGA) w produkcji układów ASIC i SoC. W rzeczywistości jeszcze w zeszłym roku przewidywano, że liczba jednostek logicznych FPGA w postaci modułów eFPGA przewyższy liczbę jednostek logicznych w tradycyjnych FPGA na przestrzeni tego dziesięciolecia. Ten wzrost jest napędzany...
(...) Timer obsłużyć umiem i zgadzam się z twoją sugestią ale jak zrobić aby cały kod umieszczony w pętli odczytu wykonywał się po kolei a nie wszystko co 100us? Gdy umieszczę cały kod w przerwaniu nie osiągnę zamierzonego spowolnionego odczytu MCP w trakcie wykonywania innych rzeczy przez ATMegę... Rozumiem Twój problem. Aby uzyskać ciągłe i kontrolowane...
Pięćdziesiąt lat temu powstał pierwszy programowalny układ logiczny do zastosowań komercyjnych, a dostępne dziś części pozwalają inżynierom przekraczać nowe granice technologiczne w wielu branżach. Mark Patrick, Mouser Electronics https://obrazki.elektroda.pl/4592035100_... FPGA ( field-programmable gate array – bezpośrednio...
W ostatnich trzech artykułach omówiono pięć kroków wymaganych do zaprojektowania wbudowanej architektury oprogramowania. Do tej pory dzielono ją na zależną i niezależną od sprzętu. Ponadto zbadano, w jaki sposób wczesna identyfikacja zestawów danych może pomóc poprawić bezpieczeństwo urządzeń i pomóc w naturalnej dekompozycji. Pięć kroków projektowania,...
To jest maszyna stanów kalkulatora według schematu przedstawionego tutaj: http://en.wikipedia.org/wiki/UML_state_m... Poniższy przykład zawiera: :arrow: proste dziedziczenie znane z obiektowości. Struktura fsm_t musi przylegać na początku struktury calculatora_t. Tak samo fsm_event_t do calculator_event_t. :arrow: obsługa...
Stanil, czego chciałbyś się dowiedzieć? Opis apki, podłączenia do radia oraz najważniejsze fragmenty schematu i opis działania znajdziesz w odpowiedziach powyżej. Witam, bardzo ciekawy projekt, jednak nie mam jasności co do przesyłania danych, wartości do tabletu z atmegi, np: pomiar napięcia lub jakiejkolwiek danej i czy ma to tutaj miejsce ? Na ścince...
Dlaczego chcesz stosować metody syntezy układów cyfrowych? Nie budujesz elektroniki z przerzutników i bramek, tylko piszesz program. Użyj dostępnych w Logo funkcji i wyraź algorytm za ich pomocą. Nie potrzebujesz przerzutnika D z wejściem zegarowym - program w Logo nie jest asynchroniczny! Jest wykonywany w dokładnie określonej kolejności, nie występują...
To byłoby jakieś uproszczenie. Kolejne bardzo duże ułatwienie to podział programu na części odpowiadające poszczególnym cyklom pracy maszyny. Programujesz osobno stan "szybkie_nalewanie", "wolne_nalewanie" i pozostałe, i nie zastanawiasz się "... jak wlaczyc ponizszy else if za pomoca pedal i jesli pompa1, pompa2, zawor HIGH && pedal wcisniety wykona...
Witam, LAD np. do końcowego składania całego programu polegającym na np. wywołaniu bloków programowych (FB) do obsługi wejść, wyjść, alarmów, cyklu, komunikacji. SCL w obecnym projekcie do odczytu oraz zapisu wejść/wyjść. Mam kartę wejść oraz wyjść 32 kanały. Odczytuję podwójne słowo i wyciągam poszczególne bity. Plus jest taki że w takach mam tylko...
A słyszałeś o maszynie stanów i programowaniu krokowym? INIT_SEQ - to dla mnie bit wymuszający pierwszy krok sekwencji po FIRST SCAN sterownika lub po zakończeniu kroków i rozpoczęciu sekwencji od początku STOP_SEQ - to bit zatrzymujący sekwencję RESET_SEQ - to bit resetujący kroki sekwencji np w przypadku awarii Dla Twoich potrzeb wykorzystujesz bit...
Temat rzeka z zakresu metodyk wytwarzania oprogramowania. A to nie jest popularna rzecz w automatyce. Ja zawsze rozrysowywałem bardziej skomplikowane programy na papierze i dopiero brałem się do programowania. Zapoznaj się z ideą "maszyny stanów" i języka SFC (Grafcet). Ja często rysuję najpierw przebieg programu w pseudo-SFC i dopiero potem biorę się...
co to jest "maszyna stanów" ??
zastosowań nie widzę W najprostszym wypadku może służyć jako "programowany" dzwonek do drzwi, w trudniejszym jako sygnalizator stanu pracy maszyny/urządzenia, ewentualnie zabudowanie w pojeździe i sygnalizowanie głosowe/dźwiękowe włączanych funkcji. Wszystko zależy od pomysłowości konstruktora.
Polecam specyfikacje Modbus do poczytania i książkę Pana Witkowskiego "Mikrokontrolery AVR programowanie w języku C - przykłady zastosowań", gdzie bardzo przystępnie pokazuje w C komunikację po RS485 z crc16 i detekcją błędów. Zakładasz w programie środowisko idealne, pomyśl co się zacznie dziać, gdy pojawią się zakłócenia... Tak jak mówił albertb nawet...
Witam, tak się pewnie teraz nie robi (szkoda papieru, tak słyszałem), ale gdyby mi zależało na szybkim rozwiązaniu problemu zrobiłbym tak: Na odwrocie tej kartki, którą pokazałeś rysujesz prostokąt z napisem STAN_OFFOFF w środku. Od tego robisz strzałkę z napisem "przycisk_1_ON" i kolejny prostokąt ze stanem o stosownej nazwie. Dalej kolejna strzałka...
Z delayami tego na pewno nie zrobisz, musisz nauczyć się zarządzać czasem - millis, timery sprzętowe, gotowe biblioteki (timerOne), millis opisane jest w kursie: https://forbot.pl/blog//kurs-arduino-pod... i raczej nie powinieneś zaczynać od jego końca. Coś takiego jak maszyna stanów, switch-case też nie zaszkodzi...
No to może czas zrobić maszynę stanów odpowiedzialną tylko za dane urządzenie? (; Oczywiście wtedy musisz się porozumiewać z danym urządzeniem (np. SPI) tylko poprzez interfejs do maszyny stanów. 4\/3!!
Zwróć uwagę ze twój system zachowuje się inaczej gdy grzałka jest włączona i inaczej gdy jest wyłączona (bo histereza). Takie systemy można oczywiście programować używając rożnych technik. Jedną z możliwych jest maszyna stanów. Taka najprostsza: [syntax=c] #define TEMPERATURA_ZALACZENIA_GRZALKI 600 #define TEMPERATURA_WYLACZENIA_GRZALKI 700 enum typedef...
Poszedł bym w PLC - jak będziesz miał inny pomysł na sterowanie to po prostu poprawisz program. Wybrał bym taki który ma dwa sprzętowe HSC. Zamiast impulsatorów Enkodery inkrementalne - konfiguracja licznika w trybie kwadraturowym (używanie dwóch kanałów enkodera) da Ci kontrolę kierunku i odporność na ewentualne luzy a w liczniku będzie siedziała gotowa...
Musisz wybrać model i markę sterownika, a dopiero będziemy mogli właściwie pomóc. Co do samego zegara czasu rzeczywistego, to funkcje, które można zrobić od licznika roboczogodzin maszyny, po sterowanie mieszadłem do ciasta, albo programem maszyny piorącej, możliwości jest bardzo dużo. Powiedziałbym, że sama wyobraźnia jest tylko w stanie ograniczyć...
Kurczę, mój stary komputer kurzy się w stodole (prawie 486 z dwoma dyskami po 40 MB ;-) ) miałem tam co nieco. Pamiętam tylko, że modem potrafił powiedzieć "RING" albo też podnieść słuchawkę po ATA. Kurczę, już nie pamiętam, ale chyba potrafił też po atd?NUMER; zagadać coś na kształt „connect” albo „carier detect”. Poszukaj dobrej...
Nie mówię o wątkach, tylko o protothreadach, które służą np. do pisania koprocedur. Masz rację, nie wczytałem się w Twój kod. Zapomniałem, że można tak tego używać. Tego nie wiesz. Autor podał uproszczony przykład. Równie dobrze mógłyś go z dumą uprościć do puts("-0123"). Proponuję pozostawić tłumaczenie, o co chodziło, autorowi. Za to widzę, że Ty...
Przepraszam na wstepie że sie wtrącam w dyskusje, ale czy nie lepiej skorzytać z wirtualizacji - jest to bezpieczniejsze i o wiele bardziej przyjazne uzytkownikowi. Podam prosty przyklad - pracujesz na maszynie gdzie jest tylko XP zainstalowane standardwow masz jakis pliks worda i sobie cos tam robisz, nagle system sie wiesza lub jest problem z zasilaniem,...
W piątej lekcji w segmencie dotyczącym maszyny stanów autor przedstawia jej implementację w języku C, którą uznaje za optymalną zgodnie z wyjaśnionymi w dalszej części artykułu kryteriami. Wideo szkoleniowe nr 39 (poniżej) ilustruje, jak zbudować wielokrotnego użytku: „procesor zdarzeń”, aby włączyć tę miarodajną strategię implementacji maszyny stanów...
We wcześniejszych lekcjach z tego cyklu (patrz YouTube) autor przedstawiał działanie maszyny stanów sterowanej zdarzeniami i warunkami strażnika, zgodnie z opisem zawartym w specyfikacji UML. Jednak, jeśli przeszuka się literaturę, można znaleźć również inne konstrukcje. Należy tutaj zauważyć, że nie chodzi o kosmetyczne różnice w prezentacji stanów,...
Może rozjechało się oprogramowanie modułu... Dziewięć na dziesięć przypadków, tak się dzieje. Cóż, szósty zmysł Łerpula... :) Kowalski za pomocą maszynki do mięsa nie zaprogramuje modułu na nowo, choć nie wiem, jakby się prężył... Sprzedali amerykańce technologię italiańcom i teraz się dziwią, że ich machiny nie trybią... To złożony proces. A tak serwisanci...
Proszę nie traktować tego jako działający program. Napisalem szkielet na szybko. Przedstawię zarys programu dla jednego tasku z użyciem maszyny stanów (stany odzwierciedlają fazy oczekiwania na poszczególne fazy: faza I - 30s, faza II - probkowania wejscia co 60s, faza III - sterowania na 10s). Program wymaga dopracowania i uzycia wlasciwych dla arduino...
Jeśli działa to pewnie jest ;-) Natomiast podawaj w kodzie także definicje używanych zmiennych, od tego czasem wiele zależy. I większość używa literki L na szybciej zmieniającą się część, a H na wolniej. Bardziej profesjonalne sposoby - doczytaj o programowaniu sterowanym zdarzeniami i maszynach stanu. Albert
Maszyny klientów znajdują się w całej Europie, ale na początku potrzebowałbym kogoś, kto będzie w stanie wesprzeć mnie zdalnie w ściągnięciu programu, który będę mógł mu później dostarczyć. Tak że na początku praca byłaby zdalna. Oczywiście wszystko byłoby odpłatne.
Korzystasz z libów USB Microchipa? Jeśli tak, to przecież one są napisane w modelu cooperative multitasking, ten sam model programowania (z maszyną stanów) powinieneś zastosować w swoim kodzie, wtedy mógłbyś oddawać cpu innym taskom (usb itp.) gdy twój kod potrzebuje oczekiwania na zakończenie transferu po SPI. Swoją drogą stos USB Microchipa jest w...
(at)tdziki Jeżeli pytasz o architekturę aplikacji to według mnie nie zadałeś podstawowego pytania. Jak ma ta aplikacja być skonstruowana. Czy to ma być skomplikowana maszyna stanów, czy też wielowątkowa aplikacja w oparciu o RTOS? Ja osobiście preferuję wielowątkowość.
GND czy zasilanie? Myślę, że odłączył zasilanie od CB3S. Jak działa ten LCD, jak często jest odświeżany? Czy jest włączony cały czas? Jak mówiłem, nigdy wcześniej nie widziałem takiego urządzenia, jestem ciekawy. Problem polega na tym, że MCU TuyaMCU ma maszynę stanów i oczekuje, że tmSensor wyśle pakiet, gdy włączy zasilanie modułu WiFi, więc jeśli...
Zdobyta wiedza może się kiedyś przydać przy tworzeniu bardziej ambitnych programów. No, bo o to tu właśnie teraz chodzi i to też było celem zaproponowania przez mnie maszyny stanów :) Uczyć się można na wszystkim, trzeba poznawać różne techniki programowania w zależności od potrzeb. Wiele programów przepisałem z bascoma na C dla nauki, wyprawy i z...
PLC jest stary i firmy mitsubishi, których nie ma już na rynku, więc może lepiej by było napisać to na jakimś simensie. Problem z tym, że jeszcze nie miałem styczności z programowaniem PLC a mogę pożyczyć Simens LOGO 8.4 i się nauczyć lecz to pewnie zajmie mi sporo czasu, czy ktoś będzie mi w stanie pomóc napisać taki program?
W twojej aplikacji zdeklaruj timer: static HAL_AppTimer_t SensorTimer; następnie podczas inicjalizacji stosu skonfiguruj timer SensorTimer.interval = 30000;// 30 sekund SensorTimer.mode = TIMER_REPEAT_MODE; SensorTimer.callback= SensorTimerFired; potrzebujesz również funkcji: void SensorTimerFired(void) { appState = APP_I2C_TASK; SYS_PostTask(APL_TASK_ID);...
Pisanie, że JavaScript to przestarzała technologia jest bzdurą. Obecnie chyba nie ma strony, na której nie znalazłby się jakiś skrypt JS, a ciągle pełno się tego pakuje w strony - czy to czystego JS, czy jQuery, czy wreszcie AJAX. Wytłumacz mi, proszę, dlaczego niby bez znajomości C nie miałbym wiedzieć jak działa program w C#, skoro sam go stworzyłem?...
Witam, odgrzewam kotleta - brama działała (około 2 tyg.) i przestała... aktualnie po przywróceniu ustawień fabrycznych, nie chce wykonać procedury programowania. Mruga L3 i L4, po przytrzymaniu set/close cykają przekaźniki przez chwilę i nic... Diody ok, L9, L10, L11 prawidłowo. Może ktoś jest w stanie precyzyjniej wytłumaczyć, co wykonać, żeby maszyna...
Kolego potrzebujesz oprogramowania do tego sterownika PROSYD ale tu koniec dobrych wiadomości ... Nawet jak bo będziesz posiadał to masz tylko środowisko bez oprogramowania maszyny . Z tego co widzę jest to DT 04 z Wumaga . Każda maszyna tej firmy ma swoje oprogramowanie . Czyli jesli nawet masz PROSYD-amusisz mieć oprogramowanie podnośnika i jego aktualne...
(at)Freddie Chopin A jak porównasz RTOS do np. programowania w oparciu o maszynę stanów? IMHO w prostszych aplikacjach maszyna stanu może rozwiązać w elegancki sposób wiele problemów, bez konieczności dodania RTOS, czy trudnego określania zapotrzebowania na pamięć. Dla prostych aplikacji tak. Dla nie-prostych zrobienie takiej maszyny stanów jest zadaniem...
Cześć! W poprzednim odcinku pokazywałem wam w jaki sposób sprawdzić, czy zakupiony stary układ jest oryginałem, czy podróbką. Użyłem w tym celu mikrokontrolera, testując funkcjonalności oferowane przez dany scalak, w tym przypadku układ AY-3-8910: https://www.elektroda.pl/rtvforum/topic3... Układ ten z pewnością wielu osobom kojarzy się z czasami...
Trochę czasu upłynęło, świat się zmiana a ja nadal programuje PLC tylko w innej firmie. Te same problemy inne maszyny:) od kilku lat kolega na utrzymaniu ruchu mają więcej niż projektanta kodu PLC. Ponieważ linia produkcyjna jak stanie to nie zarabia, a ja nie przeskoczę ilości wypuczanych maszyn na rok, bo to nie zależy OD programisty PLC. smuten ale...
(at)tomek05 Jak się kogoś cytuje, to wypadałoby zacytować całość, a nie fragment, aby dostosować do swoich twierdzeń. Tak jak napisałem: układy PROM zawsze były programowane, co właśnie oznacza literka "P" w nazwie. Produkowane w fabryce za pomocą maski struktury nazywano "ROM" (pamięć tylko do odczytu). Generalnie pierwszymi programowanymi były "PROM"...
Od paru dni używam Arduino, czyli C++ z wbudowanymi funkcjami załatwiającymi wiele spraw konfiguracyjnych za mnie. Gratulacje, pochwal się co udało ci się wykorzystać z basica/bascoma w programowaniu w C++. Operowanie wskaźnikami? Dziedziczenie? Polimorfizm? Czy po prostu jedziesz z całym kodem w jednej funkcji? Każda metoda jest dobra, jeśli osiągasz...
Pamięć ta jest programowana z interfejsem 4-liniowym plus CLK i CE lub zwykłym SPI. Programator można zrobić samemu - choćby na Arduino, jeśli Ci się chce w to bawić. Jednak generalnie najpierw należałoby taką pamięć wylutować z urządzenia. Potem są dwie opcje: -Zaprogramować pamięć od nowa wsadem z maszyny z mniejszym przebiegiem lub lepiej tej samej...
Witam Trafiła mi się maszyna z dinozaurem w szafie - TSX4740. Chciałbym go wymienić na coś współczesnego i do tego potrzebny jest mi soft PL7-3. Jest ktoś w stanie pomóc ?
Więc cenę robią dopiero te wynalazki plastikowe do aplikacji itd. ogólnie, wymiana baterii. Jakieś programowanie, wydłubanie tego z obudowy itd. wyjdzie drożej od produkcji. Zdecydowanie ;) Co do uszkodzenia czujnika - spadek do niskiej wartości i nagły wzrost może go blokować programowo, a nie fizycznie uszkadzać czujnik. Tak samo długotrwałe pozostawanie...
Potrzebuję pomocy od praktyka znającego te sterowniki . Muszę na pewnym podstawowym poziomie poznać programowanie i konfigurację TM221C24T (istniejąca maszyna do uruchomienia). Mam narzędzie Machine Expert-Basic, komunikuję się z PLC po USB. Moje pytanie: jak skonfigurować lub pod jakimi adresami istnieją przekaźniki wewnętrzne %M które "ustawione"...
To że się włącza i wyłącza prawdopodobnie związane jest z tzw. drganiami styków. W twoim programie brak jest eliminacji drgań styków przycisku. Tematów z tym związanych jest na elce dużo. Ponadto stosowanie delay w pętli głównej nie należy do dobrego stylu programowania. Zamiast tego należy użyć timerów i tzw. maszyny stanów. Zdaję sobie sprawę, że...
Sęk w tym, że w Twoim kodzie zwolnienie klawisza powoduje natychmiastowe wyjście z pętli i już nie masz szans na zauważenie w tej pętli (z której wyszedłeś) zauważyć wciśnięcia innego klawisza. Proponuję programowanie w konwencji automatu, zwanego z angielska przez lokalnych dyslektyków "maszyną stanów". Przykładów takich rozwiązań znajdziesz sporo....
maszyna stanów skończona maszyna stanów kodowanie stanów
plcc32 podstawka podłączyć suszarka pneumatyczny klucz udarowy
sterowanie roletami zewnętrznymi schematy zafira
Dociąg tylnej klapy nie działa w BMW E93 - przyczyny i rozwiązania Schemat elektryczny Ford Fiesta Mk7 - gdzie znaleźć?