Programmable logic controller (PLC) adalah suatu system control yang terdiri dari peralatan elektronik yang digunakan untuk mengontrol proses tertentu (baca artikel sebelumnya disini). PLC merupakan bagian system control yang terhubung dengan komponen control seperti switch, solenoid, dan sensor-sensor lainnya. PLC yang merupakan bagian control system terhubung langsung dengan proses control yang dilakukan sesuai dengan program yang ada pada memori. PLC akan menerima data sinyal masukan, memprosesnya dan menghasilkan keluaran sebagai data keluarannya.
Dari gambar blok diagram diatas dapat dijelaskan sebagai berikut:
Simatic Controller sebagai PLC conventional Siemens dapat dihubungkan ke semua jaringan via integrated interface atau communication processor yang meliputi sistem dibawah ini:
Berikut ini adalah feature yang dimiliki oleh S7-200 antara lain adalah sebagai berikut:
Berikut ini adalah penjelasan dari masing-masing block diatas:
Berikut ini adalah feature yang dimiliki yang dimiliki oleh S7-300 antara lain adalah sebagai berikut:
Berikut ini adalah penjelasan dari masing-masing block diatas:
Berikut ini adalah feature yang dimiliki oleh Simatic S7-400 antara lain :
Berikut ini adalah penjelasan dari masing-masing block diatas:
Berikut ini adalah penjelasan dari masing-masing blok diatas yaitu:
Programmable logic controller menyediakan berbagai macam type block yang mana user program berhubungan dengan data yang dapat disimpan. Tergantung pada keperluan proses, program dapat disusun didalam block-block yang berbeda. Berikut ini adalah type dari program block:
Ada beberapa pilihan bahasa pemrograman yang dapat digunakan didalam STEP 7 yaitu:
Berikut ini akan dibahas struktur pemrograman PLC menggunakan ladder diagram (LAD).
Bit Logic Instructions Instruksi bit logic bekerja dalam dua digit (0 dan 1), yang merupakan bentuk sistem bilangan biner. Bit 1 mengindikasikan keadaan aktif (energize) dan bit 0 mengindikasikan keadaan tidak aktif (deenergize). Instruksi bit logic menginterpretasikan keadaan signal 1 dan 0 dan kombinasinya menurut aljabar boolean. Hasil kombinasinya juga menghasilkan 1 dan 0 yang disebut RLO (result of logic operation). Operasi logic yang ditriger oleh bit logic memainkan berbagai fungsi. Ada beberapa intruksi bit logic yang memainkan fungsi-fungsi berikut ini:
Comparison Instructions
Conversion Instructions Instruksi konversi membaca isi dari parameter IN dan meng-konvertnya atau mengubah tandanya. Hasilnya dapat diragukan pada parameter OUT. Berikut ini adalah beberapa type instruksi konversi:
Counter Instruction
Counter mempunyai area cadangan di dalam memory CPU. Untuk tiap address counter mempunyai area memory satu word (16 bit). Set instruksi logika ladder mendukung sampai 256 counter. Instruksi counter hanyalah fungsi yang mempunyai akses ke area memory counter. Bit 0 sampai 9 dari word counter berisi nilai perhitungan dalam kode biner.. Nilai perhitungan dipindahkan ke word counter ketika counter diset. Counter memiliki nilai range perhitungan mulai dari 0 sampai 999. Berikut ini adalah berbagai instruksi counter:
Up Counter Coil menaikkan satu nilai dari specified counter jika ada positive edge pada RLO sampai nilai counter tidak lebih dari 999. Jikatidak ada positif edge pada RLO atau nilai counter sudah mencapai nilai 999 maka nilai counter tidak akan berubah.
Down Counter Coil menurunkan satu nilai dari specified counter jika ada positive edge pada RLO sampai nilai counter masih lebih besar dari nol. Jikatidak ada positif edge pada RLO atau nilai counter bernilai nol maka nilai counter tidak akan berubah.
Logic Control Instructions Logic control logic dapat digunakan disemua block logika, baik organization block (OB), function block (FB), maupun function (FC). Label adalah pengalamatan dari instruksi jump. Label maksimum terdiri dari empat karakter, karakter pertama harus huruf sedangkan karakter yang lainnya bisa huruf/angka. Label jump mengindikasikan tujuan kemana program akan melompat. Berikut ini adalah beberapa logic control instruction:
Integer Math Instructions Instruksi bit matematika memakai bit status word CC1, CC0, OV, dan OS.
Floating Point Math Instructions Bilangan floating-point 32 bit termasuk kedalam type bilangan REAL. Instruksi ini memakai bit status word CC1, CC0, OV, dan OS Berikut ini adalah beberapa floating-point math instruction:
Move Instruction
Instruksi move diaktifkan oleh Enable Input (EN). Nilai sumber IN input dicopy ke alamat yang telah ditetapkan pada parameter OUT. ENO mempunyai keadaan logika yang sama seperti EN. MOVE hanya dapat mencopy object data BYTE, WORD, atau DWORD. Type data seperti aray atau struktur harus dicopy dengan system function “BLKMOVE” (SFC 20).
Program Control Instruction
Shift Instruction
Rotate Instructions
ROL_DW (Rotate Left Double Word) diaktifkan oleh input Enable (EN). Instruksi ROL_DW digunakan untuk memutar keseluruhan isi bit dari input IN perbit ke kiri. Input N menentukan jumlah bit yang akan diputar. Jika N lebih besar dari 32, Double word IN diputar per ((N-1)modulo32) + 1 posisi. Posisi bit paling kanan akan terisi oleh keadaan logic bit paling kiri (bit yang keluar putaran).Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit CC0 dan OV akan diset “0″ oleh ROL_DW jika N tidak sama dengan”0″. ENO dan EN mempunyai keadaan signal yang sama.
ROR_DW (Rotate Right Double Word) diaktifkan oleh input Enable (EN). Instruksi ROL_DW digunakan untuk memutar keseluruhan isi bit dari input IN perbit ke kanan. Input N menentukan jumlah bit yang akan diputar. Jika N lebih besar dari 32, Double word IN diputar per ((N-1)modulo32) + 1 posisi. Posisi bit paling kiri akan terisi oleh keadaan logic bit paling kanan (bit yang keluar putaran).Hasil dari instruksi ini dapat dilihat pada parameter OUT. Bit CC0 dan OV akan diset “0″ oleh ROR_DW jika N tidak sama dengan”0″. ENO dan EN mempunyai keadaan signal yang sama.
Timer Instructions Timer mempunyai area memory didalam CPU. Area memory ini mempunyai bit address 16-bit (1 word) untuk setiap timer. Set intruksi ladderlogic dapat mendukung sampai 256 timer. Fungsi yang dapat mengakses area memory timer adalah timer instruction dan peng-update-an word timer oleh timing clock. Bit 0 sampai 9 timer word berisi timer value dalam kode biner. Time value menspesifikasikan sejumlah unit.Time value dapat dimasukan kedalam low word dari accumulator dalam format biner, hexadecimal, atau BCD. Bit 12 dan 13 dari timer berisi time base dalam kode biner. Time base ini mendefinisikan interval dimana time value dikurangkan 1 unit. Berikut ini adalah tabel dari nilai time base dan nilai resolusi yang dimiliki.
Ketika timer distart, isi dari timer cell digunakan sebagai time value. Bit 0 sampai 11 dari timer cell berisi time value dalam kode BCD. Bit 12 dan 13 berisi time base dalam kode biner. Berikut ini adalah gambaran tentang isi dari timer cell yang diisi dengan timer value 127 dan time base 1 second:
On-Delay S5 timer memulai menspesified timer jika ada positive edge pada start input. Timer run selama keadaan signal input adalah “1″, dengan periode terpanjang adalah nilai time value pada input TV. Keadaan signal pada output Q adalah “1″ selama timer running. Jika ada perubahan dari “1″ ke “0″ pada input S sebelum time interval terlewatkan, maka timer akan dihentikan. Hal ini menyebabkan keadaan signal output Q bernilai “0″. Timer direset ketika input timer reset (R) berubah dari “0″ ke “1″ saat timer running. Time current dan time base juga diset nol. Logika “1″ pada input timer reset (R) tidak mempunyai effect jika timer tidak dalam kondisi running.Nilai dari time current dapat ditampilkan pada output BI dan BCD, BI dalam kode biner dan BCD dalam kode BCD. Nilai time current adalah nilai TV awal dikurangi time ellapse sejak timer distart.
Retentive On-Delay S5 timer memulai menspesified timer jika ada positive edge pada start input. Timer run selama keadaan signal input adalah “1″, dengan periode terpanjang adalah nilai time value pada input TV. Keadaan signal pada output Q adalah “1″ selama timer running. Jika ada perubahan dari “1″ ke “0″ pada input S sebelum time interval terlewatkan, maka timer akan dihentikan. Hal ini menyebabkan keadaan signal output Q bernilai “0″. Timer direset ketika input timer reset (R) berubah dari “0″ ke “1″ saat timer running. Time current dan time base juga diset nol. Logika “1″ pada input timer reset (R) tidak mempunyai effect jika timer tidak dalam kondisi running.Nilai dari time current dapat ditampilkan pada output BI dan BCD, BI dalam kode biner dan BCD dalam kode BCD. Nilai time current adalah nilai TV awal dikurangi time ellapse sejak timer distart.
Off-Delay S5 timer memulai menspesified timer jika ada negative edge pada start input. Timer run selama keadaan signal input adalah “1″, dengan periode terpanjang adalah nilai time value pada input TV. Keadaan signal pada output Q adalah “1″ selama timer running. Jika ada perubahan dari “0″ ke “1″ pada input S sebelum time interval terlewatkan, maka timer akan dihentikan. Hal ini menyebabkan keadaan signal output Q bernilai “0″. Timer direset ketika input timer reset (R) berubah dari “0″ ke “1″ saat timer running. Time current dan time base juga diset nol. Logika “1″ pada input timer reset (R) tidak mempunyai effect jika timer tidak dalam kondisi running.Nilai dari time current dapat ditampilkan pada output BI dan BCD, BI dalam kode biner dan BCD dalam kode BCD. Nilai time current adalah nilai TV awal dikurangi time ellapse sejak timer distart.
Sumber: http://tanotocentre.wordpress.com Page 2 |