Written on: 31. 08. 2012 [18:40]
|
s60ru
Антон Петров
registered since: 10.05.2012
Posts: 141
|
"roman" wrote:
Не нужно было распаковывать!
это не моя блаж - я запусти в консоли "play -q /home/user/alarm.wav" и play сказал, что файл encoded mp3 который он не могет победить
я спорить не стал и просто сконвертировал файл в PCM
user@oscada:~$ play -q /home/user/sounds/alarm.wav
play FAIL formats: can't open input file `/home/user/sounds/alarm.wav': WAV file encoding `MP3' is not supported
[This article was edited 1 times, at last 14.09.2012 at 13:55.]
|
Written on: 14. 09. 2012 [14:15]
|
s60ru
Антон Петров
registered since: 10.05.2012
Posts: 141
|
В итоге решение пока такое:
1) в модуле Modbus заведен КОНТРОЛЛЕР, у него ПАРАМЕТРЫ с атрибутами (получаем данные от объектов автоматизации по модбасу)
2) в шаблонах создан шаблон (пока один, для одного типового агрегата, далее надо будет создать шаблон с набором атрибутов под каждый объект автоматизации)
3) в шаблоне созданы атрибуты по количеству сигналов одного ПАРАМЕТРА + столько же атрибутов-флагов (чтобы не делать запись в архив событий каждый цикл обработки шаблона) + несколько вспомогательных атрибутов
4) в программе (на основе поста Лог. уровень:Шаблон:IO:доступ к свойствам переменной ) получаю список атрибутов (отсеивая "ненужные" по префиксам и постфиксам) и в цикле, для каждого "годного" атрибута сравниваю его значение со значением соответствующего атрибута-флага, если они не равны, то делаю запись в журнал (соответственно фиксация "пришел"/"ушел")
5) в дальнейшем надо вынести обработку в отдельную функцию Java-калькулятора и в нее из шаблона передавать только данные, необходимые SYS.DAQ["LogicLev"][CtrlID][ParamID][Attribute]
в дебаг-моде (пока еще) это выглядит как-то так:
attr = ""; // атрибут-тег
attrName = ""; // имя атрибута-тега
attrF = ""; // атрибут-флаг
attrFName = ""; // имя атрибута-флага
CtrlID = this.nodePrev().name();
ParamID = this.cfg("SHIFR"); // получаем имя параметра
nodeList = this.nodeList(); // получаем список узлов параметра ParamID
for(var i=0; i < nodeList.length; i++)
{
attr = SYS.DAQ["LogicLev"][CtrlID][ParamID][nodeList[i]]; // укорачиваем способо доступа к атрибуту
attrName = nodeList[i].substring(2); // имя тега = ID аттрибута = DI_fire
if(attrName.charAt(0) == "D" && attrName !="DESCR" && attrName.substring(-2) != "_f")
{
for(var j=0; j < nodeList.length; j++)
{
attrF = SYS.DAQ["LogicLev"][CtrlID][ParamID][nodeList[i]+"_f"]; // укорачиваем способ доступа к атрибуту-флагу
if(attr.get() != attrF.get())
{
SYS.messDebug("Категория",attr.descr() + " = " + attr.get());
attrF.set(attr.get());
SYS.messDebug("attrF = " + attrF.get() + " attr = " + attr.get(),"флаг изменен");
}
}
}
}
|
Written on: 14. 09. 2012 [14:17]
|
s60ru
Антон Петров
registered since: 10.05.2012
Posts: 141
|
на стороне визуализации остается только анимировать аларм и .... как-то заносить в журнал факт квитирования сигнализации оператором....
|
Written on: 17. 02. 2016 [17:58]
|
patak3000
hadi ram
registered since: 24.12.2015
Posts: 7
|
Hello
I am writing the following command but did not alert sound
please help :roll:
alarm="10|Prm||0x04|file:/home/am/Music/alarm.ogg"
|
Written on: 17. 02. 2016 [19:56]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"patak3000" wrote:
alarm="10|Prm||0x04|file:/home/am/Music/alarm.ogg"
Set as: alarm="10|Prm||4|file:/home/am/Music/alarm.ogg"
And update to r2333
Learn, learn and learn better than work, work and work.
|
Written on: 18. 02. 2016 [07:11]
|
patak3000
hadi ram
registered since: 24.12.2015
Posts: 7
|
"roman" wrote:
"patak3000" wrote:
alarm="10|Prm||0x04|file:/home/am/Music/alarm.ogg"
Set as: alarm="10|Prm||4|file:/home/am/Music/alarm.ogg"
And update to r2333
thanks. but what is r2333 ?
|
Written on: 19. 02. 2016 [09:43]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"patak3000" wrote:
thanks. but what is r2333 ?
http://oscada.org/websvn/listing.php?repname=OpenSCADA&path=%2Ftrunk%2FOpenSCADA%2F
Learn, learn and learn better than work, work and work.
|