Hostlink

Bir çok otomasyon projesinde Host-Link(Omron) ile haberleşme gereksinimi ortaya çıkar. Host-Link(Omron) haberleşme interface’i olarak kullanabileceğiniz. Host-Link(Omron)  ActiveX esnek yapısı ile projelerinizde kullanabilirsiniz. Host-Link(Omron) company lisans ile satılır. Lisans sahipleri bu activeX’i her hangi bir sınır olmaksızın kullanabilirler. Host-Link(Omron) .Net frame work 3.5 kullanılmıştır. Bu ActiveX son derece yüksek bir iletişim hızına sahiptir. ActiveX kullanıcılarının programlarına kolaylıkla ekleyebilmeleri ve programın muhtemel diğer ihtiyaçlarının kolaylıkla karşılanabilmesi düşünülerek hazırlanmıştır. Bu amaçla sıradan ActiveX’lerde olmayan proje kayıt,kayıt getirme fonksiyonları dahi ActiveX’e eklenmiştir. Böylece projenizin Modbus haberleşme ile alakalı tüm işlemlerini bir kaç dakikada bitirebilirsiniz.

 

 

Lisans Fiyatı: 1000 Usd.
Programı indirmek için üye girişi yapmalısınız.
Üye Girişi Kayıt Ol!

 

 

Kullanım Kılavuzu:

Public AutoStart_ As Boolean:
PLC kapalı olduğunda veya başka sebeplerden dolayı PLC bağlantısı sağlanamadığında haberleşme başlatılamayacaktır. Bu özellik True yapıldığında komponent sürekli bağlanmayı deneyecektir ve PLC hazır olduğunda haberleşme başlayacaktır. False ise otomatik bağlanma özelliğini pasif yapacaktır.
Örneğin aşağıdaki satır komponentin Auto Start özelliğini True yapacaktır:
HostLink_1.AutoStart_ = True
Aşağıdaki satır ise komponentin Auto Start özellik değerini “i” değişkenine atar:
i = HostLink_1.AutoStart_

 

Property Value_(ByVal TagId As UInt32) As String:
Set değeri yazmak veya aktuel değeri okumak için kullanılan property dir. TagId, Tag listesindeki satır numarasıdır.
Örneğin aşağıdaki satır Tag listesinin 1. satırındaki Tag’a 100 değerini atar:
HostLink_1.Value_(1) = 100
Aşağıdaki satır ise 1. satırdaki Tag degerini program içerisindeki i değişkenine atar:
i = HostLink_1.Value_(1)

 

Public FileName_ As String:
Aktif olan özelliklerin kayıtlı bulunduğu dosya adını verir.
Örneğin aşağıdaki satır, bu dosyanın ismini görüntüler:
MsgBox(HostLink_1.FileName_)

 

Property LoadSettings_() As String:
Daha önceden kaydedilmiş olan özellik dosyasının içerdiği ayarları komponente yükler. Bu property’nin dönen değeri dosya yoludur.
Örneğin aşağıdaki satır, “path” değişkeninin içerdiği yolda bulunan dosyadaki ayarları komponente yükler.
HostLink_1.LoadSettings_ = path

 

Public Sub SaveSettings_(ByVal value As String):
Mevcut bağlantı ayarlarını verilen dosya adıyla kaydeder. Dosya adı dosya yolunu da içermelidir.
Örneğin aşağıdaki satır, komponent ayarlarını “path” değişkeninin içerdiği yoldaki dosyaya kaydeder.
HostLink_1.SaveSettings_(path)

 

Property Connect_() As Boolean:
Bu property True olduğunda komponent PLC’ye bağlanır. False yapıldığında bağlantıyı keser. Bağlantı durumu da bu property’den sorgulanabilir. Komponent, PLC’ye bağlanmaya çalışırken de bu property True olarak sonuç bildirecektir. Gerçek durum connection property’sinden öğrenilebilir.
Bağlantı aşağıdaki satırla aktifleştirilebilir:
HostLink_1.Connect_ = True
Aşağıdaki satırla kesilebilir.
HostLink_1.Connect_ = False

 

Public Connection_ As Boolean:
Bağlantı durumu bu variable’dan okunabilir. Bağlantı sağlandıktan sonra True değerini dönecektir.
Aşağıdaki satır, bağlantı durumunu “str” değişkenine atayacaktır.
str= HostLink_1.Connection_

 

Property PcBaudrate_() As UInt32:
PC Baudrate değeri bu özellik ile sorgulanıp değiştirilebilir.
Aşağıdaki satır, PC Baudrate değerini “str” değişkenine atayacaktır.
str = HostLink_1.PcBaudrate_
Aşağıdaki satır, “str” değişkeninin içerdiği değeri komponente PC Baudrate değeri olarak atayacaktır.
HostLink_1.PcBaudrate_ = str

 

Property ComPort_() As String:
Komponentin kullandığı Seri Port adı sorgulanıp değiştirilebilir.
Aşağıdaki satır, komponentin kullandığı Seri Port ismini “str” değişkenine atayacaktır.
str = HostLink_1.ComPort_
Aşağıdaki satır, komponentin kullandığı seri portu “str” değişkeninin içerdiği isimdeki seri port ile değiştirecektir.
HostLink_1.ComPort_ = str

 

Property PcParity_() As String:
PC Parity tipi sorgulanıp değiştirilebilir.
Aşağıdaki satır, “str” değişkeni içerisindeki değeri komponentin parity değeri olarak ayarlar.
HostLink_1.PcParity_=str
Aşağıdaki satır, komponentin parity değerini “str” değişkenine atar.
str = HostLink_1.PcParity_

 

Property PcStopBit_() As UInt16:
PC Stop Bit sayısı sorgulanıp değiştirilebilir.
Aşağıdaki satır, “i” değişkeni içerisindeki değeri komponentin stop bit değeri olarak ayarlar.
HostLink_1.PcStopBit_ = i
Aşağıdaki satır, komponentin Stop Bit değerini “i” değişkenine atar.
i = HostLink_1.PcStopBit_

 

Property PcDataBit_() As UInt16:
PC Data Bit sayısı sorgulanıp değiştirilebilir.
Aşağıdaki satır, “i” değişkeni içerisindeki değeri komponentin PC Data bit değeri olarak ayarlar.
HostLink_1.PcDataBit_  = i
Aşağıdaki satır, komponentin PC Data Bit değerini “i” değişkenine atar.
i = HostLink_1.PcDataBit_

 

Property PcFlowCon_() As String:
PC Flow Control tipi sorgulanıp değiştirilebilir.
Aşağıdaki satır, komponentin Flow Control değerini “str” değişkenine atar.
str = HostLink_1.PcFlowCon_
Aşağıdaki satır, “str” değişkeni içerisindeki değeri komponentin Flow Control değeri olarak ayarlar.
HostLink_1.PcFlowCon_ =  str

 

Property PollInterval_() As UInt16:
Poll.Interval değeri sorgulanıp değiştirilebilir.
Aşağıdaki satır komponentin poll interval süresini “i” değişkenine atar.
i = HostLink_1.PollTime_
Aşağıdaki satır i değişkeninin içerdiği değeri komponentin poll interval süresi olarak ayarlar.
HostLink_1.PollTime_ = i

 

Property TimeOutTime_() As UInt16:
Timeout zamanı sorgulanıp değiştirilebilir.
Aşağıdaki satır komponentin Time Out süresini “i” değişkenine atar.
i = HostLink_1.TimeOutTime_
Aşağıdaki satır i değişkeninin içerdiği değeri komponentin Time Out süresi olarak ayarlar.
HostLink_1.TimeOutTime_ = i

 

Property StationAdress_(ByVal StationName As String) As UInt16:
PLC adresi sorgulanıp değiştirilebilir.
Aşağıdaki satır “st_name” isimli değişkenin belirttiği istasyonun adres numarasını “i” değişkeninin içerdiği numarayla değiştirir.
HostLink_1.StationAdress_(st_name) = i
Aşağıdaki satır “st_name” isimli değişkenin belirttiği istasyonun adres numarasını “i” değişkenine atar.
i = HostLink_1.StationAdress_(st_name)

 

Property FailRepeatedQueries_(ByVal StationName As String) As UInt16:
Hata durumunda sorgunun kaç defa tekrarlanacağı sorgulanıp değiştirilebilir. Aşağıdaki satır “st_name” isimli değişkenin belirttiği istasyonun Fail Repeated Queries değerini “i” değişkeninin içerdiği numarayla değiştirir.
HostLink_1.FailRepeatedQueries_(st_name) = i
Aşağıdaki satır “st_name” isimli değişkenin belirttiği istasyonun Fail Repeated Queries değerini “i” değişkenine atar.
i = HostLink_1.FailRepeatedQueries_(st_name)

 

Function TagList_():
Tag listesinin tamamını Array olarak döndürür. Aşağıdaki satır, Tag listesini TagArray isimli dizi değişkene atar.
TagArray = HostLink_1.TagList_

 

Function TagListErr_():

Tag listesinde hatalı değer varsa False, yoksa True sonucunu döndürür. Eğer Tag Listesinde hatalı değer varsa, kullanıcıya aşağıdaki şekilde bildirilebilir.
If HostLink_1.TagListErr_ = False Then
            MsgBox(“Tag table found error!”)
            Exit Sub
End If

 

Public Sub NotAvailableTagName(ByVal TagName As Array):

(COM Komponenti için: Public Sub NotAvailableTagName(ByVal TagName As string))
Projede birden çok Host-Link komponenti kullanıldığında veya bu komponent haricinde taglar bulunuyorsa mevcut tag listesi bu fonksiyon ile komponente yazılabilir. Böylece komponent kendi içindeki tag’ların adını kontrol ederken bu listeyi de kontrol eder. Böylece tag isimlerinin benzersiz olması hem bu listede hemde diğer taglar ile kontrol edilmiş olur.
Bu metoda verilen parametre kullanılan komponentin NET ve COM oluşuna göre farklılık gösterir.
NET komponentlerinde tag isimleri bir array değişken içerisinde verilmelidir.
COM komponentinde ise TagName parametresi string tipindedir. Tag isimleri aralarında chr(20) karakteri bulunacak şekilde bu metoda verilmelidir. (Tagname as string =”Tag_1 & chr(20) & Tag_2″ )

 

Property GroupCycle_(ByVal GroupName As String) As UInt16:
Adı girilen grubun cycle değerini döndürür veya değiştirir.
Aşağıdaki satır “gr_name” isimli değişkenin belirttiği grubun Cycle değerini “i” değişkeninin içerdiği sayı ile değiştirir.
HostLink_1.GroupCycle_(gr_name) = i
Aşağıdaki satır “gr_name” isimli değişkenin belirttiği grubun Cycle değerini “i” değişkenine atar.
i = HostLink_1.GroupCycle_(gr_name)

 

Property FileMenu_() As Boolean:
File menü butonlarının görünür görünmez durumları ayarlanır veya öğrenilir.
Aşağıdaki satır File Menü butonlarını görünmez yapar.
HostLink_1.FileMenu_ = False

 

Property ConnectButton_() As Boolean:
Connect ve Disconnect butonlarının görünür görünmez durumları ayarlanır veya öğrenilir.
Aşağıdaki satır Connection butonlarını görünmez yapar.
HostLink_1.ConnectButton_ = False

 

Property ToolStrip_() As Boolean:
ToolStrip görünür görünmez durumları ayarlanır veya öğrenilir.
Aşağıdaki satır ToolStrip’i görünmez yapar.
HostLink_1.ToolStrip_ = False

 

Property StatusStrip_() As Boolean:
StatusStrip görünür görünmez durumları ayarlanır veya öğrenilir.
Aşağıdaki satır StatusStrip’i görünmez yapar.
HostLink_1.StatusStrip_ = False

 

Property TreeviewMenu_() As Boolean:
Network ağaç görüntüsünde mouse sağ click ile açılan menüleri aktif-pasif yapar.
Aşağıdaki satır Network TreeView’de sağ mouse tuş menüsünü pasif yapar.
HostLink_1.TreeviewMenu_ = False

 

Property DataGridMenu_() As Boolean:
Tag listesinde mouse sağ click ile açılan menüleri aktif-pasif yapar.
Aşağıdaki satır Tag Listesinde sağ mouse tuş menüsünü pasif yapar.
HostLink_1.DataGridMenu_ = False

 

Komponent Event’ları:

COM Komponentdeki ismi
.NET Komponentdeki ismi
Açıklama
Event MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Event MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Komponent üzerinde mouse butonuna basıldığında tetiklenen olaydır.
Event MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Event MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Komponent üzerinde mouse hareket ettiğinde tetiklenen olaydır.
Event MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
Event MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs):
Komponent üzerinde mouse butonu kalktığında tetiklenen olaydır.
Event KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
Event KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs):
Komponent üzerinde klavyeden bir tuşa basıldığında tetiklenen olaydır.
Event Connectedcom(ByVal sender As Object, ByVal Status As Boolean)
Event Connected_(ByVal sender As Object, ByVal Status As Boolean)
Bağlantı sağlandığında ve bağlantı kesildiğinde interrupt olarak tetiklenen olaydır.
Event ReadValuecom(ByVal sender As Object, ByVal TagId As UInt32, ByVal Value As String)
Event ReadValue_(ByVal sender As Object, ByVal TagId As UInt32, ByVal Value As String)
PLC’den okuma gerçekleştiğinde okunan değer önceki değerden farklı ise bu interrupt ana programa Tag listesindeki sıra numarası(Tag_Id) ile birlikte Tag değerini gönderir. Haberleşme ilk başlatıldığında tüm tag değerleri bir kez gönderilir.
Event ReadErrcom(ByVal sender As Object, ByVal TagId As UInt32)
Event ReadErr_(ByVal sender As Object, ByVal TagId As UInt32)
PLC’den yapılan okuma işlemlerinde oluşan hatalar tag listesindeki satır numarası(TagId) ile ana programa bildirilir.
Event SetErrcom(ByVal sender As Object, ByVal TagId As UInt32)
Event SetErr_(ByVal sender As Object, ByVal TagId As UInt32)
Set değerleri uygun olmadığı veya PLC’ye yazılamadığı durumlarda hata tag listesindeki satır numarası(TagId) ile ana programa bildirilir.
Event TimeOutcom(ByVal sender As Object, ByVal StationName As String)
Event TimeOut_(ByVal sender As Object, ByVal StationName As String)
PLC ile bağlantı sağlanamadığı durumda timeout olan komponent durumunu ana programa bildirir.
Event GenericErrcom(ByVal sender As Object, ByVal Message As String)
Event GenericErr_(ByVal sender As Object, ByVal Message As String)
Bir çok hata durumu bu interrupt ile ana programa bildirilir. Bu interrupt hata mesajınıda içerir.
Translate »