Stringfuncties

Toepassing

Met de stringfuncties kunt u strings met behulp van QS-parameters definiëren en verwerken, om bijv. variabele protocollen met FN 16: F-PRINT te maken. In de informatica staat een string voor een alfanumerieke tekenreeks.

Functiebeschrijving

U kunt maximaal 255 tekens aan een QS-parameter toewijzen.

  • Binnen QS-parameters zijn de volgende tekens toegestaan:
  • Letters
  • Cijfers
  • Speciale tekens, bijvoorbeeld ?
  • Besturingstekens, bijvoorbeeld \ voor paden
  • Spatie

U programmeert de afzonderlijke stringfuncties met behulp van de vrije syntaxisinvoer.

NC-functies wijzigen

U kunt de waarden van QS-parameters met de NC-functies Formule Q/QL/QR en Stringformule QS verder verwerken of controleren.

Syntaxis

NC-functie

Bovenliggende NC-functie

DECLARE STRING

Alfanumerieke waarde aan een QS-parameter toewijzen

Alfanumerieke waarde aan een QS-parameter toewijzen

STRINGFORMULE

Inhoud van QS-parameters koppelen en aan een QS-parameter toewijzen

Alfanumerieke waarden koppelen

Stringformule QS

TONUMB

Alfanumerieke waarde van een QS-parameter naar een numerieke waarde converteren en aan een Q-, QL- of QR-parameter toewijzen

Alfanumerieke waarden in numerieke waarden omzetten

FORMULE Q/QL/QR

TOCHAR

Numerieke waarde naar een alfanumerieke waarde converteren en aan een QS-parameter toewijzen

Numerieke waarden omzetten naar alfanumerieke waarden

Stringformule QS

SUBSTR

Deelstring uit een QS-parameter kopiëren en aan een QS-parameter toewijzen

Deelstring uit een QS-parameter kopiëren

Stringformule QS

SYSSTR

Systeemgegevens lezen en inhoud aan een QS-parameter toewijzen

Systeemgegevens lezen met SYSSTR

Stringformule QS

INSTR

Deelstring in een QS-parameter zoeken en de resultaten aan een Q-, QL- of QR-parameter toewijzen

Deelstring binnen een QS-parameterinhoud zoeken

FORMULE Q/QL/QR

STRLEN

Tekenlengte van een QS-parameter bepalen en aan een Q-, QL- of QR-parameter toewijzen

Aantal tekens van een QS-parameterinhoud bepalen

FORMULE Q/QL/QR

STRCOMP

Stijgende lexicale volgorde van QS-parameters vergelijken en het resultaat aan een Q-, QL- of QR-parameter toewijzen

Lexicale volgorde van twee alfanumerieke tekenreeksen vergelijken

FORMULE Q/QL/QR

CFGREAD

Tekenreeks van een machineparameterwaarde lezen en aan een QS-parameter toewijzen

Inhoud van een machineparameter overnemen

  • Stringformule QS
  • FORMULE Q/QL/QR

Systeemgegevens lezen met SYSSTR

Met de NC-functie SYSSTR kunnen systeemgegevens worden gelezen en inhoud in QS-parameters worden opgeslagen. U selecteert de systeemdatum met een groepsnummer ID en een nummer NR.

U kunt IDX en DAT optioneel invoeren.

U kunt de volgende systeemgegevens lezen:

Groepsnaam, ID-nr.

Nummer

Betekenis

Programma-informatie, 10010

1

Pad van het actuele hoofdprogramma of palletprogramma

2

Pad van het actuele afgewerkte NC-programma

3

Pad van het met cyclus 12 PGM CALL geselecteerde NC-programma

10

Pad van het met SEL PGM geselecteerde NC-programma

Kanaalgegevens, 10025

1

Naam van het actuele kanaal, bijv. CH_NC

In de gereedschapsoproep geprogrammeerde waarden, 10060

1

Naam van het actuele gereedschap.

 
Tip

De NC-functie slaat de gereedschapsnaam alleen op wanneer u het gereedschap oproept met behulp van de gereedschapsnaam.

Kinematica, 10290

10

In de laatste NC-functie FUNCTION MODE geprogrammeerde kinematica

Huidige systeemtijd, 10321

1 - 16, 20

  • 1: D.MM.JJJJ h:mm:ss
  • 2: D.MM.JJJJ h:mm
  • 3: D.MM.JJ hh:mm
  • 4: JJJJ-MM-DD hh:mm:ss
  • 5: JJJJ-MM-DD hh:mm
  • 6: JJJJ-MM-DD h:mm
  • 7: JJ-MM-DD h:mm
  • 8: DD.MM.JJJJ
  • 9: D.MM.JJJJ
  • 10: D.MM.YY
  • 11: JJJJ-MM-DD
  • 12: JJ-MM-DD
  • 13: hh:mm:ss
  • 14: h:mm:ss
  • 15: h:mm
  • 16: DD.MM.JJJJ hh:mm
  • 20: XX
    • De aanduiding XX staat voor de 2-cijferige uitvoer van de actuele kalenderweek, die volgens ISO 8601 de volgende kenmerken heeft:
    • Heeft zeven dagen
    • Begint op een maandag
    • Wordt doorlopend genummerd
    • De eerste kalenderweek bevat de eerste donderdag van het jaar

Gegevens van het tastsysteem, 10350

50

Tastsysteemtype van het actieve werkstuktastsysteem TS

70

Tastsysteemtype van het actieve gereedschaptastsysteem TT

73

Naam van het actieve gereedschapstastsysteem TT uit de machineparameter activeTT

Gegevens voor de palletbewerking, 10510

1

Naam van de momenteel bewerkte pallet

2

Pad van de huidige geselecteerde pallettabel

NC-softwareversie, 10630

10

Nummer van de NC-softwareversie

Informatie voor onbalanscyclus, 10855

1

Pad van de onbalanskalibratietabel

De onbalanskalibratietabel hoort tot de actieve kinematica.

Gereedschapsgegevens, 10950

1

Naam van het actuele gereedschap.

2

Inhoud van de kolom DOC van het actuele gereedschap

3

AFC-regelinstelling van het actuele gereedschap

4

Kinematica gereedschapshouder van het actuele gereedschap.

Machineparameters lezen met CFGREAD

Met de NC-functie CFGREAD kunt u machineparameters van de besturing als numerieke of alfanumerieke waarden uitlezen. De gelezen numerieke waarden worden altijd metrisch uitgevoerd.

Om een machineparameter te lezen, moet u de volgende inhoud in de configuratie-editor van de besturing bepalen:

Symbool

Type

Betekenis

folderIcon

Key

Groepsnaam van de machineparameter

De groepsnaam kan optioneel worden opgegeven

folderIcon

Entiteit

Parameterobject

De naam begint altijd met Cfg

value

Attribuut

Naam van de machineparameter

value

Index

Lijstindex van een machineparameter

De lijstindex kan optioneel worden opgegeven

 
Tip

In de configuratie-editor voor de machineparameters kunt u de weergave van de beschikbare parameters wijzigen. Bij de standaardinstelling worden de parameters met korte verklarende teksten getoond.

Voordat u een machineparameter met de NC-functie CFGREAD kunt opvragen, moet u telkens een QS-parameters met kenmerk, entiteit en key definiëren.

Inhoud van een machineparameter overnemen

Alfanumerieke waarde aan een QS-parameter toewijzen

Voordat u alpha-waarden kunt gebruiken en verwerken, moet u tekens toewijzen aan de QS-parameters. Gebruik hiervoor het commando DECLARE STRING.

  1. U wijst als volgt een numerieke waarde toe aan een QS-parameter:
SF_4_NCFunktion_Einfuegen

  1. NC-functie invoegen selecteren
  2. De besturing opent het venster NC-functie invoegen.

  1. DECLARE STRING selecteren
  2. QS-parameters voor het resultaat definiëren
  3. Naam selecteren
  4. Gewenste waarde invoeren
  5. NC-regel beëindigen

  1. NC-regel uitvoeren
  2. De besturing slaat de ingevoerde waarde direct in de doelparameter op.

In dit voorbeeld wijst de besturing aan de QS-parameter QS10 een alfanumerieke waarde toe.

11 DECLARE STRING QS10 = "workpiece"

; Alfanumerieke waarde QS10 toewijzen

Alfanumerieke waarden koppelen

Met de koppelingsoperator || kunt u de inhoud van meerdere QS-parameters aan elkaar koppelen. Zo kunt u bijvoorbeeld vaste en variabele alfanumerieke waarden combineren.

  1. U kunt de waarden meerdere QS-parameters als volgt koppelen:
SF_4_NCFunktion_Einfuegen

  1. NC-functie invoegen selecteren
  2. De besturing opent het venster NC-functie invoegen.

  1. Stringformule QS selecteren
  2. QS-parameters voor het resultaat definiëren
calculator

  1. Toetsenbord voor formule-invoer openen

  1. Koppelingsoperator || selecteren

  1. Links van het symbool Koppelingsoperator het nummer van de QS-parameter met de eerste deelstring definiëren
  2. Rechts van het symbool Koppelingsoperator het nummer van de QS-parameter met de eerste deelstring definiëren
  3. NC-regel beëindigen
  4. Invoer bevestigen
  5. De besturing slaat de deelstrings na het afwerken achter elkaar op als alfanumerieke waarde in de doelparameter.

In dit voorbeeld aaneengesloten de besturing de inhoud van de QS-parameters QS12 en QS13. De alfanumerieke waarde wijst de besturing aan de QS-parameter QS10 toe.

11 QS10 = QS12 || QS13

; Inhoud van QS12 en QS13 koppelen en aan QS-parameter QS10 toewijzen

Parameterinhouden:

  • QS12: status:
  • QS13: afkeur
  • QS10: status: afgekeurd

Alfanumerieke waarden in numerieke waarden omzetten

Met de NC-functie TONUMB kunt u uitsluitend numerieke tekens van een QS-parameter in een ander type variabele opslaan. Vervolgens kunt u deze waarden binnen berekeningen gebruiken.

In dit voorbeeld zet de besturing de alfanumerieke waarde van de QS-parameter QS11 om in een numerieke waarde. De besturing wijst deze waarde toe aan Q-parameter Q82.

11 Q82 = TONUMB ( SRC_QS11 )

; De alfanumerieke waarde uit QS11 omzetten naar een numerieke waarde en Q82 toewijzen

Numerieke waarden omzetten naar alfanumerieke waarden

Met de NC-functie TOCHAR kunt u de inhoud van een variabele in een QS-parameter opslaan. De opgeslagen inhoud kunt u bijvoorbeeld met andere QS-parameters koppelen.

In dit voorbeeld zet de besturing de numerieke waarde van Q-parameter Q50 om in een alfanumerieke waarde. Deze waarde wijst de besturing aan de QS-parameter QS11 toe.

11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 )

; Numerieke waarde uit Q50 naar een alfanumerieke waarde converteren en aan een QS-parameter QS11 toewijzen

Deelstring uit een QS-parameter kopiëren

Met de NC-functie SUBSTR kunt u uit een QS-parameter een definieerbaar bereik in een andere QS-parameter opslaan. U kunt deze NC-functie bijvoorbeeld gebruiken om de bestandsnaam uit een absoluut bestandspad te extraheren.

In dit voorbeeld slaat de besturing een deelstring van de QS-parameter QS10 in de QS-parameter QS13 op. Met behulp van het syntaxiselement BEG2 definieert u dat de besturing vanaf het derde teken kopieert. Met het syntaxiselement LEN4 definieert u dat de besturing de volgende vier tekens kopieert.

11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 )

; Deelstring uit QS10 aan QS-parameter QS13 toewijzen

Deelstring binnen een QS-parameterinhoud zoeken

Met de functie NC-functie INSTR kunt u controleren of er zich een bepaalde deelstring binnen een QS-parameter bevindt. Hiermee kunt u bijvoorbeeld vaststellen of de aaneenschakeling van meerdere QS-parameters heeft gewerkt. Voor de controle zijn twee QS-parameters nodig. De besturing doorzoekt de eerste QS-parameter naar de inhoud van de tweede QS-parameter.

Wanneer de besturing de deelstring vindt, slaat de besturing het aantal tekens tot de treffer voor de deelstring op in de resultaatparameter. Bij meerdere treffers is het resultaat identiek, omdat de besturing de eerste treffer opslaat.

Wanneer de besturing de te zoeken deelstring niet vindt, slaat de besturing het totale aantal tekens op in de resultaatparameter.

In dit voorbeeld zoekt de besturing in de QS-parameter QS10 naar de in QS13 opgeslagen tekenreeks. De zoekactie begint vanaf de derde positie. Bij het tellen van de tekens begint de besturing met nul. De besturing wijst de treffer als aantal tekens toe aan Q-parameter Q50.

37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 )

Aantal tekens van een QS-parameterinhoud bepalen

De NC-functie STRLEN bepaalt het aantal tekens van een QS-parameterinhoud. Met deze NC-functie kunt u bijvoorbeeld de lengte van een bestandspad bepalen.

Als de geselecteerde QS-parameter niet gedefinieerd is, wordt het resultaat -1 uitgevoerd.

In dit voorbeeld bepaalt de besturing het aantal tekens van de QS-parameter QS15. De numerieke waarde van het aantal tekens wijst de besturing toe aan Q-parameter Q52.

11 Q52 = STRLEN ( SRC_QS15 )

; Aantal tekens van QS14 bepalen en aan Q52 toewijzen

Lexicale volgorde van twee alfanumerieke tekenreeksen vergelijken

Met de NC-functie STRCOMP vergelijkt u de lexicale volgorde van de inhoud van twee QS-parameters.

De besturing geeft de volgende resultaten door:

  • 0: de inhoud van de twee QS-parameters is identiek
  • -1: de inhoud van de eerste QS parameter komt in de lexicale volgorde vóór de inhoud van de tweede QS-parameter
  • +1: de inhoud van de eerste QS-parameter komt in de lexicale volgorde na de inhoud van de tweede QS-parameter
  1. De lexicale volgorde is als volgt:
  2. Speciale tekens, bijvoorbeeld ?_
  3. Cijfers, bijv. 123
  4. Hoofdletters, bijv. ABC
  5. Kleine letters, bijv. abc
 
Tip

De besturing controleert vanaf het eerste teken totdat de inhoud van de QS-parameters anders is. Als de inhoud bijvoorbeeld op de vierde plaats verschilt, breekt de besturing de controle op deze plaats af.

Kortere inhoud met de identieke tekenreeks wordt in de volgorde als eerste weergegeven, bijvoorbeeld abc voor abcd.

In dit voorbeeld vergelijkt de besturing de lexicale volgorde van QS12 en QS14. De besturing wijst het resultaat als numerieke waarde aan de Q-parameter Q52 toe.

11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 )

; Woordenlijst van de waarden van QS12 en QS14 vergelijken

Inhoud van een machineparameter overnemen

Afhankelijk van de inhoud van de machineparameter kunt u met behulp van de NC-functie CFGREAD tekstinhoud in QS-parameters of numerieke waarden in Q-, QL- of QR-parameters overnemen.

In dit voorbeeld slaat de besturing de overlappingsfactor uit de machineparameter pocketOverlap als numerieke waarde in een Q-parameter op.

  • Vooraf gedefinieerde instelling in de machineparameters:
  • ChannelSettings
  • CH_NC
    • CfgGeoCycle
      • pocketOverlap

Voorbeeld

11 QS11 = "CH_NC"

; Sleutel aan de QS-parameter QS11 toewijzen

12 QS12 = "CfgGeoCycle"

; Entiteit aan de QS-parameter QS12 toewijzen

13 QS13 = "pocketOverlap"

; Kenmerk aan de QS-parameter QS13 toewijzen

14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 )

; Inhoud van de machineparameter uitlezen

  • De NC-functie CFGREAD bevat de volgende syntaxiselementen:
  • KEY_QS: groepsnaam (key) van de machineparameter
  •  
    Tip

    Als er geen groepsnaam aanwezig is, definieert u een lege waarde voor de desbetreffende QS-parameter.

  • TAG_QS: objectnaam (entiteit) van de machineparameter
  • ATR_QS: naam (attribuut) van de machineparameter
  • IDX: index van de machineparameter

Machineparameters lezen met CFGREAD

Aanwijzing

Wanneer u de NC-functie Stringformule QS gebruikt, is het resultaat altijd een alfanumerieke waarde. Wanneer u de NC-functie Formule Q/QL/QR gebruikt, is het resultaat altijd een numerieke waarde.