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.

Siemens TIA V16 / V17 / V18
SCL export
FAT-readiness
Za koga je ova stranica
Kratki opis ciljane publike.
  • 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 Portal V16 / V17 / V18 — kompatibilnost
Koja TIA Portal verzija podržava koji Nomotok ST library release i kakav je SCL/GRAPH export.
TIA verzijaNomotok ST bibliotekaSCL/GRAPH exportNapomena za integratora
V16Nomotok 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.
V17Nomotok 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.
V18Nomotok 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.
I/O tag → PLC adresa — primjer za motor starter M1
Tagovi koje Nomotok čita iz sheme i njihove Siemens apsolutne adrese. Uzorak za demonstraciju; za stvarni projekt koristite adrese iz vlastitog HW Config-a.
Tag (Nomotok)I/OSCL tipPLC adresaList shemeUloga
M1_RUN
DI
BOOL%I0.0Str. 02-APovratna sprega kontaktora (radi/ne radi).
M1_CMD_START
DI
BOOL%I0.1Str. 02-AStart komanda s tipkala ili HMI-ja.
M1_CMD_STOP
DI
BOOL%I0.2Str. 02-AStop komanda (NC kontakt, logički invertirati).
M1_FAULT
DI
BOOL%I0.3Str. 02-AGreška aktivna (prekidač ili zaštita okidnuta).
M1_OVERLOAD
DI
BOOL%I0.4Str. 02-AToplinska zaštita — okidnuta ako TRUE.
M1_ACK
DI
BOOL%I0.5Str. 02-AKvitanje greške (reset nakon što je fault := FALSE).
M1_CONTACT
DO
BOOL%Q0.0Str. 02-AUpravljanje kontaktorom (1 = kontaktor uključen).
M1_READY
DO
BOOL%Q0.1Str. 02-ASignal „spreman za start" prema HMI-u.
M1_CURR
AI
REAL%IW64Str. 02-AStruja motora (4–20 mA → REAL u fizikalnim jedinicama).
M1_HOURS
DI
INT%MW10Str. 02-ABrojač sati rada (CTU → INT).
Korak po korak — uvoz FB-a u TIA Portal
Cjeloviti put od klika na Generate PLC FB do testiranja bloka na PLC-u.
  1. 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. 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. 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. 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. 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. 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. 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. 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.

Kompatibilni tipovi podataka
Kako se Nomotok tag tipovi prevode u SCL primitive kod uvoza u TIA Portal.
Nomotok tipSCL tipNapomena (byte order, skaliranje…)
BOOLBOOLBinarni signal. 1 bit. Nema pretvorbi; SCL prima točno kao BOOL.
INTINTCijeli broj 16-bit, opseg -32768 … 32767. Ako IO lista ima UINT32 (>32767), koristite DINT.
REALREALPlivajuć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.
WORDWORD16-bit neoznačeni bajtovi. Byte order: INTEL / LITTLE ENDIAN (low byte first). Ako sklop šalje BIG-ENDIAN, okrenite bajtove swap funkcijom u OB1.
DWORDDWORD32-bit neoznačeni. Isti byte-order kao WORD: INTEL / LITTLE. Koristite `DWORD_TO_DINT` ako trebate tretirati kao predznačeni broj.
Isti postupak vrijedi i za pneumatski ventil
Nomotok generator iz `src/lib/business/plc-codegen.ts` proizvodi SCL za motor starter; za pneumatic valve generira se drugačiji FB-ijent (PI/PQ pinovi). Koraci uvoza, instance DB i obavezni tipovi identični su.

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.

FAT-readiness checklist
Označite stavku kad je na terenu ispunite. Stanje se čuva u vašem pregledniku (localStorage).

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.