RSLogix 500: Moving Timer ACC into Another Timer PRE — figure 1

RSLogix 500: Memindahkan ACC Timer ke PRE Timer Lain

Pemrograman timer RSLogix 500: ambil nilai ACC timer yang sedang berjalan dan transfer ke PRE timer lain untuk simulasi pintu reversibel dengan sinar pengaman.

Emulasi gerakan dua arah dalam RSLogix 500 sering memerlukan timer yang berjalan selama waktu yang telah dihabiskan untuk bergerak ke arah berlawanan. Pelatih pintu garasi adalah contoh klasik: jika sensor foto terpicu setelah tiga detik gerakan turun, gerakan balik ke atas harus berlangsung selama tiga detik, bukan preset enam detik yang ditetapkan secara hard-code. Persyaratan itu tidak dapat dipenuhi dengan mengedit akumulator timer sumber. Word .ACC yang aktif akan ditimpa oleh instruksi timer pada setiap pemindaian selama rung bernilai true. Pola yang tahan lama adalah menangkap .ACC ke dalam bilangan bulat pada edge one-shot, lalu menulis bilangan bulat tersebut ke .PRE timer tujuan sebelum mengaktifkan gerakan balik.

RSLogix 500: Memindahkan ACC Timer ke PRE Timer Lain — gambar 1

Baca .ACC, simpan sementara melalui N7, tulis ke .PRE—jangan pernah menganggap akumulator sebagai setpoint yang bertahan.

Arsitektur file timer

Setiap timer SLC menempati tiga word: bit status (EN/TT/DN), .PRE, dan .ACC. Basis waktu dapat berupa 0,01 detik, 0,1 detik, atau 1,0 detik. Dengan basis 0,01 detik, preset 600 sama dengan enam detik. Publikasi 1747-6.15 mendokumentasikan perilaku set instruksi secara terperinci.

Elemen Peran Setpoint yang dapat ditulis?
T4:x.PRE Hitungan target Ya — tujuan yang benar
T4:x.ACC Hitungan yang telah berlalu Tidak berdampak permanen selama EN bernilai true
T4:x/TT Kualifikasi waktu Gunakan untuk mengaktifkan penangkapan

Mengapa MOV ke .ACC gagal

Selama EN bernilai true, instruksi TON/TOF/RTO memperbarui .ACC pada setiap pemindaian. MOV yang dilakukan pengguna ke .ACC akan ditimpa pada pemindaian berikutnya (atau bahkan pada pemindaian yang sama). Memuat ulang .ACC juga tidak mengubah target perbandingan; instruksi membandingkan .ACC dengan .PRE. Menulis .PRE baru dan memulai ulang dari .ACC = 0 adalah cara terkontrol untuk mengubah durasi.

Tangkap dengan ONS, pindahkan dengan MOV

Rung penangkapan:
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Rung pemuatan preset:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung pengunci:
XIC Capture_Bit  OTL Preset_Loaded

Rung default (terkendali):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Rung penghapusan:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 tidak akan menerima MOV yang menggunakan elemen timer yang sama sebagai sumber dan tujuan. Selalu gunakan perantara melalui word file integer seperti N7:10. Bit penyimpanan ONS menjaga penangkapan pada tepi awal sinar sehingga input yang tertahan tidak menulis ulang preset pada setiap pemindaian.

RSLogix 500: Memindahkan ACC Timer ke PRE Timer Lain — gambar 2

Mesin status di sekitar transfer

Status Kondisi masuk Tindakan
IDLE Penyalaan / keduanya selesai Hapus one-shot dan bit arah
SEDANG_NAIK Tepi NAIK Preset naik default jika belum dimuat
SEDANG_TURUN Tepi TURUN Preset turun default
BERBALIK ARAH Tepi sinar saat turun Tangkap ACC → naikkan PRE, aktifkan naik

Catatan migrasi Studio 5000

Timer Logix menggunakan semantik .PRE / .ACC yang sama dengan alamat berbasis tag. Tangkap ke dalam DINT, tulis .PRE timer balik, dan pertahankan deteksi tepi one-shot dengan ONS atau padanannya. Knowledgebase A-43402 membahas pemindahan nilai terakumulasi ke tag lain pada ControlLogix; peran elemennya sama dengan pola SLC.

Pemeriksaan tepi penangkapan ACC dan penulisan PRE

Putuskan sinar pada waktu berlalu yang diketahui dan pastikan preset balik sama dengan ACC yang ditangkap dalam satu tick basis waktu. Pastikan preset default hanya dimuat saat Preset_Loaded bernilai false. Kesalahan umum meliputi menulis .ACC, menghilangkan tahap integer, melakukan penangkapan tanpa kualifikasi /TT, dan membiarkan rung inisialisasi menimpa .PRE setelah penangkapan. Jaga dokumentasi timer tetap konsisten dengan standar PLC dan PAC lainnya saat memigrasikan logika trainer ke Logix.

Tentang Penulis

Mark Townsend | Insinyur Otomasi Senior – Sistem Allen-Bradley

Mark Townsend adalah insinyur otomasi senior dengan pengalaman lebih dari 18 tahun pada platform Allen-Bradley, mencakup ControlLogix, CompactLogix, dan SLC-500 lama. Pekerjaan sehari-harinya meliputi logika RSLogix / Studio 5000 dan pengaktifan HMI FactoryTalk View pada armada perangkat yang sudah tua dan beragam.

RSLogix 500: Memindahkan ACC Timer ke PRE Timer Lain

Pemrograman timer RSLogix 500: ambil nilai ACC timer yang sedang berjalan dan transfer ke PRE timer lain untuk simulasi pintu reversibel dengan sinar pengaman.

Emulasi gerakan dua arah dalam RSLogix 500 sering memerlukan timer yang berjalan selama waktu yang telah dihabiskan untuk bergerak ke arah berlawanan. Pelatih pintu garasi adalah contoh klasik: jika sensor foto terpicu setelah tiga detik gerakan turun, gerakan balik ke atas harus berlangsung selama tiga detik, bukan preset enam detik yang ditetapkan secara hard-code. Persyaratan itu tidak dapat dipenuhi dengan mengedit akumulator timer sumber. Word .ACC yang aktif akan ditimpa oleh instruksi timer pada setiap pemindaian selama rung bernilai true. Pola yang tahan lama adalah menangkap .ACC ke dalam bilangan bulat pada edge one-shot, lalu menulis bilangan bulat tersebut ke .PRE timer tujuan sebelum mengaktifkan gerakan balik.

RSLogix 500: Memindahkan ACC Timer ke PRE Timer Lain — gambar 1

Baca .ACC, simpan sementara melalui N7, tulis ke .PRE—jangan pernah menganggap akumulator sebagai setpoint yang bertahan.

Arsitektur file timer

Setiap timer SLC menempati tiga word: bit status (EN/TT/DN), .PRE, dan .ACC. Basis waktu dapat berupa 0,01 detik, 0,1 detik, atau 1,0 detik. Dengan basis 0,01 detik, preset 600 sama dengan enam detik. Publikasi 1747-6.15 mendokumentasikan perilaku set instruksi secara terperinci.

Elemen Peran Setpoint yang dapat ditulis?
T4:x.PRE Hitungan target Ya — tujuan yang benar
T4:x.ACC Hitungan yang telah berlalu Tidak berdampak permanen selama EN bernilai true
T4:x/TT Kualifikasi waktu Gunakan untuk mengaktifkan penangkapan

Mengapa MOV ke .ACC gagal

Selama EN bernilai true, instruksi TON/TOF/RTO memperbarui .ACC pada setiap pemindaian. MOV yang dilakukan pengguna ke .ACC akan ditimpa pada pemindaian berikutnya (atau bahkan pada pemindaian yang sama). Memuat ulang .ACC juga tidak mengubah target perbandingan; instruksi membandingkan .ACC dengan .PRE. Menulis .PRE baru dan memulai ulang dari .ACC = 0 adalah cara terkontrol untuk mengubah durasi.

Tangkap dengan ONS, pindahkan dengan MOV

Rung penangkapan:
XIC Door_Going_Down  XIC Down_Timer/TT  ONS Capture_Bit  MOV T4:2.ACC N7:10

Rung pemuatan preset:
XIC Capture_Bit  MOV N7:10 T4:3.PRE

Rung pengunci:
XIC Capture_Bit  OTL Preset_Loaded

Rung default (terkendali):
XIC Door_Idle  XIO Preset_Loaded  MOV 600 T4:3.PRE

Rung penghapusan:
XIC Up_Timer/DN  OTU Preset_Loaded

RSLogix 500 tidak akan menerima MOV yang menggunakan elemen timer yang sama sebagai sumber dan tujuan. Selalu gunakan perantara melalui word file integer seperti N7:10. Bit penyimpanan ONS menjaga penangkapan pada tepi awal sinar sehingga input yang tertahan tidak menulis ulang preset pada setiap pemindaian.

RSLogix 500: Memindahkan ACC Timer ke PRE Timer Lain — gambar 2

Mesin status di sekitar transfer

Status Kondisi masuk Tindakan
IDLE Penyalaan / keduanya selesai Hapus one-shot dan bit arah
SEDANG_NAIK Tepi NAIK Preset naik default jika belum dimuat
SEDANG_TURUN Tepi TURUN Preset turun default
BERBALIK ARAH Tepi sinar saat turun Tangkap ACC → naikkan PRE, aktifkan naik

Catatan migrasi Studio 5000

Timer Logix menggunakan semantik .PRE / .ACC yang sama dengan alamat berbasis tag. Tangkap ke dalam DINT, tulis .PRE timer balik, dan pertahankan deteksi tepi one-shot dengan ONS atau padanannya. Knowledgebase A-43402 membahas pemindahan nilai terakumulasi ke tag lain pada ControlLogix; peran elemennya sama dengan pola SLC.

Pemeriksaan tepi penangkapan ACC dan penulisan PRE

Putuskan sinar pada waktu berlalu yang diketahui dan pastikan preset balik sama dengan ACC yang ditangkap dalam satu tick basis waktu. Pastikan preset default hanya dimuat saat Preset_Loaded bernilai false. Kesalahan umum meliputi menulis .ACC, menghilangkan tahap integer, melakukan penangkapan tanpa kualifikasi /TT, dan membiarkan rung inisialisasi menimpa .PRE setelah penangkapan. Jaga dokumentasi timer tetap konsisten dengan standar PLC dan PAC lainnya saat memigrasikan logika trainer ke Logix.

Tentang Penulis

Mark Townsend | Insinyur Otomasi Senior – Sistem Allen-Bradley

Mark Townsend adalah insinyur otomasi senior dengan pengalaman lebih dari 18 tahun pada platform Allen-Bradley, mencakup ControlLogix, CompactLogix, dan SLC-500 lama. Pekerjaan sehari-harinya meliputi logika RSLogix / Studio 5000 dan pengaktifan HMI FactoryTalk View pada armada perangkat yang sudah tua dan beragam.

Tinggalkan komentar

Harap diperhatikan, komentar perlu disetujui sebelum dipublikasikan.