Kayıtlar

Mart, 2023 tarihine ait yayınlar gösteriliyor

VBA - Palet etiketleme makinesi animasyonu

Resim
  Youtube da izleyebilirsin.. Daha önceki bir yazıda Csharp ile S7-1200 plc yi haberleştirerek, palet etiketleme çalışması yapmıştım.. Bu kez bir haberleşme olmadan sadece cihazın nasıl çalıştığını herkesin görebilmesi için Excel VBA kullanarak bir animasyon çalışması yaptım. Dosyayı sizinle paylaşıyorum , indirdikten sonra sağ klik ile dosya özelliklerine girip engellemeyi kaldır (Genel sekmesinde en aşağıda) kutucuğunu işaretlemelisiniz. Aksi halde kodlar çalışmayacaktır.. Butonlara yukarıdan aşağıya doğru sırayla ve her işlemin bitmesini bekleyip öyle basmalısınız.. Bir şekli, rotation özelliğini kullanarak kendi etrafında döndürebiliyorsunuz. Fakat bu dönme hareketi şeklin merkezine göre oluyor. Yaptığım animasyonda üçgen şekil (etiketi vakumla tutan pad) merkezden değil, bir köşesinden dönüş hareketi yapıyor. Bunu yapmak için yani dönüş merkezini köşeye taşımak için, üçgenin yanına bir üçgen daha yerleştiriliyor ve iki üçgenden grup oluşturuluyor.. Böylece ilk üçgenin köşesi, gru

VBA - Excel ile SQL

Resim
  Youtube da izleyebilirsin.. SQL, veritabanından bilgi okumak, veritabanına bilgi yazmak veya bilgiyi değiştirmek amacıyla kullanılan standart bir dildir. SQL öğrenmek için ilk aşamada SQL server kurmanıza gerek yok, sadece Excel kullanarak bu konuya giriş yapabilirsiniz.  ADO bileşeni ile Excel'den MSSQL server, MSACCESS veya Excel sayfasına bağlantı kurabilirsiniz. VBA kodunda sadece bağlantı bilgisini (connection string) içeren satırı değiştirmeniz yeterli olacaktır.  MSSQL server için bağlantı bilgisi : connectionString = "Driver={SQL Server};Server=servername;Database=databasename;Uid=sa;Pwd=password;" Alt+F11 ile ulaştığımız VBA kod sayfasında Tools > References bölümünde Microsoft ADO Library kütüphanesini seçmeniz gerekiyor..  Örnek .xlsm uzantılı dosyayı buradan indirebilirsiniz .. Dosyayı açarsanız Security Risk uyarısı verecek ve VBA kodu çalışmayacaktır. Sağ klik ile dosya özelliklerine tıklayın ve resimdeki gibi en altta bulunan kutucuğu işaretleyin, ard

VBA - Barkod okuyucu ile ürün etiketi basma

Resim
  Youtube da izleyebilirsin.. Bir konveyörden farklı ürünlere ait koliler geldiğini hayal edin.. Her koli üzerinde farklı barkod numaraları olabilir.. Amaç bu barkodu barkod okuyucu ile okuyup o koliye uygun ürün etiketinin basılması ve koliye otomatik olarak yapıştırılmasıdır. Novexx Print and Apply cihazları etiketi basıp yapıştırabilir ama birinin ona ne basacağını iletmesi gerekir. Bu aşamada yine Excel VBA da geliştirdiğim yazılım devreye giriyor..  Yazılım ihtiyaca göre yeniden düzenlenebilir. Ben barkod dışında sadece fiyat bilgisini yazdırdım örnek olarak. Barkod okuyucu seri port ile Excel’e bağlı, okuyucu simülasyonu için Hercules  programında Serial sekmesini kullandım. Excel’e seri porttan bilgi almak için Mscomm ActiveX bileşenini kullandım.. Yazıcı, ağ kablosu ile Excel’e bağlı, bunun için Generic / Text Only windows sürücü ve yine Hercules de TCP Server sekmesini kullandım. Hercules de boş kutucuğa 9100 numaralı portu yazıp, Listen butonuna tıklamak yeterli oluyor. Sim

Windows 10 da Generic / Text Only yazıcı kurulumu

Resim
  Yazdırma için kullanılan uygulama, yazıcının almayı beklediği komut dilini doğrudan çıktı olarak veriyorsa, yazdırma için kullanılan sürücünün yalnızca bilgileri yazıcıya iletmesi ve herhangi bir şekilde değiştirmemesi gerekir. Generic / Text Only , Windows sürücü bu işi yapar..  Novexx yazıcının komut dili EasyPlug, Zebra yazıcının komut dili ZPL olarak geçmektedir.. Siz yazıcıya direk bu dillerden biriyle bilgi yollayacaksanız bu Windows sürücüyü kullanabilirsiniz.  Bu sürücü, SAP veya ERP sistemlerinden etiket çıktısı alırken de kullanılabilmektedir. Yazıcı dilini kullanmanın bir avantajı ise şudur; yazıcıya bir barkod yazdırmak için bir metin (EasyPlug) yollamak yeterli olacak, yani ücretli kütüphane dosyaları veya etiket yazdırma yazılımları kullanarak barkod oluşturmanıza gerek kalmayacaktır.  Notepad ile açılıp düzenlenebilen etiket şablon dosyasını (EasyPlug dosyası) nasıl kolayca elde edebileceğinizi bu yazıda anlatmıştım . Denetim Masası > Aygıtlar ve Yazıcılar > Yazı

VBA - Mscomm (seri port) ile veri loglama

Resim
  Youtube da izleyebilirsin.. Örnek projemizde, seri port ile haberleşen bir cihazdan (barkod okuyucu, terazi, PLC, Arduino..) Excel sayfasına bilgi alacağız. Yazılımı geliştirmek için tek ihtiyacımız Excel oluyor.. Seri haberleşme için eskiden beri (yaklaşık 30 yıldır) VB6 ile kullanılan MSCOMM32.OCX isimli ActiveX bileşeni kullanıyoruz. Önceki yazıda bahsetmiştim, yine hatırlatayım, bu tip bileşenleri kullanabilmemiz için Excel versiyonumuz 32-bit olmalıdır. Hesap > Excel Hakkında penceresinde en üstte yazıyor.. Office versiyonu önemli değil 2007-2021 arası hatta 365 olabilir, hepsinde çalışır.. (365 bulut sürümü hariç, orada VBA değil kodlaması Basic e göre çok daha zor olan TypeScript veya JavaScript kullanılıyor..)  Neyse ki Microsoft, eski VBA müşterilerini kızdırmamak için VBA desteğini yeni Office uygulamalarında da devam ettiriyor. Senaryo şu şekilde; seri porttan gelen virgül ile ayrılmış bilgiler 6. satıra gelecektir.. Her bilgi geldiğinde 10. satır bir alt satıra kayaca