Strängfunktioner

Användningsområde

Med strängfunktionerna kan du definiera och bearbeta strängar med hjälp av QS-parametrar för att t.ex. skapa variabla protokoll med FN 16: F-PRINT. Inom informatiken betecknar en sträng en alfanumerisk teckenföljd.

Funktionsbeskrivning

Du kan tilldela en QS-parameter maximalt 255 tecken.

  • Inom QS-parametrar är följande tecken tillåtna:
  • Bokstäver
  • Siffror
  • Specialtecken, t.ex. ?
  • Kontrolltecken, t.ex. \ för sökvägar
  • Mellanslag

Du programmerar de enskilda strängfunktionerna med hjälp av den fria syntaxinmatningen.

Ändra NC-funktioner

Du kan bearbeta eller kontrollera värdena från QS-parametrar med NC-funktionerna Formel Q/QL/QR och Strängformel QS.

Syntax

NC-funktion

Överordnad NC-funktion

DECLARE STRING

Tilldela en QS-parameter ett alfanumeriskt värde

Tilldela en QS-parameter ett alfanumeriskt värde

STRING-FORMEL

Sammanfoga innehåll från QS-parametrar och tilldela en QS-parameter innehållet

Sammanfoga alfanumeriska värden

Stringformel QS

TONUMB

Omvandla det alfanumeriska värdet hos en QS-parameter till ett numeriskt värde och tilldela en Q-, QL- eller QR-parameter värdet

Omvandla alfanumeriska värden till numeriska värden

Formel Q/QL/QR

TOCHAR

Omvandla det numeriska värdet till ett alfanumeriskt värde och tilldela en QS-parameter värdet

Omvandla numeriska värden till alfanumeriska värden

Stringformel QS

SUBSTR

Kopiera en delsträng från en QS-parameter och tilldela en QS-parameter delsträngen

Kopiera en delsträng från en QS-parameter

Stringformel QS

SYSSTR

Läs systemdata och tilldela en QS-parameter innehåll

Läsa systemdata med SYSSTR

Stringformel QS

INSTR

Sök efter en delsträng i en QS-parameter och tilldela en Q-, QL- eller QR-parameter fyndplatsen

Söka efter en delsträng i ett QS-parameterinnehåll

Formel Q/QL/QR

STRLEN

Beräkna en QS-parameters teckenlängd och tilldela en Q-, QL- eller QR-parameter teckenlängden

Beräkna antalet tecken i ett QS-parameterinnehåll

Formel Q/QL/QR

STRCOMP

Jämför den stigande lexikaliska ordningsföljden hos QS-parametrar och tilldela en Q-, QL- eller QR-parameter resultatet

Jämföra den lexikaliska ordningsföljden hos två alfanumeriska teckensträngar

Formel Q/QL/QR

CFGREAD

Läs av innehållet i en maskinparameter och tilldela en QS-parameter innehållet

Överta innehållet i en maskinparameter

  • Stringformel QS
  • Formel Q/QL/QR

Läsa systemdata med SYSSTR

Med NC-funktionen SYSSTR kan du läsa systemdata och spara innehåll i QS-parametrar. Du väljer systemdatum med hjälp av ett gruppnummer ID och ett nummer NR.

Du kan välja att ange IDX och DAT.

Du kan läsa följande systemdata:

Gruppnamn, ID-Nr.

Nummer

Betydelse

Programinformation, 10010

1

Sökväg till det aktuella huvudprogrammet eller palettprogrammet

2

Sökväg till NC-programmet som exekveras för närvarande

3

Sökväg till NC-programmet som valts med cykel 12 PGM CALL

10

Sökväg till NC-programmet som valts med SEL PGM

Kanaldata, 10025

1

Namn på den aktuella kanalen, t.ex. CH_NC

Värde programmerat i verktygsanropet, 10060

1

Det aktuella verktygets namn

 
Tip

NC-funktionen sparar bara verktygsnamnet när du anropar verktyget med hjälp av verktygsnamnet.

Kinematik, 10290

10

Kinematiken som programmerats i den senaste NC-funktionen FUNCTION MODE

Aktuell systemtid, 10321

1–16, 20

  • 1: D.MM.YYYY h:mm:ss
  • 2: D.MM.YYYY h:mm
  • 3: D.MM.YY hh:mm
  • 4: YYYY-MM-DD hh:mm:ss
  • 5: YYYY-MM-DD hh:mm
  • 6: YYYY-MM-DD h:mm
  • 7: YY-MM-DD h:mm
  • 8: DD.MM.YYYY
  • 9: D.MM.YYYY
  • 10: D.MM.YY
  • 11: YYYY-MM-DD
  • 12: YY-MM-DD
  • 13: hh:mm:ss
  • 14: h:mm:ss
  • 15: h:mm
  • 16: DD.MM.YYYY hh:mm
  • 20: XX
    • Beteckningen XX står för en tvåsiffrig utmatning av aktuell kalendervecka som enligt ISO 8601 uppvisar följande egenskaper:
    • Har sju dagar
    • Börjar med måndag
    • Numreras löpande
    • Den första kalenderveckan innehåller årets första torsdag

Data för avkännarsystemet, 10350

50

Den aktiva arbetsstyckesavkännarens TS avkännarsystemstyp

70

Den aktiva arbetsstyckesavkännarens TT avkännarsystemstyp

73

Namn på den aktiva arbetsstyckesavkännaren TT från maskinparametern activeTT

Data för palettbearbetning, 10510

1

Namnet på pallen som bearbetas för närvarande

2

Sökväg till den för tillfället valda palettabellen

NC-programvaruversion, 10630

10

NC-programvaruversionens nummer

Information för obalanscykel, 10855

1

Sökväg till obalanskalibreringstabellen

Obalanskalibreringstabellen hör till den aktiva kinematiken.

Verktygsdata, 10950

1

Det aktuella verktygets namn

2

Innehåll i kolumnen DOC till det aktuella verktyget

3

Det aktuella verktygets AFC-reglerinställning

4

Det aktuella verktygets verktygshållarkinematik

Läsa maskinparametrar med CFGREAD

Med NC-funktionen CFGREAD kan du läsa av styrsystemets maskinparameterinnehåll som numeriska eller alfanumeriska värden. De lästa numeriska värdena presenteras alltid metriskt.

För att kunna läsa en maskinparameter måste du beräkna följande innehåll i styrsystemets konfigurationseditor:

Symbol

Typ

Betydelse

folderIcon

Key

Maskinparameterns gruppnamn

Det är valfritt att ange gruppnamn

folderIcon

Entity

Parameterobjekt

Namnet börjar alltid med Cfg

value

Attribut

Maskinparameterns namn

value

Index

Listindex för en maskinparameter

Det är valfritt att ange listindex

 
Tip

I maskinparametrarnas konfigurationseditor kan du ändra visningen av befintliga parametrar. Med standardinställningen visas parametrarna med en kort förklarande text.

När du vill läsa av en maskinparameter med NC-funktionen CFGREAD måste du först definiera en QS-parameter med attribut, entitet och nyckel.

Överta innehållet i en maskinparameter

Tilldela en QS-parameter ett alfanumeriskt värde

Innan du kan använda och bearbeta alfanumeriska värden måste du tilldela QS-parametrarna tecken. För att göra detta använder du kommandot DECLARE STRING.

  1. Du tilldelar en QS-parameter ett alfanumeriskt värde på följande sätt:
SF_4_NCFunktion_Einfuegen

  1. Välj Infoga NC-funktion
  2. Styrsystemet öppnar fönstret Infoga NC-funktion.

  1. Välj DECLARE STRING
  2. Definiera QS-parametrar för resultatet
  3. Välj Namn
  4. Ange önskat värde
  5. Avsluta NC-block

  1. Exekvera NC-blocket
  2. Styrsystemet sparar det inmatade värdet i målparametern.

I det här exemplet tilldelar styrsystemet QS-parametern QS10 ett alfanumeriskt värde.

11 DECLARE STRING QS10 = "workpiece"

; Tilldela QS10 ett alfanumeriskt värde

Sammanfoga alfanumeriska värden

Med sammanfogningsoperatorn || kan du sammanfoga innehållet från flera QS-parametrar. På så sätt kan du t.ex. kombinera fasta och variabla alfanumeriska värden.

  1. Du sammanfogar innehållet från flera QS-parametrar på följande sätt:
SF_4_NCFunktion_Einfuegen

  1. Välj Infoga NC-funktion
  2. Styrsystemet öppnar fönstret Infoga NC-funktion.

  1. Välj Strängformel QS
  2. Definiera QS-parametrar för resultatet
calculator

  1. Öppna tangentbord för formelinmatningen

  1. Välj ihopkopplingsoperatorn ||

  1. Till vänster om symbolen för sammanfogningsoperatorn definierar du numret på QS-parametern med den första delsträngen
  2. Till höger om symbolen för sammanfogningsoperatorn definierar du numret på QS-parametern med den andra delsträngen
  3. Avsluta NC-block
  4. Godkänn inmatning
  5. Efter exekveringen sparar styrsystemet delsträngarna efter varandra som alfanumeriskt värde i målparametern.

I det här exemplet sammanfogar styrsystemet innehållet från QS-parametrarna QS12 och QS13. Styrsystemet tilldelar QS-parametern QS10 det alfanumeriska värdet.

11 QS10 = QS12 || QS13

; Sammanfoga innehåll från QS12 och QS13 och tilldela QS-parametern QS10 innehållet

Parameterinnehåll:

  • QS12: status:
  • QS13: skrot
  • QS10: status: skrot

Omvandla alfanumeriska värden till numeriska värden

Med NC-funktionen TONUMB kan du spara enbart numeriska tecken från en QS-parameter i en annan variabeltyp. Sedan kan du använda de här värdena i beräkningar.

I det här exemplet omvandlar styrsystemet det alfanumeriska värdet från QS-parametern QS11 till ett numeriskt värde. Styrsystemet tilldelar Q-parametern Q82 det här värdet.

11 Q82 = TONUMB ( SRC_QS11 )

; Omvandla det alfanumeriska värdet från QS11 till ett numeriskt värde och tilldela Q82 värdet

Omvandla numeriska värden till alfanumeriska värden

Med NC-funktionen TOCHAR kan du spara en variabels innehåll i en QS-parameter. Det sparade innehållet kan du t.ex. sammanfoga med andra QS-parametrar.

I det här exemplet omvandlar styrsystemet det numeriska värdet från Q-parametern Q50 till ett alfanumeriskt värde. Styrsystemet tilldelar QS-parametern QS11 det här värdet.

11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 )

; Omvandla det numeriska värdet från Q50 till ett alfanumeriskt värde och tilldela QS-parametern QS11 värdet

Kopiera en delsträng från en QS-parameter

Med NC-funktionen SUBSTR kan du spara en definierad delsträng från en QS-parameter i en annan QS-parameter. Du kan t.ex. använda den här NC-funktionen till att extrahera filnamnet från en absolut filsökväg.

I det här exemplet sparar styrsystemet en delsträng från Q-parametern QS10 i QS-parametern QS13. Med hjälp av syntaxelementet BEG2 definierar du att styrsystemet ska kopiera från och med det tredje tecknet. Med syntaxelementet LEN4 definierar du att styrsystemet ska kopiera de efterföljande fyra tecknen.

11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 )

; Tilldela QS-parametern QS13 delsträngen från QS10

Söka efter en delsträng i ett QS-parameterinnehåll

Med NC-funktionen INSTR kan du kontrollera om en viss delsträng finns i en QS-parameter. På så sätt kan du t.ex. fastställa om sammanfogningen av flera QS-parametrar har fungerat. Två QS-parametrar krävs för kontrollen. Styrsystemet söker i den första QS-parametern efter innehållet i den andra QS-parametern.

Om styrsystemet hittar delsträngen sparar styrsystemet antalet tecken fram till det ställe där delsträngen hittades i resultatparametern. Om flera ställen hittas är resultatet detsamma, eftersom styrsystemet sparar det första hittade stället.

Om styrsystemet inte hittar den sökta delsträngen sparar styrsystemet det totala antalet tecken i resultatparametern.

I det här exemplet söker styrsystemet i QS-parametern QS10 efter teckensträngen som sparats i QS13. Sökningen börjar från den tredje positionen. När tecknen räknas börjar styrsystemet alltid med noll. Styrsystemet tilldelar Q-parametern Q50 det hittade stället som antal tecken.

37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 )

Beräkna antalet tecken i ett QS-parameterinnehåll

NC-funktionen STRLEN beräknar antalet tecken i ett QS-parameterinnehåll. Med den här NC-funktionen kan du t.ex. beräkna längden hos en filsökväg.

Om den valda QS-parametern inte har definierats anger styrsystemet värdet -1.

I det här exemplet beräknar styrsystemet antalet tecken hos QS-parametern QS15. Styrsystemet tilldelar Q-parametern Q52 det numeriska värdet för antalet tecken.

11 Q52 = STRLEN ( SRC_QS15 )

; Beräkna antalet tecken hos QS14 och tilldela Q52 antalet tecken

Jämföra den lexikaliska ordningsföljden hos två alfanumeriska teckensträngar

Med NC-funktionen STRCOMP jämför du den lexikaliska ordningsföljden hos innehållet i två QS-parametrar.

Styrsystemet levererar tillbaka följande resultat:

  • 0: Innehållet i de båda QS-parametrarna är identiskt
  • -1: Innehållet i den första QS-parametern ligger i lexikalisk ordningsföljd före innehållet i den andra QS-parametern
  • +1: Innehållet i den första QS-parametern ligger i lexikalisk ordningsföljd efter innehållet i den andra QS-parametern
  1. Den lexikaliska ordningsföljden är följande:
  2. Specialtecken, t.ex. ?_
  3. Siffror, t.ex. 123
  4. Versaler, t.ex. ABC
  5. Gemener, t.ex. abc
 
Tip

Styrsystemet genomför kontrollen, med början från det första tecknet, tills innehållet i QS-parametrarna skiljer sig åt. Om innehållet t.ex. skiljer sig åt vid det fjärde tecknet, avbryter styrsystemet kontrollen vid det här tecknet.

Kortare innehåll med identisk teckenföljd visas först i ordningsföljden, t.ex. abc före abcd.

I det här exemplet jämför styrsystemet den lexikaliska ordningsföljden hos QS12 och QS14. Styrsystemet tilldelar Q-parametern Q52 resultatet som numeriskt värde.

11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 )

; Jämför den lexikaliska ordningsföljden hos värdena i QS12 och QS14

Överta innehållet i en maskinparameter

Beroende på innehållet i maskinparametern kan du med hjälp av NC-funktionen CFGREAD överföra alfanumeriska värden till QS-parametrar eller numeriska värden till Q-, QL- eller QR-parametrar.

I det här exemplet sparar styrsystemet överlappningsfaktorn från maskinparametern pocketOverlap som numeriskt värde i en Q-parameter.

  • Förinställda inställningar i maskinparametrarna:
  • ChannelSettings
  • CH_NC
    • CfgGeoCycle
      • pocketOverlap

Exempel

11 QS11 = "CH_NC"

; Tilldela QS-parametern QS11 en nyckel

12 QS12 = "CfgGeoCycle"

; Tilldela QS-parametern QS12 en entitet

13 QS13 = "pocketOverlap"

; Tilldela QS-parametern QS13 ett attribut

14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 )

; Läs av innehållet i maskinparametern

  • NC-funktionen CFGREAD innehåller följande syntaxelement:
  • KEY_QS: Maskinparameterns gruppnamn (Key)
  •  
    Tip

    Om det inte finns något gruppnamn definierar du ett tomt värde för motsvarande QS-parameter.

  • TAG_QS: Maskinparameterns objektnamn (Entity)
  • ATR_QS: Maskinparameterns namn (Attribut)
  • IDX: Maskinparameterns index

Läsa maskinparametrar med CFGREAD

Hänvisning

När du använder NC-funktionen Strängformel QS är resultatet alltid ett alfanumeriskt värde. När du använder NC-funktionen Formel Q/QL/QR är resultatet alltid ett numeriskt värde.