Salah satu fungsi yang terdapat pada Structured Text adalah One Shoot. Apa itu One Shoot? Berikut penjelasannya.

Pada contoh diatas terdapat push-button dengan nama variabel "pb_01". Pada saat push-button ditekan dan "pb_01" bernilai 1 maka variabel nilai akan bertambah 1. Dan pada saat push button dilepas maka "pb_01" bernilai 0 dan variabel "nilai" tikak berubah.

Masalahnya adalah, pada saat push-button ditekan, kita tidak bisa menjamin bahwa push-button hanya ditekan dalam 1 kali scan/eksekusi program. Bisa jadi, push-button ditekan dalam 50 kali scan/eksekusi program. Dan variabel "nilai" tidak hanya bertambah 1, tapi 50.

Jika program tersebut hanya boleh menambah 1 tiap kali push-button ditekan, dan tidak peduli berapa scan/eksekusi yang dialami, maka yang dibutuhkan adalah fungsi one shoot

Fungsi One Shoot pada Structure Text terdapat dua macam, yaitu OSRI() dan OSFI()

OSRI

OSRI atau One Shoot Rising with Input adalah fungsi yang memiliki output 1 jika input bernilai 1 dan input sebelumnya adalah 0 (rising). Selain itu, output akan bernilai 0. Jadi, meskipun nilai input adalah 1, nilai output tidak akan 1 jika nilai sebelumnya bukan 0. Berikut ini tabel kebenaran dari OSRI

Input Sebelum Input Output
0 0 0
0 1 1
1 0 0
1 1 0

Berikut ini contoh program dengan menggunakan OSRI

Pada contoh program diatas, variabel "OSRI_01" dideklarasikan sebagai sebuah variabel OSRI. fungsi OSRI memiliki sebuah input yang disebut InputBit dan sebuah output yang disebut OutputBit.

OSFI

Selain OSRI, terdapat fungsi yang disebut OSFI atau One Shoot Falling with Input. Cara kerja keduanya hampir sama, bedanya adalah OSFI menghasilkan output 1 jika input bernilai 0 dan input sebelumnya bernilai 1.

Input Sebelum Input Output
0 0 0
0 1 0
1 0 1
1 1 0

Berikut ini contoh program dengan menggunakan OSFI

Pada contoh program diatas, variabel "OSFI_01" dideklarasikan sebagai sebuah variabel OSFI. Sama halnya dengan fungsi OSRI, fungsi OSFI memiliki sebuah input yang disebut InputBit dan sebuah output yang disebut OutputBit.

Sekian, Semoga bermanfaat