Фильтрация сигналов от тревожной кнопки.
|
|
Noel | Дата: Суббота, 01.02.2014, 22:15 | Сообщение # 16 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| vad, а где конкретно во флите таблица датчиков и как она выглядит ? Я бы у себя по аналогии нашел. От аппаратной части сплясать не удастся, т.к ремонтом занимаюсь не я, и у меня нет никаких полномочий снимать машины с линии, чтобы что-то в терминале там сделать, тем более их штук 40. Может logoff мне поможет, было бы просто замечательно. Добавлено (01.02.2014, 22:15) --------------------------------------------- Я бы мог использовать скрипт, только отсортировал по device id нужные, но в моей базе в этой таблице нет столбца IsAlarm
|
|
| |
vad | Дата: Понедельник, 03.02.2014, 08:09 | Сообщение # 17 |
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
| А есть там например что нибудь связанное с активностью. Какие там столбцы есть в таблице?
|
|
| |
Noel | Дата: Понедельник, 03.02.2014, 11:06 | Сообщение # 18 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| Вот такие, прикрепил. Я пробовал поменять SencorActive на 0, но все равно звонит.
|
|
| |
vad | Дата: Понедельник, 03.02.2014, 11:09 | Сообщение # 19 |
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
| А что будет если удалить строчку?
|
|
| |
logoff | Дата: Понедельник, 03.02.2014, 11:50 | Сообщение # 20 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Noel, Там нет для прибора таблицы датчиков. Она единая для всех... Т.е. вырвать можно с корнем для всех СРАЗУ...
|
|
| |
Noel | Дата: Понедельник, 03.02.2014, 11:59 | Сообщение # 21 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| logoff, т.е с триггером тоже ничего не получится ?
|
|
| |
vad | Дата: Понедельник, 03.02.2014, 12:01 | Сообщение # 22 |
Барнаул
Группа: Проверенные
Сообщений: 223
Репутация: 17
Статус: Offline
| А например сменить Num на 20 именно у того прибора?
|
|
| |
Noel | Дата: Понедельник, 03.02.2014, 12:12 | Сообщение # 23 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| Цитата vad ( ) А например сменить Num на 20 именно у того прибора? Менял на 666, все равно звонит.
|
|
| |
logoff | Дата: Понедельник, 03.02.2014, 13:14 | Сообщение # 24 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Триггеры для меня тема несколько скользкая, с лету не готов подправить. надо пробовать. тут по мене свободного времени. Сегодня вроде как есть... может что и получится. Еще раз - нужно править датчик только у списка приборов?
Есть ли другие триггеры у таблицы sys_dev_dirtydata?
|
|
| |
Noel | Дата: Понедельник, 03.02.2014, 14:36 | Сообщение # 25 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| logoff, Цитата logoff ( ) надо пробовать. тут по мене свободного времени Конечно конечно, мне то не к спеху. Мне вообще жутко не удобно вас отвлекать.
Цитата logoff ( ) Еще раз - нужно править датчик только у списка приборов? Желательно да. Мне нужно сделать так, чтобы координаты от ТС были, местоположение определялось, но тревоги не было. Просто я не представляю как можно сделать иначе, чтобы я мог этим управлять.
Цитата logoff ( ) Есть ли другие триггеры у таблицы sys_dev_dirtydata? Есть. Вот его код:
Код USE [BN_PATP] GO /****** Object: Trigger [dbo]. [duplicate]Script Date: 02/03/2014 14:34:08 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [dbo]. [duplicate]ON [dbo].[SYS_DEV_DirtyData] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
-- Insert statements for trigger here INSERT INTO NavMessages SELECT device_code as DeviceCode,lat as Lat,long as Lng, speed as Speed, tele_time as [Time],direction as Direction FROM inserted END
|
|
| |
logoff | Дата: Понедельник, 03.02.2014, 15:01 | Сообщение # 26 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Доп таблица для хранения списка приборов по которым требуется очищать датчик №19
Текст 1 Код USE [bn_patp_dob] GO
/****** Object: Table [dbo].[No19Sens_devices] Script Date: 03.02.2014 14:49:32 ******/ SET ANSI_NULLS ON GO
SET QUOTED_IDENTIFIER ON GO
SET ANSI_PADDING ON GO
CREATE TABLE [dbo].[No19Sens_devices]( [id] [int]IDENTITY(1,1) NOT NULL, [device_code] [varchar](16) NOT NULL, CONSTRAINT [PK_No19Sens_devices] PRIMARY KEY CLUSTERED ( [id]ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON
[PRIMARY]GO
SET ANSI_PADDING OFF GO Текст 2 скрипт тригера
Код USE [bn_patp_dob] GO /****** Object: Trigger [dbo].[No19Sens] Script Date: 03.02.2014 14:50:28 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
Create TRIGGER [dbo].[No19Sens] ON [dbo].[SYS_DEV_DirtyData] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
-- Insert statements for trigger here update DD set dd.[digit_sens_num] = case when i.digit_sens_num&power(2,19-1)>0 then i.digit_sens_num^power(2,19-1) else i.digit_sens_num end FROM inserted as i inner join [dbo].[SYS_DEV_DirtyData] as dd on dd.id=i.id inner join [dbo].[No19Sens_devices] as No19 on No19.device_code=i.device_code END
Использование заменить USE [bn_patp_dob] - первая строка, на имя вашей базы данных в обоих текстах Создать таблицу (текст 1) Создать тригер (текст 2) Заполнить таблицу No19Sens_devices (которая создается в текст 1) списком кодов приборов, для которых нужно очищать срабатывание датчика №19
|
|
| |
Noel | Дата: Понедельник, 03.02.2014, 21:57 | Сообщение # 27 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| logoff, протестирую вечерком, сейчас убегаю. Спасибо огромное! Я Ваш должник
Добавлено (03.02.2014, 21:57) --------------------------------------------- Протестировал. Там как оказалось в одно и тоже время приходило два сообщения, Тревога и Тревога порт 19. Порт 19 фильтруется, а обычная тревога нет. Как с этим быть ?
Сообщение отредактировал Noel - Понедельник, 03.02.2014, 21:57 |
|
| |
logoff | Дата: Вторник, 04.02.2014, 08:43 | Сообщение # 28 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Видимо у вас все датчики срабатывают. Раз у вас всего два датчика, то предлагаю для упрощения "отрезать" просто все возможные датчики
Код USE [bn_patp_dob] GO /****** Object: Trigger [dbo].[No19Sens] Script Date: 04.02.2014 8:41:09 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
ALTER TRIGGER [dbo].[No19Sens] ON [dbo].[SYS_DEV_DirtyData] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON;
-- Insert statements for trigger here update DD -- set dd.[digit_sens_num] = case when i.digit_sens_num&power(2,19-1)>0 then i.digit_sens_num^power(2,19-1) else i.digit_sens_num end set dd.[digit_sens_num] = 0 FROM inserted as i inner join [dbo].[SYS_DEV_DirtyData] as dd on dd.id=i.id inner join [dbo].[No19Sens_devices] as No19 on No19.device_code=i.device_code END
|
|
| |
Noel | Дата: Вторник, 04.02.2014, 11:22 | Сообщение # 29 |
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
| logoff, мне нужно удалить тот триггер и создать новым скриптом ? Срабатывание всех датчиков - это терминал так настроен ? Добавлено (04.02.2014, 11:22) --------------------------------------------- Во, сделал. Полет нормальный пока. Радости нет предела!
|
|
| |
logoff | Дата: Вторник, 04.02.2014, 18:02 | Сообщение # 30 |
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
| Скрипт был на изменение (ALTER) уже созданного тригера
|
|
| |