Wednesday, 30 March 2016

My Simple OPC Client

- 35 komentar
As request from our friends, here we create a simple VB application/project to communicate with OPC Server.

Previously, we create My OPC Client project, the latest is version 5, with some advanced feature. But some friends need more simple application, so we create this project. The purpose of the application is to connect to OPC Server, Read data and Write data. So here is MySimpleOPCClient..




For testing, we use Matrikon OPC Explorer, you can download from here.
Please download MySimpleOPCClient project source code from here.


The steps:
1. Run Matrikon OPC Explorer
2. Create group, and add some items to monitor, ie "Bucket Brigade.Int1"
4. Run MySimpleOPCClient
5. Write "Matrikon.OPC.Simulation.1" on OPC Server Name textbox
6. Click Connect button
7. On OPC Item textbox, write "Bucket Brigade.Int1"
8. Click on Add Item button
9. The value of item is automatically loaded to the Read Value textbox
10. Try to write new value on Write Value textbox, then click on Write button




Note: 
Before opening the project, please make sure you have OPCDAAuto.dll installed/registered on your system. Please follow these steps to register the DLL:
> download DLL from here
> copy file to /System32 folder
> open CMD (command prompt)
> write this command: "regsvr32 OPCDAAuto.dll"

We create this project with MS Visual Studio Express 2010, and we targeted to .NET Framework 4. If you get some problem, please let us know.

See you next time.. Thank you...
[Continue reading...]

Thursday, 17 March 2016

VB - PLC via SimaticNet

- 1 komentar
Yang akan kita lakukan adalah membuat komunikasi antara VB dan PLC Siemens melalui SimaticNet. Kali ini kita tidak akan memakai PLC sungguhan tapi memakai aplikasi PLC-SIM.
Tujuan kita pada percobaan kali ini hanya sekedar untuk membaca nilai dari MB 0 dari PLC dan menampilkannya ke form VB.

Yang perlu dipersiapkan adalah:
a. Aplikasi S7 PLC-SIM. aplikasi bawaan dari instalasi Simatic Manager.
b. Aplikasi NetToPLCSim. aplikasi tambahan, bisa download dari sini.
c. Aplikasi Visual Studio 2010 Express, atau versi lain.
d. DLL Libnodave, library tambahan untuk komunikasi via SimaticNet, unduh disini.

Oke, sekarang kita buat dulu program VB nya.
1. Buka VS 2010, buat projek VB baru.
2. Tambahkan References ke DLL Libnodave.


3. Pada form1, tambahkan sebuah tombol (namai btnRead) dan sebuah text box (namai txtVal)


4. Buka jendela code, dan tambahkan script berikut:

Public Class Form1
    Public Shared fds As libnodave.daveOSserialType
    Public Shared di As libnodave.daveInterface
    Public Shared dc As libnodave.daveConnection
    Public Shared res As Integer
    Public Shared plcValue As Byte
    Public Shared memoryRes As Integer
    Public Shared MemoryBuffer(10) As Byte

    Public Shared Sub ConnectPLC()
        fds.rfd = libnodave.openSocket(102, "192.168.1.10")
        fds.wfd = fds.rfd
        di = New libnodave.daveInterface(fds, "IF1", 2, libnodave.daveProtoISOTCP, libnodave.daveSpeed187k)
        di.setTimeout(20000)
        res = di.initAdapter
        dc = New libnodave.daveConnection(di, 2, 0, 0)
        res = dc.connectPLC
        memoryRes = dc.readBytes(libnodave.daveFlags, 0, 0, 1, MemoryBuffer)
        plcValue = MemoryBuffer(0)
        dc.disconnectPLC()
        di.disconnectAdapter()
        libnodave.closePort(fds.rfd)
    End Sub

    Private Sub btnRead_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRead.Click
        ConnectPLC()
        txtVal.Text = plcValue
    End Sub
End Class


5. Simpan projek.

6. Sekarang jalankan aplikasi PLC-SIM.


7. Selanjutnya kita jalankan aplikasi NetToPLCSim, harus dibuka sebagai Admin (klik kanan > Run as admin).


Jika Port 102 sudah berhasil dibuka maka akan muncul tulisan "Port 102 OK"
8. Tambahkan PLC dengan tekan tombol Add.
9. Isi IP Network dan IP PLC Sim, atau bisa dengan browse.


10. Setelah ditambahkan, tekan tombol Start Server.


11. Sekarang jalankan projek VB.
12. Tekan tombol Read, maka value dari MB 0 akan ditampilkan.



Oke, sekian dulu dari kami, terima kasih sudah berkunjung, sampai jumpa lagi.



[Continue reading...]

Saturday, 5 March 2016

Taskbar Show Hide

- 0 komentar
Pernahkah Anda mendapatkan Taskbar Windows menghilang?
Taskbar adalah bar yang defaultnya terdapat di bagian bawah layar, dimana semua aplikasi yang sedang berjalan akan ditampilkan icon-nya. Melalui Taskbar ini kita bisa menampilkan dan menyembunyikan aplikasi yang sedang berjalan.
Taskbar juga sebgai tempat Quick Launch dan Sys Tray. Biasanya aplikasi penting akan meletakan icon kecil sebagai shortcut menu di Sys Tray.
Apa yang membuat saya ingin membahas ini adalah pengalaman saya dengan WinCC. Kami menggunakan PCS 7 v8.1, entah apakah problem ini berlaku juga pada WinCC/PCS 7 versi lain.
Problemnya adalah, ketika WinCC Runtime dijalankan, beberapa saat yang kami tidak tahu pasti (bisa jam/harian/mingguan) setelah itu Taskbar Windows menghilang. Ketika kami menekan tombol Start Windows tidak muncul Taskbar tersebut.
Dengan Taskbar yang hilang, kami tidak bisa melakukan beberapa action terhadap WinCC, seperti Exit Graphic Runtime dan lain-lain.
Oleh sebab itu kami mencari cara untuk bisa menampilkan Taskbar yang hilang tersebut, dan inilah solusinya:

Aplikasi TaskbarShowHide
Aplikasi ini dibuat dengan bahasa VB. Sumbernya kami dapat dari forum di internet. Dengan aplikasi ini kita bisa Show Taskbar dan Hide Taskbar, sederhana.
Berikut langkah-langkah untuk membuatnya:

1. Buka Visual Basic.
2. Pada Form1, tambahkan dua tombol, btnShow dan btnHide seperti berikut:


3. Buka jendela code untuk Form1, dan ketik code berikut:

Public Class Form1

    Private Sub btnShow_Click(sender As Object, e As EventArgs) Handles btnShow.Click
        ShowTaskBar()
    End Sub

    Private Sub btnHide_Click(sender As Object, e As EventArgs) Handles btnHide.Click
        HideTaskBar()
    End Sub
End Class



4. Tambahkan module baru dengan nama Module1.
5. Ketik code berikut:

Option Explicit On

Module Module1

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
        (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

    Private Declare Function SetWindowPos Lib "user32" _
        (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal x As Integer, _
         ByVal y As Integer, ByVal cx As Integer, ByVal cy As Integer, _
         ByVal wFlags As Integer) As Integer

    Private Const SWP_HIDEWINDOW = &H80
    Private Const SWP_SHOWWINDOW = &H40

    Public Function HideTaskBar() As Boolean
        Dim lRet As Integer
        lRet = FindWindow("Shell_traywnd", "")
        If lRet > 0 Then
            lRet = SetWindowPos(lRet, 0, 0, 0, 0, 0, SWP_HIDEWINDOW)
            HideTaskBar = lRet > 0
        End If
        Return True
    End Function

    Public Function ShowTaskBar() As Boolean
        Dim lRet As Integer
        lRet = FindWindow("Shell_traywnd", "")
        If lRet > 0 Then
            lRet = SetWindowPos(lRet, 0, 0, 0, 0, 0, SWP_SHOWWINDOW)
            ShowTaskBar = lRet > 0
        End If
        Return True
    End Function
End Module


Run dan cobalah untuk Show/Hide Taskbar.
Selamat mencoba..

[Continue reading...]
 
Copyright © . HadiSCADA - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger