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

К примеру необходимо получить значения из модулятора

 



Необходимо перети по базовому IP адресу с приставкой /tx_coll_request.htm

http://IP модулятора/tx_coll_request.htm

Получаем ответ:

TX310201 TX310400 TX310600 TX310800 TX311800008142 TX31210000000000000000 TX31231000000000000000 
TX31250000000000000000 TX31290000 TX3155000061646D696E00000000000000000000004B6D733133302A2E0000000000000000 
TX317000000061 TX3171466C65784D6F642D464D303131000000 TX3180020101000100342300 TX318602 TX318F3C 
TX31B1566F73746F6B5220 
TX31B3566F73746F526F737369692020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 
TX31B800 TX31900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 
TX319401 TX31A10000C0A8FA62FFFFFF00C0A8FA0A000000001EC0C63EFA TX31A40044 TX31A70003000300010001 
TX31A804 TX31E101FE TX31E201F4 TX31E503C0 TX31EE000D5AE49D669365 TX31F1054C81A0 TX31F401 
TX31F500 TX31F600001A97 TX31F71A5E TX31F80960 TX31F900C6 TX318800 TX31DB00000000000000000000 
TX31DC0000000000 TX31D1C0A80009000000000000000000000000 TX31D37075626C696300000000000000000000 
TX31D570726976617465000000000000000000 TX31E73C0A TX31510101 TX81FE0105 TX81FE0705 TX31FEEA06

Кодовые значения TX команд следующие:

// Monitoring Commands
	GetAudioType : 0x02,
	GetStereoCoderType : 0x04,
	GetRdsState : 0x06,
	GetScaState : 0x08,
	GetCntrlerSnNum : 0x18,
	GetModuleAlarms : 0x21,
	GetModuleWarnings : 0x23,
	GetAmplifierAlarms : 0x25,
	GetOutputPower : 0x29,
	GetAuthentication : 0x55,
	GetModuleSwVer : 0x70,
	GetModuleHwVer : 0x71,
	GetModel : 0x80,
	GetCommonStatus : 0x86,
	GetRdsName : 0xB1,
    GetRdsText : 0xB3,	
	GetPermitLockingState : 0xB8,
	GetDeviceName : 0x90,
	GetLockingStatus : 0x94,
	GetNetworkSettings : 0xA1,
	GetAttenuation : 0xA4,
	GetAudioLevels : 0xA7,
	GetSignalSource : 0xA8,
	GetExternalMpxLevel : 0xE1,
	GetScaLevel : 0xE2,
	GetInternalMpxLevel : 0xE5,
	GetModuleSnNum : 0xEE,
	GetFrequency : 0xF1,
	GetPredistortionState : 0xF4,
	GetChannelFilterState : 0xF5,
	GetDeviationLevel : 0xF6,
	GetPilotToneDeviation : 0xF7,
	GetRdsDeviationLevel : 0xF8,
	GetInputGainLevel : 0xF9,
	GetLang : 0x88,
	GetSiteAddress : 0xDB,
	GetCodeAddress : 0xDC,
	GetTrapManagers : 0xD1,
	GetReadCommunity : 0xD3,
	GetWriteCommunity : 0xD5,
	GetWarnThresh : 0xE7,
	GetPortsMute : 0x51,
	GetAmpCalibPout : 0xEA,

	// System Commands
	SetCntrlerReset : 0x00,
	SetModuleReset : 0x01,
	GetTemperature : 0x8F

 

 К примеру код TX31F600001A97 

первая часть TX31F6  расшифровывается как GetDeviationLevel ,

а далее идёт шестнадцатиричное двойное слово значение с плавающей запятой.

/// @description вытаскивает строку девиации
function get_parse_modulation_triada(argument0) 
{
		//argument0 HTML строка "смусором"	
	
		var text = argument0;	
		var fi = "TX31F6";
		
		pos_start = string_pos(fi,text);		
	
		if pos_start>=2 then pos_start=pos_start+string_length(fi);
		else return 0;
	
		text = string_delete(text, 1, pos_start-1);		
		
		pos_end = 9;
		text = string_delete(text, pos_end, string_length(text) - pos_end+1); //получаем шестнадцатиричное значение
		text = string_replace(text, " ", "");
		text = string_replace(text, "\n;", "");				
		
		//_modu = base_convert(text,16,10);
		_modu = hex_to_dec(text) / 1000;
		
		trace("модуляция=", _modu);
		return _modu;
}