Dizi fonksiyonları

Uygulama

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ı değiştir

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

QS parametresine alfasayısal değeri atama

STRING-FORMEL

QS parametrelerinin içeriklerini toplama ve bir QS parametresine atama

Alfasayısal değerleri zincirleme

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

Alfasayısal değerleri sayısal değerlere dönüştürme

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

Sayısal değerleri alfasayısal değerlere dönüştürme

Dizi formülü QS

SUBSTR

Bir QS parametresinden alt diziyi kopyalayın ve bir QS parametresine atayın

Alt dizinin bir QS parametresinden kopyalanması

Dizi formülü QS

SYSSTR

Sistem verilerini okuma ve bir QA parametresine içerik atama

SYSSTR ile sistem verilerini okuma

Dizi formülü QS

INSTR

Bir QA parametresinde alt dizi arayın ve konumu Q, QL veya QR parametresine atayın

Bir QS parametre içeriğinde alt diziyi arama

Formül Q/QL/QR

STRLEN

Bir QS parametresinin karakter uzunluğunu belirleyin ve bir Q, QL veya QR parametresine atayın

QS parametre içeriğinin karakter sayısını belirleme

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

İki alfasayısal dizinin esnek sırasını karşılaştır

Formül Q/QL/QR

CFGREAD

Bir makine parametresinin içeriğini okuyun ve bir QS parametresine atayın

Bir makine parametresinin içeriğini kabul etme

  • Dizi formülü QS
  • Formül Q/QL/QR

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

  • 1: GG.AA.YYYY ss:dd:snsn
  • 2: G.AA.YYYY s:dd
  • 3: G.AA.YY ss:dd
  • 4: YYYY-AA-GG ss:dd:snsn
  • 5: YYYY-AA-GG ss:dd
  • 6: YYYY-AA-GG ss:dd:snsn
  • 7: YY-AA-GG s:dd
  • 8:GG.AA.YYYY
  • 9:D.AA.YYYY
  • 10: D.MM.YY
  • 11: YYYY-AA-GG
  • 12: YY-AA-GG
  • 13: ss:dd:ss
  • 14: s:dd:ss
  • 15: s:dd
  • 16: GG.AA.YYYY ss:dd
  • 20: XX
    • XX ifadesi, ISO 8601 standardına uygun olarak aşağıdaki nitelikleri taşıyan güncel takvim haftasının 2 basamaklı çıktısını ifade eder:
    • Yedi gündür
    • Pazartesi günü başlar
    • Ardışık numaralandırılır
    • İlk takvim haftası yılın ilk perşembesini içerir

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ı

folderIcon

Key

Makine parametresinin grup adı

Grup adı isteğe bağlı olarak belirtilebilir

folderIcon

Antite

Parametre nesnesi

Ad her zaman Cfg ile başlar

value

Öz nitelik

Makine parametresinin adı

value

Dizin

Bir makine parametresinin liste dizini

Liste dizini isteğe bağlı olarak belirtilebilir

 
Tip

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.

Bir makine parametresinin içeriğini kabul etme

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.

  1. Bir QS parametresine aşağıdaki gibi bir değer atarsınız:
SF_4_NCFunktion_Einfuegen

  1. NC fonksiyonu ekle öğesini seçin
  2. Kumanda, NC fonksiyonu ekle penceresini açar.

  1. DECLARE STRING öğesini seçin
  2. Sonuç için QS parametrelerini tanımlayın
  3. Ad seçin
  4. İstediğiniz değeri girin
  5. NC tümcesini sonlandırın

  1. NC tümcesini işleyin
  2. Kumanda girilen değerleri hedef parametresine kaydeder.

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.

  1. Birden çok QS parametresinin değerlerini aşağıdaki gibi zincirlersiniz:
SF_4_NCFunktion_Einfuegen

  1. NC fonksiyonu ekle öğesini seçin
  2. Kumanda, NC fonksiyonu ekle penceresini açar.

  1. String formülü QS öğesini seçin
  2. Sonuç için QS parametrelerini tanımlayın
calculator

  1. Formül girmek için klavyeyi açın

  1. Zincirleme operatörünü || seçin

  1. Sembol zincirleme operatörünün solundaki ilk alt dizi ile QS parametresinin numarasını tanımlayın
  2. Sembol zincirleme operatörünün sağındaki ikinci alt dizi ile QS parametresinin numarasını tanımlayın
  3. NC tümcesini sonlandırın
  4. Girişi onaylayın
  5. İşlemden sonra, kumanda kısmi dizileri birbiri ardına hedef parametrede alfasayısal değer olarak kaydeder.

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
  1. Esnek sıralama aşağıdaki gibidir:
  2. Özel karakterler, örneğin ?_
  3. Rakamlar, ör. 123
  4. Büyük harfler, ör. ABC
  5. Küçük harfler, ör. abc
 
Tip

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

Örnek

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)
  •  
    Tip

    Grup adı yoksa ilgili QS parametresi için boş bir değer tanımlayın.

  • TAG_QS: Makine parametresinin nesne adı (Antite)
  • ATR_QS: Makine parametresinin adı (Öz nitelik)
  • IDX: Makine parametresinin indeksi

Makine parametrelerini CFGREAD ile okuma

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.