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.
Verwante onderwerpen
- Bereiken van variabelen
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 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 | |
STRINGFORMULE | Inhoud van QS-parameters koppelen en aan een QS-parameter toewijzen | Stringformule QS |
TONUMB | Alfanumerieke waarde van een QS-parameter naar een numerieke waarde converteren en aan een Q-, QL- of QR-parameter toewijzen | FORMULE Q/QL/QR |
TOCHAR | Numerieke waarde naar een alfanumerieke waarde converteren en aan een QS-parameter toewijzen | Stringformule QS |
SUBSTR | Deelstring uit een QS-parameter kopiëren en aan een QS-parameter toewijzen | Stringformule QS |
SYSSTR | Systeemgegevens lezen en inhoud aan een QS-parameter toewijzen | Stringformule QS |
INSTR | Deelstring in een QS-parameter zoeken en de resultaten aan een Q-, QL- of QR-parameter toewijzen | FORMULE Q/QL/QR |
STRLEN | Tekenlengte van een QS-parameter bepalen en aan een Q-, QL- of QR-parameter toewijzen | 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 |
|
De besturing biedt de volgende mogelijkheden voor formule-invoer:
- Automatische voltooiing
- Fadetoetsenbord voor het invoeren van formules uit de actiebalk of het formulier
- Modus formule-invoer van het beeldschermtoetsenbord
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. |
Huidige systeemtijd, 10321 | 1 - 16, 20 |
|
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 |
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 |
---|---|---|
Key | Groepsnaam van de machineparameter De groepsnaam kan optioneel worden opgegeven | |
Entiteit | Parameterobject De naam begint altijd met Cfg | |
Attribuut | Naam van de machineparameter | |
Index | Lijstindex van een machineparameter De lijstindex kan optioneel worden opgegeven |
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.
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.
U wijst als volgt een numerieke waarde toe aan een QS-parameter: | ||
| ||
| ||
|
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.
U kunt de waarden meerdere QS-parameters als volgt koppelen: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
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 QS15 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
De lexicale volgorde is als volgt:
- Speciale tekens, bijvoorbeeld ?_
- Cijfers, bijv. 123
- Hoofdletters, bijv. ABC
- Kleine letters, bijv. abc
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
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
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.