Microtek получение значений режимов работы FM передатчика


Задача: получить программным путём режимы работы передатчика.


При переходе на базовый IP усилителя с приставкой /status.xml

http://IP усилителя/status.xml

получаем на выходе следующий ответ:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<response>
<status0>РАБОТА</status0>
<status1> </status1>
<status2>Lime</status2>
<status3>Gray</status3>
<param_value0>0 </param_value0>
<param_value1>0 </param_value1>
<param_value2>0 </param_value2>
<param_value3>30 </param_value3>
<param_value4>3.1 </param_value4>
<param_value5> </param_value5>
<param_value10>46.3 </param_value10>
<param_value11> </param_value11>
<param_value12> </param_value12>
<param_value13> </param_value13>
<param_value14> </param_value14>
<param_value15> </param_value15>
<param_value16> </param_value16>
<param_value17> </param_value17>
<param_value20>0 </param_value20>
<param_value21>0.1 </param_value21>
<param_value22> </param_value22>
<param_value23> </param_value23>
<param_value24> </param_value24>
<param_value25> </param_value25>
<param_value26> </param_value26>
<param_value27> </param_value27>
<param_value28> </param_value28>
<param_value29> </param_value29>
<time1>20</time1>
<time2>20</time2>
<time3>22</time3>
<time4>06</time4>
<time5>21</time5>
<fwupgrade>0</fwupgrade>
</response>

Ответом будет являтся XML формат основных параметров работы передатчика.

Где значение между тегами <param_value0> является числовое значене выходной мощности передатчика.

//извлечение значения вых.мощности
function get_parse_power_mikrotek(argument0) 
{
	//argument0 XML строка с ответом
	var text = argument0;	
	pos_start = string_pos("<param_value0>",text);
	if pos_start<=1 then return 0;
	
	if pos_start>=2 then pos_start=pos_start+13;
	text = string_delete(text, 1, pos_start);
	//show_debug_message(text);
		
	pos_end = string_pos("<", text);
	text = string_delete(text, pos_end, string_length(text) - pos_end + 1);
	text = string_replace(text, "&#32;", "");
	//show_debug_message(text);
	return text;
}

 

При переходе на базовый IP модуляторв с приставкой /status.xml

http://IP модулятора/status.xml

получаем на выходе следующий ответ:

 

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<response>
<status0>ВЫКЛ Ethernet</status0>
<status1> </status1>
<status2>Gray</status2>
<status3>Gray</status3>
<param_value0>0</param_value0>
<param_value1>0</param_value1>
<param_value2>105.2</param_value2>
<param_value3>47</param_value3>
<param_value4>0</param_value4>
<param_value5>0</param_value5>
<param_value6>5.9</param_value6>
<param_value7>24.0</param_value7>
<param_value8>12.0</param_value8>
<param_value9>4.9</param_value9>
<param_value10>5.9</param_value10>
<param_value11>-5.9</param_value11>
<param_value12>29.5</param_value12>
<param_value13>0.4</param_value13>
<param_value14>0.4</param_value14>
<param_value15>0</param_value15>
<param_value16>3.2</param_value16>
<freq>105.2</freq>
<mod>1</mod>
<left>1</left>
<right>5</right>
<rds>15</rds>
<time1>03</time1>
<time2>47</time2>
<time3>23</time3>
<time4>06</time4>
<time5>21</time5>
<time6>4</time6>
<onof>1</onof>
<aupcon>0</aupcon>
<dela>1</dela>
<audcon>0</audcon>
<ster>1</ster>
<resi>1</resi>
<ogrr>1</ogrr>
<lowp1>0</lowp1>
<lowp2>0</lowp2>
<lowp3>0</lowp3>
<lowp4>0</lowp4>
<lowp5>0</lowp5>
<lowp6>0</lowp6>
<lowp7>0</lowp7>
<timeb1>00</timeb1>
<timeb2>00</timeb2>
<timeb3>00</timeb3>
<timeb4>00</timeb4>
<timeb5>00</timeb5>
<timeb6>00</timeb6>
<timeb7>00</timeb7>
<timee1>00</timee1>
<timee2>00</timee2>
<timee3>00</timee3>
<timee4>00</timee4>
<timee5>00</timee5>
<timee6>00</timee6>
<timee7>00</timee7>
<progen>1</progen>
<fwupgrade>0</fwupgrade>
<progtxt xml:space="preserve"> </progtxt>
</response>

 Что соответствует значениям веб морды модулятора:

/// @description вытаскивает строку модуляции пердатчиков MICROTEK
function get_parse_modulation_mikrotek(argument0) 
{
	//argument0 XML строка с ответом
	var text = argument0;	
	var fi="<param_value12>";
	//trace(text);
	pos_start = string_pos(fi,text);
	if pos_start<=1 then return 0;
	
	if pos_start>=2 then pos_start=pos_start+string_length(fi);
	text = string_delete(text, 1, pos_start-1);
	//show_debug_message(text);
		
	pos_end = string_pos("<", text);
	text = string_delete(text, pos_end, string_length(text) - pos_end + 1);
	text = string_replace(text, "&#32;", "");
		
	trace("распарсина строка модуляции=", text);
	return text;
}