Asro Pun’ Blog

Arsip untuk ‘Instrument & Kontrol’ Kategori

Neural Network

Posted by asro pada 1 Juni 2010

Apakah Neural Network Itu?

Secara garis besar fungsi otak manusia dikelompokan menjadi dua, yaitu fungsi belajar dan fungsi berpikir. Neural Network (NN) merupakan suatu model yang dibuat untuk meniru fungsi belajar yang dimiliki otak manusia. Sebelum melihat lebih jauh tentang NN, mari terlebih dahulu kita perhatikan cara kerja dari otak manusia dalam mengolah informasi.

Model Otak Manusia Dalam Prespektif Biologi.

Otak manusia terdiri dari dari ber-miliar-an sel (disebut neuron) yang memproses informasi. Setiap sel bekerja bagaikan sebuah processor sederhana dan saling berinteraksi dengan sel lainnya serta dengan pasangan paralel-nya dalam menghasilkan kemampuan otak. Gambar berikut memperlihatkan diagram sebuah neuran.

Sebuah neuron, terdiri dari core sebagai inti neuron, dendrites sebagai pintu masuk informasi dan axon dengan dendrites sebagai pintu keluar informasi ke sel lainnya. Informasi dialirkan antar neuron dalam bentuk stimulasi listrik sepanjang dendrites. Informasi masuk yang mencapai dendrites dikuatkan, kemudian dibawah sepanjang axon untuk mencapai dendrites di ujungnya, dimana informasi tersebut  akan diteruskan ke neuron lainnya jika sinyal stimulasi melewati threshold. Pada kondisi ini, sebuah neuron disebut activated. Jika stimulasi yang masuk terlalu rendah, informasi tidak akan dikirim, pada kondisi ini, sebuah neuron disebut inhibited. Koneksi antar neuron bersifat adaptive, dimana struktur koneksi berubah secara dinamis.

Komponen NN.

Terdapat banyak struktur NN, tetapi kesemuanya mempunyai komponen yang hampir sama. Gambar berikut memperlihatkan struktur ideal NN.

Seperti terlihat pada gambar, struktur NN mirip dengan struktur otak manusia diatas. Informasi (sebagai input) dikirim ke neuron melalui suatu pembobotan input. Input ini diproses oleh suatu fungsi propagation yang menaikan nilai bobot input. Hasilnya kemudian dibandingkan dengan threshold oleh activation function.  Jika input melampaui threshold, maka neutron akan diaktifkan, jika sebaliknya maka neutron akan inhibit. Jika diaktifkan, neuron akan mengirim output melalui pembobotan output ke neuron lainnya, dan seterusnya.

Dalam NN, neuron dikelompokan dalam layer, yang disebut neuron layer. Biasanya setiap neuron dari sebuah layer dihubungkan ke semua neuron yang ada di layer belakang maupun depannya (kecuali input dan output).  Informasi yang dikirim dalam sebuah NN, dipropagasi layer – per – layer mulai dari input hingga output tanpa atau melalui satu atau lebih hidden layers.  Bergantung pada algoritma yang digunakan, informasi juga dapat dipropagasi ke arah belakang (backpropagation). Gambar berikut menunjukan NN dengan tiga neuron layers.

Perlu dicatat bahwa gambar ini bukan merupakan struktur umum dari NN. Ada NN yang tidak mempunyai hidden layer, atau ada juga NN yang layer-nya berbentuk matriks.

Jenis NN.

Terdapat beberapa jenis NN, yang dibedakan berdasarkan type, algoritma, learning methode maupun activation function, yang digunakan.

  • Type NN, yaitu yang berkaitan dengan koneksi antar neuron. Ada 2 type, yaitu feedforward dan feedback. Feedforward type merupakan type NN dimana neuron pada suatu layer hanya bisa berkoneksi dengan  neuron yang berada pada layer yang berbeda. Sedangkan feedback type merupakan type NN dimana neuron pada suatu layer bisa berkoneksi dengan neuron  pada layer lainnya dan juga dengan neuron  pada layer yang sama.
  • Algoritma, yaitu algoritma matematis yang digunakan NN untuk melakukan proses belajar. Ada beberapa jenis algoritma yang biasa digunakan, yaitu : (1) Backpropagation, merupakan suatu algoritma belajar (learning algorithm) yang digunakan oleh NN pada metode supervised. Salah satu bentuknya adalah delta learning rule. (2) Delta learning rule, merupakan algoritma belajar (learning algorithm) yang digunakan oleh NN pada metode supervised, dimana perubahan weight diperoleh dari hasil perkalian antara input, error dan learning rate. (3) Forwardpropagation, merupakan algoritma dimana output neuron hanya dipropagasi pada satu arah dari input ke output. (4) Hebb learning rule, merupakan algoritma yang digunakan dengan supervised learning, khususnya pada perceptron, dimana perubahan weight diperoleh dari perkalian input, output dan learning rate. (5) Simulated annealing, merupakan tipe khusus dari learning algorithm, khususnya untuk NN tipe feedback.
  • Metoda (learning methode), ada dua macam, yaitu : (1) Supervised learning, dimana ada target outputnya, sehingga error dihitung dari output hasil perhitungan dikurangi dengan target output. (2) Unsupervised learning, merupakan metode khusus dimana tidak ada target outputnya, contohnya adalah pada selforganizing neural nets seperti Kohonen Feature Map.
  • Fungsi aktivasi (activation function), merupakan fungsi matematis yang digunakan untuk mendapatkan output neuron dari nilai inputnya. Disebut aktivasi karena output akan bernilai jika melampaui nilai threshold-nya. Beberapa fungsi aktivasi yang sering digunakan, yaitu : hard limiter, signum activation dan sigmoid activation.

Beikut adalah beberapa jenis NN yang biasa digunakan.

(1) Perceptron.

Pertama kali diperkenalkan oleh F. Rosenblatt pada tahun 1958. Umumnya hanya digunakan untuk operasi logic sederhana seperti AND atau OR, tidak untuk operasi logic yang agak kompleks seperti XOR.

  • Type : feedforward.
  • Neuron layer : 1 input layer, 1 output layer.
  • Activation function : hard limiter.
  • Learning methode : supervised.
  • Learning algorithm : hebb learning rule.
  • Penggunaan: simple logical operations, pattern classification.

(2) Multi-layer-perception.

Diperkenalkan oleh M. Minsky dan S. Papert pada tahun 1969, merupakan pengembangan dari Perceptron dan mempunyai satu atau lebih hidden layers yang terletak antara input dan output layers.  Multi-layer-perceptron dapat digunakan untuk operasi logik termasuk yang kompleks seperti XOR.

  • Type : feedforward.
  • Neuron layers : 1 input layer, 1 atau lebih hidden layers dan 1 output layer.
  • Activation function : hard limiter/sigmoid.
  • Learning methode : supervised.
  • Learning algorithm : delta learning rule atau backpropagation (paling banyak digunakan).
  • Penggunaan : complex logical operations, patten classification.

(3) Backpropagation Net.

Diperkenalkan oleh G.E. Hinton, E. Rumelhart dan R.J. Williams pada tahun 1986, merupakan tipe yang paling baik (powerfull).

  • Type : feedforward.
  • Neuron layers : 1 input layer, 1 atau lebih hidden layers dan 1 output layer.
  • Activation function : sigmoid.
  • Learning methode : supervised.
  • Learning algorithm : backpropagation.
  • Penggunaannya : complex logical operations, patten classification, speech analysis.

(4) Hopfield Net.

Diperkenalkan oleh ahli fisika J.J. Hopfield tahun 1982 dan menjadi tipe NN yang disebut “thermodynamical models”. Terdiri dari sekumpulan neurons, tidak ada perbedaan antara input dan output neurons.

  • Type : feedback.
  • Neuron layers : 1 matrix.
  • Activation function : signum/hard limiter.
  • Learning method : unsupervised.
  • Learning algorithm : delta learning rule/simulated annealing (paling banyak digunakan).
  • Penggunaannya : patten association, optimization problems.

(5) Kohonen Feature Map.

Diperkenalkan oleh Teuvo Kohonen (University of Helsinki) tahun 1982.

  • Type : Feedforward/Feedback.
  • Neuron layers : 1 input layer, 1 map layer.
  • Activation function : sigmoid.
  • Learning methode : unsupervised.
  • Learning algorithm : selforganization.
  • Penggunaanya : patten association, optimization problems, simulation.

Berikut adalah 2 buah contoh NN sederhana (forward propagation dan backpropagation) yang saya buat dengan menggunakan Macro pada microsoft excel. Hasilnya memang belum memuaskan, hal ini disebabkan oleh jumlah data yang digunakan tidak terlalu banyak dan strukturnya juga sangat sederhana.

Ditulis dalam Instrument & Kontrol | 1 Komentar »

Bumpless Transfer di DCS Foxboro I/A Series

Posted by asro pada 27 Januari 2010

Bumpless transfer merupakan suatu fitur/fasilitas yang umumnya terdapat pada blok kontrol PID standard industri yang berfungsi untuk mencegah terjadinya perubahan mendadak pada output kontrol pada saat transisi mode kontrol dari Manual ke Auto atau dari Local ke Remote pada konfigurasi cascade. Seperti diketahui bahwa pada mode Manual, output kontrol PID diatur secara manual oleh operator, sedangkan pada mode Auto, output kontrol PID merupakan hasil kalkulasi algoritma PID yang besarnya bergantung pada error (Setpoint – Process variable). Jadi bisa saja terjadi bahwa pada suatu saat nilai output PID pada mode  Manual jauh berbeda dari hasil kalkulasi algoritma PID, sehingga jika mode kontrol diubah dari Manual ke Auto pada kondisi seperti ini, akan terjadi perubahan mendadak pada output PID yang tentu saja sangat tidak baik untuk operasi sebuah kontrol. Kondisi yang sama juga akan terjadi pada saat mode kontrol berubah dari Local ke Remote pada konfigurasi cascade. Untuk mengatasi hal ini maka diperlukan fasilitas bumpless transfer.

Pada DCS Foxboro I/A Series, bumpless transfer dilakukan dengan cara mengembalikan informasi yang ada di blok sesudahnya (downstream block) melalui parameter/jalur BCALCO ke blok PID melalui parameter/jalur BCALCI.  Berikut adalah beberapa konfigurasi bumpless transfer pada kontrol PID di DCS Foxboro I/A Series.

Apabila blok sesudah PID adalah AOUT (analog output) maka BCALCI blok PID dihubungkan ke BCALCO blok AOUT, seperti gambar di atas. Pada blok PID, nilai BCALCI akan digunakan sebagai nilai awal (initial value) untuk OUT pada saat mode kontrol berubah dari Manual ke Auto. Sedangkan pada blok AOUT, nilai BCALCO sama dengan MEAS. Sehingga pada saat perubahan mode kontrol dari Manual ke Auto, nilai OUT blok PID sama denga nilia MEAS blok AOUT (yang sama dengan nilai OUT blok PID pada saat mode Manual), dengan demikian tidak akan terjadi lonjakan mendadak (bump) pada OUT blok PID pada saat transisi dari Manual ke Auto tersebut.  Pada gambar di atas BCALCO blok AOUT juga dihubungkan ke FBK blok PID, ini dimaksud untuk menghasilkan aksi integration untuk mencegah terjadinya integral windup.

Apabila blok sesudah PID adalah juga PID (konfigurasi cascade), maka BCALCI blok PID yang di muka (upstream/primer) dihubungkan ke BCALCO blok PID yang di belakang (downstream/sekunder), seperti pada gambar di atas. Pada PID (sekunder), nilai BCALCO sama dengan MEAS kecuali pada saat transisi dari Local ke Remote dimana pada kondisi ini nilai BCALCO sama dengan SPT. Sehingga pada saat blok PID sekunder diubah mode-nya dari Local ke Remote (cascade), maka OUT blok PID primer bernilai sama dengan SPT blok PID sekunder, dengan demikian tidak akan terjadi perubahan mendadak pada setpoint PID sekunder (RSP).

Apabila digunakan blok Output Select (OUTSEL) untuk memilih satu  dari dua buah output kontrol (lebih besar atau lebih kecil), maka konfigurasinya seperti pada gambar berikut.

Apabila menggunakan blok Switch (SWCH), maka konfigurasinya sbb:

Apabila menggunakan kontrol Ratio, maka konfigurasi bumpless transfernya seperti pada gambar berikut.

Ditulis dalam Instrument & Kontrol | Tinggalkan sebuah Komentar »

Error Dalam Pengukuran

Posted by asro pada 20 November 2009

Setiap hasil pengukuran selalu mengandung error. Tidak ada pengukuran yang bebas error, ini merupakan sifat alamia, kecuali jika yang diukur/dihitung adalah jumlah barang atau jumlah kejadian. Error dalam pengukuran dikelompokan menjadi 3 jenis, yaitu spurious error, systematic error dan random error.

Spurious error merupakan gross error. Penyebab spurious error adalah karena kesalahan manusia (salah menggunakan metode, salah baca, salah lihat, salah mencatat) atau karena kesalahan alat ukur (instrument yang tidak berfungsi dengan baik).  Spurious error akan menyebabkan hasil pengukuran tidak valid karena berada jauh dari nilai rata-ratanya (outlier). Spurious error tidak bisa diikutkan dalam analisa statistik.  Cara menentukan spurious error dalam sekelompok hasil pengukuran adalah dengan outlier test.

Systematic error disebabkan oleh berbagai faktor yang secara sistematis mempengaruhi hasil pengukuran. Misalnya suatu keributan terjadi di dekat ruangan kelas dimana murid-murid sedang melakukan test.  Keributan ini bisa menyebabkan kesalahan menjawab pada semua murid karena terganggunya konsentrasi akibat keributan tersebut.  Contoh lainnya adalah adanya sludge dalam tanki bahan bakar yang menyebabkan kesalahan pada pengukuran level bahan bakar dalam tanki tersebut (level sludge juga ikut terukur).  Systematic error bernilai tetap atau jika berubah ia bisa diprediksi. Jadi Systematic error akan memberikan bias pada hasil pengukuran. Bias tersebut bisa bernilai positif atau negatif. Dalam prakteknya, systematic error ini sangat sulit untuk diidentifikasi/ditentukan.

Random error disebabkan oleh faktor-faktor yang secara acak/random berpengaruh pada suatu variable/besaran sepanjang proses cuplikan/sampling pengukuran.  Salah satu contoh faktor tersebut misalnya suasana hati (mood) seseorang yang bisa berpengaruh pada kinerjanya sehingga bisa mempengaruhi hasil pengukuran.  Random error menyebabkan pengukuran berulang yang dilakukan terhadap suatu besaran tidak pernah menghasilkan nilai yang sama.  Hasil pengukuran berulang tersebut akan terdistribusi di sekitar nilai benar-nya dan mengikuti distribusi normal (Gausian). Random error dapat ditentukan dengan menggunakan metode statistik.

Untuk membuat suatu hasil pengukuran dapat diterima oleh semua pihak, maka perkiraan error yang terkandung dalam hasil pengukuran tersebut harus disampaikan, baik menyangkut besarnya error tersebut maupun tingkat signifikannya.  Secara umum pernyataan hasil pengukuran yang baik akan berbentuk sbb:  : y ± C(y) 95, n (95% confidence level, n measurement). Dengan y  adalah perkiraan nilai benar dari pengukuran, yang juga merupakan nilai rata-rata dari beberapa kali pengukuran setelah dikoreksi terhadap systematic error,  dan C(y) adalah error.  Pernyataan diatas mengandung pengertian, nilai benar y tersebut 95% kemungkinan berada pada rentang  y C(y)   dan  y + C(y) .

Ditulis dalam Custody Metering, Instrument & Kontrol | 2 Komentar »

Penggunaan Fungsi Regresi Excel untuk Pemodelan Inferential

Posted by asro pada 28 Juli 2009

Umumnya pengukuran kualitas produk dalam industri proses dilakukan dengan analisa laboratorium, yang dilakukan dalam periode 8 jam (per-shift) atau 24 jam (per-hari). Diantara periode tersebut, operator tidak memiliki panduan yang pasti mengenai kualitas produk, mereka hanya memperkirakannya dengan melihat nilai variable proses lainnya yang terkait. Dengan cara perkiraan ini yang tentu saja sangat besar tingkat kesalahannya,  maka umumnya kondisi operasi dijaga agak  jauh dari batas/limit yang dikehendaki, agar produk tidak off-spec.  Dengan demikian unit proses tidak bisa dioperasikan pada kondisi optimal (kondisi optimal umumnya berada di dekat limit).

Untuk mengatasi permasalahan ini, digunakan online analyzer untuk mengukur kualitas produk. Akan tetapi karena siklus analisa pada online analyzer yang mencapai 15 – 60 menit (bandingkan dengan waktu cuplik variabel proses lainnya yang kurang dari 1 menit), ditambah banyaknya permasalahan yang terkait dengan operasi/pemeliharaannya, maka penggunaan online analyzer ini juga belum menyelesaikan permasalahan ini secara tuntas.

Cara lainnya adalah dengan menggunakan inferential calculation, yaitu menggunakan model untuk menentukan/menghitung kualitas produk berdasarkan nilai variabel proses terkait. Dengan inferential calculation, kualitas produk bisa diketahui setiap saat sehingga memudahkan operator mengoperasikan unit proses secara optimal. Banyak paket aplikasi inferential yang tersedia, ada yang didasarkan pada perhitungan yang rigorous (menggunakan first principles of chemical engineering calculation), neural network, regresi atau metode lainnya.  Selain menggunakan paket aplikasi tersebut,  pemodelan untuk inferential calculation juga bisa dilakukan dengan menggunakan fungsi regresi yang ada di microsoft excel. Tulisan ini akan membahas hal ini.

Untuk mudahnya, pembahasan dilakukan dengan memberikan contoh.  Contoh yang diambil adalah penentuan Final Boiling Point (FBP) produk naphtha pada Crude Distiller Unit (CDU).  Dari pengalaman dan pengetahuan proses, FBP produk naphtha dominannya dipengaruhi oleh dua variabel yaitu overhead temperature dan pressure compensated fractionator temperature.  Berikut adalah data FBP produk naphtha dan kedua variabel proses yang mempengaruhinya.

Inf Regresi Excell 1

Selanjutnya dengan data ini akan dibangun model inferential dengan menggunakan fungsi regresi di microsoft excell.

Fungsi regresi di microsoft excel dapat diakses dari menu dengan cara sbb: Tools – Data Analysis… , muncul jendela Data Analysis, pilih Regression – Ok – muncul jendela Regression.

Pada jendela Regression: Input Y Range diambil dari data kolom D2  s/d  D29 ($D$2:$D$29) yaitu data untuk Naphtha FBP, Input X Range diambil dari kolom B2  s/d  C29  ($B$2:$C$29) yaitu data untuk Overhead temperature dan Pressure compensate temperature, Confidence Level tetap diset 95%, Output Range A32 ($A$32). Kemudian tekan OK. Hasil regresinya adalah sbb:

Inf Regresi Excell 2

Hasil/output perhitungan regresi terdiri dari 3 komponen/tabel, yaitu: 1) Regression Statistics; 2) ANOVA; 3) Regression Coefficients. Selanjutnya akan dijelaskan maksud dari masing-masing tabel tersebut.

Tabel pertama adalah Regression Statistic, yang digambarkan kembali sebagai berikut.

Inf Regresi Excell 3

Tabel ini menunjukan besarnya korelasi/varian antara variabel tidak bebas (dependent variable, dalam hal ini FBP produk naphtha) dengan variabel bebas (independent variable, dalam hal ini Overhead temperature dan pressure compensated fractionator temperature).

Dari semua parameter yang ada pada tabel tersebut, parameter R Square yang biasanya digunakan untuk menentukan bagus tidaknya korelasi/variasi model hasil regresi (walaupun ada juga yang menggunakan  Multiple R atau Adjusted R Square).  Sebagai Panduan umum, R Square > 0.8 menunjukan varian model bagus. R square sebesar 0.7592 seperti yang dihasilkan pada tabel diatas juga masih cukup baik, ia mengandung pengertian 75.92% perubahan/variasi output (FBP produk naphtha) dipengaruhi oleh input (Overhead temperature dan Pressure compensated fractionator temperature), sedangkan sisanya oleh variabel lainnya.  R Square, yang menunjukan total varian yang dihasilkan oleh model, dihitung dengan rusmus:  R Square = 1 – (SSres/SStotal).  Mengenai apa itu SSres dan SStotal lihat pembahasan  tentang tabel ANOVA.

Parameter lainnya adalah Multiple R, disebut sebagai  koefisien korelasi  antara variabel output dan input, dihitung dengan rumus : Multiple R = (R Square)^0.5.

Adjusted R Square, merupakan nilai R Square yang di-adjusted sesuai ukuran model, dengan menggunakan rumus : Adjusted R Square = 1 – (SSres/dfress)/(SStotal/dftotal).

Standard Error, merupakan standard deviasi error keseluruhan model. Observation, adalah jumlah observasi/data.

Tabel kedua adalah ANOVA (analysis of variant), berisi jumlah kuadrad (sum of square) untuk setiap komponen.

Inf Regresi Excell 4

Dalam regresi, ANOVA digunakan untuk mengetes tingkat kebenaran/signifikan model hasil regresi secara keseluruhan (overall model). Parameter yang menentukan tingkat signifikan model regresi adalah yang berada pada kolom paling kanan, yaitu Significance F. Parameter ini disebut juga p-value.  Tingkat signifikan model naik jika Significance F turun. Significance F mendekati nol berarti variabel input sangat (signifikan) berpengaruh pada output. Tabel berikut bisa digunakan sebagai panduan untuk menentukan hubungan antara Significance F dengan tingkat signifikan model yang dihasilkan.

Inf Regresi Excell 5

Untuk contoh ini, nilai Significance F adalah 0.0000000187 < 0.05 (alfa), sehingga model yang dihasilkan signifikan.

Untuk lebih jelasnya, akan diuraikan lebih rinci tentang informasi yang ada dalam tabel ANOVA. Secara umum tabel ANOVA berbentuk sbb:

Inf Regresi Excell 6

Kolom pertama adalah source, yaitu data yang akan dicek rentang/variasinya.  Ada 3 source, yaitu Regression, Residual dan Total. Regression digunakan untuk melihat rantang/variasi dari model yang diperoleh. Residual digunakan untuk melihat kesalahan/error dari model yang diperoleh. Total merupakan penjumlahan antara Regression dan Residual.

Kolom kedua adalah df,  merupakan kependekan dari degree of freedom. Ia menunjukan sejauh mana variabel bebas yang dimiliki.  m adalah jumlah variabel dan n adalah jumlah observasi.

Kolom ketiga, Sum of Square (SS) untuk masing-masing source. Untuk Regression, Sum of Square (SSreg) merupakan penjumlahan dari kuadrat nilai yang diprediksi/hasil perhitungan model (Yhat) dikurangi nilai rata-rata output data observasi (Ybar).  Ini bertujuan untuk mengukur sejauh mana rentang/variasi hasil prediksi model dari rata-rata data observasi. Semakin tinggi SSreg semakin bagus karena rentang/variasinya semakin besar (model bisa digunakan dalam rentang yang lebar).

Untuk Residual, Sum of Square (SSres) merupakan jumlah kuadrat data observasi (Y) dikurangi nilai prediksi (Yhat). Ini bertujuan untuk mengetahui sejauh mana model sama/mirip dengan aktual. Jika modelnya bagus maka SSres kecil.

Yang ketiga adalah Sum of Square untuk total (SStotal), ini merupakan jumlah kuadrat dari masing-masing observasi (Y) dikurangi rata-rata seluruh observasi (Ybar). Ini  digunakan untuk mengukur sejauh mana rentang/variasi observasi terhadap rata-ratanya.

Kolom keempat, Mean Square (MS), yang dihasilkan dengan membagi masing-masing Sum of Square (SS) dengan degree of freedoms (df).  MSres disebut juga dengan variance of error, yang mengukur sebaran data observasi terhadap prediksi.

Kolom kelima, F, yang diperoleh dengan membagi Mean Square untuk regresi (MSreg) terhadap Mean Square untuk residual (MSres). Nilai F digunakan untuk menentukan apakah model sesuai dengan data aktual.

Kolom terakhir adalah Significance F atau dikenal juga dengan p-value, digunakan untuk menunjukan ukuran tingkat signifikan model regresi dalam menjelaskan tingkat variasi output.  Significance F ini diperoleh berdasarkan nila F, df regression dan df residual, bisa diperoleh dengan menggunakan rumus excell berikut =FINV(F,dfreg,dfres). Tingkat signifikan model regresi akan naik jika Significance F turun. Significance F mendekati nol berarti variabel input sangat (signifikan) berpengaruh pada output.

Tabel terakhir adalah tabel coefficients. Tabel ini berisi nilai koefisien model hasil regresi dan beberapa parameter penting untuk setiap koefisien.

 Inf Regresi Excell 7

Kolom coefficients berisi nilai koefisien model hasil perhitungan (menggunakan metode least square estimate).  Kolom standard Error berisi simpangan baku (standard error) perhitungan koefisien model. Kolom t Stat adalah t-statistic untuk koefisen model, yang dihitung dengan membagi nilai koefisien oleh standard error-nya, t Stat = coefficient/standard error.  Kolom P-value berisi p-value yang terkait dengan t statistic untuk masing-masing koefisien. Parameter P-value bergantung pada t Stat dan df, yang dihitung dengan menggunakan rumus two tailed t distribution pada excell sbb : P-value = TDIST(t value,df,2). Parameter P-value disini sama artinya dengan pada tabel ANOVA, yang membedakannya adalah P-value pada tabel ANOVA untuk keseluruhan model,  sedangkan disini P-value untuk masing-masing koefisien model.  Hubungan antara P value dengan tingkat signifikan koefisien model adalah sbb:

 Inf Regresi Excell 9

Kolom Lower 95% dan Upper 95% menunjukan nilai koefisien pada interval 95%  confidence.  Batas konfiden (confidence limits) dihitung dengan menggunakan rumus excell berikut: Coefficient ± t*standard error. Dengan t adalah t value sesuai nilai df dan alpha tertentu (dalam contoh ini df = 21 dan alpha = 0.05), yang dapat dihitung dengan menggunakan rumus excell : =TINV(alpha,df).  Koefisien model bagus/signifikan apabila rentang 95% significant ini tidak berisi nol.

Dari semua parameter tersebut, yang perlu diperhatikan untuk menilai koefisien model adalah cukup nilai koefisien dan P-value sesuai kriteria tingkat signifikan diatas. Untuk contoh ini, karena p-value untuk ketiga koefisien < 0,05 (alpha), maka nilai ketiga koefisien tersebut signifikan.

Rangkuman Regresi.    Pada regresi, ada 3 parameter kunci yang menentukan/menunjukan model hasil regresi tersebut bagus, yaitu:

 Inf Regresi Excell 8

Dari tabel hasil regresi untuk contoh diatas, diperoleh model inferential untuk FBP produk naphtha sbb:

Naphtha FBP = 1.9476 * (Overhead Temperature) – 1.0932 * (Pressure Compensate Temperature) + 72.5286.

Dengan R Square = 0.759 (mendekati 0.8),  Significance F = 0.0000000187 < 0.05 (alpha), dan P value untuk ketiga koefisien < 0.05 (alpha). Sehingga dapat disimpulkan, model hasil regresi ini cukup baik/signifikan.

Hasil ini tidak jauh berbeda dengan hasil perhitungan regresi dengan menggunakan Profit Sensor Pro yang merupakan paket inferential model produk Honeywell, yaitu:

Naphtha FBP = 1.9467 * (Overhead Temperature) – 1.0925 * (Pressure Compensate Temperature) + 72.5.

Dengan R Square = 0.7595.

Konversi Data.   Regresi yang digunakan disini adalah regresi linear, sehingga untuk mendapatkan model yang benar, relasi antara variabel bebas dan variabel tidak bebas harus bersifat linear.  Untuk itu, sebelum digunakan dalam regresi, data tersebut harus dicek terlebih dahulu linearitasnya dengan menggunakan grafik scatter.  Apabila trending di grafik scatter menunjukan hubungan tidak linear, maka sebelum digunakan data tersebut harus dikonversi menjadi linear terlebih dahulu.  Beberapa tipe relasi yang mungkin terjadi adalah exponential, logarithmic dan sigmoid.  Untuk konversi exponential dan logarithmic ke linear gunakan rumus [=LN(y)] dan [=log10(y)].  Sedangkan untuk konversi sigmoid ke linear dapat digunakan fungsi logistic [=log10(y/(1-y))] atau probit transformation [=NORMINV(y,5,1)].

Pengujian Hipotesa.   Salah satu fungsi statistik adalah menguji hipotesa. Lalu hipotasa apa yang hendak diuji dalam perhitungan regresi diatas? Berikut akan dijelaskan secara garis besar.

Pada tabel ANOVA, hipotesa yang hendak diuji adalah:  H0 – nilai semua koefisien sama dengan nol; Ha – paling sedikit satu buah koefisien nilainya   tidak sama dengan nol.  Apabila F Significance (p-value)<alpha maka Ha diterima dan H0 ditolak, sebalinya apabila F Significance > alpha maka H0 diterima dan Ha ditolak.  Pada perhitungan diatas, karena F significance = 0.0000000187< 0.05 (alpha) maka Ha diterima dan H0 ditolak, yang berarti paling sedikit ada 1 buah koefisien yang nilainya tidak sama dengan nol.

Pada tabel Regression Coefficient, hipotesa yang hendak diuji adalah untuk masing-masing koefisien: H0 – nilai koefisien sama dengan nol; Ha – nilai koefisien tidak sama dengan nol. Apabila P-value<alpha maka Ha diterima dan H0 ditolak, sebalinya apabila P-value> alpha maka H0 diterima dan Ha ditolak. Pada perhitungan diatas, karena P-value untuk semua koefisien < 0.05 (alpha), maka H0 ditolak dan Ha diterima, yang berarti semua koefisien nilainya tidak sama dengan nol.

Penentuan Variabel Bebas.   Sebenarnya, variabel proses yang menentukan nilai FBP produk naphtha tidak hanya Overhead temperature dan Pressure compensated fractionator temperature.  Ada variabel proses lainnya juga berpengaruh, misalnya Naphtha flowrate, Column overhead pressure, Pump around flowrate, Flash zone temperature, dsbnya. Akan tetapi karena pengaruhnya tidak signifikan, maka variabel tersebut tidak diikutsertakan dalam model.  Cara menentukan variabel mana yang dominan berpengaruh dan mana yang tidak dominan adalah dengan melakukan regresi terhadap semua variabel tersebut baik secara bersama-sama (sekaligus) maupun kombinasi diantaranya. Model hasil regresi yang paling signifikan-lah yang akan dipakai.

Ditulis dalam Instrument & Kontrol | 1 Komentar »

Defuzzifier

Posted by asro pada 7 Juli 2009

Sehubungan dengan adanya pertanyaan mengenai defuzzifier di tulisan Fuzzy Control  dari salah seorang pengunjung blog ini, maka kali ini akan diuraikan  lebih detail mengenai proses defuzzifier yang saya ambil dari buku A Course in Fuzzy Systems and Control karangan Li-Xin Wang.

Defuzzifier merupakan proses memetakan himpunan fuzzy B’ yang merupakan hasil keluaran (hasil perhitungan) fuzzy inference engine kedalam variable di dunia nyata. 

Sesudah proses inference engine, kita akan mendapatkan sebuah himpunan fuzzy B’ yang merupakan gabungan atau irisan (bergantung pada jenis inference engine yang digunakan) dari beberapa himpunan fuzzy, seperti contoh pada gambar berikut.

 Defuzzifier 1

Tugas defuzzifier adalah menentukan sebuah titik di dalam B’ yang paling mewakili, dimana absis titik tersebut yang bernilai y* akan dijadikan keluaran/output perhitungan fuzzy.  Dalam statistik,   nilai yang paling mewakili  sekumpulan data/sample biasanya nilai rata-rata. Akan tetapi karena fuzzy bukanlah statistik, maka penentuan titik dalam B’ tersebut sedikit berbeda dari statistik. Terdapat 3 cara penentuannya, yaitu center of gravity, center average dan maximum.

Center of gravity defuzzifier.  Pada metode ini, titik y* diambila sedemikian hingga garis tegaknya akan membagi area B’ menjadi dua bagian, sebelah kiri dan kanan sama besar.

 Defuzzifier 2

Secara umum, rumus matematiknya adalah sbb:

 Defuzzifier 3

Center average defuzzifier.  Dengan metode ini, titik y* merupakan rata-rata tertimbang dari pusat masing-masing himpunan fuzzy pembentuk B’ (weight average of the center of input fuzzy). Yang menjadi bobot/weight-nya adalah tinggi pusat masing-masing himpunan fuzzy input (w1 dan w2).

 Defuzzifier 4

Secara umum, rumus matematisnya adalah sbb:

 Defuzzifier 5

Maximum defuzzifier.  Dengan metode ini, y* diambil pada titik dimana nilai fuzzy-nya paling besar.

 Defuzzifier 6

Secara umum, rumus matematisnya adalah y* = any point in hgt(B’), dengan hgt(B’) adalah titik-titik pada absis yang nilai fuzzy-nya paling besar.

Bisa saja terjadi dalam B’ terdapat lebih dari satu titik yang memiliki nilai fuzzy tertinggi.  Jika ini terjadi maka penentuan y* diambil dengan cara berikut:  smallest of maxima atau largest of maxima atau mean of maxima.

Defuzzifier 7

Rumus matematisnya adalah sbb;

Defuzzifier 8

Contoh 1.  Untuk lebih memahami proses defuzzifier, akan diberikan contoh sebagai berikut.

 Defuzzifier 9

Contoh 2.  Pada contoh 1 hanya digambarkan proses defuzzifier (himpunan fuzzy B’ sudah tersedia). Pada contoh 2 ini, semua proses dalam fuzzy system akan dibahas, mulai dari fuzzifier, rule base, inference engine sampai defuzzifier.

Defuzzifier 10

Ditulis dalam Instrument & Kontrol | 1 Komentar »

Fault-Tolerant Fieldbus

Posted by asro pada 15 Juni 2009

Teknologi fieldbus, khususnya Foundation Fieldbus (FF) memberikan banyak keuntungan dibandingkan dengan teknologi analog 4 – 20 mA yang saat ini paling banyak digunakan, diantaranya kemampuan online diagnostic dan  penghematan perangkat keras terutama kabel.  Secara umum, dalam satu segmen FF, bisa diakomodir hinga 32 field devices dan untuk aplikasi intrinsically safe dibatasi hingga 8 s/d 16 field devices.

Pada awal peluncurannya, teknologi ini diperkirakan akan cepat menggantikan teknologi DCS dengan 4 – 20 mA-nya yang saat itu paling banyak digunakan. Akan tetapi setelah lebih dari 10 tahun sejak peluncuran pertamanya, prediksi tersebut belum/tidak terbukti, penggunaan teknologi ini masih sangat sedikit. Menurut pendapat saya, salah satu kekurangan teknologi ini yang menyebabkan penerimaan user terhadapnya masih sangat lamban adalah karena issue redundant/fault-tolerant.  Pada dasarnya segmen  FF tidak dirancang untuk konfigurasi redundant/fault-tolerant.  Bayangkan, jika satu segmen FF bermasalah maka akan ada 32 devices yang tidak bisa bekerja, apalagi jika ke-32 devices tersebut menangani lup yang kritis (critical loop) maka akan sangat membahayakan operasi plant.

 Fault Tolerant FF 1

Salah satu cara untuk menyiasati issue redundant/fault-tolerant ini yang pernah kami lakukan sepuluh tahun lalu ketika kami membuat spesifikasi salah satu proyek yang kami tangani adalah dengan mensyaratkan bahwa satu segmen fieldbus hanya boleh mengakomodir satu lup kontrol, tidak boleh lebih. Sedangkan sisanya hanya boleh untuk monitoring loop ditambah spare. Persyaratan ini dibuat untuk meningkatkan kehandalan dan untuk memenuhi standard API RP 554 yang dengan jelas menyatakan bahwa setiap komponen (perangkat/module) yang menangani lebih dari dua lup kontrol harus redundant.

Cara lainnya untuk mengatasi issue redundant/fault-tolerant FF adalah melalui modifikasi/duplikasi  secara menyeluruh , yang membutuhkan tambahan perangkat lunak khusus (additional special software) untuk melakukan voting (one-out-of-two atau two-out-of-three), juga  penanganan khusus lainnya pada saat operasi maupun pemeliharaan. Berikut adalah konfigurasi duplex system dari  segmen FF  yang biasa dilakukan, sebut saja sebagai conventional  duplex system (sebuatan conventional ini hanya untuk membedakannya dari konfigurasi FF fault-tolerant lainnya yang muncul belakangan seperti yang akan dijelaskan di bawah ini). Pada konfigurasi tersebut, kabel yang digunakan masih satu buah/tunggal.

 Fault Tolerant FF 2

Konfigurasi redundant/fault-tolerant lainnya adalah yang dikembangkan oleh MooreHawke (salah satu divisi Moore Industries), diluncurkan tahun 2007.   Konfigurasi baru ini menggunakan duplex cable, sehingga  memiliki MTBF lebih tinggi dibandingkan dengan  konfigurasi konvensional di atas.  Selain menggunakan duplex cable, konfigurasi baru ini memiliki kelebihan lainnya yaitu tanpa menggunakan perangkat lunak khusus seperti pada konfigurasi konvensional. Berikut adalah konfigurasinya.

 Fault Tolerant FF 3

Konfigurasi FF fault tolerant baru ini sudah digunakan  dengan beberapa merek DCS dan diinstal di beberapa platforms di Laut Cina Selatan. Untuk menghemat biaya, fault tolerant system ini hanya untuk lup yang kritis (critical loop), sedangkan  untuk lup lainnya (misalnya monitoring loop atau kontrol lup yang tidak kritis) menggunakan konfigurasi simplex.  Informasi lebih jauh tentang konfigurasi fault-tolerant baru ini terutama aspek ekonomiknya silahkan baca di  sini

Ditulis dalam Instrument & Kontrol | 2 Komentar »

Fuzzy Control

Posted by asro pada 27 Maret 2009

Anda pernah mendengar istilah kecerdasan buatan (artificial intelligence atau disingkat AI)?  AI merupakan suatu aplikasi yang meniru kecerdasan manusia untuk digunakan dalam mesin-mesin atau peralatan-peralatan cerdas.  Konon katanya otak manusia memiliki 2 fungsi utama, yaitu fungsi berpikir dan fungsi belajar. Fungsi berpikir manusia tercermin dari kemampuannya untuk berlogika,  sedangkan fungsi belajar membuat manusia bisa mengingat sesuatu melalui pembentukan pola-pola di otaknya.

Sejalan dengan fungsi otak manusia tersebut, maka AI juga dikelompokan menjadi 2 kelompok, yaitu AI yang meniru fungsi berpikir dan AI yang meniru fungsi belajar.  Salah satu contoh AI yang meniru fungsi berpikir adalah logika fuzzy (fuzzy logic), sedangkan  contoh AI yang meniru fungsi belajar adalah neural network (NN).  Tulisan ini akan membahas fuzzy logic dan salah satu aplikasinya di bidang kontrol proses.

Logika Fuzzy.    Logika fuzzy pertama kali diperkenalkan oleh Prof Lotfi Zadeh tahun 1965.  Saat ini logika fuzzy sudah banyak digunakan dalam berbagai bidang, salah satunya adalah dalam bidang kontrol (proses kontrol). Fuzzy yang diperkenalkan oleh Zadeh didasarkan pada teori possibility yang  berbeda dari teori probability yang sudah lebih umum dikenal.

Secara umum, logika fuzzy terdiri dari beberapa komponen, yaitu Fuzzifier, Fuzzy Rule Base, Fuzzy Inference Engine dan Defuzzifier, seperti diperlihatkan pada gambar berikut.

 fuzzy-1

Yang menjadi inti dari logika fuzzy adalah Fuzzy Rule Base, yang berisi pernyataan-pernyataan logika. Fuzzy Inference Engine merupakan komponen fuzzy yang menerjemahkan pernyataan logika yang ada di Rule Base menjadi  perhitungan-perhitungan matematika. Fuzzifier digunakan untuk memetakan nilai/harga variable di dunia nyata kedalam himpunan fuzzy (fuzzy sets), sedangkan Defuzzifier mengembalikan hasil perhitungan fuzzy (himpunan fuzzy) menjadi variable sesuai rentang nilainya di dunia nyata.

Fuzzy Rule Base.   Fuzzy rule base berisi pernyataan-pernyataan logika fuzzy (fuzzy statement), yang berbentuk pernyataan IF-THEN.  Bentuk umum pernyataan fuzzy adalah:

IF x1 is A1l  and …  and xn is Anl   THEN  y is Bl  ,

A1l dan Bl adalah himpunan fuzzy dalam Ui  Ì R dan V Ì R, sedangkan x = (x1, x2, … , xn)T Î U dan y Î V adalah input dan output dari variable fuzzy.

Fuzzy Inference Engine.   Fuzzy inference engine menerjemahkan pernyataan-pernyataan fuzzy dalalm rule base menjadi perhitungan matematika (fuzzy combinational). Terdapat beberapa metode inference engine, 5 diantaranya yaitu:

  1. Product Inference Engine.
  2. Minimum Inference Engine.
  3. Lukasiewicz Inference Engine.
  4. Zadeh Inference Engine.
  5. Dienes-Rescher Inference Engine.

Berikut adalah formula untuk masing-masing inference engine tersebut.

 fuzzy-2

Fuzzifier.   Fuzzifier digunakan untuk memetakan nilai/harga variable di dunia nyata kedalam himpunan fuzzy (fuzzy sets). Pemetaannya dilakukan dengan menggunakan fungsi yang disebut membership function.  Terdapat beberapa metode fuzzifier, 3 diantaranya yaitu:  Singleton fuzzifier, Gausian fuzzifier dan Triangular fuzzifier.  Berikut adalah formulanya.

 fuzzy-3

Defuzzifier.   Defuzzifier mengembalikan hasil perhitungan fuzzy (himpunan fuzzy) menjadi variable sesuai rentangnya di dunia nyata.  Sama dengan fuzzifier,  defuzzifier juga menggunakan membership function untuk memetakan nilai himpunan fuzzy menjadi variable nyata.  Terdapat beberapa metode defuzzifier, 3 diantaranya yaitu:

  1. Center of gravity defuzzifier. Center of gravity yang dinyatakan dengan y*, menunjukan pusat area yang diliputi oleh membership function B’.
  2. Center average dufuzzifier. Center average menunjukan weight average dari titik tengah (center) masing-masing membership function.
  3. Maximum defuzzifier. Maximum defuzzifier memilih nilai tertinggi sebagai y*. Ada 3 pilihan, smallest of maxima, largest of maxima atau mean of maxima.

Berikut adalah formulanya.

 fuzzy-4

Fuzzy PID Gain Scheduling Control.    Kontrol PID merupakan algoritma kontrol yang banyak digunakan di industri proses karena bentuknya yang sederhana dan mudah diimplementasikan.  Pada kondisi operasi tertentu (seperti misalnya sering terjadi gangguan pada proses atau parameter proses yang berubah-ubah), parameter control ini harus sering di-tuned agar kinerjanya tetap baik.  Salah satu teknik dalam sistem kontrol yang sering dilakukan untuk mengatasi permasalahan ini adalah dengan menggunakan metode PID Gain Scheduling, dimana parameter kontrol diubah secara otomatis jika terjadi perubahan kondisi operasi yang menyebabkan kinerja kontrol menurun.

Dalam rangka memberikan contoh penggunaan fuzzy logic di bidang kontrol proses, maka selanjutnya akan dibahas salah satu metode PID gain scheduling dengan  menggunakan fuzzy logic. Metode ini dinamakan Fuzzy PID gain scheduling.

Pada aplikasi ini, fuzzy berfungsi menghitung parameter kontrol PID (Kp, Ti dan Td), berdasarkan kondisi signal error (E) dan perubahan error (DE).

Secara umum, diagram fuzzy PID gain scheduling control dapat digambarkan seperti berikut.

 fuzzy-5

Khusus untuk fuzzy system, diagramnya adalah sbb:

 fuzzy-61

Fuzzifier,  menerjemahkan informasi input, dalam hal ini error E dan perubahan error DE menjadi informasi fuzzy m(0,1), yang bernilai antara 0 dan 1.  Penerjemahannya menggunakan triangular membership function (triangular fuzzifier), seperti pada gambar berikut.

 fuzzy-7

NB adalah negative big, NM adalah negative medium, NS adalah negative small, ZO adalah zero, PS adalah positive small, PM adalah positive medium dan PB adalah positive big; kesemuanya ini merupakan linguistic term dari fuzzy logic.  Sebagai contoh, signal E sebesar 50 memiliki nilai fuzzy 0.5 untuk PS dan PM,  sedangkan fuzzy term lainnya bernilai nol.

Rule Base,  berisi sekumpulan pernyataan fuzzy dalam bentuk IF  …  THEN ……..   Disini akan digunakan rule berikut:

 fuzzy-82

Selengkapnya pernyataan fuzzy tersebut dapat ditabelkan sebagai berikut:

 fuzzy-9

Inference Engine.  Fuzzy inference engine bertugas melakukan proses fuzzy reasoning yaitu menerjemahkan fuzzy statement berdasarkan nilai input dari hasil fuzzifier menjadi suatu nilai output yang kemudian akan dikirim ke defuzzifier.

Disini akan digunakan metode minimum inference engine.  Untuk setiap statement di atas, baik untuk Kp’ , Kd’ maupun a, hasil proses reasioningnya adalah:

  • m(Kp’) = mKp’ (E,DE) = min (m(E), m(DE)
  • m(Kd’) = mKd’ (E,DE) = min (m(E), m(DE)
  • m(a) = ma (E,DE) = min (m(E), m(DE)

Defuzzifier.  Defuzzifier merupakan kebalikan dari fuzzifier, yaitu menerjemahkan informasi fuzzy m(Kp’), m(Kd’) dan m(a) yang merupakan hasil dari proses reasioning yang bernilai antara 0 dan 1 menjadi Kp’, Kd’ dan a.

Proses defuzzifier ini juga dilakukan dengan menggunakan triangular membership function, seperti pada gambar berikut.

 fuzzy-10

Dengan S adalah small, MS adalah medium small, M adalah medium dan B adalah big.

Di sini proses defuzzifier dilakukan dengan menggunakan metode center average defuzzifier, dengan formula berikut:

  • Kp’ = (åm(Kp’) Kp’)/ (åm(Kp’))
  • Kd’ = (åm(Kd’) Kd’)/ (åm(Kd’))
  • a = (åm(a)a)/ (åm(a))

Selanjutnya nilai parameter kontrol PID yaitu Kp, Ti dan Td dapat diperoleh dengan persamaaan:

  • Kp = Kp’ (Kpmax – Kpmin) + Kpmin.
  • Ti = aTd
  • Td = Kd’ (Kdmax – Kdmin) + Kdmin

Untuk menguji kinerja dari Fuzzy PID gain scheduling control ini, saya membuat simulasinya dengan menggunakan excell.  Dalam simulasi ini saya membandingkan Fuzzy PID gain scheduling control dengan Ideal PID control.  Front-End simulasi yang saya buat seperti gambar berikut.

 fuzzy-11

Ideal PID di-tuned secara manual ke Proportional gain Kp = 0.1, Integral time Ti = 0.5 dan Derivative time Td = 1.5.  Sedangkan Fuzzy PID gain scheduling akan menghitung sendiri parameter PID berdasarkan kondisi error (E) dan perubahan error (DE), yang menghasilkan harga Kp = 0.1, Ti = 3 dan Td = 1.  Hasilnya, response yang diberikan Fuzzy PID gain schedulling sedikit lebih bagus dibandingkan dengan ideal PID.

Ketika saya ubah proses gain P dari 2 menjadi 7.5, responsenya akan berubah menjadi seperti gambar berikut.

 fuzzy-12

Perhatikan gambar ini. Dengan tuning parameter yang sama dengan sebelumnya,  Ideal PID tidak mampu lagi mengontrol plant dengan baik (response menjadi tidak stabil).  Sedangkan Fuzzy PID gain scheduling  menghitung ulang parameter PID berdasarkan kondisi error (E) dan perubahan error (DE), yang menghasilkan harga Kp = 0.1,  Ti = 3.03 dan Td = 1.02. Hasilnya, response yang diberikan Fuzzy PID gain scheduling masih stabil walaupun sedikit berosilasi.

Ditulis dalam Instrument & Kontrol | 24 Komentar »

Diskritisasi

Posted by asro pada 16 Januari 2009

Dalam dua tulisan sebelumnya yaitu mengenai Algoritma PID pada DCS Honeywell Experion PKS dan DCS Foxboro I/A Series, saya merubah algoritma analog yang diberikan oleh vendor menjadi diskrit sehingga mudah untuk perhitungannya di Excel. Sehubungan dengan hal tersebut, ada beberapa pengunjung blog ini yang menanyakan bagaimana cara merubahnya, bahkan ada pengunjung yang menganggap proses perubahan tersebut memerlukan metode matematika tingkat lanjut yang sulit dimengerti. Pada hal sebenarnya proses diskritisasi (merubah bentuk analog menjadi diskrit) itu tidak sesulit yang dibayangkan. Hampir semua literatur sistem kontrol diskrit membahas hal ini. Bahkan di Internet juga banyak dijumpai tulisan mengenai diskritisasi ini sehingga tidak sulit untuk ditemukan.

Sehubungan dengan hal tersebut, pada tulisan ini saya mencoba membahas proses diskritisasi tersebut.

Pada era-era  sebelumnya, dimana komputer digital belum ditemukan atau belum digunakan secara luas termasuk dalam bidang industri, implementasi sistem kontrol dilakukan pada perangkat yang berbasis sinyal analog, sehingga perhitungan/algoritma kontrol yang digunakan baik pada tahap perancangan maupun implementasi juga dinyatakan dalam bentuk analog, baik itu dalam bentuk time domain maupun dalam  bentuk transformasi laplace/transformasi s atau bentuk lainnya. Dengan digunakannya komputer digital di industri termasuk untuk implementasi sistem kontrol, maka perhitungan/algoritma berbasis analog yang digunakan sebelumnya juga harus dirubah ke bentuk diskrit. Mengapa? Karena tidak seperti pada perangkat analog yang bekerja secara kontinyu dan simultan, komputer digital bekerja berdasarkan waktu cuplik (time sampling). Sama dengan analog, bentuk disktrit juga bisa dinyatakan dalam time domain dan transformasi, yaitu transformasi z (transformasi z merupakan bentuk khusus/bentuk diskrit dari transformasi laplace).

Banyak cara/metoda yang digunakan untuk proses diskritisasi ini, tiga diantaranya yang banyak digunakan dalam bidang kontrol adalah: 1) Backward difference; 2) Forward difference atau disebut juga Euler’s methode;  dan 3) Bilinear transformation atau Trapezoidal methode atau Tustuin’s approximation.

Perlu diketahui bahwa semua metoda yang digunakan ini hanya merupakan pendekatan (approximations), sehingga hasilnya tidak akan persis sama dengan bentuk analog. Mengapa? Pertama, karena dalam bentuk diskrit selalu ada sebagian informasi yang hilang, yaitu informasi yang terjadi antara satu cuplikan dengan cuplikan lainnya walaupun frekuensi cuplik yang digunakan tinggi (ingat komputer digital bekerja berdasarkan waktu cuplik). Kedua, karena formula matematika yang digunakan dalam proses diskritisasi juga diturunkan berdasarkan pendekatan agar lebih mudah digunakan (sebagian komponen formula yang tidak dominan sengaja dihilangkan/tidak digunakan).

Dalam proses diskritisasi ini, saya mengandaikan algoritma analog dinyatakan dalam bentuk persamaan laplace (selain bentuk laplace, algoritma analog juga bisa dinyatakan dalam bentuk time domain/persamaan differensial atau state space atau bentuk lainnya).

Prosedur/tahapan disritisasi yang saya gunakan adalah sbb:

diskritisasi-011

Untuk lebih jelasnya, saya akan memberikan contoh proses merubah algoritma kontrol integral dari analog menjadi diskrit dengan menggunakan ketiga metoda tersebut.

diskritisasi-021

Sampai di sini proses diskritisasi sudah selesai. Bagaimana, mudah bukan?  Untuk lebih memperlancar, akan diberikan contoh satu lagi, yaitu merubah sistem orde satu dari bentuk analog menjadi diskrit. Ikuti prosedur berikut:

diskritisasi-03

Selanjutnya mari kita bandingkan ketiga metoda diskritisasi tersebut diatas. Perbandingan ini dapat dilakukan dengan cara membuat simulasi hasil diskritisasi ketiga metoda tersebut dengan menggunakan Excel. Diagram blok simulasi yang kita buat adalah sbb:

diskritisasi-1

Model untuk Integral controller dan Plant yang digunakan dalam simulasi adalah dari hasil diskritisasi di atas, seperti yang dirangkum dalam tabel berikut.

 diskritisasi-04

Selanjutnya mari kita buat simulasinya, ikuti langkah-langkah berikut ini.

diskritisasi-05

diskritisasi-2

 

diskritisasi-06

diskritisasi-3

diskritisasi-07

Jika formula yang diisi benar, maka tabel yang dihasilkan akan terlihat seperti pada gambar berikut.

diskritisasi-4

diskritisasi-08

diskritisasi-5

diskritisasi-09

Jika formula yang diisi benar, maka tebal yang dihasilkan akan menjadi seperti pada gambar berikut.

diskritisasi-6

diskritisasi-10a

diskritisasi-7

diskritisasi-11a

Jika formula yang diisi benar, maka tabel yang dihasilkan akan menjadi seperti pada gambar berikut.

diskritisasi-8

diskritisasi-12a2

diskritisasi-9

Sampai di sini simulasi yang kita buat sudah jadi. Selanjutnya mari kita bandingkan response sistem dari ketiga metoda diskritisasi tersebut. Ganti nilai Ti untuk ketiga metoda tersebut dari 3.00 menjadi 0.68, response-nya akan menjadi seperti gambar berikut.

diskritisasi-10

Dari kedua gambar terakhir ini bisa dilihat bahwa diantara ketiga metoda  ini, yang paling sensitif adalah forward difference, disusul bilinear transform dan yang paling robust adalah backward difference.  Mengapa demikian?  Hal ini bisa dijelaskan dengan melihat gambar mapping daerah stabil dari kontinyu (bidang s) ke diskrit (bidang z) untuk ketiga metoda berikut ini.

 diskritisasi-11

Dari gambar di atas  terlihat bahwa pada bilinear transform, seluruh daerah stabil pada bidang s yaitu daerah di sebelah kiri sumbu imajiner di-mapping ke seluruh daerah stabil pada bisang z, yaitu dalam lingkaran satuan.  Pada forward difference, terdapat sebagian daerah stabil pada bidang s di-mapping ke daerah tidak stabil pada bidang z, yaitu daerah di luar lingkaran satuan. Sedangkan pada backward difference, seluruh daerah stabil dan sebagian daerah tidak stabil di bidang s di-mapping ke daerah stabil di bidang z. Hal inilah yang menyebabkan mengapa backward difference jauh lebih robust dibandingkan dengan kedua metoda lainnya, disusul bilinear transform dan yang paling sensitive adalah forward difference.

Ditulis dalam Instrument & Kontrol | 1 Komentar »

Safety Barrier

Posted by asro pada 26 Desember 2008

Kebakaran merupakan malapetaka yang sangat menakutkan, karena kerugian yang diakibatkannya sangat besar termasuk hangusnya harta benda, kerusakan fasilitas, bahkan nyawa-pun melayang karenanya.

Menurut teori, kebakaran itu terjadi karena adanya 3 unsur, yaitu oksigen, bahan bakar (bahan yang mudah terbakar) dan panas/nyala/percikan api. Ketiga unsur pemicu api tersebut di dunia perapian (Fire & Safety) dikenal dengan nama segi tiga api (fire triangle).

barrier-1

Kebakaran/api akan terjadi jika ketiga unsur ini ada, tanpa kehadiran salah satu unsur saja, kebakaran tidak akan terjadi. Oleh karena itu, cara yang paling efektif untuk mencegah terjadinya kebakaran adalah dengan  memutuskan hubungan antara ketiganya.

Industri perminyakan merupakan industri yang mengolah minyak bumi menjadi berbagai macam produk, baik berupa produk jadi maupun setengah jadi (intermediate). Karena bahan yang diolah merupakan minyak bumi, maka di area/lokasi industri perminyakan kemungkinan besar banyak terdapat minyak atau gas yang berasal dari minyak bumi yang merupakan salah satu jenis bahan bakar terbaik saat ini. Dari sudut pandang segi tiga api,  di lokasi industri perminyakan sudah ada dua unsur, yaitu bahan bakar (minyak dan gas) dan oksigen (pasti ada, kecuali kalau industri tersebut adanya di ruang angkasa).

Sehubungan dengan kemungkinan adanya minyak/gas ini, area industri perminyakan dibagi menjadi beberapa kelompok, yaitu: 1) Non-Hazardous area (area aman) : area dimana tidak ada minyak/gas yang mudah terbakar, baik pada kondisi normal maupun tidak normal (abnormal).  2) Hazardous area Class I Div 2 (area berbahaya) : area dimana minyak/gas yang mudah terbakar kemungkinan ada pada kondisi tidak normal (sewaktu-waktu).  3) Hazardous area Class I Div I (area lebih berbahaya dari Class I Div 2) : area dimana pada kondisi normal, minyak/gas yang mudah terbakar selalu ada terus menerus, sekali-sekali atau secara periodik.

Pembagian ini merujuk standard yang digunakan di Amerika, yang sedikit berbeda dari yang digunakan di Eropa.

Sebagaimana industri-industri lainnya, industri perminyakan juga banyak menggunakan peralatan yang berbasis listrik atau electronic. Peralatan yang menggunakan daya listrik selalu menghasilkan panas atau bahkan terkadang percikan api yang pada level tertentu bisa menimbulkan kebakaran. Nah, jika peralatan listrik/electronic ini digunakan di industri perminyakan yang hampir setiap waktunya sudah memiliki 2 unsur api, maka akan sangat rawan terhadap terjadi kebakaran. Oleh karena itu, hampir semua peralatan listrik/electronic yang digunakan di industri perminyakan harus diproteksi. Ada berbagai jenis sistem peroteksi yang digunakan, yang kesemuanya bertujuan melokalisir/memutuskan hubungan antara panas/percikan api yang ditimbulkan oleh peralatan listrik/electronic tersebut dengan minyak/gas dan oksigen/udara yang ada di area industri perminyakan, sehingga kebakaran bisa dicegah.

Jenis proteksi tersebut, antara lain: 1) Flameproof enclosure; 2) Intrinsically-safe; 3) Pressurization; 4) Increased safety; 5) Type N protection; 6) Special protection; 7) Oil-immersion; 8.) Powder/sand filling; dan 9) Encapsulation.

Lalu apa hubungan semua yang ditulis ini dengan judul diatas? Safety barrier (lebih tepatnya intrinsically safety barrier) merupakan suatu peralatan electronic yang digunakan sebagai bagian dari sistem proteksi intrinsically-safe. Untuk itu, mari kita pelajari lebih jauh seperti apa sistem proteksi intrinsically-safe itu dan dimana letak perannya safety barrier.

Prinsip kerja sistem proteksi pada intrinsically-safe adalah dengan cara membatasi energi listrik pada rangkaian yang masuk ke Hazardous area sehingga apabila timbul percikan api atau panas yang disebabkan oleh kerusakan peralatan listrik/electronic maka percikan atau panas tersebut tidak sanggup memicu terjadinya api/kebakaran. Intrinsically-safe umumnya berupa sistem yang terdiri dari beberapa peralatan yang terhubung dalam rangkaian listrik, yang disebut Intrinsically-safe circuit. Semua peralatan yang terhubung ke intrinsically safe circuit yang berada di hazardous area harus diapproved sebagai intrinsically-safe apparatus (kecuali peralatan yang masuk dalam kategori simple apparatus). Intrinsically-safe apparatus, yang berupa transmitter, detector, converter atau sejenisnya selalu terhubung ke panel operator (DCS atau analog panel) di Control room. Ruangan control room masuk dalam kategori non hazardous area,  sehingga panel operator tidak (perlu) di-approved sebagai intrinsically-safe apparatus (kalau mau di-approved juga tidak apa-apa, tetapi harganya akan sangat mahal). Untuk menjaga agar energi listrik dari panel control room yang umumnya besar (karena tidak dibatasi) tidak masuk ke intrinsically-safe circuit di hazardous area yang energinya sudah dibatasi, digunakan peralatan yang namanya safety barrier. Jika peralatan di hazardous area disebut sebagai intrinsically-safe apparatus, maka safety barrier disebut sebagai associated apparatus. Sama dengan intrinsically-safe apparatus, associated apparatus juga harus di-approved. Sebenarnya associated apparatus tidak hanya safety barrier saja, ada juga peralatan lain yang sama fungsinya dengan safety barrier, seperti I/O DCS yang sudah di-approved untuk koneksi ke intrinsically-safe apparatus juga masuk kategori associated apparatus. Untuk lebih jelasnya perhatikan gambar dibawah ini.

barrier-2

Semoga dengan melihat gambar ini, sudah bisa sedikit memahami apa itu intrinsically-safe dan apa peran safety barrier dalam intrinsically-safe circuit. Selain ditempatkan di Non Hazardous Area seperti gambar diatas, ada safety barrier dengan design khusus bisa  ditempatkan di Hazardous Area (umumnya di area Class I Div 2 atau Zone 2 untuk klasifikasi Eropa). Begitu juga dengan IS-apparatus, bisa ditempatkan hingga Class I Div 1/Zone 0 (dengan code Ia) atau hanya sampai ke Class I Div 2/Zone 2 (dengan code Ib). Selanjutnya sesuai judul tulisan ini, akan dibahas lebih jauh tentang Safety Barrier.

Jenis Safety Barrier. Ada dua jenis safety barrier, yaitu zener barrier dan isolator barrier. Berikut adalah perbedaan antara keduanya.

barrier-3

Penggunaan pasangan Intrinsically-safe apparatus dan Associated apparatus dalam  suatu Intrinsically-safe circuit tidak boleh sembarangan. Sehubungan dengan hal ini, terdapat dua alternative, yaitu:

Alternative 1 :  Pemilihan pasangan Intrinsically-safe apparatus dan Associated apparatus disesuaikan dengan ketentuan manufacturer.  Ini paling gampang, karena tinggal mengikuti panduan dari manufacturer karena informasinya sudah sangat jelas, termasuk type/model-nya, misalnya transmitter model ABC harus digunakan dengan safety barrier model 123, dsbnya. Informasi ini biasanya dituangkan dalam dokumen yang disebut control drawing, seperti berikut:

barrier-4

Alternative 2 : Jika tidak ada panduan/ketentuan dari manufacturer atau jika kita sengaja tidak mengikuti panduan manufacturer untuk alasan tertentu, maka pemilihan safety barrier harus mempertimbangkan beberapa hal berikut:

barrier-5

Berikut adalah contoh pemilihan pasangan Intrinsically-safe apparatus dan Associated apparatus, jika tidak ada control drawing dari manufacturer (Alternative 2).  Di suatu unit operasi II, akan dipasang potitioner baru. Potitioner yang digunakan adalah Foxboro Eckard SRD 991, dengan intrinsically-safe protection. Selanjutnya akan dicari jenis safety barrier yang akan menjadi pasangan positioner tersebut.

barrier-6

barrier-7

Ditulis dalam Instrument & Kontrol | 5 Komentar »

Algoritma PID pada DCS Foxboro I/A Series

Posted by asro pada 5 September 2008

Kata PID (Proportional + Integral + Differential) tentunya sudah tidak asing lagi bagi mereka yang sehari-harinya menggeluti bidang instrumentasi maupun kontrol proses, karena memang kata ini merupakan nama dari jenis aksi kontrol yang paling banyak digunakan dalam kontrol proses. Semua perangkat kontrol proses mulai dari yang paling sederhana sampai dengan yang paling canggih menyediakan fungsi PID ini. Pada prakteknya, terdapat banyak jenis/varian dari PID, salah satu contohnya adalah yang ada di DCS Honeywell Experion PKS seperti yang pernah saya bahas dalam tulisan sebelumnya. Kali ini saya akan membahas varian kontrol PID lainnya yaitu yang ada di DCS Foxboro I/A Series.

DCS Foxboro I/A Series menyediakan 5 buah blok (function block) yang berisi berbagai jenis/varian kontrol PID. Ke-5 blok tersebut adalah PID, PIDE, PIDX, PIDXE dan PIDA.

Blok PID menyediakan algoritma interacting PID, yang dapat dikonfigurasi dalam 5 mode operasi, yaitu: 1) Proportional – P; 2) Integral – I; 3) Proportional Derivative – PD; 4) Proportional Integral – PI; dan 5) Proportional Integral Derivative – PID.

Blok PIDE (Proportional-Integral-Derivative with EXAC) menggunakan algoritma yang sama dengan blok PID ditambah dengan fasilitas self tunning. Beda dengan blok PID yang memiliki 5 mode operasi, blok PIDE hanya memiliki satu mode operasi yaitu PID.

Blok PIDX (Proportional-Integral-Derivative Extended) memiliki algoritma yang sama dengan blok PID, ditambah beberapa fitur, yaitu Nonliniear Gain Compensation, Sampling mode dan Batch control preload. Mode operasinya juga ada 5 seperti pada blok PID.

Blok PIDXE (Proportional-Integral-Derivative Extended with EXACT) memiliki algoritma dan fitur yang sama dengan blok PIDX ditambah fasilitas self tunning. Blok PIDXE hanya memiliki satu mode operasi.

Blok PIDA (Advance PID) merupakan blok kontrol dengan fitur yang paling komplit. Blok ini dilengkapi feedforward loop, adaptive tunning baik untuk feedback loop (FBTUNE) maupun feedforward loop (FFTUNE). Terdapat 8 jenis algoritma yang digunakan sesuai mode yang dipilih, yaitu: 1) Proportional – P; 2) Integral – I; 3) Proportional Derivative – PD; 4) Proportional Integral – PI; 5) Proportional Integral Derivative – PID; 6) Non-Interacting Proportional Integral Derivative – NIPID; 7) Proportional Integral with Deadtime – PITAU; dan 8.) Proportional Integral Derivative with Deadtime – PIDTAU. Pada beberapa algoritma kontrol juga dilengkapi dengan fitur tambahan seperti setpoint relative gain (SPLLAG) dan proses variable measurement filter. Berikut adalah detail perhitungan ke-8 algoritma tersebut, yang saya ambil dari dokumen elektronik Foxboro (FoxDoc).

Algoritma diatas dinyatakan dalam persamaan laplace (bentuk kontinyu)

Banyaknya varian kontrol PID ini disediakan untuk menangani berbagai macam proses dengan karakteristik yang berbeda-beda. Ada proses yang memiliki time delay besar, ada juga proses yang memiliki noise atau karakteristik khusus lainnya. Suatu algoritma yang baik untuk suatu jenis proses belum tentu cocok untuk jenis proses lainnya. Secara teoritis penentuan algoritma mana yang digunakan dan berapa besar parameter kontrol yang diberikan dapat dilakukan dengan menggunakan teknik/metoda yang banyak tersedia, misalnya Ziegler-Nichols, Cohen-Coon atau metoda yang lebih analitis seperti Root Locus, Bode Plot dan sebagainya. Akan tetapi dalam prakteknya metode yang bersifat teoritis ini jarang sekali digunakan karena kurang praktis. Yang dilakukan di kondisi nyata adalah dengan cara coba-coba (trial & error). Cara ini memang sangat praktis tetapi membutuhkan waktu yang lama dan terkadang mengalami kegagalan terutama jika proses yang dikontrol memiliki karakteristik yang kurang baik. Cara lainnya yang lebih moderat adalah menggunakan simulasi. Metoda simulasi ini juga masih menggunakan cara coba-coba, akan tetapi tidak langsung ke real plant, melainkan melalui model. Setelah dalam simulasi didapat algoritma dan parameter kontrol yang tepat, baru kemudian diterapkan ke real plant. Di pasaran sudah banyak tersedia software simulasi ini yang memiliki fitur-fitur yang sangat lengkap. Selain menggunakan software simulasi yang ada, sebenarnya kita juga bisa membuat sendiri program simulasi tersebut. Saya sendiri sudah membuatnya, dengan menggunakan microsoft Excel.

Diagram blok sistem simulasi yang saya buat seperti pada gambar berikut:

Blok DCS Foxboro I/A Series berisi algoritma kontrol diatas, sedangkan blok Plant berupa sistem orde satu dengan dead-time, yang dinyatakan dalam bentuk laplace berikut (variable PV dalam gambar ini sama dengan MEAS dalam persamaan diatas):

Penggunaan sistem orde satu dengan dead time sebagai model plant ini karena perhitungannya lebih mudah dan kebanyakan proses memiliki karakteristik seperti ini, kalaupun ada yang berorde lebih dari satu, dia bisa didekati ke orde satu dengan memperbesar deadtime-nya.

Perhitungan yang saya gunakan dalam simulasi ini merupakan kombinasi antara perhitungan diskrit untuk algoritma kontrol dan perhitungan analog untuk plant. Alasannya adalah perhitungan algoritma kontrol yang kompleks di Excel lebih mudah dalam bentuk diskrit ketimbang bentuk analog. Perhitungan untuk plant yang lebih sederhana dilakukan dalam bentuk analog karena hasilnya lebih halus (smooth).

Dalam simulasi ini, untuk blok DCS Foxboro I/A series saya hanya menggunakan 6 algoritma pertama, karena terlalu banyak jika ke-8 algoritma disimulasi secara bersamaan. Diskritisasi terhadap ke-6 algoritma pertama dengan metode backward difference [ s=(1-z-1)/Ts ], diperoleh persamaan dalam bentuk diskrit berikut:

Untuk Plant, inverse laplace transform terhadap persamaan orde satu dengan deadtime diatas dengan OUT berupa signal step akan mendapatkan persamaan untuk waktu kontinyu berikut:

Akhirnya Front-End simulasi yang saya buat terlihat seperti gambar berikut: 

Ditulis dalam Instrument & Kontrol | 6 Komentar »

 
Ikuti

Get every new post delivered to your Inbox.