11.19.2009

PLC TIPS AND HINTS

Posted by gustaf parlindungan lumban tobing On 11/19/2009 11:41:00 AM No comments
Empat topik yang dibahas:

1) Membuat dan menggunakan 'satu tembakan'

2) Membuat Toggling logika

3) Memukul PLC masalah waktu pemindaian

4) Menerapkan proporsional sederhana PLC controller di logika


- The 'satu tembakan', apa itu, apa yang baik, bagaimana untuk membuat satu jika PLC tidak memiliki fitur ini:


Sebuah satu kesempatan adalah sebuah kumparan yang berjalan benar setiap kali memungkinkan anak tangga di depan itu benar, dan tetap berlaku untuk satu scan saja, tidak peduli berapa lama memungkinkan anak tangga itu benar. Yang satu kesempatan ini berguna bila Anda memiliki beberapa kondisi yang terjadi dan aktif dan Anda ingin memiliki PLC mengambil tindakan pada negara benar hanya untuk satu scan setiap kali memungkinkan anak tangga pergi dari true ke false. Sebagai contoh, katakanlah Anda ingin menghitung berapa kali suatu peristiwa yang terjadi selama lebih dari satu scan terjadi, namun hitungan total akan melebihi kapasitas PLC's dibangun di counter. Salah satu cara untuk mengatasi masalah ini, jika Anda memiliki floating point PLC register yang tersedia, adalah menambahkan satu ke titik mengambang mendaftar setiap kali anak tangga berjalan benar.

NAMUN jika Anda menggunakan logika seperti ini:


Photobucket

apa yang akan terjadi adalah bahwa selama anak tangga yang bersangkutan benar, Anda akan menambahkan satu ke F8: 1 mendaftar setiap kali scan PLC. Dengan satu tembakan dalam logika:

Photobucket

counter ini akan beroperasi seperti yang diharapkan.

Membuat sendiri satu kesempatan.
Beberapa merek PLC tidak menawarkan satu kesempatan fitur berguna. Dalam hal ini, Anda dapat membuat sendiri dengan beberapa anak tangga logika:

Photobucket

Ini adalah salah satu dari beberapa kasus di mana Common pemrograman PLC urutan di mana Anda menempatkan anak-anak tangga adalah penting. Berikut adalah cara logika kerjanya: Ketika Anda mulai keluar, input I: 3 / 0, bit memori B3: 0 / 2, dan satu tembakan bit output B3: 0 / 1 adalah palsu. Ketika input berubah benar, bit memori masih palsu, sehingga anak tangga kedua itu benar, dan baik sedikit memori dan satu tembakan bit output diatur oleh anak tangga kedua. PLC melengkapi scan dan datang di sekitar ke bagian ini logika lagi, di mana anak tangga pertama menemukan bit output benar, sehingga anak tangga me-reset keluaran (output telah tetap aktif selama satu penuh scan). Bit memori masih benar, sehingga anak tangga kedua tidak mengatur bit output lagi. Selama input tetap benar anak tangga ketiga tidak benar, sehingga sedikit memori tetap ditetapkan. Ketika input berubah palsu anak tangga ketiga me-reset bit dan memori pemindaian berikutnya yang menemukan input benar dapat memulai seluruh proses dari awal lagi. Urutan anak tangga ini penting karena Anda tidak ingin PLC untuk melihat anak tangga pertama sampai setelah itu telah menyelesaikan memindai penuh dengan output sedikit di.

- Toggling logika

Aku belum pernah melihat sebuah PLC yang menawarkan fitur Toggling. Sebuah Toggling output akan beralih dari ke pada ketika input berubah benar. Tetap pada input berubah sampai palsu dan kemudian pergi benar lagi, maka output berbunyi. Proses ini berulang setiap kali input kemudian berbunyi kembali. Logika semacam ini sangat berguna di mana Anda ingin satu tombol untuk mengontrol perangkat dengan jenis tindakan Toggling (tekan sekali untuk aktif, tekan lagi tombol yang sama untuk mati), atau di mana Anda ingin memisahkan bagian-bagian aliran sehingga bagian alternatif pergi menjadi dua jalur atau tempat sampah yang berbeda. (Ini semua adalah himpunan bagian dari rangkaian kelas biasanya disebut 'bagi dengan 2' sirkuit.)

Photobucket

Perlu diketahui bahwa input untuk anak tangga kedua harus menjadi satu kesempatan di kontrol sedikit. Logika ini mengambil keuntungan dari cara memecahkan logika PLC untuk setiap anak tangga - pada dasarnya logika PLC pemecah mengambil jalan yang benar pertama ditemukan melalui cabang-cabang anak tangga dan mengabaikan semua cabang-cabang lain, apakah itu benar atau tidak. Jika Anda PLC merek tertentu tidak mengikuti konvensi ini, maka logika ini tidak akan bekerja. Ia bekerja di Allen Bradley SLC, PLC, dan Micrologix, Mitsubishi, Toshiba, dan Sony Ericsson Langkah 5 PLC.

- PLC masalah waktu pemindaian dan cara mengalahkan mereka

Jika Anda desain kontrol untuk mesin kecepatan tinggi atau proses pada akhirnya anda akan menemukan kasus di mana waktu pemindaian PLC cukup panjang sehingga menyebabkan masalah. Pertama kali saya melihat ini adalah dengan mesin pembangun yang menggunakan encoder inkremental untuk melaporkan posisi mesin. Kenaikan encoder menghasilkan sejumlah (biasanya 180, 360, atau lebih) dari pulsa pada satu jalur output setiap kali batang itu dihidupkan melalui satu revolusi. Jika Anda menghitung ini di sebuah counter pulsa di PLC, dan jika Anda memiliki posisi nol sensor yang akan reset setiap kali counter poros berubah melalui lokasi nol, maka nomor di konter akan sesuai dengan posisi poros. Kemudian Anda bisa membangun 'Cams' dalam logika PLC dengan membandingkan nilai counter ke nilai-nilai preset untuk menciptakan output yang pergi dan turun di posisi poros preset yang berbeda. Perusahaan ini telah menggunakan metode ini berhasil selama bertahun-tahun sampai hari mereka memutuskan untuk meningkatkan kecepatan mesin dengan faktor dua. Mesin tiba-tiba mulai mencoba melepaskan diri terpisah. Mereka akan berfungsi baik pada kecepatan lebih lambat tua, tetapi ketika kecepatan itu muncul sinkronisasi telah hilang dan bagian yang bergerak bergerak pada waktu yang salah menyebabkan 'crash'. Banyak encoders diuji, selalu dengan hasil yang sama. Penyelidikan lebih lanjut mengungkapkan bahwa counter tidak menghitung yang lengkap dari 360 pulsa setiap kali poros membuat revolusi. Apa yang terjadi adalah bahwa output dari encoder yang beroperasi pada kecepatan yang lebih tinggi akan dari salah ke benar dan kembali ke salah selama waktu yang dibutuhkan untuk PLC untuk membuat satu scan. Scan PLC terdiri dari tiga tindakan: melihat semua masukan dan salinan negara mereka ke sebuah input meja, memecahkan logika tangga berdasarkan nilai-nilai dalam tabel input dan menulis hasil ke sebuah output meja, lalu salin ke meja output output fisik. Karena PLC mengabaikan nilai dari input pada langkah memecahkan logika (yang mengambil sebagian besar waktu pemindaian) dan selama menulis output langkah, ia mengabaikan beberapa transisi cepat dari encoder berfungsi dengan benar. Dalam kasus ini adalah solusi terbaik untuk menggantikan incremental encoder dengan posisi mutlak encoder. Jenis encoder ini memiliki banyak baris output sehingga dapat mengirim PLC nilai absolut dari posisi poros itu di biner atau kode BCD format setiap saat. Setiap kali PLC melihat masukan dari encoder mutlak ia melihat nomor yang sesuai dengan posisi poros pada saat tersebut. Sekarang jika PLC tidak memindai cukup cepat untuk memperhatikan setiap transisi dari satu keadaan ke keadaan berikutnya, ia setidaknya tidak akan mengumpulkan kesalahan yang lebih besar dan lebih besar sebagai poros berputar. Setiap individu 'cam' mungkin bisa mistimed oleh sejumlah kecil, namun kesalahan tidak pernah lebih dari PLC waktu pemindaian dan kesalahan tidak terakumulasi sebagai poros berubah. Ada beberapa keuntungan dan kerugian untuk setiap jenis encoder: encoder mutlak tidak rentan terhadap kesalahan seperti kecepatan mesin meningkat, tetapi biasanya membutuhkan 12-16 jalur input PLC, bukan hanya dua untuk incremental encoder. Kenaikan encoder tidak pernah tunduk pada sangat mengganggu 'merindukan negara' atau 'linier diskontinuitas' yang dirancang dengan buruk mutlak encoder dapat menghasilkan. Missed negara merujuk pada kasus di mana, sebagai poros encoder menjadi sangat perlahan melalui posisi yang seharusnya mengambil output dari kedua nilai-nilai berturut-turut 001.111-010.000 Anda mungkin sebentar mendapatkan nilai transisi di mana beberapa perubahan bit dan yang lainnya tidak 001.111> > 001.100>> 011.100>> 010.000. Ini sangat mengganggu. Tidak mutlak modern encoder akan menunjukkan tindakan semacam ini pada setiap posisi poros input itu. Jika Anda tidak, kembali ke pabrik dan mendapatkan satu yang bekerja dengan benar tanpa 'diabaikan negara'

Konsekuensi lain waktu pemindaian PLC adalah bahwa waktu output atau waktu transisi dari negara mengubah sebuah input dan output yang mengendalikan perubahan itu tidak akan benar-benar konsisten dari satu scan yang lain. Dalam setiap PLC 'latency' atau waktu antara perubahan input dan output perubahan akan selalu bervariasi dari scan untuk memindai sebanyak + / - satu waktu pemindaian. Hal ini karena perubahan input tidak disinkronkan dengan aksi pemindaian. Sebuah input akan berubah tepat sebelum salinan PLC masukan ke dalam tabel (dalam hal ini akan diakui di scan yang sama dan akan mengubah output dengan delay terpendek). Di lain pihak, jika masukan perubahan yang baru saja setelah input disalin ke dalam tabel, maka perubahan itu tidak akan diakui sampai scan berikutnya, yang mengakibatkan penundaan terpanjang sebelum perubahan output. Penundaan akan secara acak dari scan untuk memindai kecuali perubahan pada input entah bagaimana disinkronisasi dengan PLC scan, yang jarang jika pernah terjadi dalam kehidupan nyata aplikasi. Berikut adalah contoh di mana waktu pemindaian kesalahan semacam ini dapat menyebabkan masalah: Kami mempunyai motor yang cukup lambat kita mau membuat satu revolusi dan berhenti pada posisi yang tetap yang ditentukan oleh lobus cam pada poros motor dan sebuah beralih prox terhubung ke PLC. PLC memungkinkan motor (dengan menutup 'run' kontak dalam PKS misalnya), dan tetap menggunakan motor diaktifkan sampai ia melihat sinyal prox mengatakan lobus cam telah pindah kembali memutar ke posisi referensi. Dalam hal ini menghentikan waktu dari PKS, waktu respons dari prox saklar, dan kecepatan motor adalah konstan dan dapat diprediksi, tapi tetap saja motor tidak selalu berhenti di posisi yang sama. (Bahkan, jika terlalu sempit cam motor kadang-kadang tidak berhenti AT ALL.) Solusi yang mudah dalam hal ini adalah untuk menambah sepasang relay eksternal disambungkan sehingga selama saklar prox tidak membuat kumparan mengendalikan relay PKS 'run' hubungi diadakan tertutup. Setiap kali batang motor dipindahkan jauh dari posisi lain (prox menyebabkan output untuk pergi) PKS akan berlari, membawa cam di tempat yang tinggi di posisi referensi dimana relay akan keluar dan motor akan berhenti di yang sangat dapat diprediksi dan posisi berulang. PLC memulai setiap 'index' dari motor dengan menggunakan pulsa sesaat cukup lama untuk memindahkan motor 'dari cam'. Sekarang posisi berhenti tidak tergantung pada waktu pemindaian PLC sama sekali, karena PLC tidak mengontrol posisi berhenti. Biasanya PLC desainer mencoba untuk menghilangkan semua relay eksternal. (Ini adalah setelah semua salah satu alasan utama untuk menggunakan PLC di tempat pertama.) Tapi dalam kasus ini dua relay murah menghilangkan kebutuhan untuk solusi yang jauh lebih mahal seperti PLC kinerja yang lebih tinggi atau servo atau drive motor langkah.

Sebuah catatan tentang 'instan' kontak dan output yang ditemukan di beberapa produk PLC: Beberapa pabrikan PLC (Allen Bradley adalah salah satu) menawarkan apa yang mereka sebut 'instan' input dan output. Spesifik ini I / O poin atau instan I / O perintah BYPASS input dan output tabel dalam upaya untuk memberikan perancang alat lain untuk memerangi masalah waktu pemindaian. Dalam kasus keluarga Allen Bradley SLC instan ini adalah petunjuk yang bekerja dengan diskrit I / O titik. Ketika pertemuan pemecah logika petunjuk ini ia melihat langsung pada input (tidak di nilai itu sebelumnya yang telah discan ke dalam tabel input) untuk mendapatkan nilai itu atau, dalam hal output, dia segera menulis bahwa output segera setelah tangga diselesaikan, daripada meletakkan hasil dalam tabel output yang akan dikirim keluar kemudian dengan semua output lain di akhir scan. Saya belum membahas penggunaan instan ini I / O petunjuk di sini karena sangat sedikit PLC menawarkan keluarga mereka, dan karena penggunaan yang efektif sangat tergantung pada bagaimana program anda diletakkan di luar dan apakah ada cabang di program ini. Pada dasarnya Anda dapat menggunakan petunjuk ini untuk mengalahkan waktu pemindaian masalah dengan mengulangi kritis anak tangga di beberapa tempat merata di seluruh program tangga Anda. Kemudian anak-anak tangga tersebut akan langsung dipecahkan beberapa kali selama setiap scan, dengan demikian secara efektif mengurangi waktu pemindaian hanya bagi anak-anak tangga. Hal ini penting untuk memastikan penempatan anak tangga adalah sedemikian rupa sehingga mereka dipecahkan sesering yang diperlukan untuk turun ke nilai waktu pemindaian dibutuhkan, dan bahwa hal ini terjadi untuk semua cabang yang mungkin berbeda situasi-situasi yang mungkin ada dalam program. Bahkan dengan menggunakan petunjuk ini Anda masih melihat 'latency kelimpungan' efek yang dihasilkan dari input berubah asynchronously sehubungan dengan siklus scan PLC - jumlah kelimpungan hanya akan menjadi kurang. Instan I / O instruksi juga memperlambat pelaksanaan seluruh program, kadang-kadang secara signifikan.

Control Logix Allen Bradley PLC dan lain-lain dari yang sejenisnya yang memungkinkan Anda untuk menetapkan sumber daya prosesor sesuai dengan persyaratan waktu pemindaian sangat serbaguna dalam bahwa Anda dapat menciptakan dua atau lebih program tangga dan menentukan seberapa sering masing-masing dipindai. Anda dapat menulis pesan singkat, sering scan program di mana hal ini perlu sementara 'bersamaan' menjalankan lagi, program lambat non-time-fungsi kritis. Tapi Control Logix tool pemrograman hardware dan kira-kira biaya 2x apa yang setara dengan bagian keluarga SLC biaya, dan 4x atau lebih yang sebanding dengan SLC bagian dari biaya produsen lain (hari ini, pada tahun 2002), sehingga akan benar-benar desainer miskin yang mengambil brute force Pendekatan menggunakan Control Logix hanya untuk memecahkan masalah waktu pemindaian ketika tidak ada kebutuhan lain untuk maju ini, produk yang lebih mahal.

- Menerapkan proporsional sederhana PLC controller dalam logika.

Kontroler proporsional digunakan di banyak aplikasi kontrol proses. Yang sangat umum digunakan adalah untuk mengendalikan proses pemanasan kapal. Pemanas umumnya berukuran maksimum untuk memenuhi beberapa waktu ke suhu spesifikasi. Jika pemanas cukup untuk memanaskan tangki dalam waktu yang wajar, maka akan ada kapasitas cadangan signifikan melampaui apa yang tersedia untuk menahan proses pada suhu setpoint. Sebuah kemungkinan konsekuensi dari ini adalah bahwa, jika on-off sederhana suhu kontroler digunakan untuk mengontrol proses ini, suhu akan melampaui yang setpoint Jika kita menunggu sampai suhu mencapai setpoint sebelum mematikan pemanas, cukup sisa-sisa panas akan tetap berada di pemanas menyebabkan suhu sebenarnya melebihi setpoint selama beberapa menit saja setelah Pemanas mematikan oleh suhu kontrol. Mencoba untuk mengantisipasi overshoot dan mematikan pemanas beberapa derajat sebelum setpoint tidak akan membantu, karena maka proses mungkin tidak pernah benar-benar mencapai setpoint. Dalam dunia logika relay, relatif murah proses PID kontroler sudah tersedia yang menerapkan algoritma kontrol sepenuhnya kompensasi yang mengukur dan mengantisipasi pemanasan dan pendinginan tingkat proses dan benar sendiri secara otomatis. PID adalah singkatan dari Proporsional / Integral / Derivatif, dan controller ini memiliki karakteristik respons merdu terpisah yang berasal sebuah output yang sebanding dengan perbedaan antara proses sebenarnya dan itu nilai setpoint. Output yang proporsional diubah sesuai dengan seberapa cepat nilai yang sebenarnya mendekati setpoint (istilah derivatif) dan juga oleh offset di setpoint stabil setelah titik kontrol telah ditetapkan (istilah integral). Beberapa merek yang lebih mahal PLC PID juga berisi petunjuk yang memungkinkan anda untuk mengatur kontrol PID untuk proses beberapa loop di dalam PLC. Tetapi instruksi PID tidak umum pada pertengahan atau akhir rendah PLC.

Berikut adalah cara untuk menerapkan kontrol proporsional dasar di PLC yang tidak memiliki PID yang dibangun di instruksi. Kami akan menganggap bahwa PLC mengendalikan pemanas untuk tangki besar cairan. Apa yang ingin kita lakukan adalah mengubah pemanas suhu di setiap kali lebih dari beberapa nilai yang telah ditentukan (yang akan kami sebut 'offset') lebih rendah dari setpoint. Saat suhu antara nilai offset dan setpoint, kita akan siklus pemanas dan mematikan, dengan siklus yang sebanding dengan perbedaan antara setpoint dan temperatur yang sebenarnya. Anda dapat mengatur nilai offset sesuai dengan kondisi proses tertentu untuk memberikan kompromi terbaik antara respon cepat dan minimum overshoot. Sebuah titik awal yang baik untuk nilai offset yang dapat diperoleh dengan menjalankan proses kontrol on-off (tempat pemanas tetap pada suhu sampai proses mencapai setpoint dan kemudian dimatikan). Perhatikan berapa banyak overshoot terjadi dan membuat nilai offset yang sama atau sedikit lebih besar daripada jumlah overshoot. Ada kompromi terlibat dalam memilih basis waktu untuk siklus adjustable output. Respon tercepat dan minimum penyimpangan dari setpoint akan diperoleh dengan siklus pendek (batas akhir dari ide ini adalah proporsional controller di mana sebuah fase dikontrol scr triac atau switch setiap setengah siklus tegangan AC pada pada tingkat yang sebanding dengan jumlah panas yang dibutuhkan). Di sisi lain, kecuali jika Anda menggunakan perangkat output keadaan padat untuk mengendalikan pemanas, bersepeda cepat akan mengakibatkan kegagalan prematur perangkat output. Untuk jenis besar, proses lambat pendekatan ini cocok untuk, suatu basis waktu setidaknya 10 detik dianjurkan. Sisa dasar selama satu menit akan umumnya bekerja sangat baik dengan tangki besar.

Jadi, di sini adalah apa yang kita program PLC yang akan dilakukan:

1) Hitunglah perbedaan antara aktual dan setpoint

2) Multiply perbedaan x 100

3) Bandingkan perbedaan x 100 dengan akumulator yang bebas menjalankan timer, jika perbedaan> meja, menyalakan output; jika
4) Reset timer berjalan bebas setiap 10 detik. (timer akumulator bertahap setiap 0,01 detik, sehingga selama siklus 10 detik output akan berada di 0-100,0 persen dari waktu tergantung pada sejauh mana suhu yang sebenarnya dari setpoint. proporsional kontrol akan terjadi dalam kisaran antara setpoint minus 10 derajat dan setpoint.

Photobucket


Beberapa memperingatkan:

1) Untuk aplikasi pemanasan, mengamati tindakan keselamatan. Sebuah aplikasi kontrol pemanas lengkap akan mencakup keamanan cadangan termostat dan independen disconnecting overtemperature sarana untuk mencegah kesalahan dalam kasus kerusakan pengendali utama.

2) proporsional sederhana ini hanya kontroler akan bekerja dengan baik dengan tank besar dan cukup stabil kondisi proses. Sebuah algoritma kontrol yang lebih rumit mungkin diperlukan jika massa termal rendah atau jika proses tunduk pada peristiwa-peristiwa yang berubah dengan cepat kondisi (seperti menambahkan atau menghapus sejumlah besar cairan dari tangki air panas).




0 comments:

Post a Comment