• Tidak ada hasil yang ditemukan

Input PLC

B. Pengujian Komunikasi Data PLC dengan Microcontroller

B.1. Prosedure Pengujian

Untuk mengetahui apakah komunikasi data antara PLC dengan

microcontroller dapat berkomunikasi dengan baik, maka dilakukan langkah – langkah sebagai berikut :

1. Memberi catu daya 5 volt pada rangkaian minimum sistem AT89C51 dan ADC 0808.

2. Microcontroller AT89C51 diberi program sederhana untuk mengirim sebuah data yang berbeda (tergantung input sensor potensiometer).

3. PLC diberi program sederhana untuk terima data dari microcontroller.

4. Menghubungkan port 0 microcontroller pada pin-pin output ADC. 5. Menghubungkan port 1 microcontroller pada tombol pilih.

6. Menghubungkan port 2 microcontroller AT89C51 pada rangkaian penguat tegangan.

7. Menghubungkan rangkaian penguat tegangan pada input PLC.

8. Menghubungkan kaki output (port 2.0 ) microcontroller dengan penghubung osiloskop pada channel 1.

9. menghubungkan kaki output (o0.5 ) PLC dengan penghubung osiloskop pada channel 2.

Program komunikasi data PLC dengan microcontroller untuk satu buah input analog PLC.

A. PLC

Operands of allocation list

Absolute Symbolic Comment

I0.0 inx I1.0 tombol O0.5 lamp F0.0 fsens0 F1.0 flag0 R0 R8 R9 T0 T1 TP0 TP1 C0 CP0 " Program Utama 0001 STEP init (1) 0002 IF N tombol 0003 THEN CFM 2 WITH 'bap0:1' 0004 SET fsens0 0005 =========================================== 0006 STEP (2)

0007 IF tombol 0008 THEN CFM 2 WITH 'bap0:0' 0009 RESET fsens0 0010 JMP TO init (1)

0011 =========================================== "module B0.0 0001 " startbit aktif high stop bit aktif 0002 STEP init (1)

0003 THEN LOAD V6 "delay startbit 0004 TO TP0 0005 LOAD V4 "delay data 0-7 & stopbit 0006 TO TP1 0007 LOAD V7 "looping data 0-7 (biner -> desimal) 0008 TO CP0 0009 LOAD V0 "penyimpanan data 0010 TO R0 "sens0 0011 TO R8 "untuk penerimaan data (0/1) 0012 =========================================== 0013 STEP nol (2)

0014 THEN LOAD V0 0015 TO R9 "untuk perhitungan digital to desimal 0016 RESET flag0 "flag (0 -7) bantuan untuk penerimaan 0017 RESET lamp =========================================== 0018 STEP Cek_Start (3)

0019 IF ( inx 0020 AND fsens0 ) "sens0 0021 THEN SET flag0 0022 SET lamp 0023 =========================================== 0024 STEP set_bantu (4) 0025 THEN SET T0 0026 SET C0

0030 THEN RESET lamp 0031 =========================================== 0032 STEP BacaData (6) 0033 IF ( inx 0034 AND flag0 ) 0035 THEN JMP TO baca_satu (7) 0036 0037 OTHRW JMP TO baca_nol (8) 0038 =========================================== 0039 STEP baca_satu (7) 0040 THEN LOAD V1 0041 TO R8 0042 SET T1 0043 SET lamp 0044 JMP TO Bin2Dec (9) =========================================== 0045 STEP baca_nol (8) 0046 THEN LOAD V0 0047 TO R8 0048 SET T1 0049 RESET lamp =========================================== 0050 STEP Bin2Dec (9) 0051 IF C0 0052 THEN LOAD ( R8 0053 OR R9 ) 0054 TO R9

0055 LOAD R9 "geser ke kiri 0056 SHL 0057 TO R9 0058 INC C0 0059 JMP TO cek (11) 0060 0061 OTHRW LOAD ( R8 0062 OR R9 ) 0063 TO R9 0064 ===========================================

0065 STEP stopbit (10) "stopbit aktif low (0) 0066 IF ( N inx 0067 AND flag0 ) 0068 THEN LOAD R9 0069 TO R0 0070 JMP TO nol (2) 0071 =========================================== 0072 STEP cek (11) 0073 IF N T1 0074 THEN JMP TO bacadata (6) B. Microcontroller

// program mengirim data dari ADC ke MIcro terus Ke PLC #include <reg51.h> #include <stdio.h> #include <absacc.h> #include <string.h> void check(); void DecToBin(); void Kirim(); void delay(int); int data_array[8];

int DtSens;

sbit Switch_sens0=P1^0; //tombol pilih sbit data0=P2^0; //pengiriman data sbit eoc=P3^2; //adc

void main() { int counter=0; P2=0xff; P1=0x00; delay(38); while(1) { if(Switch_sens0==1) //sens0 { XBYTE[counter]=0x00; check(); DtSens=XBYTE[counter]; DecToBin(); Kirim(); } //if } //while } //void //---pengiriman data ke PLC --- void Kirim() { int i=0;

data0=0; //startbit aktif high 0=high(transistor) delay(3); for(i=7;i>=0;i--) { if (data_array[i]==0) { data0=0; } else { data0=1; } delay(3); }

data0=1; //stopbit aktif low 1=low(transistor) delay(38); } //void void check() { while(!eoc); while(eoc); } void DecToBin() { int i,bantu,bantu1; bantu=DtSens; for(i=0;i<8;i++) {

bantu1=bantu/2; // 7 6 5 4 3 2 1 0 -> data array if ((bantu%2)==0) // 128 64 32 16 8 4 2 1 -> data Biner {data_array[i]=1;} // 0 0 0 0 0 1 1 1 -> 7

else //VOLTASE BINER DESIMAL {data_array[i]=0;} //5.01 ->1 1 1 1 1 1 1 1 -> 255 bantu=bantu1; //0,01 ->0 0 0 0 0 0 0 0 -> 0 } //for

} // void void delay(int lama) { int i; TMOD =0x01; for(i=0;i<=lama;i++) { TH0=0xd8; TL0=0xef;

} }

Alat yang digunakan.

1. Rangkain minimum sistem AT89C51. 2. Rangkain ADC0808.

3. Rangkaian penurun tegangan 24 volt ke 5 volt (regulator). 4. Rangkaian penguat tegangan.

5. Sensor potensiometer. 6. PLC.

7. PC. 8. osiloskop.

9. Catu daya 24 volt DC.

B.2. Hasil Pengujian

Dari proses pengujian terhadap komunikasi data antara PLC dengan

microcontroller didapatkan hasil sebagai berikut :

1. Pengiriman Data 0 ( Startbit(1) 0 0 0 0 0 0 0 0 Stopbit(0)).

2. Pengiriman Data 1 ( Startbit(1) 0 0 0 0 0 0 0 1 Stopbit(0)).

Gambar 4.6. Pengiriman Data 1.

Terdapat selisih 26 ms data PLC dengan data di microcontroller. 3. Pengiriman Data 45 ( Startbit(1) 0 0 1 0 1 1 0 1 Stopbit(0)).

Gambar 4.7. Pengiriman Data 45.

Gambar 4.8. Pengiriman Data 85.

Terdapat selisih 33 ms data PLC dengan data di microcontroller. 5. Pengiriman Data 128 ( Startbit(1) 1 0 0 0 0 0 0 Stopbit(0)).

Gambar 4.9. Pengiriman Data 128.

6. Pengiriman Data 170 ( Startbit(1) 1 0 1 0 1 0 1 0 Stopbit(0)).

Gambar 4.10. Pengiriman Data 170.

Terdapat selisih 33 ms data PLC dengan data di microcontroller. 7. Pengiriman Data 210 ( Startbit(1) 1 1 0 1 0 0 1 0 Stopbit(0)).

Gambar 4.11. Pengiriman Data 210.

Gambar 4.12. Pengiriman Data 255.

Terdapat selisih 7 ms data PLC dengan data di microcontroller.

B.3. Analisa

Dari pengujian dan melihat hasilnya di atas dapat di simpulkan bahwa pada terdapatnya selisih antara PLC dengan microcontroller saat terjadi pengirman data, selisih waktu waktu pengirimanyang paling kecil adalah 7 ms dan selisih pengiriman terbesar adalah 33 ms. hasil yang diperoleh cukup baik dan hampir kehilangan sebuah data maka dari itu waktu pengiriman data diperbesar (40 ms) sehingga tidak terjadinya kehilangan sebuah data.

Berdasarkan beberapa pengujian yang telah dilakukan, pada perangkat keras maupun perangkat lunak yang digunakan untuk merancang modul input analog untuk PLC FESTO 101B-LED, dan dari hasil pengamatan menunjukkan hasil perancangan perangkat keras, dan perancangan perangkat lunak dapat diambil kesimpulan bahwa keduanya telah berfungsi dan bekerja dengan baik serta sesuai dengan yang diinginkan penulis.

5.1 Kesimpulan

a. PLC dapat menerima input analog dengan cukup baik, dan untuk menerima 1 frame data membutuhkan waktu 380 ms.

b. Microcontroller AT89C51 cukup baik mengkonversi data delapan bit menjadi satu bit untuk dikirimkan ke PLC, dan untuk mengirim 1 frame data membutuhkan waktu 750 ms.

c. Untuk menerima satu data input analog dari ADC ke PLC tanpa menggunakan microcontroller sebagai modul konverter dari 8 bit menjadi 1 bit akan lebih cepat transfer datanya, namun kerugian yang didapat adalah PLC harus menyediakan 8 input PLC untuk satu data input analog. Sedangkan dengan menggunakan microcontroller PLC dapat menghemat input dan kerugian yang didapat dari penggunaan microcontroller yaitu data analog

serta dengan bantuan microcontroller sebagai konverter data delapan bit ke satu bit sistem yang dirancang telah berjalan dengan cukup baik. Namun untuk pengembangan sistem agar dapat bekerja lebih baik, ada beberapa saran yang bisa diberikan antara lain adalah:

a. Hasil perencanaan dan pembuatan modul input analog untuk PLC dalam tugas akhir ini merupakan gagasan ilmiah, sehingga untuk memenuhi aplikasi yang lebih memadai masih perlu penelitian dan penyempurnaan lebih lanjut baik perangkat keras, maupun perangkat lunak.

b. Sistem penerimaan data analog di PLC merupakan langkah awal dan tidak tertutup kemungkinan dapat dikembangkan lebih lanjut.

1. Diambil dari Buku :

Andi, P. 2003. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51, PT. Elex Media Komputindo Kelompok Gramedia, Jakarta.

Indrijono Dwi, S.Kom, Training Dasar Programmable Logic Controller, STIKOM, Surabaya.

Kadir, A. 1991. Pemrograman Dasar Turbo C untuk IBM PC, Andi Offset, Yogyakarta.

MacKenzie, I Scott, 1999, THE 8051 MICROCONTROLLER Third Edition, Prentice hall inc, New Jersey.

Mazidi, Muhammad Ali and Mazidi Janice Gillispie , 2000, THE 8051

MICROCONTROLLER AND EMBEDDED SYSTEM, Prentice hall inc, New Jersey.

National Semiconductor Corporation. 1988. Linear Databook 2, National Semiconductor Corporation 2900 Semiconductor Drive, California. Robert, A witte. 2002. Elektronic Test Instruments Analog and Digital

Measurement Second Edition, Prentice hall PTR.

Suwito, S. 1996. Linear Data Sheet book, PT. Gramedia Pustaka Utama, Jakarta. Suwito, S. 2001. Vademekum Elektronika, PT. Gramedia Pustaka Utama, Jakarta.

2. Diambil dari Internet :

http://www.atmel.com/dyn/resources/prod_documents/doc0265.pdf http://www.physics.rutgers.edu/ugrad/327/Lab8Notes/ADC0808.pdf http://www.fairchildsemi.com/ds/BD%2FBD139.pdf http://www.national.com/JPN/ds/LM/LM35.pdf http://www.murata.com/catalog/r03/es0404.pdf 118

Dokumen terkait