Cześć. W nocy ci opiszę wszystko

poczekasz?
Dodano po 11 [godziny] 45 [minuty]:Po pierwsze w bloku DB musisz stworzyć strukturę. Struktura musi istnieć. W PLC siemensa istnieją zmienne o określonych typach w zależności jakie dane są w nich przechowywane bądź obrabiane. Najpopularniejsze typy zamiennych to Real (4 bajty), DINT (4 bajty), INT (2 bajty), SINT (1 bajt), BYTE (1 bajt), BOOL (1 bit), String itd.
W strukturze bloku DB musisz stworzyć zmienne i przypisać im dany typ.
Tu masz przykładowy blok danych DB.
Initial value to wartość jaką przyjmie dana zmienna przy inicjalizacji bloku DB. Retain - zapamiętywanie wartości przy wyłączeniu sterownika, Offset - tylko przy blokach DB z odznaczoną opcją optymalizacji - jest to fizyczny adres pamięci w którym konkretna dana się znajduje.
Co ciekawe funkcje GET i PUT nie zagłębiają się w to co mają przesyłać między sterownikami. Nie interesuje ich jakiego typu jest zmienna. Interesuje je tylko w którym miejscu pamięci ma zacząć pobierać dane i ile tych danych jest (w bajtach). Więc jeśli chcesz z tego DB z obrazka wysłać na przykład daną o nazwie M4 typu string musisz w funkcji PUT w SD_1 wpisać P#DB10.DBX10.0 BYTE 255.
Teraz co znaczy P#.
Sterowniki siemensa pracują na pamięci odwzorowania a nie na faktycznym stanie rzeczywistym jaki jest w danej chwili na wejściu czy wyjściu. Na czym to polega? Otóż na początku cyklu sterownik odczytuje stan wejść z pamięci peryferyjnej do pamięci odwzorowania, następnie wykonuje OB1 i wszystkie bloki w nim wywoływane oraz inne bloki OB (może nie będę o nich tutaj pisał, bo za dużo informacji to też źle) posługując się przy tym danymi w pamięci odwzorowania. Po wykonaniu całego programu następuje przepisanie wypracowanych danych przez program sterownika z pamięci odwzorowania do pamięci peryferyjnej. Znacznik P# powoduje że sterownik wykonując program natrafiając na taki znacznik zamiast czytać (zapisywać) dane z (do) pamięci odwzorowania robi to bezpośrednio z (do) pamięci peryferyjnej. Tak to mniej więcej wygląda i po to ten znacznik.
Dobra teraz wróćmy do zadanych pytań. Chcesz by wejście I0.0 z PLC1 było przesyłane na Q0.0 w PLC2.
Musisz stan wejścia przepisać do komórki pamięci w bloku DB a następnie przesłać tę część bloku DB do drugiego PLC. Mniej więcej tak będzie wyglądać:
W drugim PLC trzeba tylko odczytać stan bitu w bajcie zerowym w DB12 i przepisać na wyjście.
Dane innych typów czyli jak to nazwałeś "rejestry" przesyłamy i obrabiamy analogicznie z wykorzystaniem "move" (tagi danego typu trzeba stworzyć i movem je do bloku DB przesłać a następnie z DB przesłać do drugiego PLC.
Dodano po 14 [minuty]:Tu masz załączony program PLC, tylko w TIA14 jest zrobiony i nie wiem czy uda ci się go otworzyć, bo wydaje mi się że ty masz TIA13.