Dizi fonksiyonları, QS parametrelerini kullanarak dizileri tanımlayabilir ve işleyebilirsiniz, ör. B. FN 16: F-PRINT ile değişken protokoller oluşturmak için. Bilgisayar biliminde bir dizi, alfasayısal bir karakteri ifade eder.
Fonksiyon tanımı
Bir QS parametresine maksimum 255 karakter atayabilirsiniz.
- QS parametrelerinde aşağıdaki karakterlere izin verilir:
- Harfler
- Rakamlar
- Özel karakterler, örneğin ?
- Kumanda karakterleri, örneğin yollar için \
- Boşluk
Serbest söz dizimi girişini kullanarak tek tek dizi fonksiyonlarını programlarsınız.
NC fonksiyonları Formül Q/QL/QR ve Dizi formülü QS fonksiyonlarını kullanarak QS parametrelerinin değerlerini daha fazla işleyebilir veya kontrol edebilirsiniz.
Söz dizimi | NC fonksiyonu | Üst seviye NC fonksiyonu |
---|---|---|
DECLARE STRING | QS parametresine alfasayısal değeri atama | |
STRING-FORMEL | QS parametrelerinin içeriklerini toplama ve bir QS parametresine atama | Dizi formülü QS |
TONUMB | QS parametresinin alfasayısal değerini sayısal bir değere dönüştürün ve bir Q-, QL- veya QR parametresine atayın | Formül Q/QL/QR |
TOCHAR | Sayısal bir değeri alfasayısal bir değere dönüştürün ve bunu bir QS parametresine atayın | Dizi formülü QS |
SUBSTR | Bir QS parametresinden alt diziyi kopyalayın ve bir QS parametresine atayın | Dizi formülü QS |
SYSSTR | Sistem verilerini okuma ve bir QA parametresine içerik atama | Dizi formülü QS |
INSTR | Bir QA parametresinde alt dizi arayın ve konumu Q, QL veya QR parametresine atayın | Formül Q/QL/QR |
STRLEN | Bir QS parametresinin karakter uzunluğunu belirleyin ve bir Q, QL veya QR parametresine atayın | Formül Q/QL/QR |
STRCOMP | QS parametrelerinin artan esnek sırasını karşılaştırın ve sonucu bir Q, QL veya QR parametresine atayın | Formül Q/QL/QR |
CFGREAD | Bir makine parametresinin içeriğini okuyun ve bir QS parametresine atayın |
|
SYSSTR ile sistem verilerini okuma
NC fonksiyonu SYSSTR ile sistem verilerini okuyabilir ve QS parametrelerine kaydedebilirsiniz. Sistem tarihini grup numarası ID ve numara NR kullanarak seçebilirsiniz.
İsteğe bağlı olarak IDX ve DAT girebilirsiniz.
Aşağıdaki sistem verilerini okuyabilirsiniz:
Grup adı, ID No. | Numara | Anlamı |
---|---|---|
Program bilgisi, 10010 | 1 | Güncel ana programın ya da palet programının yolu |
2 | İşlenen güncel NC programının yolu | |
3 | Döngü 12 PGM CALL ile seçilen NC programının yolu | |
10 | SEL PGM ile seçilen NC programının yolu | |
Kanal verileri, 10025 | 1 | Geçerli kanalın adı, ör. CH_NC |
Alet çağrısında programlanan değerler, 10060 | 1 | Güncel aletin adı Tip Alet adını kullanarak aleti çağırırsanız NC fonksiyonu yalnızca alet adını kaydeder. |
Kinematik, 10290 | 10 | En son NC fonksiyonu FUNCTION MODE'da programlanmış kinematik |
Güncel sistem süresi, 10321 | 1 - 16, 20 |
|
Tarama sisteminin verileri, 10350 | 50 | Etkin malzeme tarama sistemi TS'nin tarama sistemi tipi |
70 | Etkin alet tarama sistemi TT'nin tarama sistemi tipi | |
73 | Etkin alet tarama sistemi TT'den activeTT makine parametresinin adı | |
Palet işleme için veriler, 10510 | 1 | İşlenen güncel paletin adı |
2 | Güncel olarak seçilen palet tablosunun yolu | |
NC yazılım durumu, 10630 | 10 | NC yazılım durumu sayısı |
Dengesizlik döngüsü için bilgi, 10855 | 1 | Dengesizlik kalibrasyon tablosunun yolu Etkin kinematiğe ait dengesizlik kalibrasyon tablosu. |
Alet verileri, 10950 | 1 | Güncel aletin adı |
2 | Güncel aletin DOC sütununun içeriği | |
3 | Güncel aletin AFC kural ayarı | |
4 | Güncel aletin alet taşıyıcı kinematiği |
Makine parametrelerini CFGREAD ile okuma
NC fonksiyonu CFGREAD ile kumandanın makine parametre içeriğini sayısal veya alfasayısal değerler olarak okuyabilirsiniz. Okunan sayısal değerler her zaman metrik olarak çıkartılır.
Bir makine parametresini okumak için kumandanın konfigürasyon düzenleyicisinde aşağıdaki içeriği belirlemeniz gerekir:
Sembol | Tip | Anlamı |
---|---|---|
Key | Makine parametresinin grup adı Grup adı isteğe bağlı olarak belirtilebilir | |
Antite | Parametre nesnesi Ad her zaman Cfg ile başlar | |
Öz nitelik | Makine parametresinin adı | |
Dizin | Bir makine parametresinin liste dizini Liste dizini isteğe bağlı olarak belirtilebilir |
Makine parametrelerinin konfigürasyon düzenleyicisinde, mevcut parametrelerin gösterimini değiştirebilirsiniz. Standart ayarlı parametreler kısa ve açıklayıcı metinlerle gösterilir.
NC fonksiyonu CFGREAD ile bir makine parametresini okumadan önce en az bir QS parametresini özniteliği, varlığı ve anahtarıyla birlikte tanımlamalısınız.
QS parametresine alfasayısal değeri atama
Alfasayısal değerleri kullanmadan ve işlemeden önce QS parametrelerine karakterler atamanız gerekir. Bunun için DECLARE STRING komutunu kullanın.
| ||
![]() |
| |
| ||
|
Bu örnekte kumanda QS parametresi QS10'a bir alfasayısal değer atar.
11 DECLARE STRING QS10 = "workpiece" | ; QS10 'a alfasayısal değer atayın |
Alfasayısal değerleri zincirleme
Zincirleme operatörüyle || birkaç QS parametresinin içeriğini birbirine zincirleyebilirsiniz. ör. sabit ve değişken alfasayısal değerlerini birleştirebilirsiniz.
| ||
![]() |
| |
| ||
| ||
| ||
|
Bu örnekte kumanda QS parametresi QS12 ve QS13'ün içeriklerini zincirler. Kumanda QS parametresi QS10'a alfasayısal değeri atar.
11 QS10 = QS12 || QS13 | ; İçeriği QS12 ve QS13'ten zincirleyin ve QS parametresi QS10'a atayın |
Parametre içeriği:
- QS12: Durum:
- QS13: Iskarta
- QS10: Malzeme durumu: Iskarta
Alfasayısal değerleri sayısal değerlere dönüştürme
NC fonksiyonu TONUMB ile bir QS parametresinin sayısal karakterlerini yalnızca başka bir değişken türünde kaydedebilirsiniz. Daha sonra bu değerleri hesaplamalar içinde kullanabilirsiniz.
Bu örnekte, kumanda QS parametresi QS11'in alfasayısal değerini sayısal bir değere dönüştürür. Kumanda bu değeri Q parametresi Q82'ye atar.
11 Q82 = TONUMB ( SRC_QS11 ) | ; Alfasayısal değeri QS11'den sayısal değere dönüştürün ve Q82'ye atayın |
Sayısal değerleri alfasayısal değerlere dönüştürme
Bir değişkenin içeriğini bir QS parametresinde saklamak için NC fonksiyonu TOCHAR'ı kullanabilirsiniz. Depolanan içeriği ör. diğer QS parametreleriyle birleştirebilirsiniz.
Bu örnekte kumanda Q parametresi Q50'nin sayısal değerini alfasayısal değerine dönüştürür. Kumanda bu değeri QS parametresi QS11'e atar.
11 QS11 = TOCHAR ( DAT+Q50 DECIMALS3 ) | ; Q50'den sayısal bir değeri alfasayısal bir değere dönüştürün ve bunu QS parametresi QS11'e atayın |
Alt dizinin bir QS parametresinden kopyalanması
Bir QS parametresinden başka bir QS parametresine tanımlanabilir bir alt dizisine kaydetmek için NC fonksiyonu SUBSTR'ı kullanabilirsiniz. Bu NC fonksiyonunu ör. dosya adını mutlak bir dosya yolundan çıkarmak için kullanabilirsiniz.
Bu örnekte kumanda QS parametresi QS10'un bir alt dizisini QS parametresi QS13'e kaydeder. BEG2 söz dizimi elemanının yardımıyla kumandanın üçüncü karakterden itibaren kopyalamasını tanımlarsınız. LEN4 söz dizimi elemanının yardımıyla kumandanın takip eden dört karakteri kopyalamasını tanımlarsınız.
11 QS13 = SUBSTR ( SRC_QS10 BEG2 LEN4 ) | ; QS10'dan QS parametresi QS13'e alt dizi atama |
Bir QS parametre içeriğinde alt diziyi arama
Belirli bir alt dizinin bir QS parametresi içinde olup olmadığını kontrol etmek için NC fonksiyonu INSTR'ı kullanabilirsiniz. Bunu ör. birkaç QS parametresinin birleşiminin işe yarayıp yaramadığını belirlemek için kullanabilirsiniz. Test için iki QS parametresi gereklidir. Kumanda ikinci QS parametresinin içeriği için ilk QS parametresini arar.
Kumanda alt dizeyi bulduğunda karakter sayısını sonuç parametresindeki alt dizenin konumuna kadar kaydeder. Birden fazla konum bulunursa kumanda bulunan ilk konumu kaydettiğinden sonuç aynıdır.
Kumanda, aranacak alt diziyi bulamazsa sonuç parametresinde toplam karakter sayısını saklar.
Bu örnekte kumanda QS13'te saklanan karakter dizisini QS parametresi QS10'da arar. Arama üçüncü basamaktan başlar. Karakterleri sayarken kumandayı sıfırla başlatın. Kumanda konuma Q parametresi Q50'nin karakter sayısı olarak atar.
11 Q50 = INSTR ( SRC_QS10 SEA_QS13 BEG2 ) | ; QS10'da QS13'ten alt dize arayın |
QS parametre içeriğinin karakter sayısını belirleme
NC fonksiyonu STRLEN, QS parametre içeriğinin karakter sayısını belirler. Bu NC fonksiyonu ile ör. bir dosya yolunun uzunluğunu belirleyebilirsiniz.
Seçilen QS parametresi tanımlanmamışsa kumanda -1 değerini verir.
Bu örnekte kumanda QS parametresi QS15'in karakter sayısını belirler. Kumanda Q parametresi Q52'ye karakter sayısının sayısal değerini atar.
11 Q52 = STRLEN ( SRC_QS15 ) | ; QS14'ten karakter sayısını belirleyin ve Q52'yi atayın |
İki alfasayısal dizinin esnek sırasını karşılaştır
NC fonksiyonu STRCOMP ile iki QS parametresinin esnek sırasını karşılaştırırsınız.
Kumanda aşağıdaki sonuçları verir:
- 0: İki QS parametresinin içeriği aynıdır
- -1: İlk QS parametresinin içeriği, ikinci QS parametresinin içeriğinden önce esnek sırada yer alır
- +1: İlk QS parametresinin içeriği ikinci QS parametresinin içeriğinden sonra esnek sırada yer alır
- Esnek sıralama aşağıdaki gibidir:
- Özel karakterler, örneğin ?_
- Rakamlar, ör. 123
- Büyük harfler, ör. ABC
- Küçük harfler, ör. abc
Kumanda ilk karakterden başlayarak QS parametrelerinin içeriği değişene kadar kontrol eder. Örneğin, içerik dördüncü konumda farklılık gösterirse kumanda bu noktada kontrolü iptal eder.
Aynı karakterleri içeren daha kısa içerikler sıralamada ilk önce görüntülenir, ör. abcd'den önce abc.
Bu örnekte kumanda QS12 ve QS14'ün esnek sırasını karşılaştırır. Kumanda, sonucu Q parametresi Q52'ye sayısal bir değer olarak atar.
11 Q52 = STRCOMP ( SRC_QS12 SEA_QS14 ) | ; QS12 ve QS14 değerlerinin esnek sırasını karşılaştırın |
Bir makine parametresinin içeriğini kabul etme
Makine parametresinin içeriğine bağlı olarak, alfasayısal değerleri QS parametrelerine veya sayısal değerleri Q, QL veya QR parametrelerine aktarmak için NC fonksiyonu CFGREAD'i kullanabilirsiniz.
Bu örnekte kumanda, makine parametresi pocketOverlap'ten gelen çakışma faktörünü bir Q parametresinde sayısal değer olarak kaydeder.
- Makine parametrelerinde varsayılan ayarlar:
- ChannelSettings
- CH_NC
- CfgGeoCycle
- pocketOverlap
11 QS11 = "CH_NC" | ; QS parametresi QS11'e anahtar atayın |
12 QS12 = "CfgGeoCycle" | ; QS parametresi QS12'ye antite atayın |
13 QS13 = "pocketOverlap" | ; QS parametresi QS13'e öznitelik atayın |
14 Q50 = CFGREAD( KEY_QS11 TAG_QS12 ATR_QS13 ) | ; Makine parametresinin içeriğini okuyun |
- NC fonksiyonu CFGREAD aşağıdaki söz dizimi elemanlarını içerir:
- KEY_QS: Makine parametresinin grup adı (Key)
- TAG_QS: Makine parametresinin nesne adı (Antite)
- ATR_QS: Makine parametresinin adı (Öz nitelik)
- IDX: Makine parametresinin indeksi
Grup adı yoksa ilgili QS parametresi için boş bir değer tanımlayın.
Uyarı
NC fonksiyonu String formülü QS'yi kullandığınızda sonuç her zaman bir alfasayısal değerdir. NC fonksiyonu Formül Q/QL/QR'yi kullandığınızda sonuç her zaman sayısal bir değerdir.