Tia portal + plc sim + factory io - jak skonfigurować?

Cześć! Jakiś czas temu pytałem o naukę programowania PLC w domu, dzisiaj, parę miesięcy później z nowym laptopem piszę do was ponownie.

Szukam w miarę zrozumiałych poradników połączenia tych 3 programów (TIA PORTAL + PLC SIM + Factory IO), nie chcę pobierać gotowych “templatek” nic kompletnie nie rozumiem z tego co już tam jest, a większość tych wydawało by się normalnych poradników jest w językach latynoskich. Na ten moment napracowałem się już na sprzęt więc mam nadzieję, że ktoś pomoże i nie będę musiał opóźniać nauki o kolejne miesiące w celu nauki hiszpańskiego :smiley: Vamos, amigos!

Dla zaciekawionych, bo były o ty pytania:
16GB RAM, i5-8300H, GTX1050Ti, wszystko śmiga :slight_smile:

PS
Napisanie prostego programu z 3 linijek i połączenie w factory przez po prostu plc sim nie działa, nie łączy się zwyczajnie i utknąłem jeśli chodzi o samodzielne próby, a jak pisałem wyżej, nie widzę sensu w pustym kopiowaniu.

Kursy Gilewskiego operują na Factory IO i TIA Portal. Tłumaczy krok po kroku jak to konfigurować ale też pokazuje wiele innych przykładów.

Dostępne online:

Żeby łączyć się z IO Factory musisz stworzyć sobie FC’ka. W zakładce Program Blocks kliknij na -> Add new blocks a następnie wybierz blok Function FC oraz zaznacz język SCL . Blok nazwij MHJ-PLC-Lab-Function-S71200 oraz wybierz numerowanie manualne i wpisz numer 9000 .

Wejdź w ten blok i wklej do niego to:

#Value:=PEEK(area := 16#82,

 dbNumber := 0,

 byteOffset := 511);

#Value := #Value + 1;

POKE(area := 16#82,

 dbNumber := 0,

 byteOffset := 511,

 value := #Value);

POKE(area:=16#81,

 dbNumber:=0,

 byteOffset:=1016,

 value:=#Value_01_DW);

POKE(area := 16#81,

 dbNumber := 0,

 byteOffset := 1020,

 value := #Value_02_DW);

POKE(area := 16#81,

 dbNumber := 0,

 byteOffset := 511,

 value := B#16#00);

FOR #forVal := 0 TO 120 DO

FOR #forVal_2:=0 TO 10 DO

    #rdTimeReturn:=RD_SYS_T(#outputTime);

    #rdTimeReturn := WR_SYS_T(#outputTime);

    #rdTimeReturn := RD_SYS_T(#outputTime);

    #rdTimeReturn := WR_SYS_T(#outputTime);

END_FOR;

#SyncVal:= PEEK(area := 16#81,

               dbNumber := 0,

               byteOffset := 511);

IF #SyncVal = #CompVal THEN

   GOTO M_1;

END_IF;

END_FOR;

RETURN;

M_1:

POKE(area := 16#81,

 dbNumber := 0,

 byteOffset := 511,

 value := B#16#0);

Zapisz sobie taki projekt, będziesz z niego korzystał jako bazy. :slight_smile:

2lajki

Dzięki wielkie, napewno wieczorkiem w domu sprawdze :slight_smile:

No właśnie taką dokładnie templatke mam pobraną, wszystko co wymieniłeś jest już gotowe i faktycznie nie ma problemów z połączeniem z factory, szukam po prostu jakiejś alternatywy bardziej na piechote żeby to zrozumieć, mimo wszystko dzięki :wink:

1lajk