Stringfunkciók
Alkalmazás
A string funkciókkal a QS paraméterek segítségével stringeket definiálhat és feldolgozhat, hogy pl. FN 16: F-PRINT használatával változós jegyzőkönyveket hozzon létre. Az informatikában a string egy alfanumerikus karaktersorozatot jelent.
Felhasznált témák
- Változók területei
Funkcióleírás
Egy QS paraméterhez legfeljebb 255 karaktert rendelhet hozzá.
QS paraméterekben a következő karakterek használata megengedett:
- Betűk
- Számjegyek
- Speciális karakterek, pl. ?
- Vezérlő jelek, pl. \ elérési utakhoz
- Szóköz
A QS paraméterek értékeit a Q/QL/QR képlet és a QS stringképlet NC funkciókkal feldolgozhatja vagy ellenőrizheti.
Szintaxis | NC funkció | Fölérendelt NC funkció |
---|---|---|
DECLARE STRING | Alfanumerikus érték hozzárendelése egy QS paraméterhez | |
STRINGKÉPLET | Kapcsolja össze QS paraméterek tartalmát, és rendelje hozzá egy QS paraméterhez | QS stringképlet |
TONUMB | Alakítsa át egy QS paraméter alfanumerikus értékét számértékké, és rendelje hozzá egy Q, QL vagy QR paraméterhez | Q/QL/QR képlet |
TOCHAR | Alakítson át egy számértéket alfanumerikus értékké, és rendelje hozzá egy QS paraméterhez | QS stringképlet |
SUBSTR | Másoljon ki egy rész-stringet egy QS paraméterből, és rendelje hozzá egy QS paraméterhez | QS stringképlet |
SYSSTR | Rendszeradatok olvasása és tartalmak hozzárendelése egy QS paraméterhez | QS stringképlet |
INSTR | Rész-string keresése egy QS paraméterben és a lelőhely hozzárendelése egy Q, QL vagy QR paraméterhez | Q/QL/QR képlet |
STRLEN | Határozza meg egy QS paraméter karakterhosszát és rendelje hozzá egy Q, QL vagy QR paraméterhez | Q/QL/QR képlet |
STRCOMP | Hasonlítsa össze a QS paraméterek növekvő lexikális sorrendjét, és rendelje hozzá az eredményt egy Q, QL vagy QR paraméterhez Hasonlítsa össze két alfanumerikus karaktersorozat lexikális sorrendjét | Q/QL/QR képlet |
CFGREAD | Egy gépparaméter tartalmának kiolvasása és hozzárendelése egy QS paraméterhez |
|
A vezérlő a következő képletbeviteli lehetőségeket kínálja:
- Automatikus befejezés
- Felugró billentyűzet a parancssoron vagy űrlapon történő képletbevitelhez
- A képernyőbillentyűzet képletbeviteli módja
Rendszeradatok olvasása a SYSSTR segítségével
A SYSSTR NC funkcióval rendszeradatokat olvashat és tartalmakat menthet el QS paraméterekben. A rendszerdátumot egy ID csoportszám és egy NR szám segítségével választhatja ki.
Opcionálisan megadhatja az IDX és DAT értékeket.
A következő rendszeradatokat olvashatja:
Csoport neve, ID szám | Szám | Jelentés |
---|---|---|
Program információ, 10010 | 1 | Az aktuális főprogram vagy palettaprogram elérési útvonala |
2 | Az aktuálisan végrehajtott NC program elérési útja | |
3 | A 12 PGM CALL ciklussal kiválasztott NC program elérési útja | |
10 | A SEL PGM alkalmazásával kiválasztott NC program elérési útja | |
Csatorna adat, 10025 | 1 | Az aktuális csatorna neve, pl. CH_NC |
A szerszámhívásban programozott értékek, 10060 | 1 | Az aktuális szerszám neve Tip Az NC funkció csak akkor menti a szerszám nevét, ha a szerszámot a szerszámnévvel hívta meg. |
Kinematics, 10290 | 10 | Az utolsó FUNCTION MODE NC funkcióban programozott kinematika. |
Aktuális rendszeridő, 10321 | 1 - 16, 20 |
|
Tapintó adatok, 10350 | 50 | Az aktív TS munkadarab-tapintórendszer típusa |
70 | Az aktív TT szerszám-tapintórendszer típusa | |
73 | Az aktív TT szerszám-tapintórendszer neve az activeTT gépparaméterből | |
Paletta megmunkálás adatai, 10510 | 1 | Az éppen feldolgozott paletta neve |
2 | Az aktuálisan kiválasztott palettatáblázat elérési útja | |
NC szoftververzió, 10630 | 10 | Az NC szoftververzió száma |
Információ a kiegyensúlyozatlansági ciklushoz, 10855 | 1 | A kiegyensúlyozatlanság-kalibrálási táblázat elérési útja A kiegyensúlyozatlanság-kalibrálási táblázat az aktív kinematikához tartozik. |
Szerszámadatok, 10950 | 1 | Az aktuális szerszám neve |
2 | Az aktuális szerszám DOC oszlopának tartalma | |
3 | Az aktuális szerszám AFC szabályozási beállítása | |
4 | Az aktuális szerszám szerszámtartó-kinematikája |
Gépi paraméterek olvasása a CFGREAD segítségével
A CFGREAD NC funkcióval kiolvashatja a vezérlő gépparaméter tartalmait numerikus vagy alfanumerikus értékekként. A kiolvasott számértékek mindig metrikus mértékegységekben vannak kiírva.
Egy gépparaméter olvasásához a következő tartalmakat a vezérlő konfiguráció-szerkesztőjében kell meghatároznia:
Ikon | Típus | Jelentés |
---|---|---|
Gomb | A gépparaméter csoportneve A csoport neve opcionálisan megadható | |
Entitás | Paraméterobjektum A név mindig Cfg-vel kezdődik | |
Attribútum | A gépi paraméter neve | |
Index | Gépparaméter listaindexe A listaindex opcionálisan megadható |
A gépparaméterek konfiguráció-szerkesztőjében módosíthatja a meglévő paraméterek megjelenítését. Az alapbeállításban a paraméterek rövid magyarázó szövegekkel jelennek meg.
Ha egy gépparamétert a CFGREAD NC funkcióval olvas ki, előzőleg definiálnia kell egy QS paramétert attribútummal, entitással és kulccsal.
Alfanumerikus érték hozzárendelése egy QS paraméterhez
Az alfanumerikus értékek használata és feldolgozása előtt karaktereket kell hozzárendelnie a QS paraméterekhez. Használja ehhez a DECLARE STRING parancsot.
Alfanumerikus értéket a következők szerint rendelhet hozzá egy QS paraméterhez: | ||
| ||
| ||
|
Ebben a példában a vezérlő egy alfanumerikus értéket rendel hozzá a QS10 QS paraméterhez.
11 DECLARE STRING QS10 = "workpiece" | ; Alfanumerikus érték hozzárendelése a QS10-hez |
Alfanumerikus értékek összekapcsolása
A || összekapcsolási műveleti jellel több QS paraméter tartalmát is összekapcsolhatja egymással. Így kombinálhat pl. fix és változó alfanumerikus értékeket.
Több QS paraméter tartalmát a következőképpen kapcsolhatja össze: | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Ebben a példában a vezérlő a QS12 és QS13 QS paraméterek tartalmát kapcsolja össze. A vezérlő az alfanumerikus értéket rendeli hozzá a QS10 QS paraméterhez.
11 QS10 = QS12 || QS13 | ; Kapcsolja össze a QS12 és QS13 tartalmát és rendelje hozzá a QS10 QS paraméterhez |
Paramétertartalmak:
- QS12: Állapot:
- QS13: Selejt
- QS10: Állapot: Selejt
Alfanumerikus értékek átalakítása numerikus értékekké
A TONUMB NC funkcióval elmentheti egy QS paraméter kizárólag numerikus karaktereit egy másik változótípusba. Ezután ezeket az értékeket számításokhoz használhatja.
Ebben a példában a vezérlő a QS11 QS paraméter alfanumerikus értékét alakítja át numerikus értékké. A vezérlő ezt az értéket rendeli hozzá a Q82 Q paraméterhez.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Alakítsa át a QS11-ből vett alfanumerikus értéket numerikus értékké és rendelje hozzá a Q82-höz |
Numerikus értékek átalakítása alfanumerikus értékekké
A TOCHAR NC funkcióval elmentheti egy változó tartalmát egy QS paraméterbe. Az elmentett tartalmat összekapcsolhatja pl. más QS paraméterekkel.
Ebben a példában a vezérlő a Q50 Q paraméter numerikus értékét alakítja át alfanumerikus értékké. A vezérlő ezt az értéket rendeli hozzá a QS11 QS paraméterhez.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Alakítsa át a Q50-ből vett numerikus értéket alfanumerikus értékké és rendelje hozzá a QS11 QS paraméterhez |
Rész-string másolása QS paraméterből
A SUBSTR NC funkcióval egy QS paraméterből egy definiált rész-stringet menthet el egy másik QS paraméterbe. Ezt az NC funkciót pl. használhatja arra, hogy kibontson egy fájlnevet egy abszolút fájlútvonalból.
Ebben a példában a vezérlő a QS10 QS paraméter egy rész-stringjét menti el a QS13 QS paraméterbe. A BEG2 szintaktikai elem segítségével definiálja, hogy a vezérlő a harmadik karaktertől kezd másolni. A LEN4 szintaktikai elemmel definiálja, hogy a vezérlő a következő négy karaktert másolja.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Rendelje hozzá a QS10-ből vett rész-stringet a QS13 QS paraméterhez |
Rész-string keresése egy QS paramétertartalmon belül
Az INSTR NC funkcióval ellenőrizheti, hogy egy bizonyos rész-string megtalálható-e egy QS paraméteren belül. Ezzel pl. megállapíthatja, hogy a több QS paraméter összekapcsolása működött-e. Az ellenőrzéshez két QS paraméter szükséges. A vezérlő az első QS paraméterben keresi a második QS paraméter tartalmát.
Amikor a vezérlő megtalálja a rész-stringet, a vezérlő elmenti a karakterek számát a rész-string megtalálási helyével az eredményparaméterben. Több megtalálási hely esetén az eredmény azonos, mivel a vezérlő az első megtalálási helyet menti el.
Ha a vezérlő nem találja a keresendő rész-stringet, akkor a vezérlő elmenti a karakterek teljes számát az eredményparaméterben.
Ebben a példában a vezérlő a QS10 QS paraméterben keresi a QS13-ban elmentett karaktersorozatot. A keresés a harmadik karaktertől kezdődik. A karakterek számolásakor a vezérlő nullával kezd. A vezérlő a megtalálási helyet karakterszámként rendeli hozzá a Q50 Q paraméterhez.
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) |
Egy QS paramétertartalom karakterszámának megállapítása
A STRLEN NC funkció megállapítja egy QS paramétertartalom karakterszámát. Ezzel az NC funkcióval meghatározhatja pl. egy fájl elérési útjának hosszát.
Ha a kiválasztott QS paraméter nincs definiálva, a vezérlő a -1 értéket adja meg.
Ebben a példában a vezérlő a QS15 QS paraméter karakterszámát határozza meg. A vezérlő a karakterszám numerikus értékét rendeli hozzá a Q52 Q paraméterhez.
11 Q52 = STRLEN ( SRC_QS15 ) | ; a QS15 karakterszámának meghatározása és hozzárendelése a Q52-höz |
Hasonlítsa össze két alfanumerikus karaktersorozat lexikális sorrendjét
A STRCOMP NC funkcióval két QS paraméter tartalmának lexikális sorrendjét hasonlítja össze.
A vezérlő a következő eredményeket adja:
- 0: A két QS paraméter tartalma azonos
- -1: Az első QS paraméter tartalma a lexikális sorrendben a második QS paraméter tartalma előtt áll
- +1: Az első QS paraméter tartalma a lexikális sorrendben a második QS paraméter tartalma után áll.
A lexikális sorrend a következő:
- Speciális karakterek, pl. ?_
- Számok, pl. 123
- Nagybetűk, pl. ABC
- Kisbetűk, pl. abc
Az első karaktertől kiindulva a vezérlő addig vizsgál, amíg a QS paraméterek tartalma eltérő nem lesz. Ha pl. a tartalom a negyedik helyen eltérő, a vezérlő ott megszakítja a vizsgálatot.
Azonos karaktersorozatok esetén a rövidebb tartalmak lesznek a sorrendben először megjelenítve, pl. abc az abcd előtt.
Ebben a példában a vezérlő a QS12 és a QS14 lexikális sorrendjét hasonlítja össze. Az eredményt a vezérlő numerikus értékként hozzárendeli a Q52 Q paraméterhez.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; A QS12 és QS14 értékei lexikális sorrendjének összehasonlítása |
Gépi paraméter tartalmának átvétele
A gépparaméter tartalmától függően a CFGREAD NC funkció segítségével alfanumerikus értékeket a QS paraméterekbe vagy numerikus értékeket a Q, QL vagy QR paraméterekbe vehet át.
Ebben a példában a vezérlő az átfedési tényezőt a pocketOverlap gépparaméterből numerikus értékként tárolja egy Q paraméterben.
A gépi paraméterekben megadott beállítások:
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; kulcs hozzárendelése a QS11 QS paraméterhez |
12 QS12 = "CfgGeoCycle" | ; entitás hozzárendelése a QS12 QS paraméterhez |
13 QS13 = "pocketOverlap" | ; attribútum hozzárendelése a QS13 QS paraméterhez |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; a gépparaméter tartalmának kiolvasása |
A CFGREAD NC funkció a következő szintaxiselemeket tartalmazza:
- KEY_QS: A gépi paraméterek csoportneve (kulcs)
- Tip
Ha nincs csoportnév, definiáljon egy üres értéket a megfelelő QS paraméternek.
- TAG_QS: A gépi paraméterek objektum neve (entitás)
- ATR_QS: A gépi paraméterek neve (attribútum)
- IDX: A gépi paraméter indexe
Megjegyzés
Ha a QS stringképlet NC funkciót használja, az eredmény mindig egy alfanumerikus érték lesz. Ha a Q/QL/QR képlet NC funkciót használja, az eredmény mindig egy numerikus érték lesz.