안녕하세요.
CIMON 입니다.
간단히 SCADA로 음원 재생을 제어하는 예제입니다.
[ 이럴 때 사용하시면 됩니다 ]
경보 비트같이 특정한 비트의 상태에 따라 경보음 또는 원하는 음원을 재생/중지 시키고 싶을 때 사용하시면 됩니다.
[ 프로젝트 예제 작성 버전 및 주의사항 ]
SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
[ 예제 설명 ]
예제를 실행시키기에 앞서 스크립트의 음원 플레이 경로에 원하는 음원을 넣어두셔야 합니다. 이 예제의 경우 C:\CIMON\SOUND\ALARM\Alarm1.wav 의 경로에 wav 파일을 넣어두었습니다. 해당 경로에 해당 파일이 없다면 음원은 재생되지 않습니다.
1. Alarm Start 버튼을 누르면 설정한 횟수만큼 음원이 재생되고 Alarm Stop 버튼을 누르면 해당 음원이 멈추는 예제입니다.
위와 같이 간단히 Alarm Start, Alarm Stop, 데이터 입력 창 3가지의 입력 오브젝트로 구성되어 있습니다.
원하는 알람 횟수를 설정하고 Alarm Start 버튼을 누르면 해당 버튼이 초록색으로 바뀌고 음원이 재생됩니다. 0회로 설정하고 재생하면 내부함수의 정의에 따라 무한히 반복됩니다.
Alarm Start 버튼을 누르면 실행되는 명령식입니다. 스크립트에서 알람을 키는 상황인지 판별하는 태그인 ALARMSTART 태그를 ON 시키고 ALARMSTOP 태그는 OFF 시킵니다.
또한 PlaySoundEx 함수가 포함된 PlaySound 스크립트를 실행시켜줍니다.
PlaySound 스크립트에는 ALARMSTART 상태에 따라, 또한 설정해준 알람 반복 횟수에 따라 지정 경로의 음원을 재생시키는 PlaySoundEx 함수를 실행시킵니다.
음원 재생 중 Alarm Stop을 누르면 ALARMSTOP 태그가 ON 되며 SoundPlay를 멈춥니다.
Alarm Stop을 누르면 실행되는 명령식입니다. Alarm Start와 반대로 ALARMSTART 태그를 OFF시키고 ALARMSTOP 태그를 ON 시키는 것을 알 수 있습니다. 똑똑하신 분은 태그가 두 개까지 필요한가 생각하실 수도 있습니다. 사실 두 개의 태그가 두 개의 상황에서 각각 하나의 비트만을 표현하기 때문에 단 하나의 비트를 Toggle 시켜도 같은 상황을 나타낼 수 있습니다. 저는 가독성을 위해 두 개의 태그를 사용하였지만 ALARMSTATUS 태그 하나를 사용하여 ON 일 때는 PlaySound, OFF 일 때는 StopSound 제어를 하는 것이 더 효율적입니다.
StopSound 스크립트가 실행되면 ALARMSTOP이 ON인지 판별하여 StopSoundEx를 실행시킵니다. StopSoundEx는 해당 경로의 파일의 재생을 멈추는 기능을 합니다.
[ 적용 방법 ]
경보 태그로 경고음을 낼 때 위의 예제를 응용하시면 경고음을 자동 또는 수동으로 제어할 수 있습니다. 또한 제어 Bit의 수를 늘리면
If Bit1 = 1 then
PlaySoundEx “음원”, “횟수”
Else if Bit2 = 1 then
PlaySoundEx “음원2”,“횟수”
End if
처럼 원하는 상황에 맞는 음원을 틀어줄 수 있습니다.
첨부 1. SoundControl.zip
#음원제어#PlaySoundEx#StopSoundEx#비트제어#PlaySound#StopSound#Script#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA스크립트사용예제#SCADA스크립트사용방법#SCADA스크립트사용샘플#SCADA스크립트