Добрый день!
Сообщение от
РустамДж
1. Как можно реализовать в СПК несколько звуковых оповещений, от разных условий чтобы срабатывала определенное звуковое оповещение?.
Перед тем, как подать команду на воспроизведение аудиофайла задайте его имя на вкладке I/O Mapping:
SoundIo.png
Не смотря на то, что тип указан как "ARRAY OF BYTE" на самом деле это строка длиной 80 символов.
Сообщение от
РустамДж
2. И чтобы звуковое оповещение доигрывала до конца не зависимо от состояния переменной?
На текущий момент штатными средствами этого сделать нельзя.
Можно (воспользовавшись библиотекой CmpSysExec) давать команды Linux на воспроизведение файла следующего вида:
Код:
/usr/bin/aplay -N ПУТЬ_К_ФАЙЛУ
например так:
Код:
VAR
m_fb_rtPlayCommand : Standard.R_TRIG;
m_xPlaySound : BOOL;
END_VAR
m_fb_rtPlayCommand.CLK := m_xPlaySound;
m_fb_rtPlayCommand();
IF m_fb_rtPlayCommand.Q THEN
CmpSysExec.sysExecute('/usr/bin/aplay -N ПУТЬ_К_ФАЙЛУ');
END_IF
По переднему фронту m_xPlaySound будет проигран файл ПУТЬ_К_ФАЙЛУ 1 раз.
Примечание:
Ключ -N дает плееру команду на проигрывание в неблокирующем режиме. Т.е. если аудиоустройство занято воспроизведением другого файла, то новый файл не будет проигран.
Без этого ключа плеер, если устройство занято, поставит файл в очередь на воспроизведение.