Referentna dokumentacija
TIA Portal integracija
Kako integrator u TIA Portal uvozi ST Function Block koji je generirao Nomotok — motor starter, pneumatski ventil i ostale aktuatorske FB-ove.
- PLC programeri koji uvoze Nomotok-generirane FBi-ove u TIA.
- Elektroprojektanti koji verificiraju adresaciju s HW Config-om.
- FAT inženjeri koji trebaju provjeriti blok na terenu.
Ova stranica je referentna dokumentacija za elektroprojektante i PLC programere koji uvoze funkcijske blokove (FB) koje je generirao Nomotok u Siemens TIA Portal. Sadrži adresne preslike za motor starter, pneumatski ventil i ostale aktuatorske blokove, kompatibilnost s TIA V16 / V17 / V18, korak-po-korak uvoz `.scl` datoteke i FAT checklistu koju možete označavati u pregledniku.
| TIA verzija | Nomotok ST biblioteka | SCL/GRAPH export | Napomena za integratora |
|---|---|---|---|
| V16 | Nomotok ST 1.4.x | Potpuno podržan | TIA V16 s TIA Portal V16.0 + Update 4 ili noviji. SCL export u potpunosti stabilan; GRAPH export zahtijeva GraphV7 licenciju. |
| V17 | Nomotok ST 1.5.x | Potpuno podržan | Preporučena verzija za nove projekte. Svi motor/pneumatski FBi-ovi generirani su i FAT-testirani na TIA V17. |
| V18 | Nomotok ST 1.6.x | Parcijalno | TIA V18 uvodi novi SCL parser — blokovi se parsiraju, ali dijalog „Program blocks → Properties" ponekad ne prikazuje Nomotok Description. Radi sa workaroundom iz README. |
| Tag (Nomotok) | I/O | SCL tip | PLC adresa | List sheme | Uloga |
|---|---|---|---|---|---|
| M1_RUN | DI | BOOL | %I0.0 | Str. 02-A | Povratna sprega kontaktora (radi/ne radi). |
| M1_CMD_START | DI | BOOL | %I0.1 | Str. 02-A | Start komanda s tipkala ili HMI-ja. |
| M1_CMD_STOP | DI | BOOL | %I0.2 | Str. 02-A | Stop komanda (NC kontakt, logički invertirati). |
| M1_FAULT | DI | BOOL | %I0.3 | Str. 02-A | Greška aktivna (prekidač ili zaštita okidnuta). |
| M1_OVERLOAD | DI | BOOL | %I0.4 | Str. 02-A | Toplinska zaštita — okidnuta ako TRUE. |
| M1_ACK | DI | BOOL | %I0.5 | Str. 02-A | Kvitanje greške (reset nakon što je fault := FALSE). |
| M1_CONTACT | DO | BOOL | %Q0.0 | Str. 02-A | Upravljanje kontaktorom (1 = kontaktor uključen). |
| M1_READY | DO | BOOL | %Q0.1 | Str. 02-A | Signal „spreman za start" prema HMI-u. |
| M1_CURR | AI | REAL | %IW64 | Str. 02-A | Struja motora (4–20 mA → REAL u fizikalnim jedinicama). |
| M1_HOURS | DI | INT | %MW10 | Str. 02-A | Brojač sati rada (CTU → INT). |
- 1
Odaberite IO točku u `/io-lista`
Na stranici `/io-lista` (ili iz `/dashboard/projects/[id]/io-lista` za određeni projekt) odaberite motor IO točku (npr. `M1_RUN`, `M1_CMD_START`) i kliknite na `Generate PLC FB`. Akcija poziva route handler `/api/plc/motor-fb` koji vraća generirani SCL.
- 2
Preuzmite `.scl` datoteku na računalo
Browser preuzima datoteku s imenom u obliku `<tag>_MotorStFb.scl` (npr. `M1_CMD_START_MotorStFb.scl`). Nemojte mijenjati nastavak — TIA Portal očekuje `.scl` da bi source prepoznao kao Structured Control Language.
- 3
Otvorite TIA Portal ciljani projekt
Pokrenite TIA Portal V16/V17/V18 i otvorite projekt u koji se blok uvozi. Preporuka: koristite V17 jer je kvalificirana kao referentna verzija.
- 4
Otvorite „Program blocks" u PLC stablu
U Project Tree proširite PLC stanicu → „Program blocks". Tu su svi vaši OB/FB/FB instance DB-ovi.
- 5
Povucite `.scl` u mapu „Function Blocks"
Iz Windows Explorera / File Managera povucite (drag & drop) `.scl` datoteku u mapu „Function blocks". TIA Portal automatski parsira source i prikazuje novi FB u stablu (npr. „M1_CMD_START_MotorStFb").
- 6
Insertajte FB u OB1 ili OB100 i dodijelite Instance DB
U `OB1` (cyclic) ili `OB100` (start-up), pozovite novi FB kao `CALL <FB_NAME> , <INSTANCE_DB> ( … )`. Desni klik na FB → Properties → označite „Retain = No" (Nomotok motor starter je čist statički state — ne treba Retain). Ako koristite multi-instance, neka vam TIA automatski kreira IDB.
- 7
Zamijenite sample tagove s onima iz tablice za IO mapiranje
U pozivu FB-a u OB1, spojite pinove FB-a s konkretnim tagovima iz tablice IO mapiranja: `startCmd := M1_CMD_START`, `stopCmd := M1_CMD_STOP`, `overload := M1_OVERLOAD`, itd. Pazite da su apsolutne adrese (`%I0.1`, `%Q0.0` …) vidljive i u `Watch table` nakon compilacije.
- 8
Compile → Download → Online test
Kliknite `Compile all` (HW + SW), potom `Download to device` (target → real PLC). Prebacite PLC u `RUN` (LED mora biti zeleno). U `Watch table` ručno postavite `M1_CMD_START := TRUE` i provjerite da se `M1_CONTACT := TRUE` u roku od 2 s (Timer `T#2s`). Time je blok živ i sprem za FAT.
| Nomotok tip | SCL tip | Napomena (byte order, skaliranje…) |
|---|---|---|
| BOOL | BOOL | Binarni signal. 1 bit. Nema pretvorbi; SCL prima točno kao BOOL. |
| INT | INT | Cijeli broj 16-bit, opseg -32768 … 32767. Ako IO lista ima UINT32 (>32767), koristite DINT. |
| REAL | REAL | Plivajući zarez 32-bit (IEEE 754). Analogni ulazi (4–20 mA) automatski se skaliraju u fizikalne jedinice prije dolaska u FB. |
| STRING[32] | STRING[32] | Znakovni niz; Nomotok generator piše deklaraciju `STRING[32]` izravno. Povećajte na STRING[64] u ručnoj prilagodbi ako je opis dulji. |
| WORD | WORD | 16-bit neoznačeni bajtovi. Byte order: INTEL / LITTLE ENDIAN (low byte first). Ako sklop šalje BIG-ENDIAN, okrenite bajtove swap funkcijom u OB1. |
| DWORD | DWORD | 32-bit neoznačeni. Isti byte-order kao WORD: INTEL / LITTLE. Koristite `DWORD_TO_DINT` ako trebate tretirati kao predznačeni broj. |
Motor starter
4 BOOL ulaza (start/stop/fault/ack), 3 BOOL izlaza (run/fault/ready), unutarnji TON tajmer (T#2s) — state machine IDLE → STARTING → RUNNING → FAULTED.
Pneumatski ventil
3 BOOL ulaza (open/close/ack), 2 BOOL izlaza (open/closed), 1 INT za povratni položaj (%). Isti cycle-time budget kao motor.
Sprema se u vaš preglednik (localStorage). Označite stavku, osvježite stranicu i ostaje označeno.
FAT-readiness napredak
Učitavanje…
Spremite stranicu (`Ctrl+S`) na kraju ako vam je korisna kao onsite podsjetnik.