s7 1200 de tia port v10.5 hsc nasıl kullanılır?

Başlatan fractal, 05 Mayıs 2012, 09:24:33

fractal

hızlı sayıcı girişlerini kulklanarak cift kanal encoder okumak istiyorum.enkoderi bağladım plc donanımsal olarak encoderi algılıyor.hsc 1 aktif ettim.hsc nesnesini programıma ekledim.ama bir türlü sayma değerlerini okuyamıyorum?örnek program varmı?
Restantum cogniscutur Quantum deligutur

influx

Hsc aktif ettikten sonra,
Type of counting : Count
Operating phase : AB quadrature (ileri geri sayma için, eğer tek yönlü sayım yaparsanız single phase)
start adress : 1000

Hardware de yukarıdaki ayarlamaları yaptıktan sonra, sayım sonucunu ID1000 adresinde izleyeceksiniz.

fractal

hocam bu cv rv peryot gibi bool ve data tipindekideki değişkenler neye yarıyor.ve bu hsc diye int değişken var değeri 1 görünüyor.o nedir?
Restantum cogniscutur Quantum deligutur

influx

HSC girişi ile kullanılacak hsc secilir, hardware de tanımlanan HSC.
Dır çift yönlü sayımda boş bırakılır.
CV ile sayıcı resetlenir.
New_rv: Sayıcının alabileceği max sayıyı yazmak için kullanılır, istenirse boş bırakılır
RV: new_rv degerini yüklemek için kullanılır.
NEW_CV: saymaya naşlayacağı değer yazılır.
Period: sayma işleminde kullanılmaz.

Kısacası CV haricindekiler pek kullanılmaz yani bana lazım olmadı.

fractal

#4
hocam yardım için çok teşekkürler.

peki s7 1200 program bloklarını yada fonsksiyon bloklarını nasıl çağırıyorum.ben stl de yazmıyorum.örneğin yazamam gerekn  program çeşitli bölümlerden oluşuyor.operasyon 1 operasyon 2 operasyon 3 bunları ob1 değilde ayrı bloklara yazabilirmiyim ayrıyetende alarmlar diye ayrı bir program bloğu daha olucak.bunlar sıra sıra yada aynı andamı çalışacak?ama bende sadece bir operasyon çalışabilir ama alarm herzaman çalışacak gibi...

ve tia portta online program yazma varmı?
Restantum cogniscutur Quantum deligutur

influx

OB1 de yazmak zorunda değilsiniz, sol tarafta project tree penceresi altındaki  Add new block simgesine tıklayın açılan pencereden FC FB OB DB (ne eklemek istiyorsanız) seçin ve projenize ekleyin, eklediğiniz FC leri OB1 içerisinde çağırın programı yükleyin, program işleyişi OB1 de çağırılan sıralamaya göre ilerler, ilk  network te hangi FC yi çağırdıysanız ilk o çalışır sonra aşağı doğru ilerler. Operasyonlar 1,2,3 diye sıralamışsınız, bunların her zaman çalışmasını istemiyorsanız 1 bit vasıtasıyla kontrol edebilirsiniz vs... orası sizin programcılık yeteneğinize kalmıştır.

Online program yazmaktan kastınız nedir? Plc ye online olup yazdığınız programımı izlemekmi istiyorsunuz, eğer yapmak istediğiniz buysa fonksiyon bloğunda üst kısımdaki gözlük simgesine tıklarsanız online olarak programın işleyişini takip edersiniz.

fractal

hocam ben lad da yazıyorum ama blok cağırmayı bulamadım.örneğin alarm bloğunu nasıl çağırıcam.bu call alarm dediğimiz şeyi lad da nasıl yapıcaz..
burdaki yükselen ve düşen kenar tetiklemede farklı.örneğin I0.0 yükselen kanar için birde m0.0 gibi birşey kullanmamız lazım.dene yaptığımda bu m0.0 I0.0 on olduğunda  oda on-off-on-off link yapıyor...

bu interface değişkenlerinedir.programda gecici atamalar yapmak içinmi?
Restantum cogniscutur Quantum deligutur

influx

Zaten V10.50 da sadece LAD ve FBD kullanılır, yapmak istediğin şey panelde alarm geçmişi falan oluşturmakmı? Yapmak istediğin şeyi tam olarak anlatırsan yardımcı olmaya çalışırım.
Programda oluşturduğun FC ler sol tarafta project tree altında listelenecektir, OB1 bloğunu aç ve sürükle bırak şeklinde çalışma sırasına göre blokları OB1 içine bırak, işte çağırdın ama sen en iyisi bir PLC programlama kitabı al, sanırım bu işlerde yenisin.
I0.0 ın yükselen kenarını kullanmak istiyorsan, I0.0 ın açık kontağını ekle arkasınada P_Trig (yükselen kenar) kontağını ekle tabi bu yükselen kenar için bir bitlik alan tanımlamalısın örneğin m10.0 ve arkasından yapmak istediğin işlemi yaz. sen m0.0 ı kullanmışsın ve buda devamlı kontak verip kesiyorsa hardware den m0 clock memory bit olarak tanımlanmış olabilir  yada m0.0 başka bir yerde tetikleniyor, başka türlü söylediğin şey imkansız.

fractal

#8
evet hocam cok basitmiş.main blogunda isteğim yere sürükle bırak şeklinde yerleşiyor...tia portu ilkez kullanıyorum.s7 300 de fazla kullanmadım.kontak içersinde |p| ve |n| var onların p_trig , n_trig farkı nedir?m0.0.....m1.0...ayarlarını zaten yaptım ben örnek olsun diye verdim....



hocam birde bu interface değişkenleri sormuştum.bunlar ara atamalar içinmi?bir yerde hesap yaparken belli sonuçları tutmak içinmi?ben örneğin bunları bu kontak içi |p|-|n| ler için kullanıyorum...fc fb bloklarında interface kısmında input outpu inout temp return gibi özellikler var.bu interface ile bloklara değişken atamasımı yapıyor.yada bir fc de hesaplatılan değer main bloğa döndürmek için gibi..

blok programlamayı örneğin bir pres programı için tek vuruş modu ayar modu sürekli vuruş modu gibi modları fb bloklarıyazıp ordan kullanmayı düşünüyorum..sanırım doğrusuda budur..şunuda tam ayırt edemedim fb mi kullanmalı fc mi?
teşekkürler..
Restantum cogniscutur Quantum deligutur

influx

#9
Alıntı yapılan: fractal - 11 Mayıs 2012, 11:04:30
|p| ve |n| var onların p_trig , n_trig farkı nedir?

Aslında aralarında fark yok,  |p| ve |n| bir bitlik alanların yükselen veya düşen kenarın kullanımında kolaylık olsun diye yapılmış ama ben sıkıntı yaşadım bidahada kullanmadım.

Alıntı yapılan: fractal - 11 Mayıs 2012, 11:04:30
"hocam birde bu interface değişkenleri sormuştum.bunlar ara atamalar içinmi?bir yerde hesap yaparken belli sonuçları tutmak içinmi?ben örneğin bunları bu kontak içi |p|-|n| ler için kullanıyorum...fc fb bloklarında interface kısmında input outpu inout temp return gibi özellikler var.bu interface ile bloklara değişken atamasımı yapıyor.yada bir fc de hesaplatılan değer main bloğa döndürmek için gibi..
blok programlamayı örneğin bir pres programı için tek vuruş modu ayar modu sürekli vuruş modu gibi modları fb bloklarıyazıp ordan kullanmayı düşünüyorum..sanırım doğrusuda budur..şunuda tam ayırt edemedim fb mi kullanmalı fc mi?
teşekkürler.."

Programları FC içerisinde yazacaksın, bu FC leri OB1 içinde çağırıp çalıştıracaksın. Şimdi verdiğin örnek üzerinden ilerleyelim, makinan için 3 modun var, programın kullanımı ve daha sonraki müdaheleler için herbirini farklı FC ler içerisinde yazman daha iyi,  FC lerimiz adı MOD1,MOD2 ve MOD3 olsun, bunları oluşturduktan sonra panelden mod seçimi için 3 adet buton kullanalım, hangi moda basılırsa ilgili merker setlensin diğerleri resetlensin bu merkerlerin adlarıda
MOD_1_BUTON= m10.0
MOD_2_BUTON= m10.1
MOD_3_BUTON= m10.2
panelden mod1 butonuna basılınca m10.0 setlenecek diğer 2 merker resetlenecek kodu yazdıktan sonra (bunu flexible içindede halledebilirsin) sonra OB1 deki MOD_1 FC si nin önüne m10.0 ın açık kontağını
               MOD_2 FC si nin önüne m10.1 ın açık kontağını
               MOD_3 FC si nin önüne m10.2 ın açık kontağını koyacaksın ve hangisi aktif olursa o FC çalışacak diğerleri çalışmayacak, bunu farklı yöntemlerlede yapabilirsin, bazı önlemlerde alman gereke bilir bunlar makinanın çalışma prensibine göre öngörülüp yazılmalıdır.

İnterface alanlara gelince,  örneğin 10 adet motorun var ve bunların çalışma prensipleri aynı ve hepsi için aynı kodları yazman gerekli aynı şeyleri yapmamak için bir MOTOR FB si oluşturduktan sonra bu FB yi istediğin yerde çağırıp kullanabilirsin sürekle bırak şeklinde. aynı şekilde FC ilede yaparsın aralarındaki fark FB kullanarak yaparsan FB ye bağlı bir DB oluşur ve kullandığın alanlar daima kalıcı olur....

fractal

peki s7 1200 hangi giriş çıkış aktif onları nasıl görüyoruz?
Restantum cogniscutur Quantum deligutur

influx


frederic

Merhaba,  hsc'nin saydığı değer enerji gidip geldiğinde sıfırlanıyor, kalıcı bir adrese aktarmama rağmen %id1000 değeri sıfırlandığı için move yaptığım datada sıfırlanıyor.

influx

Startup (ob100) bloğu içerisinde kalıcı hafıza alanında sakladığın değeri ilgili hsc ye yüklemen gerekli.