S funkcí řetězců můžete definovat a dále zpracovávat řetězce s pomocí QS-parametrů, např. pro vytváření variabilních protokol s FN 16: F-PRINT. V informatice označuje řetězec posloupnost alfanumerických znaků.
Popis funkce
Jednomu QS-parametru můžete přiřadit maximálně 255 znaků.
- V QS-parametrech jsou povoleny následující znaky:
- Písmena
- Číslice
- Speciální znaky, např. ?
- Řídicí znaky, např. \ pro cesty
- Mezery
Jednotlivé funkce řetězce programujete pomocí volného zadávání syntaxe.
Hodnoty QS-parametrů můžete zpracovávat nebo kontrolovat pomocí NC-funkcí Vzorec Q/QL/QR a Vzorec řetězce QS.
Syntaxe | NC-funkce | Nadřazená NC-funkce |
---|---|---|
DECLARE STRING | Přiřazení alfanumerické hodnoty QS-parametru | |
ŘETĚZCOVÝ VZOREC | Obsahy QS-parametrů zřetězit a přiřadit jednomu QS-parametru | Řetězcový vzorec QS |
TONUMB | Převedení alfanumerické hodnoty QS-parametru na číselnou hodnotu a přiřazení parametru Q, QL nebo QR. | Vzorec Q/QL/QR |
TOCHAR | Převedení číselné hodnoty na alfanumerickou hodnotu a přiřazení QS-parametru | Řetězcový vzorec QS |
SUBSTR | Kopírování části řetězce z QS-parametru a přiřazení jednomu QS-parametru | Řetězcový vzorec QS |
SYSSTR | Čtení systémových dat a přiřazení obsahu QS-parametru | Řetězcový vzorec QS |
INSTR | Hledání části řetězce v QS-parametru a přiřazení nalezeného místa do parametru Q, QL nebo QR | Vzorec Q/QL/QR |
STRLEN | Zjištění délky znaků QS-parametru a přiřazení do parametru Q, QL nebo QR | Vzorec Q/QL/QR |
STRCOMP | Porovnání vzestupného abecedního pořadí QS-parametrů a přiřazení výsledku do parametru Q, QL nebo QR Porovnání abecedního pořadí dvou alfanumerických posloupností znaků | Vzorec Q/QL/QR |
CFGREAD | Přečtení obsahu strojního parametru a přiřazení jednomu QS-parametru |
|
Čtení systémových dat pomocí SYSSTR
Pomocí NC-funkce SYSSTR můžete číst systémová data a ukládat obsahy do QS-parametrů. Systémové datum zvolíte pomocí čísla skupiny ID a čísla NR.
Zadat můžete také IDX a DAT.
Můžete číst následující systémové údaje:
Název skupiny, ID-č. | Číslo | Význam |
---|---|---|
Informace o programu, 10010 | 1 | Cesta aktivního hlavního programu nebo paletového programu |
2 | Cesta aktuálně zpracovávaného NC-programu | |
3 | Cesta s cyklem 12 PGM CALL zvoleného NC-programu | |
10 | Cesta NC-programu, vybraného pomocí SEL PGM | |
Údaje o kanálu, 10025 | 1 | Název aktuálního kanálu, např. CH_NC |
Hodnoty naprogramované ve vyvolání nástroje, 10060 | 1 | Název aktuálního nástroje Tip NC-funkce uloží název nástroje pouze v případě, že zavoláte nástroj s jeho názvem. |
Kinematika, 10290 | 10 | Kinematika, naprogramovaná v poslední NC-funkci FUNCTION MODE (Funkční režim) |
Aktuální čas systému, 10321 | 1-16, 20 |
|
Data dotykové sondy, 10350 | 50 | Typ aktivní obrobkové dotykové sondy TS |
70 | Typ aktivní nástrojové dotykové sondy TS | |
73 | Název aktivní nástrojové dotykové sondy TT ze strojního parametru aktiveTT | |
Údaje o obrábění palety, 10510 | 1 | Název aktuálně obráběné palety |
2 | Cesta aktuálně zvolené tabulky palet | |
Verze NC-softwaru, 10630 | 10 | Číslo verze NC-softwaru |
Informace o vyvažovacím cyklu, 10855 | 1 | Cesta kalibrační tabulky vyvážení Kalibrační tabulka vyvážení patří k aktivní kinematice. |
Data nástrojů, 10950 | 1 | Název aktuálního nástroje |
2 | Obsah sloupce DOC aktivního nástroje | |
3 | AFC-nastavení regulace aktuálního nástroje | |
4 | Kinematika nosiče aktuálního nástroje |
Čtení strojních parametrů pomocí CFGREAD
S NC-funkcí CFGREAD můžete přečíst obsahy strojních parametrů řídicího systému jako číselné nebo alfanumerické hodnoty. Přečtené hodnoty se vydávají vždy v metrické soustavě.
K přečtení strojního parametru musíte zjistit následující obsahy v editoru konfigurace řídicího systému:
Symbol | Typ | Význam |
---|---|---|
Klávesa | Skupinový název strojního parametru Skupinový název může být opčně uveden | |
Subjekt | Objekt parametru Název vždy začíná Cfg | |
Atribut | Název strojního parametru | |
Rejstřík | Index seznamu strojního parametru Index seznamu může být opčně uveden |
V editoru konfigurace strojních parametrů můžete měnit znázornění stávajících parametrů. Se standardním nastavením se parametry zobrazují s krátkými, vysvětlujícími texty.
Když čtete strojní parametr s NC-funkcí CFGREAD, musíte předem vždy definovat QS-parametr s atributem, subjektem a klíčem.
Přiřazení alfanumerické hodnoty QS-parametru
Než budete moci používat alfanumerické hodnoty a dále je zpracovávat, musíte přiřadit znaky ke QS-parametrům. K tomu použijte příkaz DECLARE STRING (Deklarovat řetězec).
| ||
![]() |
| |
| ||
|
V tomto příkladu řízení přiřadí QS-parametru QS10 alfanumerickou hodnotu.
11 DECLARE STRING QS10 = "workpiece" | ; Přiřazení alfanumerické hodnoty QS10 |
Řetězení alfanumerické hodnoty
S operátorem zřetězení || můžete vzájemně spojit obsahy několika QS-parametrů. Můžete tak kombinovat např. pevné a proměnné alfanumerické hodnoty.
| ||
![]() |
| |
| ||
| ||
| ||
|
V tomto příkladu spojí řídicí systém obsahy QS-parametrů QS12 a QS13. Alfanumerickou hodnotu řízení přiřadí QS-parametru QS10.
11 QS10 = QS12 || QS13 | ; Obsahy z QS12 a QS13 zřetězit a přiřadit QS-parametru QS10 |
Obsah parametru:
- QS12: Status:
- QS13: Zmetek
- QS10: Status: Zmetek
Převod alfanumerické hodnoty na číselnou hodnotu
S NC-funkcí TONUMB můžete uložit výlučně číselné znaky QS-parametru do jiného typu proměnné. Následně můžete tyto hodnoty použít při výpočtech.
V tomto příkladu řízení převede alfanumerickou hodnotu QS-parametru QS11 na numerickou hodnotu. Tuto hodnotu řízení přiřadí Q-parametru Q82.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Převedení alfanumerické hodnoty z QS11 na číselnou hodnotu a přiřazení do Q82 |
Převod numerických hodnot na alfanumerické hodnoty
S NC-funkcí TOCHAR můžete uložit obsah proměnné do QS-parametru. Uložený obsah můžete např. zřetězit s dalšími QS-parametry.
V tomto příkladu řízení převede numerickou hodnotu Q-parametru Q50 na alfanumerickou hodnotu. Tuto hodnotu řízení přiřadí QS-parametru QS11.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Převedení číselné hodnoty z Q50 na alfanumerickou hodnotu a přiřazení QS-parametru QS11 |
Kopírování úseku řetězce z QS-parametru
Pomocí NC-funkce SUBSTR můžete uložit definovatelný dílčí řetězec z QS-parametru do jiného QS-parametru. Tuto NC-funkci můžete využít např. k extrahování názvu souboru z absolutní cesty k souboru.
V tomto příkladu řízení uloží část řetězce QS-parametru QS10 do QS-parametru QS13. Pomocí prvku syntaxe BEG2 definujete, že řídicí systém kopíruje od třetího znaku. Pomocí prvku syntaxe LEN4 definujete, že řídicí systém kopíruje následující čtyři znaky.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; Přiřadit dílčí řetězec z QS10 do QS-parametru QS13 |
Hledat část řetězce v obsahu QS-parametru
Pomocí NC-funkce INSTR můžete zkontrolovat, zda je konkrétní část řetězce v QS-parametru. S tímto můžete např. zkontrolovat, zda fungovalo zřetězení několika QS-parametrů. Pro kontrolu jsou vyžadovány dva QS-parametry. Řídicí systém hledá v prvním QS-parametru obsah druhého QS-parametru.
Pokud řídicí systém část řetězce najde, tak uloží počet znaků až do místa nálezu dílčího řetězce do parametru výsledku. Pokud existuje několik nálezů, je výsledek stejný, protože řídicí systém ukládá první nalezený výskyt.
Pokud řídicí systém nenajde hledanou část řetězce, uloží celkový počet znaků do výsledkového parametru.
V tomto příkladu řízení hledá v QS-parametru QS10 pořadí znaků, uložené v QS13. Vyhledávání začíná od třetí pozice. Při počítání znaků začíná řídicí systém s nulou. Řídicí systém přiřadí místo nálezu jako počet znaků do Q-parametru Q50.
37 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) |
Zjištění počtu znaků obsahu QS-parametru
NC-funkce STRLEN určuje počet znaků obsahu QS-parametru. Pomocí této NC-funkce můžete např. určit délku cesty k souboru.
Není-li zvolený QS-parametr definovaný, tak řízení dá výsledek -1.
V tomto příkladu zjistí řídicí systém počet znaků v QS-parametru QS15. Numerickou hodnotu počtu znaků řízení přiřadí Q-parametru Q52.
11 Q52 = STRLEN ( SRC_QS15 ) | ; Zjištění počtu znaků v QS14 a přiřazení do Q52 |
Porovnání abecedního pořadí dvou alfanumerických posloupností znaků
Pomocí NC-funkce STRCOMP porovnáte lexikální pořadí obsahu dvou QS-parametrů.
Řídicí systém vrátí následující výsledky:
- 0 : Obsah obou QS-parametrů je identický
- -1 : Obsah prvního QS-parametru je v lexikálním pořadí před obsahem druhého QS-parametru
- +1 : Obsah prvního QS-parametru je v lexikálním pořadí za obsahem druhého QS-parametru
- Lexikální pořadí je toto:
- Speciální znaky, např. ?_
- Číslice, např. 123
- Velká písmena, např. ABC
- Malá písmena, např. abc
Počínaje prvním znakem řídicí systém provádí kontrolu obsahu QS-parametrů, až se liší. Pokud se obsah liší např. na čtvrté pozici, přeruší řídicí systém v tomto bodě kontrolu.
Kratší obsah se stejnou posloupností znaků se zobrazí jako první v pořadí, např. abc předabcd .
V tomto příkladu porovnává řídicí systém lexikální pořadí QS12 a QS14. Výsledek přiřadí řídicí systém jako číselnou hodnotu do Q-parametru Q52.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; Porovnání lexikálního pořadí hodnot z QS12 a QS14 |
Převzetí obsahu strojního parametru
V závislosti na obsahu strojního parametru můžete pomocí NC-funkce CFGREAD převzít alfanumerické hodnoty do QS-parametrů nebo číselné hodnoty do parametrů Q, QL nebo QR.
V tomto příkladu řízení uloží koeficient překrytí ze strojního parametru pocketOverlap jako numerickou hodnotu do Q-parametru.
- Předvolená nastavení ve strojních parametrech:
- ChannelSettings (Nastavení kanálu)
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; Přiřadit klíč QS-parametru QA11 |
12 QS12 = "CfgGeoCycle" | ; Přiřadit subjekt QS-parametru QS12 |
13 QS13 = "pocketOverlap" | ; Přiřadit atribut QS-parametru QS13 |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; Přečíst obsah strojního parametru |
- NC-funkce CFGREAD obsahuje následující prvky syntaxe:
- KEY_QS: Skupinový název (klíč) strojního parametru
- TAG_QS: Název objektu (entity) strojního parametru
- ATR_QS: Název (atribut) strojního parametru
- IDX: Index strojního parametru
Pokud neexistuje žádný název skupiny, definujte pro příslušný název QS-parametru prázdnou hodnotu.
Poznámka
Používáte-li NC-funkci Řetězcový vzorec QS, tak je výsledkem vždy alfanumerická hodnota. Používáte-li NC-funkci Vzorec Q/QL/QR, tak je výsledkem vždy numerická hodnota.