Werner von Siemens’ pointer telegraph of 1847r
Zawsze możesz sprawdzić w takim przypadku czy funkcja zarówno put jak i get nie zwraca błędu i w helpie zobaczyć co dany błąd znaczy. Bo jeśli w trakcie wykonania funkcji wystąpi błąd to będzie się zachowywać tak jak twój program, czyli niby wszystko działa a dane nie są wykonywane. Generalnie w strukturze bloku bd dodaj jeszcze 5 bitów by był cały...
Dzień dobry. Takie tematy realizuje się przy pomocy "Jobów", w panelu do zdefiniowania Job mailbox area pointer i potem do tego obszaru pamięci (np blok DB wysłać) numer Joba z parametrami. Jest to dokładnie opisane w manualu do Tia. Pierwszy z brzegu post z forum suportu siemensa https://support.industry.siemens.com/tf/...
Poczytaj o Area pointer Job mailbox. Jeśli dobrze pamiętam to Job number równe 40, pozwala odczytać czas z panelu. Dodano po 17 Nawet dobrze :) https://obrazki.elektroda.pl/3143521500_...
Zdeklarować zmienną lokalną typu ANY pointer, zobaczyć, jaki obszar LW zajmuje, po czym używając adresowania bezpośredniego wpisać odpowiednie składniki zmiennej na odpowiednie LW. Po wpisaniu wszystkiego w odpowiednie LW masz gotowy ANY pointer ;) Tylko potem trzeba uważać, aby w miarę rozwoju programu nie przesunąć naszego pointera na inny obszar...
Rozumiem, że nie chcesz kupować nowszego, więc zostaw program z bezpośrednim odczytem obszaru L. Według mnie kod ze wskaźnikiem jest poprawny, a błąd w wykonaniu jest spowodowany przez CPU. Może aktualizacja firmware by pomogła, ale z tego co widzę to wersja nie jest jeszcze nawet numerowana, więc dość stara. Ewentualnie zadaj pytanie na forum Siemens.
Ale uwaga! Procesory S7-315-2DP ze starymi fimwarami nie chcą realizować funkcji synchronizacji czasu PLC->OP77B - ćwiczyłem to kiedyś: na OP7 działało a na OP77B nie chciało pomimo właściwego ustawienia area pointer i parametrów - SIEMENS chyba coś zmienił w specyfikacji S7 Communication albo w nowszych CPU trzeba używać do tego innych bloków - nie...
Witam, Mam problem w zapisaniu danych z bufora modułu komunikacyjnego do bloku DB. Z tego co wyszukałem w sieci to należy to zrobić poprzez "pointer" w wejściu BUFFER w bloku RCV_PTP . W Siemens-owskim przykładzie pointer ten wygląda tak: P#DB2.DBX12.0 BYTE 80 Ponieważ DB ma też nr. 2 a długość paczki danych wynosi 6 bajtów na pewno będzie miał taką...
Witaj, Temat nadal aktualny? Deklaracja w Delphi... też miałem problemy, zwłaszcza że nie jestem zawodowym programistą... function Load_tool ( no:Byte; name: {pointer} PChar; adr:{pointer} PChar):Integer; stdcall; external ´w95_s7.dll´ name ´load_tool´; function DB_read ( dbno:Integer; dwno:Integer; var amount:Integer; var buffer):Integer stdcall; external...
W SFC1 w CDT wpisujesz adres Twojej komórki DiT, a w RET_VAL dowolne wolne słowo (funkcja zwraca na RET_VAL komunikat błędu). Odświerzanie czasu możesz śmiało ustawić na 1min - wystarczy. Nie musisz zaznaczać "display system time" użyj "use tag" i wpisz adres Twojej komórki DiT. Panel będzie wtedy wyświetlał bezpośrednio czas ze sterownika. Musisz pamiętać,...
Witam! Do tego typu „myków” służy adresowanie pośrednie za pomocą pointerów. Na stronach siemensa znajdziesz opisy i przykłady. http://support.automation.siemens.com/WW...
wczoraj realizować średnią, tak to jest jak się jest 1 automatykiem na 4 projekty, wszystko przesuwa się w czasie. ale koniec oftopa. Korzystnem z gotowca z strony siemensa http://support.automation.siemens.com/ww...
Dziekuje za odpowiedz, Próbowalem juz uzywac tej drogi jednak mam problem z zadresowaniem tego pointera. Tworze zmienna do ktorej wrzucam nr db ktory aktualnie potrzebuje, a nastepnie proboje utworzyc adres. Jednak niewiem jak to zrobic poniewaz deklarujac wejscie do moveblk sypie mi errorem gdy wrzucam tą zmienną(zamiast db number)
Dzień dobry Zdefiniować w panelu area pointer "Job mailbox". Z poziomu PLC użyć (wysłąć do obszaru określonego w area pointer odpowiednia ramkę danych) Joba 23. Generalnie szukać w manualu dla TIA V12/13/14/15 słowa klucza job mailbox. Opis joba 23: 23 User logon Logs the user on with the name "PLC user" at the HMI device with the group number transferredin...
Najprosciej zrobic sobie samemu petle ktora bedzie Ci za kazdym razem zapisywala nowe zmienne w kolejne miejsca DB. Mozna to zrobic jak kolega powyzej wspomnialal za pomoca adresowania posredniego. Przykladowy programik: - w pierwszym cyklu ladujesz do DB1.DBD100 pointer 0.0 - takie jakby odwolanie do adresu - za kazdym zboczem narastajacym bitu M0.1...
OK, mniej więcej rozumiem, ale tym razem mam następną zagwozdkę... Utworzyłem sobie nowy projekt, dodałem MB_Server_db i.... no właśnie, wygląda inaczej niż poprzednio. Doszedł parametr CONNECT po lewej stronie, nie ma PORT... jest mi ktoś w stanie wydłumaczyć jakie parametry tam muszę powpisywać w to CONNECT ? Nie znalazłem niczego, co by mi pomogło.....
Dorzuciłem do programu ale wyskakuje: "Device is out of range, or pointer type label points is insufficient. Please check the memory/device setting of CPU parameter. Or check the program whether the device out of range is not used." Pewnie jakiś zakres pamięci trzeba zwiększyć gdzieś ale próby strzału "na ślepo" nic nie dały a google milczy.
Nie używałem nigdy :), ale chyba area pointer Job mailbox funkcja 70 pozwala wybrać recepturę po numerze. Akcję spod przycisku możesz wywołać na zdarzenie Value change do jakiejś zmiennej (np.: bool ustawiasz na 1 w PLC, a w funkcji ją ustawiasz na 0 i obsługujesz recepturę). https://obrazki.elektroda.pl/5105044900_...
Wklejam informacje z forum Siemensa. One of my early jobs working with Siemens products was as technical support for a Siemens Distributor in North America. I had to deal only once with a CPU 614, as a special request from a good client of ours, who had one mounted on a platics extruding machine. Even at that time (around 2000)the manuals and documentation...
Witam Zastanawiam się czy do siemensa sx541 można wgrać "przystosować" firmawre od Philipsa SNV6520-18, znalazłem coś na temt tego routera ale niestety nic nie rozumiem :/ http://forum.adsl-bc.org/viewtopic.php?t... Moje próby wgrania tego softu kończyły się niepowodzeniem. (zmieniałem także podpisy plików (bootloadera...
Witam. Przyszła kryska na matyska. Myślałem że o PLC co nieco wiem, ale się myliłem. Ostatnio "znalazłem" na moim zakładzie pracy sterownik PLC zabudowany w systemie filtrów do którego nie było projektu PLC. Zrobiłem upload programu ze sterownika, zmieniłem nazwy symboliczne wejść, wyjść, niektórych markerów i niby było ok. Problem pojawił się gdy zacząłem...
Ok, napisałem coś takiego: #include <SPI.h> const int csPin = 10; const int resetPin = 4; const int cdPin = 3; void (*fpInitLCD)(void) = 0; // function pointer for LCD initialization void (*fpCursor)(unsigned char row, unsigned char col) = 0; // function pointer for LCD cursor void (*fpClearLCD)(void)...
Witam, Rozumiem, że zdefiniowałeś sobie w Area Pointers Protoola alarmy pod MW100. Jak otworzysz zakładkę Alarm Messages to podczas klikania na kolejne alarmy, w dolnym prawym rogu okna Protoola masz adresy alarmów (bitów które je wywołują), żeby było łatwiej ;) Pozdrawiam.
Witam, Masz kod błędu na wyjściu z bloku a mówi o o tym że Invalid pointer for DATA_PTR or invalid Blocked_Proc_Timeout. The data area must be one of the following: - Classic DB - Array of elemental data types in a symbolic or retentive DB - M memory Pokaż blok DB_Napedy. Prawdopodobnie masz źle zadeklarowane zmienne. Pozdrawiam,
O instrukcji AT mapującej danej jednego typu drugim oczywiście znam i z tego korzystam. Funkcjonalność "delegatu" o którą mi chodzi jest potrzebna po to żebym mógł odwoływać się do bloku danych który podpięty jest do obsługi modbus'a slave'a. Dane od swojego bloku chciałbym trzymać we wspólnym bloku danych gdzie będą przechowywane wszystkie dane dotyczące...
Twoj blok niema zdefiniowanych w interfejsie żadnych zmiennych typu IN, OUT i INOUT (widać na pierwszym obrazku, nie plusów mogłeś rozwinąć tylko zmienne STAT) pow wywołaniu bloku w OB1 nie widać żadnych "nózek" IN OUT tylko EN i ENO. Przykłd z TIA to nie to samo. Niestety ciężko ocenić co miał autor programu na myśli, trzeba przeanalizować cały program....
trochę więcej Opisu: tworze sobie DB1 (aktualna receptura wczytana do PLC) DB2(ze zmienną Arrea(wartość odpowiada liczbie receptur) i podpiętym UDT(prametry receptury). Obecnie w LAD muszę ręcznie dodawać NW żeby przepisać z jednego DB1 do drugiego DB2 recepturę. czyli jak mam 100 receptur potrzebuje 100NW. w FX5 w SCL napisałem sobie małego IF i uzupełnia...
przede wszystkim pytanie: sam napisałeś tą funkcję lub jest to funkcja standardowa -siemensa. ANY-Poiner to 10 bytów. To powinno chodzić: LAR1 P##Quelle //Lade die Anfangsadresse des ANY–Pointers in AR1. L LD Ten podprogram musisz umieścić po funkcji ,której wynikiem jest ANY (Quelle). ANY będzie wtedy przepisywany w pamięci z uwzględnieniem nowego...
Jesli mailbys problemy z sinumerikiem to mozna poproscia Siemensa o pomoc. Sinumerikami zajmuje sie oddzial w Bielsku_Bialej na ulicy Konwaliowej 15(o ilemnie pamiec nie myli). Mam tu jakis plik co sie nazywa: 840_list, jast tam ponad 700stron danych. Moze Ci sie przyda. Jest to pdf spakowany zeby bylo poniezej 5MB Oto spis tresci tego dokumentu: Contents...
Udało się. Na forum Siemensa kolega Piotr.M naskrobał piękny fragment kodu który działa. --- Function which converts I0.0 to I999.7 --> 10000..19997 Q0.0..Q999.7 --> 00000..09997 M0.0..M999.7 --> 20000..29997 DBX0.0..999.7-->30000..39997 DIX0.0..999.7 -->40000..49997 // Inputs I_ADDRESS : Bool; // Temp Point : DWord; Area : Int; Address...
Witam. Mam problem z odczytem karty mmc, miałem już działający układ z dobrym kodem ale gdzieś się zawieruszył w gąszczu plików i musiałem się za to wziąść od nowa. Jednak niechce mi działać. Karty mam 2 (32mb mmc sanyo i siemens, obie w fat 16). Na jednej dostaje error init file system 229 a na drugiej error during drivie init 225 Co najciekawsze wczesniej...
Wiem, łączenia okropnie wyglądają, to w skutek ciągłych zmian, ale to tylko płyta testowa, jak uda mi się odpalić LS020 to docelowy układ dla tego wyświetlacza będzie zupełnie inny :) Tutaj zdjęcia: http://obrazki.elektroda.pl/8597184600_1... http://obrazki.elektroda.pl/1063512000_1... http://obrazki.elektroda.pl/3929357200_1...
Witam Przeglądałem tematy na forum ale nie znalazłem jednoznacznej odpowiedzi... Na wyświetlaczy mam tylko śnieg czyli pali się tylko podświetlenie gdy odłączę napięcie 1V8(1,75V) to pokazują się kolorowe pasy. Nie pomaga połączenie 1V8 i 2V9(2,95V) Korzystałem już z tylu kodów z forum ze nie wiem jaki wrzucić... Atmega to tak jak w temacie Mega16 taktowana...
No właśnie taki kod przychodzi do głowy jako pierwszy ale to nie działa, nic mi sie nie wyświetla. Może na początek jakiś prosty zegarek spróbuje zrobić więc pisze taki kod: [syntax=basic4gl] $hwstack = 100 $swstack = 100 $framesize = 100 $regfile = "m128def.Dat" $crystal = 8000000 $baud = 19200 '=== Config the hardware === Rs Alias Portb.7 'S65 Data/command...
Witam Mam do zrobienia migrację jak w temacie, mam pytanie do osób które robiły coś podobnego, na co trzeba zwrócić uwagę, zauważyłem że zmienne pogubiły adresy, utracił teksty polskich alarmów (zotały tylko w niemieckiej wersji jezykowej) ze nie odtworzył niektorych funkcji przypisanych do zmiennych wewnetrznych takich jak np wyswietlanie daty, moje...
pointer schemat eeprom pointer arduino pointer
chiński lampka pilot układ cd4069 schemat gniazdo przyczepki
mikrokomputer cobra1 mikrokomputer cobra1
Ford Transit nie wchodzi na obroty powyżej 3000 RPM Jak wykonać element z blachy o grubości 2 mm?