Siemens SINUMERIK Frame (Çerçeve) Nedir? TRANS, ROT, SCALE ve MIRROR ile Koordinat Dönüşümü (840D sl / 828D)

4 Ağustos 2026

Mentor CNC Editör Ekibi

Siemens SINUMERIK’te Frame (Çerçeve) Nedir?

Frame, SINUMERIK kontrol ünitelerinde bir koordinat sisteminden başka bir koordinat sistemine geçişi tanımlayan veri kaydıdır. İçinde kaydırma (offset), dönme (rotation), ölçekleme (scale) ve aynalama (mirror) bilgileri bulunur. Kontrol, parçanın nerede durduğunu ve hangi yöne baktığını frame’ler üzerinden bilir.

Atölyede bunun karşılığı şudur: parçayı tezgâha her defasında aynı yere, aynı açıyla bağlamak zorunda değilsiniz. Parça 40 mm sağda ve 7° eğik bağlandıysa, programı yeniden yazmak yerine koordinat sistemini parçanın üzerine taşırsınız. Program aynı kalır, koordinat sistemi hareket eder.

Kaynak dokümanın kendi ifadesiyle: çerçeveler kullanılarak koordinat sistemleri kaydırılabilir, döndürülebilir, ayna görüntüleri alınabilir ve ölçeklenebilir; bu sayede koordinat düzlemi parça yüzeyine göre ayarlanmış olur ve programlama süresi ile maliyet en aza iner.

Bu sayfa kimin için? Fanuc’tan Siemens’e geçen programcılar, kalıpçılar, 3+2 eksen işleme yapan operatörler ve çok parçalı / paletli bağlamalarda çalışan herkes için. Fanuc’ta G52, G68 ve ayna komutlarıyla ayrı ayrı yapılan işlerin tamamı SINUMERIK’te tek bir kavramın — frame’in — altında toplanmıştır.

Koordinat sistemi zinciri: MCS’ten WCS’e

Bir frame’in ne yaptığını anlamak için kontrolün hangi koordinat sistemlerini üst üste kullandığını bilmek gerekir. Job Planning kılavuzundaki frame zinciri şu sırayla ilerler:

MCS (Makine koordinat sistemi) └─ referans / home ofseti BCS (Temel koordinat sistemi) └─ kinematik dönüşüm (TRANSMIT, TRACYL, TRAORI…) └─ el çarkı (DRF) ofseti, bindirilmiş hareket, harici sıfır ofseti BZS (Temel sıfır sistemi) └─ temel çerçeveler zinciri (kanal ve/veya NCU global) SZS (Ayarlanabilir sıfır sistemi) └─ G54 … G599 ayarlanabilir çerçeve WCS (Parça koordinat sistemi) └─ sistem çerçeveleri (TOROT/TOFRAME, parça referans noktaları) └─ programlanabilir çerçeve (TRANS, ROT, SCALE, MIRROR) └─ çevrimlerin çerçevesi

Program içinde yazdığınız X, Y, Z değerleri en üstteki WCS’e aittir. Aradaki her basamak bir frame’dir ve hepsi birbirinin üzerine biner. Bu yüzden G54 ile TRANS birbirini iptal etmez; toplanır.

En sık yapılan hata “G54 zaten var, TRANS yazınca G54 silinir” düşüncesi yanlıştır. TRANS, G54’ün üstüne biner. Parça sıfırınız 100 mm kayarsa sebep genellikle önceki programdan kalmış ve silinmemiş bir programlanabilir çerçevedir.

Frame türleri

Kaynak doküman olası çerçeveleri üç ana grupta sayar:

TürNasıl etkinleşirNe işe yarar
Temel çerçeve (temel ofset)G500 ve temel çerçeve değişkenleriBağlama aparatı, palet, fikstür sıfırı gibi tüm parçalar için ortak olan kaydırma
Ayarlanabilir çerçevelerG54, G55, G56, G57, G505 … G599Klasik parça sıfırı; panelden ölçülerek girilir
Programlanabilir çerçevelerTRANS, ROT, SCALE, MIRROR ve eklemeli sürümleriProgram içinde geçici kaydırma, dönme, ölçekleme, aynalama
Sistem çerçeveleriKontrol tarafından yönetilir (TOROT/TOFRAME, ölçüm, harici sıfır ofseti, çevrimler)Ölçüm çevrimleri, takım yönüne hizalama, PRESET, çevrim içi dönüşümler

Etkin toplam çerçeve: $P_ACTFRAME

Kanalda o an geçerli olan parça koordinat sistemini $P_ACTFRAME tanımlar ve bu değişken, etkin bütün çerçevelerin belirli bir sırayla zincirlenmesinden oluşur:

$P_ACTFRAME = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME : $P_IFRAME : $P_GFRAME : $P_TOOLFRAME : $P_WPFRAME : $P_TRAFRAME : $P_PFRAME : $P_ISO4FRAME : $P_CYCFRAME

Buradaki iki değişken sahada en çok karşınıza çıkar:

  • $P_IFRAME — o an etkin ayarlanabilir çerçeve. G54 çalıştırıldığında G54’ün içindeki kaydırma, dönme, ölçekleme ve aynalama bilgisi $P_IFRAME’e gelir. $P_IFRAME, $P_UIFR[$P_IFRNUM] ile aynı içeriktir.
  • $P_PFRAME — o an etkin programlanabilir çerçeve. TRANS/ATRANS, ROT/AROT, SCALE/ASCALE, MIRROR/AMIRROR programlandığında ya da CTRANS, CROT, CMIRROR, CSCALE atandığında oluşan çerçeve budur. SZS ile WCS arasındaki ilişkiyi kurar.

Bu çerçevelerden biri değiştiğinde kontrol, toplam çerçeve $P_ACTFRAME’i otomatik olarak yeniden hesaplar.

Programlanabilir çerçeve komutları

Kaynak doküman programlanabilir çerçeveleri beş grupta toplar. Aşağıdaki tablo, hangi komutun mutlak hangisinin eklemeli çalıştığını gösterir:

GrupMutlakEklemeliFrame değişkenine atama
Offset — kaba (kaydırma)TRANS, G58ATRANSCTRANS
Offset — inceG59—CFINE
DönmeROT, ROTSAROT, AROTSCROT, CROTS
ÖlçeklemeSCALEASCALECSCALE
AynalamaMIRRORAMIRRORCMIRROR
Adlandırma mantığı Başındaki A harfi “additive” (eklemeli) demektir: AROT, önceki dönmeyi silmez, üzerine ekler. Başındaki C harfi ise komutun bir frame değişkenine değer atamak için kullanıldığını gösterir; CTRANS tek başına hareket ettirmez, bir çerçeve verisi üretir.

TRANS ve ATRANS — kaydırma

TRANS, programlanabilir çerçeveye mutlak bir kaydırma yazar: daha önce programlanmış programlanabilir çerçeve bileşenleri yerine yenisi geçer. ATRANS ise mevcut duruma ekler.

; Bir cebi dört farklı konumda işleme N10 G54 G17 G90 N20 TRANS X100 Y50 ; mutlak kaydırma, 1. konum N30 L10 ; cep alt programı N40 ATRANS X120 ; eklemeli: toplam X220 Y50 N50 L10 N60 ATRANS Y80 ; toplam X220 Y130 N70 L10 N80 TRANS ; programlanabilir çerçeveyi sil N90 G0 Z200 M30

Alt program (burada L10) hep aynı kalır; sadece koordinat sistemi taşınır. Aynı yaklaşım paletli işlemede, çok gözlü fikstürlerde ve tekrar eden delik gruplarında kullanılır.

G58 ve G59 — eksenel kaba ve ince ofset

Kaynak doküman G58‘i eksenel sıfır ofsetinin kaba bileşeni, G59‘u ise ince bileşeni olarak sınıflandırır. Toplam ofset, kaba ve ince ofsetin toplamıdır. İnce ofset kullanılabilmesi için makine verisinin açık olması gerekir:

MD18600 $MN_MM_FRAME_FINE_TRANS = 1 ; ince ofset serbest bırakılır

Pratikte ince ofset, ölçüm sonucuna göre yapılan küçük düzeltmelerin (aşınma benzeri kaymaların) ana ofseti bozmadan girilmesi için kullanılır.

ROT ve AROT — dönme

ROT, koordinat sistemini geometri eksenleri etrafında döndürür ve mutlak çalışır; AROT mevcut dönmenin üzerine ekler. Dönme açılarının değer aralıkları Job Planning kılavuzunda net olarak verilmiştir:

DönmeDeğer aralığı
1. geometri ekseni etrafında dönme−180° … +180°
2. geometri ekseni etrafında dönme−90° … +90°
3. geometri ekseni etrafında dönme−180° … +180°

Ortadaki eksenin ±90° ile sınırlı olması tesadüf değildir: SINUMERIK üç eksen etrafındaki dönmeyi RPY gösterimiyle (Roll–Pitch–Yaw) tanımlar ve bu gösterimde orta eksen matematiksel olarak ±90° ile sınırlıdır. Aynı mantık CYCLE800’ün “uzaydaki açı” modunda da geçerlidir; orada döndürme sırası sabittir — önce Z, sonra Y.

; XY düzleminde 30 derece dönmüş bir cep N10 G54 G17 G90 N20 TRANS X80 Y60 N30 ROT Z30 ; Z etrafinda 30 derece, mutlak N40 L10 N50 AROT Z90 ; eklemeli: toplam 120 derece N60 L10 N70 ROT ; dönmeyi sil N80 TRANS ; kaydırmayı sil
Dikkat: dönme ve el ile hareket Koordinat sistemi döndürüldüğünde, panelde X ekseninde verdiğiniz hareket artık tezgâhın X ekseni değildir; parçanın X ekseni olur. Döndürülmüş bir çerçeve etkinken JOG’da eksen sürerken tezgâhın iki ekseninin birden hareket ettiğini görürsünüz. Bu bir arıza değil, çerçevenin çalıştığının işaretidir.

ROTS, AROTS ve CROTS — uzay açısıyla dönme

ROTS ve AROTS, “programlanabilir çerçeve dönmesi — uzay açılarıyla” olarak tanımlanır. Klasik ROT’ta her eksene ayrı açı verirsiniz; ROTS’ta ise düzlemin uzaydaki konumu tanımlanır. Eğik bir yüzeyin ölçüsü çizimde “şu iki eksene göre şu açıda” biçiminde verilmişse ROTS doğrudan bu bilgiyle çalışır. CROTS ise aynı işlemi bir frame değişkenine atamak için kullanılır.

SCALE ve ASCALE — ölçekleme

SCALE, belirtilen eksenlerde ölçü değişikliği (büyütme/küçültme) uygular; ASCALE eklemeli çalışır. Kalıpçılıkta çekme payı, model büyütme ve prova parçası üretiminde kullanılır.

Ölçeklemede iki tehlike 1. Eksenlere farklı ölçek katsayısı verilirse daireler elips olur, radyüsler bozulur ve takım yarıçapı telafisi beklenmedik sonuç üretir. Kontur bozulmasını istemiyorsanız eksenlere aynı katsayıyı verin. 2. Ölçekleme takım çapını ölçeklemez. Parçayı %2 büyütürsünüz ama takım aynı çaptadır; cep genişliği ile takım çapı arasındaki ilişki değişir. Ölçekli programı çalıştırmadan önce takımın yeni geometriye sığdığını kontrol edin.

MIRROR ve AMIRROR — aynalama

MIRROR, belirtilen eksende yön çevirmesi yapar; sağ/sol simetrik parçalarda tek program yazıp ikinci parçayı aynalayarak işlemek için kullanılır. Job Planning kılavuzu CMIRROR için “bir koordinat ekseninde aynalama” (mirror on a coordinate axis) tanımını verir; MI ise frame’in aynalama bileşenidir.

Aynalama en riskli çerçeve işlemidir Bir ekseni aynaladığınızda işleme yönü ters döner. Bu, eş yönlü frezeleme ile karşı yönlü frezelemenin yer değiştirmesi, dairesel hareket yönünün ve takım yarıçapı telafisi tarafının değişmesi anlamına gelir. Aynalanmış bir programı ilk kez çalıştırırken mutlaka simülasyonla ve tek blokta kontrol edin; takım yarıçapı telafisinin hangi tarafa geçtiğini gözle doğrulayın.

Programlanabilir çerçeveyi silme ve bastırma

KomutEtkisi
TRANS / ROT / SCALE / MIRROR (değer verilmeden)İlgili programlanabilir çerçeve bileşenini siler
G500Bütün ayarlanabilir çerçeveleri devre dışı bırakır; temel çerçeveler etkin kalır
G53Sıfır ofsetini blok boyunca bastırır
G153Temel çerçeveler dâhil bastırma
SUPAEn geniş bastırma: programlanabilir ofsetler, sistem çerçeveleri, el çarkı (DRF) ofseti, harici sıfır ofseti ve bindirilmiş hareket dâhil geçerli sıfır ofsetinin bastırılması

Takım değiştirme noktasına, referans noktasına veya sabit bir bakım konumuna gitmek için yazılan hareketlerde SUPA ya da G53 kullanmak, o hareketin herhangi bir çerçeveden etkilenmemesini sağlar.

Şerh Komutların kendi bloklarında yazılması, değer verilmeden yazıldığında ilgili çerçevenin silinmesi ve G53/G153/SUPA’nın blok bazlı davranışı, kontrol sürümüne ve makine üreticisinin yapılandırmasına göre ayrıntıda farklılık gösterebilir. Bu davranışlar burada kullanılan iki kaynakta özet düzeyinde geçmektedir; kesin sözdizimi için tezgâhınızın Fundamentals programlama kılavuzu esas alınmalıdır.

Frame değişkenleri: G54’ün arkasında ne var?

Panelden girdiğiniz G54 değerleri aslında bir dizi frame değişkeninde saklanır. Job Planning kılavuzu bu eşleşmeyi doğrudan tablo hâlinde verir:

Etkin ayarlanabilir çerçeveVeri saklama çerçevesiKarşılık gelen komut
$P_IFRAME =$P_UIFR[0]G500
$P_UIFR[1]G54
$P_UIFR[2]G55
$P_UIFR[3]G56
$P_UIFR[4]G57
$P_UIFR[5]G505
$P_UIFR[99]G599

Yani G54 yazmak, $P_UIFR[1]’i etkin çerçeve yapmak demektir. Bu tablo, program içinden sıfır ofsetlerini okumak veya yazmak isteyen herkes için temel bilgidir.

Yazmak ile etkinleştirmek aynı şey değildir $P_UIFR[n] ve $P_CHBFR[n] veri saklama çerçeveleridir. Bunlara program içinden değer yazdığınızda değer hemen etkin olmaz. Etkinleşmesi için G500, G54 … G599 gibi bir komutun çalışması gerekir. Buna karşılık $P_IFRAME‘e yazdığınızda değer anında hesaba katılır. Sahada “değeri yazdım ama tezgâh eski değere göre çalışıyor” şikâyetinin sebebi çoğunlukla budur.

Temel çerçeveler: $P_CHBFRAME, $P_BFRAME, $P_UBFR

  • $P_CHBFRAME[n] — kanala özel etkin temel çerçeveler; BCS ile BZS arasındaki ilişkiyi tanımlar.
  • $P_BFRAME — kanaldaki ilk temel çerçeve. Kılavuz açıkça $P_BFRAME = $P_CHBFRAME[0] ve $P_UBFR = $P_CHBFR[0] eşitliklerini verir; bu iki eski değişken uyumluluk için korunmuştur.
  • $P_ACTBFRAME — bütün temel çerçevelerin zincirlenmiş hâli, yalnızca okunur.

Kanal başına temel çerçeve sayısı MD28081 $MC_MM_NUM_BASE_FRAMES ile yapılandırılır. Standart yapılandırma kanal başına en az bir temel çerçeve içerir, en fazla sekiz temel çerçeve desteklenir; bunlara ek olarak kanalda sekiz adet NCU global temel çerçeve daha bulunabilir.

Reset sonrası hangi çerçeve etkin kalır?

Kılavuz bunu makine verisine bağlar:

MD20110 RESET_MODE_MASK Bit0 = 1 ve Bit14 = 1 → $P_UBFR (temel çerçeve) etkin olur Bit0 = 1 ve Bit5 = 1 → $P_UIFR[$P_UIFRNUM] (ayarlanabilir çerçeve) etkin olur

“Reset’e bastıktan sonra G54 duruyor mu, gidiyor mu?” sorusunun cevabı bu bitlerdedir. Tezgâhtan tezgâha farklı olmasının sebebi de budur.

Frame değişkenlerine değer atama: CTRANS, CROT, CSCALE, CMIRROR

Program içinde bir çerçeveye doğrudan değer atamak için C ile başlayan fonksiyonlar kullanılır. Kılavuzdaki sözdizimi şöyledir:

$P_PFRAME = CTRANS(X,<ofset>, Y,<ofset>, Z,<ofset>, …) $P_PFRAME = ROT(X,<açı>, Y,<açı>, Z,<açı>, …) $P_UIFR[..] = CROT(X,<açı>, Y,<açı>, Z,<açı>, …) $P_PFRAME = CSCALE(X,<ölçek>, Y,<ölçek>, Z,<ölçek>, …) $P_PFRAME = CMIRROR(X, Y, Z)
FonksiyonAnlamı
CTRANSBelirtilen eksenlerin ötelenmesi (kaydırma)
CROTBelirtilen eksenler etrafında dönme
CSCALEBelirtilen eksenlerde ölçek değişikliği
CMIRRORBelirtilen eksende yön çevirme
CFINEBir FRAME değişkenine ince ofset atama

Zincirleme operatörü ” : “

İki nokta üst üste operatörü, birden fazla işlemi soldan sağa sırayla aynı çerçeve üzerinde birleştirir:

$P_PFRAME = CTRANS(X,10,Y,20,Z,5) : CROT(Z,45) : CMIRROR(Y)

Bu tek satır şunu yapar: koordinat sistemini X10 Y20 Z5 kaydır, sonra Z etrafında 45° döndür, sonra Y’de aynala. Sıra önemlidir; işlemler yazıldıkları sırayla uygulanır.

Zincirleme, çerçevelerin kendi aralarında da yapılabilir:

$P_IFRAME = $P_UIFR[15] : $P_UIFR[16] ; iki ayarlanabilir veri çerçevesinin zincirlenmesinden ; oluşan sonuç çerçevesi etkin çerçeveye atanır ; örnek: $P_UIFR[15] = kaydırma, $P_UIFR[16] = dönme$P_UIFR[3] = $P_UIFR[4] : $P_UIFR[5] ; sonuç, başka bir ayarlanabilir veri çerçevesine yazılır

Kılavuz bu yapının tipik kullanım alanını da söyler: aynı işlemde işlenecek, bir palet üzerine dizilmiş birden fazla parçanın tanımlanması. Çerçeve bileşenleri palet görevinin ara değerlerini tutar, zincirlenerek farklı parça sıfırları üretilir.

Kendi çerçeve değişkeninizi tanımlama: DEF FRAME

Önceden tanımlı çerçeve değişkenlerine ek olarak kendi çerçeve değişkenlerinizi tanımlayabilirsiniz:

DEF FRAME PALETTE PALETTE = CTRANS(…) : CROT(…) ; kaydırma ve dönmenin zincir sonucu PALETTE değişkenine atanırDEF FRAME SETTING_1 SETTING_1 = CTRANS(X,10) $P_PFRAME = SETTING_1 ; çerçeveyi etkinleştirDEF FRAME SETTING_4 SETTING_4 = $P_PFRAME ; mevcut çerçeveyi sakla … $P_PFRAME = SETTING_4 ; saklanan çerçeveyi geri getir

Son kalıp özellikle değerlidir: bir alt programa girmeden önce mevcut çerçeveyi saklayıp çıkışta geri yükleyerek, alt programın ana programın koordinat sistemini bozmasını önlersiniz.

Frame bileşenlerini tek tek okuma ve değiştirme: TR, FI, RT, SC, MI

Bir çerçevenin tamamını değil, içindeki tek bir değeri okumak veya değiştirmek mümkündür:

BileşenAnlamı
TRÖteleme (kaba ofset)
FIİnce öteleme (ince ofset)
RTDönme
SCÖlçek değişikliği
MIAynalama
R10 = $P_UIFR[$P_UIFRNUM, X, RT] ; etkin sıfır ofsetindeki X etrafındaki dönme açısı R10’a R12 = $P_UIFR[25, Z, TR] ; 25 numaralı ayar çerçevesinin Z ofseti R12’ye R15 = $P_PFRAME[Y, TR] ; etkin programlanabilir çerçevenin Y ofseti R15’e $P_PFRAME[X, TR] = 25 ; etkin programlanabilir çerçevenin X ofseti 25 yapılır ; X25 anında geçerli olur

$P_UIFRNUM değişkeni o an geçerli olan ayarlanabilir sıfır ofsetinin numarasını tutar; böylece “hangi G ofseti aktifse onun üzerinde çalış” tarzı esnek programlar yazılabilir. Bu, çok parçalı işlerde tek bir alt programın bütün ofsetlerle çalışmasını sağlar.

Harici sıfır ofseti: $AA_ETRANS

Harici sıfır ofseti, temel koordinat sistemi (BCS) ile temel sıfır sistemi (BZS) arasındaki doğrusal bir ofsettir ve PLC tarafından da kullanılabilir. Makine verisine göre iki farklı şekilde davranır:

MD28082 $MC_MM_SYSTEM_FRAME_MASK, Bit1Davranış
0$AA_ETRANS[eksen] doğrudan PLC, HMI veya NC programı tarafından yazılır ve doğrudan ofset değeri olarak etki eder.
1Etkin sistem çerçevesi $P_EXTFRAME ve veri saklama çerçevesi $P_EXTFR etkinleştirilir. Kanaldaki hareketler durdurulur, ön işleme durdurulur ve yeniden düzenlenir (STOPRE), ofset her iki çerçeveye yazılır, toplam çerçeve $P_ACTFRAME yeniden hesaplanır, ofset programlanan eksenlerde geri çekilir ve kesilen hareket veya NC programı devam eder.

Arayüz sinyali DB31, ... DBX3.0 0 → 1 olduğunda ofset devreye alınır. Bant üzerinde ilerleyen parçalarda, bağlama aparatı kaymalarında ve otomasyon hücrelerinde kullanılan yöntem budur.

PRESETON ve PRESETONS — gerçek değeri yeniden ayarlama

Her iki fonksiyon da bir veya birden fazla eksen için makine koordinat sisteminde (MCS) yeni bir gerçek değer ayarlar. Bu, eksenin MCS’te sıfır ofseti almasına karşılık gelir ve eksen hareket etmez. İkisi de ön işleme durdurma başlatır ve gerçek konum eksene yalnızca duruş hâlindeyken atanır.

PRESETON (<eksen_1>, <değer_1> [, <eksen_2>, <değer_2>, … <eksen_8>, <değer_8>]) PRESETONS(<eksen_1>, <değer_1> [, <eksen_2>, <değer_2>, … <eksen_8>, <değer_8>])

Aradaki fark kritik ve emniyetle doğrudan ilgilidir:

PRESETONPRESETONS
Referanslama durumuKaybolur — makine ekseni “referanslanmadı / senkronize değil” durumuna dönerDeğişmez
Ön işleme durdurmaEvetEvet
Blokta tek başınaEvetEvet
KısıtKılavuz, referans noktası gerektirmeyen eksenlerde kullanılmasını önerirYalnızca belirli enkoder tipleri ve referanslama modlarında mümkündür
PRESETON referans kaybettirir Kılavuzun kendi uyarısı nettir: makine koordinat sisteminde PRESETON ile yeni bir gerçek değer ayarlamak, makine ekseninin referanslama durumunu “referanslanmadı / senkronize değil” hâline sıfırlar. Orijinal makine koordinat sistemini geri kazanmak için eksenin ölçüm sistemi yeniden referanslanmalıdır (örneğin parça programından G74 ile). Referans kaybı, yazılım limitlerinin ve koruma bölgelerinin geçerliliğini etkiler; bu komutu makine üreticisinin onayı olmadan üretim programında kullanmayın.

PRESETONS’un kullanılabilmesi için etkin ölçüm sisteminin şu koşulları sağlaması gerekir:

  • MD30240 $MA_ENC_TYPE[ölçüm sistemi] = 0 (simüle edilmiş enkoder) veya 1 (ham sinyal enkoderi)
  • MD34200 $MA_ENC_REFP_MODE[ölçüm sistemi] = 0 (referans noktasına gidilemez) veya 1 (artımsal, döner veya doğrusal ölçüm sistemleri için enkoder izindeki sıfır darbesiyle referanslama)

MEAFRAME — uzaydaki üç ölçüm noktasından frame hesaplama

MEAFRAME, ölçüm çevrimlerini desteklemek için kullanılan bir fonksiyondur ve üç ideal nokta ile bunlara karşılık gelen üç ölçülen noktadan frame hesaplar.

Kılavuzun kurduğu problem, kalıpçılıkta ve büyük parça işlemede tanıdıktır: bir parça işleme için konumlandırıldığında, kartezyen makine koordinat sistemine göre konumu genellikle hem kaymış hem de dönmüştür. Tam işleme veya ölçme için ya parçanın pahalı bir fiziksel ayarı gerekir ya da parça programındaki hareketler değiştirilmelidir. Üçüncü yol MEAFRAME’dir: ideal konumları bilinen üç nokta taranır, kontrol aradaki farkı frame olarak hesaplar.

MEAFRAME(<ideal noktalar>, <ölçüm noktaları>, <kalite>)
ParametreAnlamı
<ideal noktalar>Üç ideal noktanın koordinatlarını içeren 2 boyutlu REAL dizi
<ölçüm noktaları>Üç ölçülen noktanın koordinatlarını içeren 2 boyutlu REAL dizi
<kalite>FRAME hesabının kalitesini geri döndüren VAR REAL değişken

Kalite değeri ne anlatır?

DeğerAnlamı
−1İdeal noktalar neredeyse bir doğru üzerinde: frame hesaplanamadı, dönen FRAME değişkeni nötr çerçeve içerir
−2Ölçüm noktaları neredeyse bir doğru üzerinde: frame hesaplanamadı, nötr çerçeve döner
−4Dönme matrisinin hesabı başka bir sebeple başarısız oldu
≥ 0.0Ölçülen üçgeni ideal üçgene eş hâle getirmek için gereken bozulmaların (noktalar arası mesafelerin) toplamı

Kılavuzun açıklaması şudur: ölçülen koordinatların ideal koordinatlara bir dönme ve bir öteleme ile eşlenebilmesi için, ölçülen noktaların oluşturduğu üçgenin ideal üçgene eş olması gerekir. Bu, kareli sapmaların toplamını en aza indiren bir kompanzasyon algoritmasıyla sağlanır. Ortaya çıkan bozulma ölçümün kalitesini değerlendirmek için kullanılabildiğinden, MEAFRAME bunu ek bir değişken olarak geri döndürür.

Nokta seçimi doğrudan sonucu belirler Kalite değerinin −1 veya −2 dönmesi, üç noktanın neredeyse aynı doğru üzerinde seçildiği anlamına gelir. Üç nokta ne kadar geniş bir üçgen oluşturursa hesap o kadar kararlı olur. Küçük ve dar bir üçgenden hesaplanan dönme açısı, ölçüm hatasını büyüterek yansıtır.

MEAFRAME sonucunun kullanılması

MEAFRAME bir ofset çerçevesi döndürür. Bu çerçeve, fonksiyon çağrıldığı sırada etkin olan ayarlanabilir çerçeveye (örneğin G54 ile $P_UIFR[1]) zincirlenirse, sonraki dönüşümler ve işleme için hazır bir ayarlanabilir çerçeve elde edilir. Ofset çerçevesinin zincirde başka bir konumda etki etmesi gerekiyorsa ADDFRAME fonksiyonu ile kanal temel çerçevelerinden birine veya bir sistem çerçevesine zincirlenir.

ADDFRAME ile zincirlemenin ön koşulu Kılavuz açıkça belirtir: zincirlenecek çerçevelerde MIRROR ile aynalama ve SCALE ile ölçekleme etkin olmamalıdır. Ayrıca ayar ve gerçek değerlerin giriş parametreleri parça koordinatlarıdır; bu koordinatlar kontrolün temel sisteminde daima metrik veya inç (G71/G70) ve yarıçap esaslı (DIAMOF) verilmelidir.

Kontrollü uygulama örneği

Kılavuzun örnek programı, hesaplanan çerçeveyi körü körüne etkinleştirmez; önce sınır kontrolü yapar. Bu yaklaşım sahada birebir örnek alınmalıdır:

DEF FRAME CORR_FRAME DEF REAL FIT_QUALITY = 0 DEF REAL ROT_FRAME_LIMIT = 5 ; en fazla 5 derece dönmeye izin ver DEF REAL FIT_QUALITY_LIMIT = 3 ; ideal ve ölçülen üçgen arasında ; en fazla 3 mm sapmaya izin verN200 CORR_FRAME = MEAFRAME(IDEAL_POINT, MEAS_POINT, FIT_QUALITY) N230 IF FIT_QUALITY < 0 SETAL(65000) GOTOF NO_FRAME ENDIF N240 IF FIT_QUALITY > FIT_QUALITY_LIMIT SETAL(65010) GOTOF NO_FRAME ENDIF N250 IF CORR_FRAME[X,RT] > ROT_FRAME_LIMIT ; 1. RPY açısı sınırı SETAL(65020) GOTOF NO_FRAME ENDIF N260 IF CORR_FRAME[Y,RT] > ROT_FRAME_LIMIT ; 2. RPY açısı sınırı SETAL(65021) GOTOF NO_FRAME ENDIF N270 IF CORR_FRAME[Z,RT] > ROT_FRAME_LIMIT ; 3. RPY açısı sınırı SETAL(65022) GOTOF NO_FRAME ENDIF N300 $P_IFRAME = CORR_FRAME ; çerçeveyi ayarlanabilir çerçeve olarak etkinleştir N700 G500 ; ayarlanabilir çerçeveyi devre dışı bırak NO_FRAME: M0 M30

Buradaki mantık şudur: ölçüm kötüyse, sapma çok büyükse ya da hesaplanan dönme beklenenden fazlaysa program alarm verip durur, hatalı bir çerçeveyle işleme başlamaz. Prob ile otomatik parça sıfırı alan her uygulamada bu tür sınır kontrolleri bulunmalıdır.

NCU global çerçeveler ve dönme yasağı

Bir NCU üzerindeki bütün kanallar için tek bir NCU global çerçeve kümesi kullanılır. Bu çerçeveler bütün kanallardan okunup yazılabilir ve ilgili kanalda etkinleştirilir.

Global çerçevelerde dönme kullanılamaz Kılavuzun ifadesiyle: global çerçevelerde eksenler arasında geometrik bir ilişki yoktur; bu nedenle dönme yapmak veya geometri ekseni tanımlayıcıları programlamak mümkün değildir. Global çerçevelerde dönme programlanırsa şu alarm gelir: 18310 Kanal %1 Blok %2 Frame: rotation not allowed Global çerçeveler ile kanala özel çerçeveler zincirlenebilir ve sonuç çerçevesi bütün eksenler için dönmeler dâhil bütün bileşenleri içerir; ancak dönme bileşeni olan bir çerçevenin global bir çerçeveye atanması yine aynı alarmla reddedilir.

İlgili makine verileri

Makine verisiAnlamı
MD28081 $MC_MM_NUM_BASE_FRAMESKanaldaki temel çerçeve sayısı (en az 1, en fazla 8)
MD18601 $MN_MM_NUM_GLOBAL_USER_FRAMESAyarlanabilir çerçevelerin global çerçeve olarak yeniden yapılandırılması
MD18600 $MN_MM_FRAME_FINE_TRANSİnce ofsetin serbest bırakılması (= 1)
MD20110 RESET_MODE_MASKReset sonrası hangi çerçevenin etkin kalacağı
MD28082 $MC_MM_SYSTEM_FRAME_MASKSistem çerçevelerinin davranışı (Bit1: harici sıfır ofseti)

Hangi temel çerçeveler hesaba katılsın: $P_CHBFRMASK ve $P_NCBFRMASK

Kullanıcı, “komple” temel çerçevenin hesabına hangi temel çerçevelerin dâhil edileceğini bu iki sistem değişkeniyle seçer. Değer bir bit maskesi olarak yorumlanır. Değişkenler yalnızca programda yazılabilir, OPI üzerinden okunabilir.

$P_NCBFRMASK = ‘H81’ ; $P_NCBFRAME[0] : $P_NCBFRAME[7] $P_CHBFRMASK = ‘H11’ ; $P_CHBFRAME[0] : $P_CHBFRAME[4]

Reset sonrası ve temel ayarda bu değişkenler $MC_CHBFRAME_RESET_MASK değerine döner.

SINUMERIK 828D’de frame komutları

Job Planning kılavuzunun 828D uygunluk tablosu, frame ile ilgili komutların PPU240.3/241.3, PPU260.3/261.3 ve PPU280.3/281.3 donanımlarında, hem torna hem freze sürümlerinde standart olduğunu gösterir:

Komut grubu828D’de durum
TRANS, ATRANS, CTRANSStandart (tüm PPU sürümleri, torna + freze)
ROT, AROT, ROTS, AROTS, CROT, CROTSStandart
SCALE, ASCALE, CSCALEStandart
MIRROR, AMIRROR, CMIRRORStandart
CFINE, TR, SC, MIStandart
MEAFRAME, ADDFRAME, INVFRAMEStandart
SUPAStandart
TOROT, TOROTX, TOROTY, TOROTZ, TOFRAME, TOFRAMEX/Y/Z, TOROTOFStandart
TCOFR, TCOFRX, TCOFRY, TCOFRZ, TCOABSYalnızca freze sürümlerinde; torna sürümlerinde yok
TRAORI828D’de yok
TRANSMIT, TRACYLOpsiyon

Pratik sonuç: 828D’de frame programlamanın tamamı elinizin altındadır. 840D sl’e özgü bir ayrıcalık değildir. Sınır, çok eksenli oryantasyon dönüşümlerinde (TRAORI) başlar.

Frame’ler ve düzlem döndürme (CYCLE800) ilişkisi

CYCLE800 ile düzlem döndürdüğünüzde aslında bir çerçeve kurulur. Kaynak dokümanın ifadesi nettir: koordinat sistem döndürüldüğünde önceden ayarlanmış sıfır ofseti otomatik olarak döndürülmüş duruma gelir. Yani G54’ü yeniden almanız gerekmez.

Aynı doküman, çerçevelerin kalıpçılıktaki değerini şöyle özetler: koordinat sistemi çerçevelerle önce kaydırılır, sonra eğimli bir yüzeye döndürülür; bundan sonra programlama sırasında eğimi hesaba katmanıza gerek kalmaz. Bütün işleme çevrimlerini, her zamanki gibi parça yüzeyine dik olacak şekilde — örneğin delme çevrimini kullanarak — programlayabilirsiniz.

Makine eksenlerini parça eksenlerine hizalamak için kullanılan CYCLE800 grafik diyalogunun kontrol sisteminde kurulu olması gerekir. Kaynak doküman bu grafik diyalogun kendi tarihindeki geçerliliğini “sadece 840D” olarak belirtir; ancak bugünkü 828D’de de düzlem döndürme çevrimi mevcuttur ve yukarıdaki uygunluk tablosu bunu destekler.

Frame mi, CYCLE800 mü? Eğik yüzeyi döner eksenli bir tezgâhta işliyorsanız CYCLE800 kullanın: çevrim döner eksenleri de hareket ettirir. Eksen döndürmeden yalnızca koordinat sistemini döndürmek istiyorsanız (örneğin parça 3° eğik bağlandı, yüzey düz işlenecek) ROT/AROT yeterlidir.

Sahada en sık yapılan frame hataları

  1. Programın sonunda çerçeveyi silmemek. Bir sonraki program, kalan kaydırma veya dönmeyle başlar. Program sonuna TRANS, ROT gibi silme satırlarını ya da G500‘ü koyma alışkanlığı edinin.
  2. Veri saklama çerçevesine yazıp etkinleştirmeyi unutmak. $P_UIFR[n]‘e yazmak yetmez; G54 … G599 veya G500 çalışmadan değer etkin olmaz.
  3. Aynalanmış programı simülasyonsuz çalıştırmak. MIRROR işleme yönünü ters çevirir; takım yarıçapı telafisi tarafı ve dairesel hareket yönü değişir.
  4. Ölçeklemede eksenlere farklı katsayı vermek. Daireler bozulur, radyüsler tutmaz.
  5. Takım değiştirme hareketini çerçeveden korumamak. Takım değişim noktasına giderken SUPA veya G53 kullanılmazsa hareket etkin çerçeveye göre kayar.
  6. Global çerçevede dönme programlamak. Alarm 18310 ile karşılaşırsınız; global çerçeveler dönme kabul etmez.
  7. PRESETON’u üretim programında kullanmak. Eksen referansını kaybettirir; yeniden referanslama gerekir.
  8. MEAFRAME’i sınır kontrolü olmadan etkinleştirmek. Kötü bir prob ölçümü doğrudan hatalı bir parça sıfırına dönüşür.
  9. Reset davranışını bilmemek. Reset sonrası hangi çerçevenin kalacağı MD20110 RESET_MODE_MASK bitlerine bağlıdır; tezgâhtan tezgâha değişir.

Sık sorulan sorular

TRANS ile G54 arasındaki fark nedir?

G54 ayarlanabilir bir çerçevedir; panelden girilir, programdan bağımsız olarak kalıcıdır ve $P_UIFR[1]‘de saklanır. TRANS ise programlanabilir bir çerçevedir; program içinde yazılır ve G54’ün üzerine biner. İkisi birbirini iptal etmez, toplanır.

Aynı anda kaç çerçeve etkin olabilir?

Teorik olarak zincirdeki bütün basamaklar aynı anda etkindir: temel çerçeveler, ayarlanabilir çerçeve, sistem çerçeveleri ve programlanabilir çerçeve. Sonuç, $P_ACTFRAME içinde toplanır.

Fanuc’taki G68 (koordinat döndürme) SINUMERIK’te ne?

Karşılığı ROT / AROT‘tur. Fanuc’ta G69 ile iptal edilen dönme, SINUMERIK’te ROT komutunun değer verilmeden yazılmasıyla silinir.

Fanuc’taki G52 (yerel koordinat sistemi) SINUMERIK’te ne?

Karşılığı TRANS / ATRANS‘tır.

Bir alt programda çerçeve değiştirirsem ana programı bozar mıyım?

Evet, bozarsınız. Bunu önlemenin yolu, alt programa girmeden önce mevcut çerçeveyi bir FRAME değişkeninde saklayıp çıkışta geri yüklemektir: DEF FRAME SETTING_4 → SETTING_4 = $P_PFRAME → … → $P_PFRAME = SETTING_4.

Paletteki dört parçayı tek programla nasıl işlerim?

Her parça için bir çerçeve kurup zincirleyerek. Kılavuzun tarif ettiği yöntem tam olarak budur: çerçeve bileşenleri palet görevinin ara değerlerini tutar ve zincirlenerek farklı parça sıfırları üretilir. Pratikte ya $P_UIFR[n] ofsetleri zincirlenir ya da DEF FRAME ile tanımlanan kendi çerçeveniz bir döngü içinde kaydırılır.

Dönme açısını neden istediğim gibi giremiyorum?

Çünkü ikinci geometri ekseni etrafındaki dönme −90° … +90° ile sınırlıdır. Bu, RPY gösteriminin matematiksel sonucudur, bir kısıtlama hatası değildir.

Ölçüm çevrimiyle alınan parça sıfırı da frame midir?

Evet. Ölçüm çevrimleri sonucu sistem çerçevelerine yazar ve bunlar da $P_ACTFRAME zincirine dâhildir. MEAFRAME ile üç noktadan hesaplanan çerçeve de aynı zincire girer.

Mentor CNC notu: Frame’ler koordinat sistemini değiştirir; yani aynı program kodu farklı bir yerde ve farklı bir yönde hareket üretir. Yeni bir çerçeve ilk kez denenirken parça bağlı değilken, tek blok modunda ve düşük hızlı ilerleme override’ı ile çalıştırılmalı, hareket yönü gözle doğrulanmalıdır. Aynalama ve ölçekleme kullanılan programlarda simülasyon zorunludur. Bu sayfadaki komut davranışları, değer aralıkları ve makine verileri belirtilen Siemens kaynaklarına dayanır; kontrol sürümüne, makine üreticisinin yapılandırmasına ve tezgâh kinematiğine göre farklılık gösterebilir. Makine üreticisinin kılavuzu her zaman önceliklidir. Bu sayfa eğitim amaçlıdır ve resmî kılavuzun yerini tutmaz.

Kaynaklar

  • Siemens AG — SINUMERIK İleri Seviye CNC Kullanım & Programlama, 05/2010: Bölüm 3.2 Çerçeveler nedir? (koordinat sistemleri, çerçeve türleri, çerçevelerin kullanılması, eğimli düzlemde işleme örneği, programlama bileşenleri tablosu), Bölüm 3.3 Döndürme — CYCLE800 (sıfır ofsetinin döndürülmüş duruma gelmesi)
  • Siemens AG — SINUMERIK 840D sl / 828D Job Planning, Programming Manual, 01/2015, doküman no 6FC5398-2BP40-5BA2: Bölüm 6 Koordinat dönüşümleri (frames) — 6.1 frame değişkenleriyle koordinat dönüşümü, 6.1.1 $P_CHBFRAME / $P_IFRAME / $P_PFRAME / $P_ACTFRAME, 6.2 çerçevelere değer atama (CTRANS, CROT, CSCALE, CMIRROR, zincirleme, TR/FI/RT/SC/MI, DEF FRAME), 6.3 kaba ve ince ofset (CTRANS, CFINE), 6.4 harici sıfır ofseti ($AA_ETRANS), 6.5 PRESETON, 6.6 PRESETONS, 6.7 MEAFRAME, 6.8 NCU global çerçeveler; Bölüm 20.1 Operations ve 20.2 SINUMERIK 828D için uygunluk tabloları
Mentor CNC logosu

MENTOR CNC
Sahadan gelen cnc bilgisi

Mentor CNC; CNC torna, CNC freze, kontrol üniteleri, kesici takımlar ve teknik hesaplamalar konusunda üretim sahasında edinilen tecrübeyi anlaşılır ve uygulanabilir teknik içeriklere dönüştürür.

Amacımız; operatörlerin, öğrencilerin, mühendislerin ve atölye sahiplerinin doğru bilgiye daha hızlı ulaşmasını ve üretimde daha güvenli, verimli kararlar almasını sağlamaktır.