SINUMERIK 840D programlama,sabit çevrimler ve genel özellikler

Başlatan ( bora ), Ocak 06, 2008, 01:52:06 ÖS

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

metin0147

siemens 810M freze ile alakalı ne varsa, rica edebilir miyim? örnek sağlam program ekler misiniz 810 M için. operatörlük ile alakalı ne varsa bilgi rica edecem sağlam bir link de verebilirsiniz. ingilizceye de razı olabilirim sanırım(zorlansam da)


http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=21904196&caller=view 
buldum ama ingilizce(siemensin kendisitesinden) eğer elinizde yukardaki linkin türkçe tercümesi varsa onu eklerseniz memnun olurum. met_ev@yahoo.com  selam ve dua ile

( bora )

Alıntı yapılan: metin0147 - Mart 03, 2009, 11:07:56 ÖS
siemens 810M freze ile alakalı ne varsa, rica edebilir miyim? örnek sağlam program ekler misiniz 810 M için. operatörlük ile alakalı ne varsa bilgi rica edecem sağlam bir link de verebilirsiniz. ingilizceye de razı olabilirim sanırım(zorlansam da)


http://support.automation.siemens.com/WW/llisapi.dll?func=cslib.csinfo&lang=en&objid=21904196&caller=view 
buldum ama ingilizce(siemensin kendisitesinden) eğer elinizde yukardaki linkin türkçe tercümesi varsa onu eklerseniz memnun olurum. met_ev@yahoo.com  selam ve dua ile

Ne yazık ki Türkçe si yok.
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk

Romelion

Merhaba arkadaşlar. Öncellikle burdaki bilgiler gerçekten çok güzel ve işe yarar mahiyette. Ben CNC'nin acemisiyim ve hangi üreticinin hangi kodları ve standartları kullandığını araştırıyorum. Sinumerik DIN programlama standartlarını destekliyor. 

"Simple programming examples are used to explain the
commands and statements which are also defined
according to DIN 66025."
(Programming guide, 2002 edition)

USA'de RS274D standardı ve Avrupa'da DIN66025/ISO6983 standartları kullanılıyormuş. Bora beyin verdiği bir linkde de bu iki standarda (DIN ve ISO) göre programlama yapıldığı yazıyordu. DIN ve ISO standartları ne kadar farklıdır ya da temelde ne fark vardır acaba bunu biliyor musunuz? Sonuçta G kodları iso kodu olarak da geçiyor. Ayrıca cnc kontrol üniteleri hangi dillerde programlanabilir? Mesela PLC de (okulda SimaticS7-200 vardı) sanırım Ladder, FBD ve STL ile programlanabiliyordu. Ayrıca verilen standart kod linki sanıyorum ki çalışmıyor. İnternette çok falza "Standart kod" yayınları var ancak biri birini tutmuyor. Buyrun ben de bir pdf ekliyim..

[eklenti yönetici tarafından silindi]

Romelion

Sinumerik'de sanırım IF,WHILE gibi döngüler yok doğru mudur? Ama GOTO yönergesini kullanıyor. Aşağıda eklediğim pdf "programming guide" pdf inin bir kısmıdır. Sinumerikde geçen tüm G kodları ve "Statement List" i veriyor. Anlamadığım şey "List of Statements" ve "List of G Codes/Freparatory Function" başlığında da hem g kodları hem STL kodları beraber verilmiş (2 defa yani). Birinde "syntax" da verilmiş ve gruplandırılmış o ayrı. Başka bi sebebi var mıdır? Ayrıca CNC de modal/non-modal kelimeleri ile ne anlatılmak isteniyor?

Sinumerik kodları ektedir:

( bora )

Merhaba dostum.

Öncelikle cnc programlama,iki farklı standarda göre yapılsa da genel olarak kodlar aynıdır.Yalnızca bazı kodlarda fark vardır.


Sinumeik  sistemde;IF,WHILE,WHEN,WHENEVER .... gibi tüm kodları kullanabilirsin.Kod listesinde gördüklerin kafanı karıştırmasın.

"Prepatory function" demek yalnızca G kodu demek değildir.
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk

Romelion

SORULAR:
1-Peki sinumerik hangi dilleri destekkliyor? Yani hangi dillerde programalanabiliyor? Örneğin PLC'lerde ladder/STL... gibi yapılar vardı.
2-Döngü yapıları da standart mıdır acaba? Yani diğer CNC'lerde de (örneğin FANUC) yapı aynı mıdır?

Sanırım Sinumerik'de 2 adet programlama modu var. Biri Sinumerik modu diğeri ISO-dialect. Sinumerik modu varsayılan olarak ayarlıdır. ISO-Dialect modu FANUC mod olarak da geçiyor (ki "döngü yapıları standart mıdır?" sorumun kaynağıdır).
3-Bu durumda ISO modu standart kodları içeriyor yani Siemens'in geliştirdiği fonksiyonları kullanamıyordur mu?  :)
4-Bu modda da (ISO) WHILE/FOR döngüler kullanılabilir mi?

Sinumerik'de döngü yapılarını 90 basımı olan ve sinumerik yazmasına karşın ilginç bi programlama yapısına sahip bir pdf'te bulabildim. Fanuc a ait bir manual'de döngüleri buldum ama yapılar aynı mı bilmiyorum hala. Benim bulduğum döngü yapıları aşağıda ektedir. Doğruluklarını teyid edebilirseniz en azından çok iyi olur. Lütfen sinumerikde döngüleri bulabileceğim bir pdf, link vb. verebilir misiniz ya da buraya yazabilir misiniz? Teşekkürler.

( bora )

Şimdi bak dostum.
Öncelikle sen PLC ve CNC programlamayı birbirine karıştırıyorsun.Bahsettiğin LADDER ya da STL gibi terimler PLC programlama terimleridir ve CNC programlama ile hiç alakası yoktur.

Sinumerik programlamada çevrimler (delik delme,kılavuz çekme,cep frezeleme,delme kalıpları v.b...) "ALT PROGRAM" lardan oluşur.Yani Fanuc gibi direkt G kodları ile yazım pek yapılmaz.Tabi bu tarz yazımı destekleyen üniteler de vardır ama bu makine marka ve modeline göre değişir.

Eğer yalnızca ISO programlama modunda çalışmak istiyorsan; yazdığın programın en başına G291 (ISO moda geçiş) kodunu yazarsın ve Sinumerik moddan çıkmış olursun.

Sinumerik sistemler genel olarak "diyalog" programlama mantığı ile çalışır.Yani operatörün işini kolaylaştırmak için özellikle çevrimlerde "soru-cevap" şeklinde parametreleri girersin ve makine kendisi programı oluşturur.

Özellikle IF,WHILE,WHEN gibi komutları dünya üzerinde gördüğün tüm tezgahlarda kullanabilirsin bunu unutma!Hangi standartta programlandığı farketmez.


Döngü (çevrim) yapıları konusunda da ,  yukarıda belirttiğim gibi eğer ISO ile programanan tezgahta çalışıyorsan G81,G84 v.b. kullanacaksın.Eğer Sinumerik tezgahta çalışıyorsan CYCLE81,CYCLE84 gibi "çevrim alt programları" kullanacaksın.

Kaynak için ise ;

http://www.automation.siemens.com/doconweb/

bakabilirsin.Siemens in kendi sitesinden..
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk

Romelion

"Öncelikle sen PLC ve CNC programlamayı birbirine karıştırıyorsun.Bahsettiğin LADDER ya da STL gibi terimler PLC programlama terimleridir ve CNC programlama ile hiç alakası yoktur."

Evet. Doğru bir tespit. Hatta eksiği var. Ben bunları (PLC/CNC) karıştırmıyor direk yakın üniteler olarak görüyorum (ki yapı itibari öyle olmak zorundalar) ve bu sebeple birden fazla şekilde/dilde programlanabilme ihtimalini düşünüyor(d)um. Yani sadece G kodları ("G+sayı" şeklinde olan kodlar; örn:G01) ve kelimesel olan kodların(DISABLE, GOTO gibi) aynı sayfada yazılması ile kodlanıyor. Kastettiğiniz "diyalog" budur sanırım.

IF, WHILE, WHEN...  standart veya değil her modda ve ünitede var dediniz. Bu çok iyi bir bilgi benim için. Ancak  benim asıl sormak istediğim bu döngü yapılarının notasyonu hakkındaydı. Yani IF yapısı için:
Fanuc'da :         N20  IF[<koşul>]GOTO 2;
Siemens'de :      N30  IF<koşul>GOTO 2;
olması ve Fanuc'da fazladan "[,]" işaretlerinin yer almasıdır.(Ben boyle olduklarını okudum. Lütfen yanlışsa düzeltin.)
Hatta belki Omron'da da daha farklıdır.

Peki bu durumda ISO mod Siemens bilmeyen birinin de programlama yapabileceği mod ise hangi örneğe göre yapacak?
Ya da daha genel ifade ile IF, WHEN.. notasyonlarının her CNC'de geçen bir şekli var mıdır? (Artık biliyorum ki her CNC ünitesinde var)

Yoruyorsam kusura bakmayın lütfen. Saygılar,

( bora )

Alıntı yapılan: Romelion - Ağustos 30, 2009, 10:13:38 ÖÖ
"Öncelikle sen PLC ve CNC programlamayı birbirine karıştırıyorsun.Bahsettiğin LADDER ya da STL gibi terimler PLC programlama terimleridir ve CNC programlama ile hiç alakası yoktur."

Evet. Doğru bir tespit. Hatta eksiği var. Ben bunları (PLC/CNC) karıştırmıyor direk yakın üniteler olarak görüyorum (ki yapı itibari öyle olmak zorundalar) ve bu sebeple birden fazla şekilde/dilde programlanabilme ihtimalini düşünüyor(d)um. Yani sadece G kodları ("G+sayı" şeklinde olan kodlar; örn:G01) ve kelimesel olan kodların(DISABLE, GOTO gibi) aynı sayfada yazılması ile kodlanıyor. Kastettiğiniz "diyalog" budur sanırım.

IF, WHILE, WHEN...  standart veya değil her modda ve ünitede var dediniz. Bu çok iyi bir bilgi benim için. Ancak  benim asıl sormak istediğim bu döngü yapılarının notasyonu hakkındaydı. Yani IF yapısı için:
Fanuc'da :         N20  IF[<koşul>]GOTO 2;
Siemens'de :      N30  IF<koşul>GOTO 2;
olması ve Fanuc'da fazladan "[,]" işaretlerinin yer almasıdır.(Ben boyle olduklarını okudum. Lütfen yanlışsa düzeltin.)
Hatta belki Omron'da da daha farklıdır.

Peki bu durumda ISO mod Siemens bilmeyen birinin de programlama yapabileceği mod ise hangi örneğe göre yapacak?
Ya da daha genel ifade ile IF, WHEN.. notasyonlarının her CNC'de geçen bir şekli var mıdır? (Artık biliyorum ki her CNC ünitesinde var)

Yoruyorsam kusura bakmayın lütfen. Saygılar,


Sana PLC ile ilgili çok genel bir cevap vereyim;

Günümüzde "otomat" diyebildiğin tüm makine,bant-konveyör  sistemi,ağır iş makinesi ve hatta otomobiller bile PLC programlama sayesinde "otomat" olarak çalışır.PLC, kullandığın "otomat" makinenin "saf" ve "ana" programı-iskeletidir.PLC ile "otomat" hareketlerin-işlemlerin kurallarını ve hangi iş elemanlarına başvuracağını,kontaktör veya röle açma-kapama , veri alışverişi ve hatta voltaj ve omaj ayarlarını dahil PLC ile tanımlarsın.

Bu iskeleti tanımladıktan sonra , mesela CNC makineler için;
Sıra hangi kodları "PLC ÜZERİNE TANIMLAYACAĞINA ve KODLARI NASIL YORUMLAYACAĞININ AYARINA" gelir.

Senin düşüncen çok doğru "CNC ve PLC yakın ünitelerdir".
Burada şu ayrımı yapabilmen çok önemli;CNC ve PLC birbiriyle "TAM ETKİLEŞİMLİ VE KESİNLİKLE BERABER ÇALIŞAN AMA BİRBİRLERİNDEN AYRI YAPILARDIR".PLC olmadan CNC kodların hiçbir anlamı olmaz.Ama kesinlikle birbirlerinden ayrı yapılardır.

Diyalog programa gelince;
Diyalog program:Kontrol sistemi,yapacağın bir çevrim veya normal bir işlem için karşına bir "grafik" çıkarır.Örnek olarak ben CYCLE81 i vereceğim şimdi.
Programlama sayfasında "GUIDING" sekmesine geldiğinde,karşına bazı yardım seçenekleri çıkar.Delme ve frezeleme çevrimleri gibi seçenekler vardır.
Diyelim ki ben CYCLE81 i seçtim.Karşıma yeni bir sayfa açılır.Bu sayfada CYCLE81 de kullanılması gereken parametreler ve bu parametrelerin ne anlama geldiği bir resim üzerinde gösterilmiştir.Bu çevrim için ihtiyaç olan tüm parametrelerin sayısal değerlerini makine bana sorar.Ben de sırayla cevaplarım.En sonunda ihtiyacım olan programı makine kendisi bana oluşturur.


Koşullar konusunda ise şöyle bir şey var.
IF,GOTO gibi şartlandırmalarda,her kontrol sistemi ya da makine markası farklı yazım kuralları koymuştur.Ama mantık aynıdır.
Örnek olarak;
OKUMA makinede şartsız atlama:

IF [VC10 EQ 1 ] GOTO N1 (Eğer VC10 ortak değişkeni "1" e eşitse N1 bloğuna atla)

SINUMERIK 840D için;

IF  R10==1 GOTO N1    (Eğer R10 ortak değişkeni "1" eşitse N1 bloğuna atla)

Gördüğün gibi mantık aynı ve == ile EQ tanımları da aynı anlamda kullanılmış.Ama yazım kuralları farklı.

Bu yüzden mantığı bil ama hangi makinede çalışacaksan o makinenin kullanım kılavuzuna bakmak zorunda kalacaksın.
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk

Romelion

İlginiz için gerçekten teşekkürler.

Peki ISO mod, namı diğer Fanuc mod, (G291 Switch to FANUC mode ON, Programming guide pdf, 2002 basım) bu modda IF,WHILE'ler nasıl kullanılır?? Sonuçta siemens ünitesinde Fanuc mod diye birşey var ve notasyonlar farklı.

( bora )

Ben siemens kontrol panelinde hiç ISO modda programlamaya gerek duymadım şu ana kadar.O yüzden sana kesin bir bilgi veremem.

Ama her ne kadar ISO moda da geçsen,siemens örneğinde verdiğim gibi

IF R10==1 GOTO N1 şeklinde kullanman gerekir diye düşünüyorum.Fanuc konusunda çok ileri bilgim yok.

Fanuc'ta şartlandırmalar konusunda daha ayrıntılı bilgi için FANUC bölümünde arama yaptırıp istediğin bilgiyi bulabilirsin.

Ama yine dediğim gibi en doğru bilgiyi kullandığın makinenin kullanım kılavuzundan alırsın.
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk

( bora )

Öncelikle senin mesajlarına eklediğin kitapları ben zaten daha öncce geniş bir arşiv şeklinde paylaşmıştım.

IF,WHEN veya WHENEVER kullanırken eğer bir değişkeni sorgulayacaksan ya da bir sayı atayacaksan parantez koymana gerek yok(koysan da olur tabi).
Ama matematik işlemi yapacaksan veya birden fazla sorgulama yapacaksan parantez koyacaksın.

IF ((R10==100) OR (R10>95))  GOTO N95


Senin verdiğin örnek biraz farklı.Benim verdiğim örneklerde dikkatini çektiyse eğer hep R parametreleri kulandım.Yani basit bir şekilde istenilen R parametresinin değerini sorgulayıp , şarta göre işlem yapıyor.


Senin verdiğin örnekte ise bahsedilen VAR1,VAR2 gibi terimler , tanımlama ile kullanıcının oluşturduğu "kelime" bazlı değişkenler.Bu değişkenler;
GUD(Küresel kullanıcı değişkeni) ,
LUD (Yerel kullanıcı değişkeni ) ,
PUD (Küresel program değişkeni)

Programcının işini kolaylaştırmak ve sonsuz sayıda değişkene sahip olması için tasarlanmış özelliklerdir.

Kuulanım alanları çok daha geniştir ve programcının tanımlamasına göre "gerçek sayı" , "integral" , veya "sözcük" olarak tanımlanabilirler.

Şimdi sen programlamaya yeni başlamışsın ama bu bahsettiklerim "ileri programlama" konuları.En önce basit olarak IF,WHEN gibi şartlandırmalarla ne yapacağını tam öğren,daha sonra bunlara geçersin.


Uzun lafın kısası;IF şartlandırması kullanacağın zaman sen parantez kullan.Alışkanlığın olsun.Çünkü sinumerik haricinde tüm sistemlerde parantez kullanman zorunludur.
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk

Romelion

Merhabalar yine ben. Doğrudur, CNC acemisiyim. Ben daha çok genel prograamlama mantığı ile ilgileniyorum.

Şimdi bir soru daha soralım değişken tanımlarken DEF INT <değişken adı> ile user-defined değişken tanımlayabiliyoruz. Ayrıca sistemde hazır R değişkenleri de var (R+iki rakam, örn: R10). Peki etiket tanımlamak diye birşey var mı?? Yoksa direk ne yazsam olur mu? Ayrıca sistemde hazır olarak (pre-defined) STARTLABEL, ENDLABEL gibi etiketler de var. Manual'lere bakıyorum hepsi birbirini referans vermiş. Nasıl kullanıldığı yazıyor ama tanımlama gibi birşeyden bahsetmemiş.

Romelion

Birşey daha makine parametrelerinden de biraz bahsedebilir misiniz? Makine parametresi CNC ünitesine mi aittir yoksa ünitenin bağlı olduğu makineye mi? Genel olarak ortak parametreler (aynı adı taşıyan) var mıdır?
Aşağıdaki parametrelerden de biraz bahsedebilir misiniz acaba? Çok teşekkürler.


Sinumerik'de sistem değişkenleri (Makine parametreleri) tanımlanırken:

Sistem değişkenlerinde:
$ işaretinden sonra gelen  ilk 2 harf sistem değişkenin tipini belirler.

1. Harf   Anlamı                                             1.Harf   Anlamı
$M    Machine data                                    N    NCK global
$S    Setting data                                     C    Channel-specific
$T    Tool management data                       A    Axis-specific
$P    Programmed values
$A    Current values
$V    Service data

( bora )

Dostum maşaallah çok hızlısın...
Çok güzel.

Kullanıcı tanımlamaları kullanma esasen çok basittir.Yalnız bazı durumlarda , ünite versiyonuna ya da üretici firmanın yaptığı değişikliklere bağlı olarak tam olarak etkili olmayabilir.Ama bir çok SINUMERIK kontrol sisteminde problemsiz kullanılabilir.

ETİKETLER İÇİN TANIMLAMA YAPMANA GEREK YOKTUR.

Kullanıcı tanımlamaları yaparken;neyi tanımlayacağımıza karar vermeliyiz.
Bunlar;
REAL : Gerçek sayı
INT   :Ortak değişken
CHAR :Karakter
STRING : Satır
AX       :Eksen

olabilir.

Bildiğin gibi normalde sinumerik sistemde ortak değişken olarak "R" parametreleri kullanılır.R parametresi kullanmak istemiyorsan ya da yapacağın iş daha kapsamlı,karmaşık ise DEF ile tanımlamalar yapabilirsin.

DEF REAL ADIM  tanımlamasını yaparak "ADIM" tanımının bir "gerçek sayı" olduğunu belirtirsin.Kullandığın programda da

ADIM=2 yazdığında ADIM tanımının değeri "2" olur.

Diğer tanımlama örneklerini  zaten el kitabından  okuyabilirsin.


Makine parametrelerine gelince;

Yazmış olduğun parametreler kontrol ünitesi aracılığıyla makinenin çalışma prensibini-davranışını belirler.Kısacası herşey bu parametrelere bağlıdır.

Her makinede olduğu gibi siemens makinelerde de parametreler sınıflandırılmıştır.Yazdığın tabloda da görülüyor.Normalde bu parametrelerin anlamlarını zaten makinede"START UP " bölümüne girdiğin zaman görürsün.Makinedeki menülerde sana $M diye değil "machine data" diye gösterilir.

Yalnız sanırım senin etrafında sinumerik makine yok ya da dokundurmuyorlar.
Bu işte yeni olduğunu söylüyorsun ama hep "ileri programlama" soruları soruyorsun.

Bi tanıt bakalım kendini.
Hiçbir şeye ihtiyacımız yok,yalnız bir şeye ihtiyacımız vardır;çalışkan olmak!

K.Atatürk