Three-switch XOR ladder logic implemented as an odd-parity function

Logika Tangga XOR Tiga Sakelar: Desain Paritas Ganjil yang Benar

Panduan yang telah dikoreksi untuk logika tangga XOR tiga sakelar pada platform SLC 500 dan Logix, yang mencakup paritas ganjil, penahapan bit internal, bata...

Tiga sakelar bertahan yang mengendalikan satu keluaran sering disajikan sebagai latihan logika ladder, tetapi pertanyaan rekayasa yang sebenarnya lebih spesifik: apakah keluaran harus menyala ketika jumlah input yang aktif ganjil, atau apakah pengoperasian sakelar mana pun cukup membalik keadaan keluaran sebelumnya? Itu adalah dua persyaratan yang berbeda. Yang pertama adalah XOR kombinasional, atau paritas ganjil. Yang kedua memerlukan memori keadaan dan deteksi tepi.

Untuk tiga sakelar pemilih bertahan, spesifikasi yang umum adalah paritas ganjil: lampu menyala saat satu atau tiga sakelar tertutup dan mati saat nol atau dua sakelar tertutup. Menuliskan persyaratan tersebut sebelum menggambar kontak mencegah rung yang tampak masuk akal tetapi menerapkan fungsi Boolean yang salah.

Tiga input sakelar bertahan yang disusun untuk logika ladder paritas ganjil

XOR tiga input bernilai benar ketika jumlah input yang benar adalah ganjil; ini tidak sama dengan perintah toggle yang diingat.

Mulai dari delapan keadaan input

Urutan keluaran yang diharapkan untuk input S1, S2, dan S3 adalah 0, 1, 1, 0, 1, 0, 0, 1 ketika keadaan input biner bergerak dari 000 hingga 111. Dalam bahasa sederhana, satu sakelar tertutup menyalakan keluaran, dua sakelar tertutup mematikannya, dan ketiga sakelar tertutup menyalakannya kembali.

Keadaan terakhir itulah yang sering menyebabkan kesalahan dalam banyak penjelasan. XOR tiga input adalah fungsi paritas ganjil, sehingga 111 harus menghasilkan hasil benar. Implementasi yang hanya mengenali “tepat satu input bernilai benar” bukanlah XOR; implementasi tersebut sengaja mengecualikan keadaan ketika ketiga input bernilai benar. Sebaliknya, meng-OR-kan tiga ekspresi XOR berpasangan menghasilkan fungsi yang berbeda: hasilnya benar setiap kali input tidak semuanya sama, termasuk keadaan dengan dua input benar, sehingga juga gagal memenuhi tabel kebenaran yang diperlukan.

Praktik commissioning yang paling aman adalah menjadikan tabel kebenaran sebagai uji penerimaan. Jangan menilai program hanya dari dua atau tiga posisi sakelar yang mudah.

Susun bertingkat dua tahap XOR dua input

XOR bersifat asosiatif, sehingga memungkinkan penggunaan ekspresi (S1 XOR S2) XOR S3. Dalam program SLC 500, satu bit internal dapat menyimpan hasil tahap pertama. Rung kedua kemudian menggabungkan bit tersebut dengan S3. Dengan demikian, setiap rung memiliki tujuan kecil yang mudah diperiksa dan keadaan online lebih mudah didiagnosis.

Untuk implementasi kontak, setiap tahap XOR dua input menggunakan dua jalur paralel: jalur pertama memeriksa input A sebagai benar dan input B sebagai salah; jalur kedua memeriksa A sebagai salah dan B sebagai benar. Kedua jalur bergabung pada satu koil. Ulangi pola yang sama menggunakan bit perantara dan input ketiga.

Implementasi ladder dua tahap untuk XOR tiga input menggunakan bit internal

Bit perantara menampilkan hasil S1 XOR S2 sebelum tahap kedua menggabungkannya dengan S3.

Contoh rencana alamat

Dalam proyek pelatihan RSLogix 500 yang umum, S1, S2, dan S3 mungkin masing-masing adalah I:1/0, I:1/1, dan I:1/2. Rung pertama menulis B3:0/0 sebagai hasil perantara, dan rung kedua menulis O:2/0 sebagai perintah lampu. Alamat-alamat ini hanya contoh; konfigurasi I/O yang terpasang harus menentukan pemetaan sebenarnya.

Alamat perantara harus memiliki satu penulis. Menggunakan kembali B3:0/0 di tempat lain, atau menempatkan instruksi keluaran lain untuk O:2/0 di bagian program berikutnya, dapat menimpa hasil yang benar selama pemindaian yang sama. Lakukan cross-reference pada kedua alamat tersebut sebelum menyalahkan pola XOR.

XOR tingkat word tidak otomatis menjadi jalan pintas Boolean

Set instruksi SLC 500 mencakup instruksi XOR untuk OR eksklusif bit demi bit antara operand word. SLC 500 Instruction Set Reference Manual dari Rockwell Automation mendokumentasikan operand dan tujuan yang didukung. Instruksi tersebut berguna untuk mask dan word status yang dikemas, tetapi tidak menghilangkan kebutuhan untuk menentukan bit input mana yang berpartisipasi dalam satu keputusan paritas.

Untuk tiga input diskret, logika kontak bertingkat biasanya lebih jelas bagi personel pemeliharaan. Implementasi tingkat word dapat dibenarkan ketika program sudah mengemas banyak bit status dan secara eksplisit mereduksinya menjadi hasil paritas, tetapi tahap reduksi tersebut tetap harus terlihat dan diuji.

Jangan menyamakan paritas dengan fungsi toggle

Susunan pencahayaan tiga arah dengan sakelar bertahan mengubah keluarannya setiap kali posisi sakelar fisik mana pun berubah. Dalam istilah Boolean murni, keluaran pada setiap saat dapat direpresentasikan sebagai paritas dari ketiga posisi sakelar. Memori keadaan tersimpan tidak diperlukan karena posisi sakelar itu sendiri menyimpan keadaan.

Tombol tekan sesaat berbeda. Jika menekan salah satu dari tiga tombol harus melakukan toggle pada lampu, PLC harus mendeteksi tepi naik dan membalik bit perintah yang dipertahankan satu kali untuk setiap penekanan yang valid. Menerapkan XOR secara langsung pada tiga input sesaat hanya menjelaskan tombol mana yang sedang ditekan selama pemindaian tersebut; itu tidak mengingat keadaan lampu sebelumnya.

Tombol tekan nyata juga dapat mengalami bouncing. Oleh karena itu, desain toggle memerlukan pengondisian input, one-shot, kepemilikan bit yang dipertahankan, dan keadaan awal yang ditentukan. Untuk pola pemindaian dan penanganan data terkait, panduan menggunakan nilai timer SLC untuk mengatur timer lain menunjukkan mengapa pemindahan data dan urutan rung harus dibuat eksplisit.

Commissioning logika sebagai fungsi, bukan gambar

Uji terlebih dahulu bit perantara dua input secara terpisah. Bit tersebut harus bernilai benar untuk 01 dan 10, serta salah untuk 00 dan 11. Kemudian uji keluaran akhir pada seluruh delapan keadaan tiga input. Catat keadaan yang diamati, bukan hanya mengandalkan sorotan rung berwarna hijau, karena forcing, koil duplikat, dan penyegaran tampilan online dapat menyamarkan kepemilikan keluaran yang sebenarnya.

Selanjutnya, verifikasi perilaku saat power-up, perpindahan mode program, substitusi input, serta respons terhadap rangkaian lapangan yang gagal atau terputus. Logika XOR dapat mendeteksi ketidaksesuaian, tetapi bukan alat diagnostik keselamatan dengan sendirinya. Jika sakelar berperan dalam fungsi protektif, desain memerlukan input berperingkat keselamatan, pemantauan ketidaksesuaian, deteksi gangguan, dan penilaian risiko yang sesuai untuk mesin tersebut.

Opsi perangkat keras dan migrasi untuk pengontrol lama maupun terbaru dapat ditinjau melalui koleksi sistem PLC dan PAC, tetapi keluarga prosesor, tegangan I/O, pengalamatan, dan kepemilikan program harus dikonfirmasi sebelum mengadaptasi contoh ini.

Mengapa versi dengan bit internal lebih mudah dipelihara

Satu rung yang diperluas dapat mengekspresikan paritas ganjil tiga input secara langsung, tetapi rung tersebut memerlukan empat kombinasi paralel dan menjadi lebih sulit diperiksa ketika kondisi bertambah. Penyusunan bertingkat dengan tahap XOR dua input membuat maksud Boolean lebih jelas, menyediakan titik pemeriksaan diagnostik, dan memetakan dengan baik antara alamat RSLogix 500 dan tag BOOL bernama di Logix Designer.

Pandangan editorial: solusi ladder terbaik adalah solusi yang tabel kebenaran, perilaku memorinya, dan respons kegagalannya dapat dijelaskan saat serah terima pemeliharaan. Bit internal bukan pemborosan memori jika bit tersebut mencegah teknisi berikutnya menyamakan paritas ganjil, logika tepat-satu, dan toggle yang diingat sebagai fungsi yang sama.

Pertanyaan yang sering diajukan

Haruskah keluaran menyala saat ketiga sakelar tertutup?

Ya, jika persyaratannya adalah XOR tiga input atau paritas ganjil. Tiga input benar merupakan jumlah ganjil, sehingga keluarannya benar. Jika 111 harus bernilai salah, fungsi yang diperlukan adalah “tepat satu”, bukan XOR.

Bisakah instruksi XOR SLC 500 menggantikan dua tahap ladder?

Instruksi tersebut melakukan XOR bit demi bit pada operand word. Instruksi itu dapat menjadi bagian dari solusi bit yang dikemas, tetapi tiga bit input individual tetap perlu disusun dan direduksi agar bit tujuan mewakili paritas yang diperlukan. Untuk rangkaian diskret kecil, dua tahap kontak umumnya lebih jelas.

Apakah bit perantara menambahkan jeda satu pemindaian?

Tidak, selama rung yang menulis bit perantara dieksekusi sebelum rung yang membacanya dalam rutin dan task yang sama. Rung kedua akan melihat nilai yang ditulis lebih awal dalam pemindaian tersebut. Urutan program harus tetap didokumentasikan dan dikendalikan.

Apa yang berubah jika perangkat lapangan berupa tombol tekan sesaat?

Toggle dengan tombol sesaat memerlukan deteksi tepi dan keadaan keluaran tersimpan. XOR kombinasional saja tidak dapat mengingat apakah lampu sebelumnya menyala atau mati.

Apakah XOR sesuai untuk rangkaian voting keselamatan?

Tidak, jika digunakan sendirian. XOR biasa hanya mengevaluasi keadaan Boolean. Aplikasi keselamatan memerlukan arsitektur keselamatan yang tervalidasi, cakupan diagnostik, waktu pemantauan ketidaksesuaian, perangkat keras yang sesuai, serta verifikasi terhadap penilaian risiko yang berlaku.

Oleh Tim Editorial PLC ProTech

Logika Tangga XOR Tiga Sakelar: Desain Paritas Ganjil yang Benar

Panduan yang telah dikoreksi untuk logika tangga XOR tiga sakelar pada platform SLC 500 dan Logix, yang mencakup paritas ganjil, penahapan bit internal, batasan XOR tingkat kata, perilaku tombol se...

Tiga sakelar bertahan yang mengendalikan satu keluaran sering disajikan sebagai latihan logika ladder, tetapi pertanyaan rekayasa yang sebenarnya lebih spesifik: apakah keluaran harus menyala ketika jumlah input yang aktif ganjil, atau apakah pengoperasian sakelar mana pun cukup membalik keadaan keluaran sebelumnya? Itu adalah dua persyaratan yang berbeda. Yang pertama adalah XOR kombinasional, atau paritas ganjil. Yang kedua memerlukan memori keadaan dan deteksi tepi.

Untuk tiga sakelar pemilih bertahan, spesifikasi yang umum adalah paritas ganjil: lampu menyala saat satu atau tiga sakelar tertutup dan mati saat nol atau dua sakelar tertutup. Menuliskan persyaratan tersebut sebelum menggambar kontak mencegah rung yang tampak masuk akal tetapi menerapkan fungsi Boolean yang salah.

Tiga input sakelar bertahan yang disusun untuk logika ladder paritas ganjil

XOR tiga input bernilai benar ketika jumlah input yang benar adalah ganjil; ini tidak sama dengan perintah toggle yang diingat.

Mulai dari delapan keadaan input

Urutan keluaran yang diharapkan untuk input S1, S2, dan S3 adalah 0, 1, 1, 0, 1, 0, 0, 1 ketika keadaan input biner bergerak dari 000 hingga 111. Dalam bahasa sederhana, satu sakelar tertutup menyalakan keluaran, dua sakelar tertutup mematikannya, dan ketiga sakelar tertutup menyalakannya kembali.

Keadaan terakhir itulah yang sering menyebabkan kesalahan dalam banyak penjelasan. XOR tiga input adalah fungsi paritas ganjil, sehingga 111 harus menghasilkan hasil benar. Implementasi yang hanya mengenali “tepat satu input bernilai benar” bukanlah XOR; implementasi tersebut sengaja mengecualikan keadaan ketika ketiga input bernilai benar. Sebaliknya, meng-OR-kan tiga ekspresi XOR berpasangan menghasilkan fungsi yang berbeda: hasilnya benar setiap kali input tidak semuanya sama, termasuk keadaan dengan dua input benar, sehingga juga gagal memenuhi tabel kebenaran yang diperlukan.

Praktik commissioning yang paling aman adalah menjadikan tabel kebenaran sebagai uji penerimaan. Jangan menilai program hanya dari dua atau tiga posisi sakelar yang mudah.

Susun bertingkat dua tahap XOR dua input

XOR bersifat asosiatif, sehingga memungkinkan penggunaan ekspresi (S1 XOR S2) XOR S3. Dalam program SLC 500, satu bit internal dapat menyimpan hasil tahap pertama. Rung kedua kemudian menggabungkan bit tersebut dengan S3. Dengan demikian, setiap rung memiliki tujuan kecil yang mudah diperiksa dan keadaan online lebih mudah didiagnosis.

Untuk implementasi kontak, setiap tahap XOR dua input menggunakan dua jalur paralel: jalur pertama memeriksa input A sebagai benar dan input B sebagai salah; jalur kedua memeriksa A sebagai salah dan B sebagai benar. Kedua jalur bergabung pada satu koil. Ulangi pola yang sama menggunakan bit perantara dan input ketiga.

Implementasi ladder dua tahap untuk XOR tiga input menggunakan bit internal

Bit perantara menampilkan hasil S1 XOR S2 sebelum tahap kedua menggabungkannya dengan S3.

Contoh rencana alamat

Dalam proyek pelatihan RSLogix 500 yang umum, S1, S2, dan S3 mungkin masing-masing adalah I:1/0, I:1/1, dan I:1/2. Rung pertama menulis B3:0/0 sebagai hasil perantara, dan rung kedua menulis O:2/0 sebagai perintah lampu. Alamat-alamat ini hanya contoh; konfigurasi I/O yang terpasang harus menentukan pemetaan sebenarnya.

Alamat perantara harus memiliki satu penulis. Menggunakan kembali B3:0/0 di tempat lain, atau menempatkan instruksi keluaran lain untuk O:2/0 di bagian program berikutnya, dapat menimpa hasil yang benar selama pemindaian yang sama. Lakukan cross-reference pada kedua alamat tersebut sebelum menyalahkan pola XOR.

XOR tingkat word tidak otomatis menjadi jalan pintas Boolean

Set instruksi SLC 500 mencakup instruksi XOR untuk OR eksklusif bit demi bit antara operand word. SLC 500 Instruction Set Reference Manual dari Rockwell Automation mendokumentasikan operand dan tujuan yang didukung. Instruksi tersebut berguna untuk mask dan word status yang dikemas, tetapi tidak menghilangkan kebutuhan untuk menentukan bit input mana yang berpartisipasi dalam satu keputusan paritas.

Untuk tiga input diskret, logika kontak bertingkat biasanya lebih jelas bagi personel pemeliharaan. Implementasi tingkat word dapat dibenarkan ketika program sudah mengemas banyak bit status dan secara eksplisit mereduksinya menjadi hasil paritas, tetapi tahap reduksi tersebut tetap harus terlihat dan diuji.

Jangan menyamakan paritas dengan fungsi toggle

Susunan pencahayaan tiga arah dengan sakelar bertahan mengubah keluarannya setiap kali posisi sakelar fisik mana pun berubah. Dalam istilah Boolean murni, keluaran pada setiap saat dapat direpresentasikan sebagai paritas dari ketiga posisi sakelar. Memori keadaan tersimpan tidak diperlukan karena posisi sakelar itu sendiri menyimpan keadaan.

Tombol tekan sesaat berbeda. Jika menekan salah satu dari tiga tombol harus melakukan toggle pada lampu, PLC harus mendeteksi tepi naik dan membalik bit perintah yang dipertahankan satu kali untuk setiap penekanan yang valid. Menerapkan XOR secara langsung pada tiga input sesaat hanya menjelaskan tombol mana yang sedang ditekan selama pemindaian tersebut; itu tidak mengingat keadaan lampu sebelumnya.

Tombol tekan nyata juga dapat mengalami bouncing. Oleh karena itu, desain toggle memerlukan pengondisian input, one-shot, kepemilikan bit yang dipertahankan, dan keadaan awal yang ditentukan. Untuk pola pemindaian dan penanganan data terkait, panduan menggunakan nilai timer SLC untuk mengatur timer lain menunjukkan mengapa pemindahan data dan urutan rung harus dibuat eksplisit.

Commissioning logika sebagai fungsi, bukan gambar

Uji terlebih dahulu bit perantara dua input secara terpisah. Bit tersebut harus bernilai benar untuk 01 dan 10, serta salah untuk 00 dan 11. Kemudian uji keluaran akhir pada seluruh delapan keadaan tiga input. Catat keadaan yang diamati, bukan hanya mengandalkan sorotan rung berwarna hijau, karena forcing, koil duplikat, dan penyegaran tampilan online dapat menyamarkan kepemilikan keluaran yang sebenarnya.

Selanjutnya, verifikasi perilaku saat power-up, perpindahan mode program, substitusi input, serta respons terhadap rangkaian lapangan yang gagal atau terputus. Logika XOR dapat mendeteksi ketidaksesuaian, tetapi bukan alat diagnostik keselamatan dengan sendirinya. Jika sakelar berperan dalam fungsi protektif, desain memerlukan input berperingkat keselamatan, pemantauan ketidaksesuaian, deteksi gangguan, dan penilaian risiko yang sesuai untuk mesin tersebut.

Opsi perangkat keras dan migrasi untuk pengontrol lama maupun terbaru dapat ditinjau melalui koleksi sistem PLC dan PAC, tetapi keluarga prosesor, tegangan I/O, pengalamatan, dan kepemilikan program harus dikonfirmasi sebelum mengadaptasi contoh ini.

Mengapa versi dengan bit internal lebih mudah dipelihara

Satu rung yang diperluas dapat mengekspresikan paritas ganjil tiga input secara langsung, tetapi rung tersebut memerlukan empat kombinasi paralel dan menjadi lebih sulit diperiksa ketika kondisi bertambah. Penyusunan bertingkat dengan tahap XOR dua input membuat maksud Boolean lebih jelas, menyediakan titik pemeriksaan diagnostik, dan memetakan dengan baik antara alamat RSLogix 500 dan tag BOOL bernama di Logix Designer.

Pandangan editorial: solusi ladder terbaik adalah solusi yang tabel kebenaran, perilaku memorinya, dan respons kegagalannya dapat dijelaskan saat serah terima pemeliharaan. Bit internal bukan pemborosan memori jika bit tersebut mencegah teknisi berikutnya menyamakan paritas ganjil, logika tepat-satu, dan toggle yang diingat sebagai fungsi yang sama.

Pertanyaan yang sering diajukan

Haruskah keluaran menyala saat ketiga sakelar tertutup?

Ya, jika persyaratannya adalah XOR tiga input atau paritas ganjil. Tiga input benar merupakan jumlah ganjil, sehingga keluarannya benar. Jika 111 harus bernilai salah, fungsi yang diperlukan adalah “tepat satu”, bukan XOR.

Bisakah instruksi XOR SLC 500 menggantikan dua tahap ladder?

Instruksi tersebut melakukan XOR bit demi bit pada operand word. Instruksi itu dapat menjadi bagian dari solusi bit yang dikemas, tetapi tiga bit input individual tetap perlu disusun dan direduksi agar bit tujuan mewakili paritas yang diperlukan. Untuk rangkaian diskret kecil, dua tahap kontak umumnya lebih jelas.

Apakah bit perantara menambahkan jeda satu pemindaian?

Tidak, selama rung yang menulis bit perantara dieksekusi sebelum rung yang membacanya dalam rutin dan task yang sama. Rung kedua akan melihat nilai yang ditulis lebih awal dalam pemindaian tersebut. Urutan program harus tetap didokumentasikan dan dikendalikan.

Apa yang berubah jika perangkat lapangan berupa tombol tekan sesaat?

Toggle dengan tombol sesaat memerlukan deteksi tepi dan keadaan keluaran tersimpan. XOR kombinasional saja tidak dapat mengingat apakah lampu sebelumnya menyala atau mati.

Apakah XOR sesuai untuk rangkaian voting keselamatan?

Tidak, jika digunakan sendirian. XOR biasa hanya mengevaluasi keadaan Boolean. Aplikasi keselamatan memerlukan arsitektur keselamatan yang tervalidasi, cakupan diagnostik, waktu pemantauan ketidaksesuaian, perangkat keras yang sesuai, serta verifikasi terhadap penilaian risiko yang berlaku.

Oleh Tim Editorial PLC ProTech

Tinggalkan komentar

Harap diperhatikan, komentar perlu disetujui sebelum dipublikasikan.