bj86 czy Ty chcesz odczytywać zawartość rejestrów sterownika XLe z wykorzystaniem protokołu Modbus? Jeśli tak to z poziomu komputera potrzebujesz Modbus MASTER a SLAVE jest urządzenie, z którego chcesz czytać dane (w tym wypadku XLe). W programie do XLe z poziomu CScape definiujesz komunikację przy pomocy odpowiedniego wywołania bloku (Modbus Slave...
Nie potrafię dojść o co chodzi - rozumiem gdyby program zatrzymywał się na while(), ale na return()? Samo przerwanie TWINT nie oznacza, że operacja zakończyła się powodzeniem. Nie podałeś zawartości innych funkcji obsługi magistrali, ale sądząc po funkcji twi_read() nie sprawdzasz poprawności transmisji poprzez sprawdzenie jej statusu w rejestrze TWSR....
1. Zmienio Biosa na nowszy. Stanowczo za stary. Najnowszy jest 6.4 - na ksa masz wszystkie. Jeśli nie masz dostepu do Biosu na ksa tzn masz niski poziom uprawnien. 2. ". W "drzewie programu" mamy coś takiego jak "Modbus Line". Czy to musi być konfigurowane? " --> Nie musi. To jest taki łatwiejszy konfigurator dla portów. Wybierasz port np BMS1 i konfigurujesz...
http://obrazki.elektroda.pl/3546939500_1... Konstrukcja będąca tematem wątku powstała jako projekt na zaliczenie przedmiotu na uczelni, którego celem było napisanie sterownika dla systemu Linux do jakiegoś urządzenia. Ponieważ miałem swobodę wyboru tematu sterownika, postanowiłem stworzyć jakieś urządzenie w postaci karty ISA. Złącze...
Dzień dobry, przekopałem forum ale nic nie umiałem znaleźć. Mój problem dotyczy zmiany jakiegoś rejestru w urządzeniu slave przez inne urządzenie slave. Konkretniej: Falownik LS odczytuje z panelu dotykowego (który jest masterem) wartość np zadanej częstotliwości. Obok jako drugi slave jest sterownik PLC, który kontroluje wejścia/wyjścia. Powiedzmy...
jeśli wysyłałem pod adres 1 niepodłączonego przetwornika, zgłasza błąd (rozumiem, że niepodłączony przetwornik = błąd), To nie tak. Na adresie 1 program słucha - skonfigurowany jest by odpowiedzieć na funkcję 03 (odczyt rejestrów) i rejestry 0 - 9 Ty wysyłasz mu funkcję 05 (ustaw jedno wyjście) i rejestr 4000 więc odpowiada Ci kodem 85 (błąd dla funkcji...
Spróbuj ustawić transmisję: 1 bit stopu Even (parzysty) 1 bit startu 8 bitów danych. Trzeba jeszcze przesunąć rejestr danych o 1. np z 21 na 20 lub nie, oczywiście zależy to od slave A także spróbuj zamiast FC3 - FC4. Ja mam PLC od wersji oprogramowania 1.4 Wygląda, że liczby w tym liczniku są całkowite. Jeżeli zawartości rejestrów były by zmiennoprzecinkowe,...
Dziękuję. Rejestr już jest odczytywany przed zapisem. Każde przerwanie w slave zapisuje coś do SPDR, więc jeśli slave ZDĄŻY obsłużyć przerwanie i wpisać to zawsze jeden bajt jest wpisany. Przed transmisją przy inicjacji nic nie wpisuję do spdr, pierwszy wpis jest w przerwaniu. Wygląda na to, że oba wyrabiają się z wpisywaniem danych do rejestrów bo...
http://obrazki.elektroda.pl/3207877000_1... http://obrazki.elektroda.pl/9634776400_1... http://obrazki.elektroda.pl/8673988800_1... http://obrazki.elektroda.pl/3005768300_1... Termometr z funkcją pamiętania maksimum i minimum (zapisane w rejestrach, tracone przy braku zasilania). Program...
Czy rejestr 0x00 w wyświetlaczu jest dostępny do czytania? Samo skanowanie busa polega na wyłapaniu czy po bajcie z adresem i kierunkiem slave zrobi ACK. Ale może się zdarzyć, że rejestr nie jest przeznaczony do czytania zatem po podaniu adresu urządzenia 0x27 z bitem kierunku i adresu rejestru 0x00 nie będzie ACK co oznacza, żę taki rejestr nie nadaje...
Gapię się w modbusa jakiś czas żeby zrozumieć te rejestry. Mam wrażenie, że poczyniłem pewien progres, ale muszę się upewnić czy to aby nie są bzdury. No i sprawa wygląda tak: urządzenia slave składają się / są widziane jako rejestry z poziomu mastera. Wysyłam z mastera polecenie do slave’a: „odczytaj rejestr R1”. Polecenie leci do...
Witam DS3231 Slave address to 0xD0 Adres rejestru to 0x0E chcę w ten rejestr wpisać zera mam taki kod: [syntax=c] i2c_cmd_handle_t cmd = i2c_cmd_link_create(); i2c_master_start(cmd); i2c_master_write_byte(cmd, (0xD0 << 1) | I2C_MASTER_WRITE, 1 /* expect ack */); i2c_master_write_byte(cmd, 0, 1); i2c_master_stop(cmd); i2c_master_cmd_begin(I2C_NUM_0,...
Pod kątem szyny Modbus można to opisać w prosty sposób: Master - Cobra lub Puma Slave - Spider (adres 5) baudrate 9600 1. Nawiązanie komunikacji M - Zapytanie slave'ów od numeru 1 do 32 o 1 rejestr wejściowy z adresu 0 (funkcja 4) S - Odpowiedź zwracająca wartość 054 147 2. Zapytanie o status GSM i zmiany parametrów pieca M - Zapytanie o 8 rejestrów...
Jesli chcesz wykorzystac sprzetowe I2C (TWI) w ATmega8 to wszystko ustawiasz za pomoca odpowiednich rejestrow. Jesli ATmega bedzie pracowala w jako SLAVE to za pomoca odpowiedniego rejestru ustawiasz jej adres. Poczytaj w doumentacji od uC.
Hej, Adresy są ustawione w channel configuration. Podaje się tam adres początkowy dla poszczególnych rejestrów. Pozostałe rejestry są przypisane do zmiennych sterownika po prostu z przesunięciem względem adresu początkowego. Wydaje mi się (jutro sprawdzę), że to może być tylko jeden data block dla jednego rejestru modbus, więc jeśli np.początkowy rejestr...
Nie sprawdzałem ale tu masz 01- adres urządzenia 03- rejestr 01 03 00 00 00 01 CRC
https://obrazki.elektroda.pl/4089247800_... Pytanie: Czy mogę uzyskać dostęp do niestandardowego interfejsu SPI za pomocą mojego mikrokontrolera? Odpowiedź: Tak, ale może to wymagać trochę dodatkowego wysiłku podczas tworzenia oprogramowania układowego. Wiele współcześnie wykorzystywanych, precyzyjnych przetworników analogowo-cyfrowych...
Witam, Chce połączyć HMI unitronics (środowisko unilogic) z wzmacniaczem/konewerterem belki tensometrycznej Scaime Enod4T. Komunikacja po modbus RTU - RS485. Scaime po RS z komputerem i natywną aplikacją producenta komunikuje się bez problemu. Po raz pierwszy mam do czynienie z Modbus RTU. Przejrzałem specyfikację scaime i nie specjalnie mogę zrozumieć...
Diody podpięte są do czegoś co się zwie "rejestr przesuwny 74HC595". Jeżeli tam masz rejestr 595, to zamiast kombinować podepnij się pod wejście szeregowe tego rejestru - masz tam SCK, MOSI, SS - podpinasz to pod SPI w trybie slave i masz odczyt tego co wysyła procesor do zatrzasku. Nawet jeśli zajdzie konieczność konwersji poziomów, to masz tylko...
Cena jednak niebagatelna;) Taniej wyjdzie jak zawsze, dodatkowe ATmegi jako układy slave po SPI.
Też szukam takiego rozwiązania, i nie bardzo wiem czy Bluetooth się tutaj nada. Bo Bluetooth pozwala stworzyć połączenie prawie przezroczyste dla UARTa. Ale w trybie połączenia bezpośredniego. 1:1 pomiędzy dwoma konkretnymi modułami. A mi chodziłoby o połączenie jednego mastera z np. pięcioma slaveami. Czy takie coś jest możliwe przy UARCie? Tzn. żeby...
https://obrazki.elektroda.pl/5794565700_... Jeżeli chodzi o komunikację pomiędzy sterownikami VersaMax Micro, to można ją zrealizować np. w protokole SNP (SNP-X). Wtedy w jednym ze sterowników należy uruchomić pracę jako Master w tym protokole. Następnie przy pomocy poleceń COMMREQ trzeba oprogramować komunikację – przesyłanie...
Cześć Adres może i dobry, ale jest to adres 7 bitowy - bez uwzględnienia najmłodszego bitu zapisu. Trzeba tą wartość przesunąć w lewo o 1 bit i do tego ustawić lub nie bit zapisu: #define i2c_rw_bit 1 // transmit slave addres I2C1->DR = ( saddr << 1) | i2c_rw_bit ; No i przydałoby się dodać jakieś timeouty w tych pustych pętlach czekających...
register unsigned char counter asm("r3"); Ale jak wskazać kompilatorowi aby używał zarezerwowanych rejestrów w konkretnej funkcji? Zresztą metoda bardzo zła bo ogranicza kompilatorowi ilość dostępnych rejestrów, a problemem jest fatalnej jakości kod. Żadne mikro optymalizaje tu nie pomogą. Należy napisać, albo znaleźć porządny kod. Proszę o cudowny...
74164 nie ma zatrzasku ale to nie szkodzi - przy szybkim taktowaniu danych - zmiana jest niewidoczna przecież na czas wpisywania danych można wygasić sygnał wyboru linii (żadna linia nieświeci).. hm.. pomysł bardzo dobry.. można powiedzieć że przewyrzsza mój pomysł prostotą i końcową ceną.. ostatecznie można zrobić tak jak ja to pokazałem ale zamiast...
Nie za bardzo rozumiem o jakich przerwaniach piszesz. Slave SPI (abstrahując od przerwan błędów itd) ma przerwanie wtedy kiedy rejestr wysyłki jest pusty albo kiedy coś otrzymał (pominę kwestię fifo). Jeżeli jest to przerwanie od pustego rejestru TX to może tam wpisać dane, która zostanie wysłana przy następnej transmisji mastera. Jeżeli jest to od...
Cały obecny kod: http://obrazki.elektroda.pl/5926424400_1...
Witam Holding Registers - 0x03, Czyli np. w trybie RTU: 0x01 - adres slave 0x03 - Holding Registers 0xXX - rejestr początkowy Hi 0xXX - rejestr początkowy Lo 0xXX - Ilość rejestrów Hi 0xXX - Ilość rejestrów Lo Dodatkowy jeśli używamy ModBus TCP należy dodać nagłówek na początek ramki. Proponuje zapoznać się z OPC toolbox w Matlab'e. Pozdrawiam
Rejestry numerowane są od 1 (0 jest nieprawidłowe). 1 oznacza pierwszy możliwy rejestr w urządzeniu (w slave'ie). Zobacz GFK-2220 i opis komendy 8002. Word 10 – RTU Data Address/Start Address: The one-based offset into the target reference data type on the slave that specifies: The data location for the Force Single Output and Preset...
Witaj Zgoodie Dzięki za szybką odpowiedź. Tą ramkę znam 01 03 00 00 00 01 84 0A i wiem że to jest zapytanie o 1 rejestr Holding Register, 01 - to id slave'a a 03 to kod funkcji czyli odczyt holding rejestru a 00 00 00 01 to adres 0 i długość 1, później jest kod crc. Ramka 01 03 00 00 00 01 84 0A działa jak również inne typu FF A0 40 38 odpowiadające...
Master decyduje o scenariuszu wymian. Może wysłać 400 zapytań o każdy rejestr osobno. Albo czytać 50 rejestrów od offsetu 100, a później 20 od offsetu 237. Slave ma odpowiedzieć.
Witam serdecznie Potrzebuje pomocy w komunikacji s7 1200 Posiadam s7 1212 i CM 1241, próbuję pobrać dane z urządzenia podłączonego do procesora komunikacyjnego, adres slave 2, prędkość 9600, bez parzystości, długość 8 bitów stop 1, użyte piny w CM 1241 pin 8 -A pin 3 -B brak terminacji w chwili obecnej długość przewodu ok 1 m, rejestr z którego chcę...
Witam Bardziej profesjonalnie jest wszystkie układy potraktować jako slave . Każdy słucha i czeka na przerwanie z uarta , jak je otrzymuje odbiera zawartość z udr porównuje i albo odbiera dalej albo ignoruje i czeka na kolejny adres . Atmel wyposażył układy w tryb multimaster ,który się do tego świetnie nadaje i warto o nim przeczytać w dokumentacji...
(at)chudybyk - niekoniecznie, tzn nie wiem jak z Arduino, ale robiłem projekt na tiny48 i tam jest rejestr maskujący adres przez co jeśli bardzo byśmy się uparli urządzenie skonfigurowane jako slave odpowiadałoby na KAŻDY adres. Niemniej w przypadku arduino jest zapewne jak piszesz. Dodam, że lista adresów dostępnych jest mniejsza niż 127 w przypadku...
MISO to Master IN SLave OUT, a MOSI to Master OUT Slave IN. Jak same nazwy wskazują nie ma tu mowy, które urządzenie jest masterem, a które slavem. Linia MOSI zawsze jest wyjściem w Masterze a wejściem w Slavie. Zlinią MISO jest podobnie tylko że na odwrót. Nic nie musisz przełączać, ponieważ jest to robione wewnętrznie. W nocie jest taki rysunek gdzię...
https://code.google.com/p/robotcontrol/s... Diagnoza jest taka: w slave'ie w ogóle nie wykonują się polecenia pętli ciała głównego programu. W ogóle nie jest wykonywane drive_state[0] = 16; gdyż na ekranie LCD wciąż widzę wartość '49'. Transfer SPI działa gdyż po odpięciu jednego z kabli...
Witam Ja pisałem programu do komunikacji po ModBus'e z miernikiem LUMEL NA6 i moim zdaniem łatwiej by było wykonać komunikacje w trybie RTU. Suma kontrolna CRC16 jest dostępna w dokumentacji do ModBus'a w języku C. Ja przerobiłem ją na C#. Ramka zapytania jest prosta i nie potrzeba nic dodawać dodatkowego np: public byte[] getRamkaStatusNr1(byte...
Witam! Od jakiegoś czasu męczę się z SPI na STM32, posiadam płytkę STM32F3 Discovery. Podłączyłem SPI1 z SPI2 (MISO-MISO, MOSI-MOSI, SCK-SCK, NSS nie podpięte), SPI1 pracuje jako master, po wysyłaniu danych do SPI2(slave) rejestr RXNE w SPI2 jest cały czas równy 0. Próbowałem zamienić rolami SPI1 z SPI2 ale sytuacja była taka sama. Próbowałem na początku...
Nad przekaźnikami też się zastanawiam, ale raczej będzie to ostateczność. Bezpieczeństwo jest tu najważniejsze a przekaźniki mają tendencje do sklejania się styków lub innych, nawet opisywanych przez ciebie uszkodzeń. Zwróć uwagę że, opisywane problemy tyczą się raczej dużych prądów. Przy małych prądach, schodzimy do strat dużo mniejszych niż zasilanie...
[syntax=c] void ds1307_init() { i2c_start_hard(); i2c_write_hard(0xD0); // adres slave i RW = 0 do RTC i2c_write_hard(0x00); // adres rejestru 0 i2c_write_hard(0x00);// zerowanie sec i CH i2c_stop_hard(); i2c_start_hard(); i2c_write_hard(0xD0); // adres slave i RW = 0 do RTC i2c_write_hard(0x07); // rejestr control i2c_write_hard(0x80);// wylaczenie...
Z tego co wiem przerwanie w Slave zostaje włączone po zakończeniu nadawania/obioru. Dlatego wpisując w przezwaniu w rejestr SPDR wartość zakładam że będzie ona wysłana jako następna, przy następnym nadawaniu/odbiorze (przed wywołaniem kolejnego przerwania). Mogę wstawić w while(1) coś takiego: [syntax=c]while(1) { if(!(PINB & (1 << SS))) {...
1. Jeśli ta informacja jest tylko w eds slave to teraz, żeby Master był "uniwersalny" to muszę zarezerwować (lub dynamicznie) przydzielić pamieć dla tych wszystkich transmisji, 2. Może te Informacje są gdzieś w słowniku urządzenia ale nie wiem gdzie. Nie ma czegoś takiego w rodzaju informacji o dostępnych PDO. Jak chcesz to możesz np. za pomocą SDO...
a iic nie chce Niestety to trochę zbyt mało powiedziane. Adresy rejestrów TWI są inne, przerwanie jest gdzie indziej. Wypadałoby prześledzić krok po kroku obie wersje programów w miejscach gdzie następuje inicjalizacja i jakieś operacje związane z TWI. Błąd może być też "czeski" związany z wpisami w plikach nagłówkowych (adresy, sposób dostępu). Czy...
I tu się mylisz kolego, bo w ten sposób nie zmienię trzeba wysłać całą ramkę w HEX. Tak to już próbowałem i nie przyjmuje. 40021 ID HEX 00 14 Length : 4 byte MODBUS Protocol code 10 (16 decimal) writes the contents of the 4X registers. Example The following query will set the Network Node to 60: Field Name Example (Hex) Slave Address 01 Function 10...
Dzięki CervantesJ. Bardzo pomocne materiały mimo że mam starszą wersje. Siadam zaraz i kombinuje dalej. Możesz mnie jeszcze tylko nakierować czy dobrze rozumuje. Chcę połączyć sterownik SAIA z InTouch-em. Z tego co się orientuje to InTouch jest Masterem. Mam już w InTouchu skonfigurowany DAServer Manager. Wysyłam z niego informacje pod rejestrem 40010....
Dodałem w Attiny2313 linię $baud = 9600 - Ustaw tryb slave w ATmega (I tak jest tylko odbiornikiem), będzie prościej, inaczej linie MOSI i SCK będą walczyć na Vcc i GND... ;) A czasem nie jest on już ustawiony ? tzn w MSTR w rejestrze SPCR domyślnie jest ustawiony na 0 czyli tryb slave. Może pokaże Panu ten rejestr : http://obrazki.elektroda.pl/4179069900_1...
Czy istnieje jakiś sposób do zaprojektowania np Master Slave'a JK na bramkach???? Mi z grafu wychodzą nadmiarowe bramki... :/ A niestety profesorek sam nie wiem jak to zrobić.. każe zapamiętać kilkanaście bramek :/ Macie jakieś pomysły??? Zasada jest dosyć prosta. Tego typu przerzutnik składa się z dwóch zatrzasków. Ponieważ z grafu przejść wynika...
Albo wręcz zrobić naked i wykorzystać jakiś rejestr sprzętowy. Co prawda jest to 16 bitów. Ale można to zrobić albo w dwóch 8 bitowych- żeby było atomowo albo jako Atomic Block.
W każdej funkcji i2c stosuje czekanie na zwolnienie flagi. To nie to samo co odczyt bitu potwierdzenia. Ty po prostu czekasz tylko na zakończenie transmisji bajtu. Informacja o wysłaniu (lub nie) przez układ slave bitu potwierdzenia znajduje się w rejestrze TWSR po zakończeniu transmisji bajtu wpisanego do TWDR i jest ona bardzo istotna, bo dzięki...
Mam sterownik fatek FBs-24maj. Falownik LS sv040ig5a-4 Mam tabelę modbus w winproladder z parametrami: Zapis na MasterData rejestr "R10" i "R11"(w domyśle jako druga wartość data size) Slave data to 441217 i data size: 2 Nie wiem dlaczego data size dla tej funkcji ma wartość 2 Odniesienie do falownika dla zarządzanego parametru to: Czas przyspieszania...
rejestr slave atmega slave slave output
pikanie radia citroen upływ akumulatora simlocka orange
łucznik synchronizacja chwytaka philips hr7958
OpenBeken HTTP Channel Value Read: Ch