TIA Portal Instructies

Programmabesturing
Flow & Uitvoering

Beheers de logische flow van uw programma. Van conditionele sprongen tot realtime diagnosetools — optimaliseer de uitvoeringsstructuur van uw controller.

Wat is programmabesturing in TIA Portal?

Programmabesturingsoperaties maken het mogelijk de sequentiële uitvoeringsvolgorde van netwerken te wijzigen. Ze worden gebruikt om codegedeelten over te slaan (Sprongen), complexe vertakkingen te maken (Verdelers) of het interne gedrag van de CPU te beheren (Stop, Watchdog, Tijdsmeting).

Deze instructies zijn krachtig maar moeten met zorg worden gebruikt, met name de WAIT-instructie die de cyclus blokkeert, of sprongen die het programma bij te grote aantallen moeilijk debugbaar kunnen maken. TIA Portal biedt ook moderne tools om fouten lokaal in elk blok te onderscheppen.

Sprongen en Flow

Instructies voor programma-omleiding

JMP / JMPN — Conditionele sprongen

JMP

Wat het doet

JMP onderbreekt de sequentiële uitvoering en springt naar een label (LABEL) als de RLO 1 is. JMPN doet hetzelfde als de RLO 0 is.

Wanneer te gebruiken

Een codegedeelte overslaan dat in een specifieke modus niet mag worden uitgevoerd, of eenvoudige lussen maken in LAD/FBD.

Pro Tips

De sprongbestemming (LABEL) moet zich in hetzelfde blok (FC of FB) bevinden.

Gebruik geen achterwaartse sprongen om lussen te maken zonder afloopvoorwaarde, omdat u dan risico loopt op een cyclustijdoverschrijding.

Gebruik in SCL liever IF...THEN of CASE...OF structuren.

SWITCH — Sprungverdeler

SWITCH

Wat het doet

Vergelijkt een ingangswaarde met verschillende doelwaarden en springt naar het netwerk dat overeenkomt met de eerste geverifieerde case. Grafisch equivalent van Switch/Case.

Wanneer te gebruiken

Beheer van machinetoestanden (eenvoudige Grafcet), selectie van bedrijfsmodi of het routeren van onderdelen volgens een typecode.

Pro Tips

Schoner en leesbaarder dan een reeks == vergelijkers in serie.

Gebruik de 'ELSE' ingang om gevallen af te vangen waarbij geen enkele waarde overeenkomt.

Ideaal voor menustructuren op HMI.

RET — Terugkeer

RET

Wat het doet

Forceert het einde van de uitvoering van het huidige blok (FC/FB) en keert terug naar het aanroepende blok.

Wanneer te gebruiken

Voortijdige beëindiging van een functie als er aan het begin van het blok een fout wordt gedetecteerd, of als er niet aan een veiligheidsvoorwaarde wordt voldaan.

Pro Tips

Nuttig voor het optimaliseren van de cyclustijd door de rest van de code niet onnodig te verwerken.

Wees alert: blokuitgangen die nog niet zijn verwerkt, behouden hun laatste toestand.

Gebruik in SCL de RETURN; instructie.

Runtime-besturing

CPU-cyclusbeheer en prestatiemetingen

RUNTIME — Tijd meten

RUNTIME

Wat het doet

Meet de uitvoeringstijd van een programmagedeelte of het hele blok in microseconden (µs).

Wanneer te gebruiken

Code-optimalisatie, diagnose van zware netwerken of prestatieberekeningen van de machine.

Pro Tips

Roep RUNTIME eenmaal aan om de meting te initialiseren, en een tweede keer om het resultaat te verkrijgen.

Gebruik het LReal datatype om het meetresultaat op te slaan.

Handig om te controleren of een complexe FOR-lus de watchdog-limieten niet nadert.

WAIT — Vaste vertraging

WAIT

Wat het doet

Onderbreekt de programma-uitvoering gedurende een opgegeven duur in microseconden. LET OP: in tegenstelling tot een Timer blokkeert WAIT de CPU-cyclus volledig.

Wanneer te gebruiken

Enkele microseconden wachten om een elektronisch signaal te stabiliseren op een ultrasnelle I/O-kaart.

Pro Tips

Met uiterste mate gebruiken. Een te lange WAIT zal een Watchdog-fout veroorzaceren en de PLC stoppen.

Nooit gebruiken voor procesvertragingen (seconden/minuten); gebruik daar TON Timers voor.

Alleen beschikbaar op S7-1500.

STP — CPU-stop

STP

Wat het doet

Forceert de overgang van de CPU naar de STOP-modus.

Wanneer te gebruiken

Fatale foutconditie waarbij de machine niet meer mag worden bestuurd, of diagnosetest.

Pro Tips

De stop is onmiddellijk. Handmatige tussenkomst (HMI of schakelaar) is vereist om te herstarten.

Geef waar mogelijk de voorkeur aan alarmbeheer met veilige terugvalwaarde boven een harde CPU-stop.

Nuttig in inbedrijfstellingsprojecten om op een specifieke plek te 'breaken'.

Foutafhandeling

Lokale onderschepping van uitvoeringsfouten

GET_ERROR / GET_ERR_ID

Wat ze doen

Halenn informatie op over de eerste fout die is opgetreden binnen een blok (bijv. toegang tot een niet-bestaande array-index).

Wanneer te gebruiken

Uw blokken robuust maken door programmeerfouten te onderscheppen zonder de PLC te stoppen.

Pro Tips

GET_ERROR levert een gedetailleerde structuur, GET_ERR_ID retourneert alleen het foutnummer.

Plaats deze instructies aan het einde van uw kritieke blokken.

Maakt het mogelijk een aangepast foutenlogboek te maken.

Sprongen vs Besturingsstructuren

Welke methode gebruiken om het programma om te leiden?

U heeft nodig...Aanbevolen instructieWaarom?
Eenvoudige sprong in LadderJMPEen netwerk overslaan
Complexe meerkeuzeSWITCH / CASELeesbaarder dan 10 JMP's
Interne duur metenRUNTIMEPrestatie-optimalisatie
Onmiddellijke stopSTPKritieke hardwarefout
Zeer kort wachtenWAITElektronische stabilisatie
Lokale diagnoseGET_ERRORCPU-STOP voorkomen

Veelgestelde Vragen

Wat is het verschil tussen JMP en JMP_LIST?

JMP is een enkele sprong naar een doel. JMP_LIST maakt het mogelijk een lijst met bestemmingen te definiëren. Op basis van een numerieke index springt het programma naar het 1e, 2e of N-de label in de lijst.

Is de WAIT-instructie gevaarlijk?

Ja, bij onjuist gebruik. Het onderbreekt de uitvoering van het GEHELE gebruikersprogramma. Als de som van uw WAIT's en uw code de watchdog-tijd overschrijdt, gaat de CPU naar STOP.

Hoe meet ik de totale cyclustijd van de PLC?

Daar heeft u de RUNTIME-instructie niet voor nodig. U kunt de informatie direct in de CPU-eigenschappen online aflezen of de systeemvariabelen van OB1 gebruiken.

Waar labels (LABEL) plaatsen?

Labels kunnen aan het begin van elk netwerk worden geplaatst. In LAD verschijnen ze boven de linker stroomrail. Een labelnaam moet uniek zijn binnen het blok.

Automatiseer uw besturingsstructuren

Beschrijf uw spronglogica en T-IA Connect genereert de geoptimaliseerde JMP- en SWITCH-netwerken voor uw toepassing.