USB/Seri Port Üzerinden Mavis IO Kullanımı

 

 

 

 

 

 

 

 

Giriş Çıkış modülünü test edebileceğiniz Mavis DIOMaster test programı buradan indirilebilir.

Mavis Digital IO, hem USB hem de seri port üzerinden kullanılabilmektedir. Gerek USB, gerek seri port, kendine özgü avantajlara sahiptir. IO modül için

USB avantajları,

  • Her tür bilgisayarda standart olması
  • USB 2.0 için 2.5W güç sunması (USB 3.0 da 4.5W)
  • Çok hızlı olması
  • USB kablolarının hemen her yerde bulunabilir ve standart olması

gibi özellikler sayılabilir.

Seri Port kullanan IO modülün avantajları ise

  • Endüstriyel ortamlarda kopma, veri kaybı vb. sorun yaşanmaması
  • USB ye göre çok daha uzun mesafelere çıkabilmesi
  • Driver vb. bir şeye ihtiyaç duymaması
  • Port bir defa açıldıktan sonra, kapatılana kadar cihazda olan kopmalar vb. problemlerden, bilgisayar tarafındaki yazılımın etkilenmemesi

gibi maddeler sayılabilir. Gerçekte, her uygulamanın kendi dinamikleri olacaktır ve seri port ya da USB kullanımı uygulamanın ihtiyacına göre değişkenlik gösterecektir. Yaptığımız kurulumlarda, daha kolay uygulanabilir olduğu için, ilk olarak USB ile bağlantıyı deniyoruz. Herhangi bir problem çıkması durumunda alternatif olarak seri port kullanımına geçiyoruz. Mavis digital giriş çıkış modülü IO Master, hem seri hem de USB ile bağlantı kurularak çalışabilmektedir.

IOMaster Cihazının Üstten Görünüşü (Elektriksel)


Mavis IOMaster cihazını, Seri Port üzerinden kullanmak için;

1. Port Bağlantıları

A. Seri Port Bağlantısı

Seri modda iletişim sağlanacak ise, USB kablosu çıkartılmalıdır. Seri portun hemen yanındaki girişte, 12V ile besleme yapmak gerekir. (USB modda besleme bilgisayardan alınmaktayken, Seri port modunda bilgisayardan besleme alınmamaktadır. Bu yüzden harici olarak 12V DC ile IOMaster kartını beslemek gerekmektedir.) Eğer seri port değil de USB ile bağlantı yapılacaksa, o zaman 12V beslemesi mutlaka kaldırılmalıdır.

B. USB Bağlantısı

Seri port yerine USB ile bağlantı kurulacaksa, varsa seri port kablosu çıkartılmalı, ve varsa 12V. seri port beslemesi kaldırılmalıdır. USB, bilgisayardan 2.5W güç çeker ve bu 2.5W, modülün içindeki mikroişlemciyi çalıştırmaya yeter. Dolayısıyla modülü çalıştırmak için beslemeye gerek kalmayacaktır. (Not : Çıkış rölelerini veya transistörlerini çalıştırabilmek için, çıkışa 24V. besleme uygulamak gerekecektir)

2. Dijital Giriş Uygulama

IO Master, 8 dijital girişin herhangi birinde bir değişiklik olduğunda seri port üzerinden girişlerin son halini bilgisayara iletecektir. Dijital girişler 9 pinlik taraftan yapılır. En sondaki pin ortak uç (COM-) diğerleri ise, 5-24V arası sinyalin uygulanacağı uçlardır. Herhangi bir dijital giriş uygulandığında hemen önündeki led yanacaktır.

Uygulamada, tetik sinyali olarak adlandırdığımız giriş işareti, 5-24V arası gerilim taşıyan 2 uçlu bir kablo şeklinde olacaktır. İşareti uygulamadan önce ölçü aletiyle ölçüm yapılır. 5-24 V arası uygun bir DC gerilim ise, bir ucu COM- ucuna, diğeri 8 giriş noktasından herhangi birine bağlanmak suretiyle giriş işareti uygulanmış olur.

3. Çıkış Verilmesi (Röle ya da NPN)

IO Master kullanarak, 8 çıkış rölesi ya da tranzistörü SET edilebilir. Tranzistörler – (eksi) çıkış verirler.

Burada dikkat edilmesi gereken önemli nokta, çıkış röle/NPN set edebilmek için, çıkış rölelerinin 24V DC gerilim ile beslenmesi zorunluluğudur. Girişler ve çıkışlar optik izolasyonlu olduğundan dolayı, kart üzerindeki giriş ve çıkışlar bağımsız olarak çalışmaktadırlar.

4. USB Haberleşme Protokolü

Cihaz ile USB üzerinden haberleşebilmek için, mavis tarafından geliştirilmiş C# uygulamaları kullanılabilir.

Mavis DIOMaster test programı buradan indirilebilir.

Open Source (açık kaynka kodlu) mavis uygulamaları, her türlü ihtiyacı giderecek örnekler sunmaktadır.

5. Seri Haberleşme Protokolü

Seri Port, 19200 ya da 9600 bps hızında, DataBits : 8, Parity : None, Stop Bits : 1, Handshaking : None şeklinde konfigüre edilmelidir.

PC ile IO Master kartı arasındaki haberleşme protokolü son derece yalındır. Bu kadar yalın bir protokol seçmedeki amaç, olabildiğince en hızlı ve olabildiğince bekleme olmaksızın haberleşme sağlamaktı. (Aksi halde paketlerin tamamının geldiğinden emin olunamaması durumunda, geniş bekleme süreleri konulacaktı ki, tüm bunlar performans açısından iyi oolmayacaktı)

IO Master, Seri Port ile bilgisayara bağlandıktan sonra, herhangi bir seri port haberleşme programı ile tüm fonksiyonlar test edilebilir. (Hyperterminal vb. programlar kullanılabilir. Benim kullandığım programı buradan indirebilirsiniz)

Seri Port ile kullanılabilecek Fonksiyonlar

Öncelikle; cihazın girişlerinde herhangi bir değişim olması durumunda, cihaz otomatik olarak bu bilgiyi tek 1 Byte olarak bilgisayara gönderecektir.

Bunun dışında, istenildiği anda Sorgulama ve Set etme işlemleri yapılabilir. Her işlem için cihaza 2 byte gönderilir.

Sorgulama için ilk byte 100 (ascii d harfine denk gelir)
Set etmek için ilk byte 200 dür.

aşağıdaki örnekler net olarak açıklamaktadırç

3.1. Cihazın Adını (Varlığını) Sorgulama : N komutu

Gönderilecek Komut :  (byte)100 + “N”
String olarak : dN

Bu komut düzgün olarak iletilirse, cihaz

Mavis USB/Serial IO 8×8

bilgisini geri iletecektir. (Kendi kullandığım Terminal programının ekran görüntüsü)



Bu genellikle, en başta, tüm sistemin çalışırlığını test eden komuttur. Ekranda Mavis USB/Serial IO 8×8 yazısını görmüşseniz, IO Master düzgün olarak çalışıyor ve bağlantılar sağlam demektir.

3.2. Giriş Değerlerini (Dijital Inputları) Sorgulama : G komutu

Gönderilecek Komut :  (byte)100 + “G”
String olarak : dG

Seri porttan dG ifadesi gönderilirse, tek byte lık cevap alınır. Alınan cevap girişteki input değeridir. 8 girişten, işaret uygulanmış olanlar bit 0, işaret uygulanmamış olanlar bit 1 ile  byte oluşturulur. (Diğer bir deyişle, girişte alınan byte değerini 255 ten çıkartarak salt giriş bitleri de elde edilebilir. Tümleyenini alma işlemi)

yukarıdaki örnekte, 3. pine işaret uygulanmış ve 251 değeri sorgulanmış.
3. pin = 2 üzeri 2 (0 dan başlarsak) = 4
255-251 = 4

değeri değerlendirilir.

3.3. Çıkış Değerlerini (Dijital Output) Set Etme : 200 komutu

Gönderilecek Komut :  (byte)200 + Set Edilecek Byte

3. pin i set etmeye yarayan örnek gönderim :

byte b = 4;
byte[] hdr = { 200, b };
serialPort.Write(hdr, 0, 2);

Eğer, sistemin bilmediği bir komut iletilirse Error bilgisi ile birlikte, iletilen komutu geri döndürür.

3.4. Anlık Değişen Giriş Değerlerini Okuma

serialPort1_DataReceived

event’inde seri port taki byte okunarak, giriş değeri elde edilebilir.

Ek :

Terminal programını kullanarak byte gönderme

Mavis ADC (Analog Digital Converter)

Mavis olarak geliştirdiğimiz elektronik cihazlara bir yenisini ekledik : Analog Digital Converter. Kameralı kontrol projelerimizde, çeşitli analog sensörlerden gelen verilerin toplanması gündeme geldiğinde, piyasadan ihtiyacımıza uygun ürün bulmakta zorluk çekmemiz sonucu, kendi 8 ve 10 bit analog sayısal dönüştürücülerimizi geliştirdik.

Kullanımı çok pratik olan ADC, 12 volt besleme gerilimi ile çalışmaktadır. Analog işaret, 2 uca girildikten sonra, sonucu seri port ya da usb den bilgisayara sayısala dönüştürülmüş olarak göndermektedir. gönderim sürekli ya da istenildiğinde (soruya cevap) şeklinde olabilmektedir.

Piyasada var olan ADC ler, kullanımı zor, yazılıma uyarlaması zahmetli olan modellerdi. Mavis ADC, tak-çalıştır kolaylığında, herhangi bir kütüphane yüklemeye ihtiyaç duymayan, oldukça yalın ve basit yapıdadır.

0-10V giriş gerilimini, 0-255 arası bir değer (byte) olarak iletmektedir. Aşağıdaki resimde, ADC seri port üzerinden verileri göndermektedir. (Bir usb dönüştürücü ile bilgisayara takılmıştır) Direk usb üzerinden veri gönderen modeli de mevcuttur.

Yeni Digital Input Output Arabirimi : IO Master-2

 

Yeni çoklu digital giriş çıkış modülümüz test edildi ve kullanıma hazır hale getirildi. Son derece gelişmiş özelliklere sahip olan yeni modülde hem yazılım (sürücü) hem de donanım olarak yeni geliştirmeler yapıldı.

Donanımsal Yenilikler

  • 8 Optik İzolasyonlu (5-25V. digital) Giriş
  • 8 Optik İzolasyonlu Röleli (Kuru Kontak) Çıkış
  • 8 Tranzistör (NPN) Çıkışı
  • USB 2.0 girişi
  • Seri Giriş (Yüksek hızlarda çalışabilen)
  • Bağımsız 12 – 24 V. Çıkış Beslemesi
  • İzolasyonlu Metalik Kasa
  • 20 MHz iç çalışma frekansı
  • Çakışma, sinyal gönderememe, usb kopması gibi durumları otomatik algılayan ve led ile uyaran akıllı mekanizma

Yazılımsal Yenilikler

  • Daha sade ve gelişmiş USB sürücü modeli (filestream modelinden memorystream modeline geçiş)
  • Thread desteği (çok yüksek hızda anlık okuma / yazma)
  • Hem USB hem Seri port ile aynı anda çalışabilme
  • giriş işaretini 1/4 ms. gibi çok yüksek hızda algılayabilme
  • Tüm giriş çıkış bilgilerini ve sistem mesajlarını loglayabilme
  • USB kopması veya yeniden takılması gibi durumlarda, kendini toparlayan akıllı sürücü modeli (OnDeviceRemoved, OnDeviceConnected, OnDeviceChanged Yöntemleri)

Sonuç olarak, gerek 5-24 V digital işaretin algılanması, gerek dış ortama sinyal verilebilmesi için, gereken tüm fonksiyonaliteyi tek bir üründe sunduğumuz yeni IO modülümüz IO Master, başarılı geçen oldukça yoğun test işlemlerinin sonunda kullanıma alındı. Gürültü kirliliği olan ortamlarda, çok yüksek hızda erişim yapılması gereken projelerde alternatiflerine göre avantaj sağlayacaktır.

Cihazın donanım ve yazılımı Mavis bünyesinde yapıldığından, her türlü fonksiyon ilavesi veya değişiklikler tarafımızdan kolaylıkla yapılabilmektedir. Şimdilik 3.1 versiyonuna ulaşmış olan modülümüz, piyasa ihtiyaçları doğrultusunda geliştirilebilir özelliktedir.

Modülü Delphi, C#, Visual Basic  programlama dillerinden kullanmak mümkündür. Gerekli kütüphane opensource (açık kaynak kodlu) olarak verildiğinden, herhangi bir dll, activex, vb. araya sokmadan en hızlı erişim yapılması sağlanmıştır.

Eski kullanıcılarımız, ya da modüle sahip olmak isteyen yeni kullanıcılar için, örnek modül ve kütüphane (yazılım) desteği için bize ulaşabilirsiniz. (info@mavis.com.tr)