сначала формируется список команд на отправку, потом отправляются все эти команды как консольные
только для терминалов M2M Cyber GLX (GX)
Команды для терминалов 1.5
прошивки 4.01 или выше.
Смысл скрипта - опросить все параметры, перед прошивкой, и после прошивки, сравнить возвраты
Code
declare @t table (com nvarchar(100))
insert into @t values ('server?');
insert into @t values ('@VERSION?');
insert into @t values ('@RCV BOARD?');
insert into @t values ('RCV ATTEMPTS?');
insert into @t values ('SATELLITE SYSTEM?');
insert into @t values ('U BATTERY?');
insert into @t values ('VALID ZONE?');
insert into @t values ('COMMAND ATTEMPTS?');
insert into @t values ('MIC LEVEL?');
insert into @t values ('SPK LEVEL?');
insert into @t values ('PDP?');
insert into @t values ('LOGIN?');
insert into @t values ('PASSWORD?');
insert into @t values ('CHECK INT?');
insert into @t values ('COMMUNICATION INTERVAL?');
insert into @t values ('ROAMING ATTEMPTS?');
insert into @t values ('COMMUNICANION MODE?');
insert into @t values ('PRIORITY NETWORK?');
insert into @t values ('FORBIDDEN NETWORK?');
insert into @t values ('CONNECT ATTEMPTS?');
insert into @t values ('PACKET QUEUE?');
insert into @t values ('CMD NUMBER?');
--insert into @t values ('UART MODE?');
insert into @t values ('UART SPEED?');
insert into @t values ('UART WORD?');
insert into @t values ('UART STOP?');
insert into @t values ('UART PARITY?');
insert into @t values ('UART FLOW?');
insert into @t values ('UART XON?');
insert into @t values ('UART XOFF?');
insert into @t values ('UART USE?');
insert into @t values ('INV INP?');
insert into @t values ('PPR NUMBER?');
insert into @t values ('PULSEACC TIME?');
insert into @t values ('RPM THLD?');
insert into @t values ('DINP THLD?');
insert into @t values ('INP ARRAY?');
insert into @t values ('DIO RELATION?');
insert into @t values ('RING DOUT?');
insert into @t values ('AUDIO DOUT?');
insert into @t values ('AINP CFG?');
insert into @t values ('AINP USE?');
insert into @t values ('AINP THLD?');
insert into @t values ('IGNITION INP?');
insert into @t values ('ZERO SPEED?');
insert into @t values ('PARK TIME INT?');
insert into @t values ('START MOTION?');
insert into @t values ('RUN INT?');
insert into @t values ('PARK INT?');
insert into @t values ('DIST THLD?');
insert into @t values ('COURSE THLD?');
insert into @t values ('MAX SPEED?');
insert into @t values ('TRAVEL DIST?');
insert into @t values ('HDOP?');
insert into @t values ('VDOP?');
insert into @t values ('PACKET TOUT?');
insert into @t values ('TREMBLE INP?');
insert into @t values ('DOUT PULSE?');
insert into @t values ('LLSAVER TIME?');
insert into @t values ('LLS TYPE?');
insert into @t values ('LLSSTART DELAY?');
insert into @t values ('LLSFINISH DELAY?');
insert into @t values ('MEASURSTART INP?');
insert into @t values ('MEASURSTART DELAY?');
insert into @t values ('REFERENCE INP?');
insert into @t values ('NORMALIZE INP?');
insert into @t values ('AINPAVER TIME?');
insert into @t values ('AINPDATA INT?');
insert into @t values ('ROAMING COURSE?');
insert into @t values ('AVIALABLE NETWORK?');
insert into @t values ('LOW POWER PROTECT?');
insert into @t values ('TRUE POSITION?');
insert into @t values ('MERGE ARCPACKETS?');
insert into @t values ('SUSPEND SERVICE?');
insert into @t values ('2D ENABLE?');
insert into @t values ('LLS ADDRESS?');
declare @UserID int, @device_code varchar(16)
set @device_code='00163013'
set @UserID=(select id from bn.dbo.sys_Users where name='Админ'); -- получим ид пользователя с указанным именем
if (@UserID) is null begin print ('Пользователь не найден!') return end;-- провка на пользователя, что он есть
insert into bn.dbo.FLEET_OutCome (UserID,dev_code,[CommandTemplID],Command,State,objectid)
select @UserID,d.code,com.CmmandID,'23|'+rtrim(ltrim(oc.com))+'|',0,o.ObjectID
from @t as OC
inner join bn.dbo.SYS_DEV_Device as d on d.code=@device_code and d.DeviceActive=1
inner join bn.dbo.FLEET_Object as o on o.device_id=d.id
inner join bn.dbo.FLEET_Command as com on com.Device_id=d.id and com.CommandCode=10
where o.ObjectActive=1
где: set @device_code='00163013' -- номер прибора для отправки команды
set @UserID=(select id from bn.dbo.sys_Users where name='Админ'); -- получим ид пользователя с указанным именем Админ
Опрос всех данных для работы скрипта сравнения