Sunday 14 December 2014

VB6.0 :: Tutorial PLC ke Komputer


dalam pengiriman data antara PLC dan komputer maupun keperangkat lain seperti Touchscreen, microcontroller menggunakan format berikut:
– 1 start bit
– 7bit data
– 2stop bits
– even parity
– baudrate 9600

ada dua macam format pengiriman data yaitu :
Command Format ->sebagai format data dari komputer menuju ke PLC.
Response Format ->sebagai format data dari PLC menuju komputer sebagai
contoh Command Format: @ 00 WR 0010 0002 46 + enter
1
2
3
4
5
6
7
8
9
10
@         = karakter pembuka
WR        = (header code) untuk menulis pada alama IR/WR/SR
0010      = (text) sebagai alamat (misalkan alamat output PLC CPM2A saya berada di 0010
0002      = (text) ini jika di biner kan: 0000 0010 maka output no.2 pada PLC CPM2A akan menyala
            (liat gambar dibawah)
46        = (FCS) FCS (Frame Check Sequence)
            adalah hasil konversi 8-bit data ke 2 digit karakter ASCII. Ke 8-bit data merupakan
            hasil dari exclusive OR secara berurut (sequence) karakter pertama hingga karakter
            terakhir pada sebuah frame.
* + enter = karakter penutup

sekarang kita akan memasuki programnya.
Buatlah tampilan pada program VB seperti dibawah ini:
terdiri dari tombol Command1, Command2 dan component MSComm1.

pada source code berisikan ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Dim data 'General Declaration
 
Private Sub Form_Load()
    MSComm1.CommPort = 1     ' port PC comm1,tapi tergantung PC anda
    MSComm1.Settings = "9600, e, 7, 2" ' harus sama PC dan PLC
    MSComm1.PortOpen = True
    data = "@00SC02"         ' pengaturan mode (02)monitor, (00)Program, (03)Run
    Kirim                    ' kirimkan ke PLC
End Sub
 
Private Sub Command1_Click() ' Menghidupkan Output2 pada PLC
    data = "@00WR00100002"   ' Command format tanpa FCS dan *
    Kirim                    ' WRite data 0002 pada alamat 0100
End Sub
 
Private Sub Command2_Click() ' memadamkan semua output pada PLC
    data = "@00WR00100000"   ' Command format tanpa FCS dan *
    Kirim                    ' WRite data 0000 pada alamat 0100
End Sub
 
Private Sub Kirim()          ' disinilah cara pembuatan FCSnya
    Dat$ = data              ' data yang diolah terdapat pada data
    l = Len(Dat$)            ' pengen tau lebih lanjut,
    a = 0                    ' baca Programming Manual hal 239
 
    For I = 1 To l
        Opo$ = Mid$(Dat$, I, 1)
        a = Asc(Opo$) Xor a
    Next I
 
    FCS$ = Hex$(a)
    If Len(FCS$) = 1 Then
        FCS$ = "0? + FCS$"
    End If
 
    DatTX$ = Dat$ + FCS$ + "*" + Chr$(13)
    MSComm1.Output = DatTX$   ' kirimkan data tadi beserta FCSnya
End Sub
sourcecode diambil disini: tutorial PLC VB6.0.zip

Sumber :: https://handritoar.wordpress.com/2011/10/19/tutorial-plc-ke-komputer/#more-356

VB6.0 :: Komunikasi serial PLC ke Komputer

sistem kerja dari program ini adalah:
jika tombol 0.01 ditekan maka lampu 10.00 akan menyala, juga data pada alamat DM100 akan diisi data #0000.
jika tombol 0.00 ditekan maka akan dideteksi Different Upnya.
kemudian data pada DM100 akan berincrement seiring kita menekan tombol 0.00nya. kemudian akan mendeteksi kondisi pada AR08.05. ini untuk mendeteksi apakah serialnya sedang dipakai atau tidak. jika tidak dipakai maka PLC akan mengirimkan data ke komputer melalui serial.
format pengiriman data:
1
2
3
AR08.05 = RS-232C Transmit Ready Flag
          untuk mendeteksi apakah Serial sedang dipakai atau tidak.
@TXD    = perintah untuk mengirimkan ke komputer. leftmost bytes first.
alamat AR08

@TXD DM100 #0000 #0002

DM100 = posisi data yang akan dikirimkan ke komputer, dalam hal ini data pada DM100 yang akan kita kirimkan
#0000 = RS-232C port specification, #0000= RS-232C port, #0001=Peripheral port
#0002 =  jumlah byte yang akan dikirim. dalam hal ini kita kirimkan 2 bytes.
jika kita mengirimkan data sebanyak 10byte maka formatnya
@TXD DM100 #0000 #0010 misalkan datanya: 1234567890
maka kita mesti menyimpan datanya di:
DM100 12
DM101 34
DM102 56
DM103 78
DM104 90
maka outputnya yang akan kita terima dikomputer:
@00EX000100020003000400050006000700080009000032*
pada program VB buatlah tampilan dibawah dengan menggunakan timer1, text1, mscomm1.
dengan sourcecode berikut:
1
2
3
4
5
6
7
8
9
10
Private Sub Form_Load()
    MSComm1.RThreshold = 1
    MSComm1.CommPort = 1 '(port PC comm1,tapi tergantung PC anda)
    MSComm1.Settings = "9600, e, 7, 2" '(harus sama PC dan PLC)"
    MSComm1.PortOpen = True
End Sub
 
Private Sub Timer1_Timer()
    If MSComm1.InBufferCount > 9 Then Text1.Text = MSComm1.Input
End Sub

sumber : https://handritoar.wordpress.com/2011/10/25/komunikasi-serial-plc-ke-komputer/#more-428