Modbus TCP/UDP Client
inSCADA Modbus Client
Last updated
inSCADA Modbus Client
Last updated
Modbus Client uygulaması click-to-run olarak tasarlanmıştır. Uygulamayı bilgisayara indirdikten sonra ins-mod-cli.exe 'yi çalıştırarak direkt kullanmaya başlayabilirsiniz.
Modbus Client uygulaması Ubuntu içinde çalışmak için OpenJDK-11 ve OpenJFX uygulamalarına ihtiyaç duymaktadır. Bunun için ;
Uygulamayı çalıştırdıktan sonra Connection sekmesinden bağlanılacak olan Server Device adreslerini girerek bağlantımızı oluşturalım.
Buradan Server'la kurulmak istenen bağlantı türü seçilir
Server cihazının ip adresi buradan girilir.
Server cihazının portu buradan girilir. Değer aralığı 0 ve 65535' tir.
Server cihazının Unit(Slave) ID'si girilir.
Data Block ve Tag'lerin ne kadar sürede bir tarancağını belirlemek için kullanılır.
Bağlantı kurulduktan sonra her 2 saniyede bir bağlantı durumu kontrol edilir.
Bağlantı durumu buradan kontrol edilir.
Bağlantı kurulduktan sonra Data Block / Tags kısmından(Resim 2) önce data blocklar eklenir. Eklenen Data Block'ların içine, okuma ve yazma işlemi yapılacak olan Tag'ler eklenir.
Tabloya Data Block eklerken isimlendirme yapılması zorunludur. Data Block isimleri ID olarak kullanılır ve benzersiz olmak zorundadır.
Eklenilmek istenen Data Block türü buradan seçilir. Her Type'ın Start Address aralığı farklıdır.
Okunmak istenen verinin adresi buraya girilir. Seçili Type'a göre adres verilir. Uygulamada :
* Coil adres aralığı 1-9999
* Discrete Input adres aralığı 10000-19999
* Holding Register adres aralığı 40000-49999
* Input Register adres aralığı 30000-39999
olarak belirlenmiştir.
İşlem yapılacak Tag sayısı kadar Amount girilir.
Add : Data Block'ların Name, Start Address, Type ve Amount alanları doldurulduktan sonra butona tıklanarak tabloya ekleme işlemi yapılır.
Update : Güncellenmek istenen Data Block tablodan seçildikten sonra değişiklikler yapılıp butona basılarak güncelleme işlemi gerçekleştirilir.
Delete : Silinmek istenen Data Block tablodan seçildikten sonra butona basılarak silme işlemi gerçekleştirilir.
Clear : Name, Start Address, Type ve Amount alanlarını temizlemek için kullanılır.
Her Data Block'un kendi Tag'leri vardır. Tag eklemek için önce Data Block seçilir, daha sonra Tag'ler eklenir.(Resim 4)
Data Block'lar gibi Tag'ların ismi de benzersiz olmak zorundadır. Name sekmesi boşsa yeni Tag eklenemez.
Okunmak istenen Tag değerinin türüne göre Type seçilir.
Tag eklerken seçilmiş olan Data Block'un ,Start Address'i ve Amount'una göre Tag adresi girilir. Örneğin Start Address'i 1 ve Amount'u 10 olan bir Coil'in(Resim 5), Tag adresi 1-11 arasındadır. Bu aralıktaki herhangi bir değer seçilerek ekleme yapılır(Resim 6).
Tag'lerin Byte Swap, Word Swap olarak okunması için buradaki alanlar seçilir.
Add : Tag'lerin Name, Address, Type, Byte Swap ve Word Swap özellikleri seçildikten sonra butona basılarak ekleme işlemi gerçekleştirilir.
Update : Güncellenmek istenen Tag tablodan seçildikten sonra değişiklikler yapılıp butona basılarak güncelleme işlemi gerçekleştirilir.
Delete : Silinmek istenen Tag tablodan seçildikten sonra butona basılarak silme işlemi gerçekleştirilir.
Clear : Name, Address, Type, Byte Swap ve Word Swap alanlarını temizlemek için kullanılır.
Tag'lere değer girmek için tabloda seçtiğimiz Tag'e çift tıklayarak açılan sekmeden atama yapabilirsiniz.(Resim 7 ve 8)
Tablodan bir veya daha fazla Tag seçilerek Farenin Sağ Tuşuna tıklanılıp gelen menüden Chart seçilir. Çoklu seçim yapmak klavyeden Ctrl tuşuna basılı tutularak, tablodan seçim yapılır(Resim 9).
Açılan Chart, Date ve Value değerlerini göstermektedir. İmleci grafikteki noktalara götürerek bu değerleri okuyabilirsiniz.(Resim 10) Açılan pencerenin altındaki Legend grubundan izlenilmek istenen Tag ismine tıklayarak Chart'ı değiştirebilirsiniz.(Resim 11) Grafik üzerinde boş alana tıklanıldığında ise Chart orjinal haline geri döner.
Uygulama üzerindeki Menu Bar'a tıklanılarak Functions menüsü üzerinden istenilen fonksiyonun sekmesini açabilirsiniz.(Resim 12)
Açılan sekmede Start Address ve Quantity değerlerini girdikten sonra Function kısmından yapılacak işlemi seçip, Execute butonuna tıklayatak fonksiyonu çalıştırabilirsiniz.(Resim 13 ve 14)
Coil / Discrete Input'larda Write işlemi yapılması için tablo üzerindeki Value sütunundan hücreleri seçerek atama yapabilirsiniz.(Resim 15) Start Address ve Quantity için verilebilecek maksimum miktar geçildiği zaman sekme üzerinde uyarı yazısı çıkar.(Resim 16) Bu uyarı durumu tüm Function'lar için geçerlidir.
Açılan sekmede Start Address ve Quantity girildikten sonra Function seçilir ve Execute butonuna basılarak çalıştırılır. Okunmak istenen değerin tipi Type kısmında değiştirilebilir.(Resim 16) Seçilen adrese değer atamak için tablonun Value sütunundaki hücrelere Fare ile çift tıklayarak atama yapabilirsiniz.
Mask Write Register fonksiyonu sadece Holding Register'lara atama yapmak için kullanılmaktadır. Okunacak Address girildikten sonra Mask'lere 0 yada 1 değerleri girilerek çalıştırılır. Mask'lere değer girmek için her seferinde tek bir rakam seçilerek atama yapabilirsiniz.(Resim 19 ve 20)
Write Address ve Quantity belirlendikten sonra oluşan tabloda değer atanacak adresin Value sütunundaki hücreye imleç ile çift tıklayarak değer ataması yapabilirsiniz. Daha sonra okunmak istenen aralığa göre Read Address ve Quantity alanları doldurulur ve Execute butonuna tıklanılarak çalıştırılır.(Resim 21)
Uygulamada yapılan işlemleri ve seçimleri, bağlantı kurulduğunda Server cihazına yapılan istekleri ve oluşan hataları takip etmek için Log alanı kullanılır.(Resim 22) Ayrıca Search alanını kullanarak istenilen verileri filtreleyebilirsiniz.
Seçilen Log'lara Fare ile sağ tıklanıldığı zaman açılan menüden, Copy'ye tıklanılarak kopyalama işlemini gerçekleştirebilirsiniz. Aynı zamanda Clear'a tıklayarak biriken logları temizleyebilirsiniz.
Takip etmek istediğiniz logları filtrelemek için Log Level alanından bir katman seçebilirsiniz. Ayrıca alandaki Log'lar :
INFO -> Mavi
ERROR -> Kırmızı
WARNING -> Sarı
olarak renklendirilmiştir.
Export butonuna basılarak sekmede loglar Text File olarak, açılan pencereden seçilen yere kayıt edilebilir.
Uygulama içi ayarları kaydetmek veya yüklemek için üst kısımdaki bardan File seçilir. Burada Save Config'e tıklayarak ayarlarınızı JSON File olarak kayıt edebilir veya Load Config'e tıklayarak yükleyebilirsiniz. Ayrıca uygulamadan daha güvenli bir şekilde çıkış yapabilmek için Exit Application'ı kullanabilirsiniz.(Resim 23)
inSCADA Modbus Client
This modbus client application designed as click-to-run in Windows. You can use it directly after after downloading application by clicking ins-mod-cli.exe.
You need at least version 11 of OpenJDK and OpenJFX to run application in Ubuntu. Here is a step by step instruction for easy installation :
After starting application you must set your settings according to your slave device. If your settings are true you should be able to establish a successful connection.
You can select a Connection Type that you want to establish in here
Set your Server(Slave) Device's IP Address in this field
Set your Server(Slave) Device's Port in this field
Set your Server (Slave) Device's Unit Address(ID) in this field
After you pressed to Start button the application will check connection status in every 2 seconds
After establishing connection , add your Data Blocks and Tags for performing read and write operations(1.1)
You must define a name when you are adding new Data Blocks in table. The application uses name as ID and it has to be unique
Select a Data Block Type in this field
You must define your start address according to selected Type in this field. Every Data Block Type have an address range.
*Coil Range : 1-9999
*Discrete Input Range : 10000-19999
*Holding Registers Range: 40000-49999
*Input Registers Range : 30000-39999
Define this field according to Tag count to be processed otherwise you cant read or write your slave values correctly
Add : Adds datablock after you fill fields of your data blocks Name, Start Address, Type and Amount
Update : Updates the selected item from table. If multiple items selected it only deletes last item
Delete : Deletes the selected item from table. If multiple items selected it only deletes last item
Clear : Cleares Name, Start Address, Type and Amount fields.
Every Data Block has its own Tags. You must define a Data Block before you add any Tag.(1.3)
Like data block names, Tag names must be defined and unique too.
Select a Tag Type that you wish to read / write value
Define your tag address according to your Data Block's Start Address and Amount. If your Start Address is 1 and Amount is 10 your Tag Address must be in range between 1-11.(1.4 and 1.5)
Check or Uncheck these fields according to value that you wish to read or write
Add: Adds Tag after you fill Name, Address, Type, Byte and Word Swap fields.
Update: Updates selected tag from table. If you select multiple Tags from the table it only updates last one
Delete: Deletes selected Tag from table. If you select multiple Tags form the table it only delets last one
Clear: Clears Name, Address, Type, Byte and Word Swap fields.
You can open Set Value tab by double clicking selected Tag in your table.(1.6 and 1.7)
Select single or more Tags from the table and Right Click to selected items. Choose Chart after a menu shows up. You must hold CTRL button from keyboard if you want to select multiple items.(1.8)
Chart shows values and dates only. If you want see specific value from chart, you can drag your mouse to dots in chart . Also you can show only selected Tag in Chart by clicking Tag Name Legend below the tab. Press an empty field in chart if you want to return default look.(1.9 and 2)
Click to Functions section from Menu Bar at the top of the application. Then select the function that you wish to use.(2.1)
Select a Function you want to operate, define Start Address and Quantity. Then press to Execute button and execute your function. You can set values from Value column cells by checking or unchecking boxes.(2.2)
Select Function in opened tab and define your Start Address and Quantity. You must set values from Value column, Double Click on Value column cell and define your value and press enter to set. Then press to Execute button to execute selected Function operation.(2.4)
Use Type to change value types from table.(2.5)
Mask Write Function works only for holding registers. First set your holding register address to read. Then set values of OR and AND Mask. You must select one by one to define each value in Mask's.(2.6 and 2.7)
After setting Write Address and Quantity, select your Type of value to write and define value from table. Then set Read Address and Quantity you wish to be read and click to Execute button. Register values will be shown in Read Result table.
You can use Logs section to follow your selections, operations, requests and occurred errors. Also you can use Search field to found specific datas.
Right Click to your Log section and choose Copy or Clear log operations.
Copy: Copies selected log to clipboard
Clear: Clears all logs.
Select a log level that you wish to filter. Some of these levels are shown colored in logs
INFO -> Blue
ERROR -> Red
WARNING -> Yellow
Export save logs as Text File, you can select the export location after clicking to Export button.
Select File from Menu Bar to Save or Load your settings. Application can only save settings in .JSON format and loads configs in .JSON format. Also you can use Exit Application to close application safely.