This is topic Системная @Sound_File in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
День добрый, господа. Наблюдаю довольно нестабильное поведение системной переменной @Sound_File. Программа собирает по или 44 аргумента(USINT) и отдает это на выход, который связан с @Sound_File типа OUTPUT. Аргументы могут принимать значение 1 или 0. В директории, куда компилируется проект есть файл 1.WAV. На экране контролирую выход программы и часто бывает что при выходе программы = 0 произвольно начинает воспроизводиться 1.WAV. Дополнительный параметр для @Sound_File равен 3. Конечно в проекте имеются и другие программы. С уважением, M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Уверены ли Вы в качестве Вашего собственного контроля ситуации "при выходе программы = 0"? Визуальное отображение выхода программы на экране или в окне "Компоненты" не может служить надежным средством контроля. Если у Вас есть полная уверенность и мы сможем воспроизвести такую ситуацию у себя, присылайте проект.
Posted by M@V (Участник № / Member № 1800) on :
Оригинально! "Визуальное отображение выхода программы на экране или в окне "Компоненты" не может служить надежным средством контроля." Так чего я там наблюдаю, ерунду какую-то? Я понимаю что есть задержки графики и я не вижу всплесков, тогда подскажите, какое протокольное средство среды разработки действительно надежно?! Чем и как эту программу протестировать? Если я получу подтверждения, тогда подготовлю проект. С уважением, M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Не думаю, что задержки в операторском интерфейсе, которые могут приводить к визуальному пропуску сигналов длительностью, например, меньше 1 секунды, столь уж неожиданны. Есть СПАД-архив, есть Отчет тревог, в которые могут записываться практически без потерь все изменения значений архивируемых каналов. Запрограммируйте архивирование канала @Sound_File типа OUTPUT в СПАД и в Отчет тревог.
Posted by M@V (Участник № / Member № 1800) on :
Чистое програмное моделирование многовходового элемента ИЛИ с возможностью ввода аргументов с помощью кнопок (1 или 0) сбоев не дает. Реальный прект довольно громоздок, но попробую порезать и проэмулировать и тогда отправлю Вам. С уважением, M@V.
Posted by M@V (Участник № / Member № 1800) on :
Да, при регистрации канала в реальном проекте его выход =0 а сигнал может начать воспроизводится, возможно это вина проигрывателя винды? Но это наблюдается на двух разных компах. С уважением, M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Трудно представить себе, чтобы ОС проигрывала именно Ваши звуковые файлы произвольно. Кто-то ее все-же провоцирует! Давайте проверим на Вашем тестовом проекте.
Posted by M@V (Участник № / Member № 1800) on :
Уважаемые, отправил Вам проект с этой проблемой. С уважением, M@V.
Posted by M@V (Участник № / Member № 1800) on :
Господа, сообщите пожалуйста получили ли мой проект. У меня были проблемы с отправкой почты. С уважением M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да, мы получили Ваш проект. Хотелось бы уточнить, нужны ли все инсталяции, которые Вы описали, для получения данного эффекта или какие-нибудь действия можно не исполнять?
Posted by M@V (Участник № / Member № 1800) on :
Да, ОВЕНОВСКИЙ драйвер можно не ставить. Важно в директорию компиляции поместить файлы SOS и 1.WAV. С уважением, M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проблема неустойчивого отключения звука в Вашем проекте состоит в следующем. МРВ передает звуковой файл для проигрывания в ОС. Прерывание проигрывания фактически формулируется как «прервать воспроизведение проигрываемого файла». В некоторых ситуациях в Вашем проекте сигнал на проигрывание звукового файла оказывается очень коротким. За это время ОС может еще не начать проигрывать файл. Поэтому попытка остановить проигрывание сбросом сигнала в 0 не срабатывает. Предлагаю Вам удлинить сигнал, подаваемый в канал SOUND, до 1-1.5 сек. Например, ввести в исходную программу в качестве пользовательского функционального блока FBD-программу с функциональным блоком TOFF, с заданием ему временного параметра, равного 10.
VAR_000 = ARG_000 or ARG_001 or ARG_002 ... ARG_040 or ARG_041 or ARG_042 or ARG_043;
TOFF(VAR_000, Сигнал);
Я перепроверил, работает.
Для справки. Системная переменная @RTM_Parameter с Параметр = 137, Max_Sound_Length – ограничивает длительность воспроизведения звукового файла, заданного переменой @Sound_File. Задается в секундах (проверка – 1 раз в минуту), значение по умолчанию – 600с;
Posted by M@V (Участник № / Member № 1800) on :
Действительно получилось, спасибо за подсказку! Но разобраться в этом, согласитесь, может только разработчик ТМ6. С уважением, M@V.
Posted by M@V (Участник № / Member № 1800) on :
И я так понимаю, что если необходимо воспроизводить файл N > 1, то необходимо после TOFF включить блок УМНОЖЕНИЕ? С уважением, M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Верно.
Posted by M@V (Участник № / Member № 1800) on :
Как только связываюсь с системной переменной @Sound_File, так и вспоминаю игру на фронтах у несовершенной электронной схемы. С уважением, M@V.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Цикличность обработки естественно предусматривает квантование по времени всех обрабатываемых процессов. Это действительно похоже на проблему состязаний в дискретных системах.