Форумы  ·  Войти  · 

Тема: Потеря данных в базе данных

21.02.18 8:47   Vitalik Petrakov  (20/29.01.17)  

Добрый день! У нас на предприятии 5 контроллеров в локальной сети. С всех 5ти контроллеров в произвольное время и в произвольном количестве теряются данные о воде\выходе. К примеру в среднем в день около 10000 действий и из них 30-40 действий теряются!
Грешить на конкретный контроллер не получается, так как у нас их 5 (4 SCM-NET2 и 1 SCM-IP)
С диодами и проводкой все замечательно - все уже перетягивалось и менялось, но все ровно теряются события.
Версия ПО 7.0.15 и прошивка в контроллерах самая последняя.
что еще можно сделать я уже не знаю

[ #1 ]  21.02.18 8:48   Oleg [Editor]  KOMENDANT LAB  

А как вы выяснили, что события теряются?

[ #2 ]  21.02.18 8:53   Vitalik Petrakov  (20/29.01.17)  

На предприятии есть система, работающая с базой данных коменданта. Сделано это для того, чтобы была возможно видеть, где на данный момент находится сотрудник + для расчет рабочего времени сотрудника.
и есть случаи, когда сотрудник прикладывает карту, замок размыкается - пропуская сотрудника, а само событие вход\выход не регистрируется базе данных, хотя по камерам слежения видно, что сотрудник приложил карту и спокойно вышел/вошел

[ #3 ]  21.02.18 8:55   Oleg [Editor]  KOMENDANT LAB  

А когда связь с таким контроллером появляется событие в базу попадает? (потому как если контроллер пустил карту то событие в его памяти однозначно записано и будет вычитано при ближайшем соединении с БД)

[ #4 ]  21.02.18 9:00   Vitalik Petrakov  (20/29.01.17)  

а вот тут самое интересное, у меня на втором мониторе открыт служба связи с контроллерами + монитор событий. Судя по службе связи - все нормально, связь не пропадает. Но событий в базе данных нет
Я раньше думал что проблема во флуде в нашей локально сети - провел выделенную локальную сеть только под контроллеры. Но результат остался тем же

[ #5 ]  21.02.18 9:06   Oleg [Editor]  KOMENDANT LAB  

Дело в том, что если, допустим, событие 1,2,3,4,5, .. зафиксированы контроллером, то 4 событие не попадет в базу данных пока не будет вычитано 3-е. Т.е. после вашего “пропавшего” события следующие за таковым также не могут быть вычитаны.
Но, есть способ смоделировать подобную ситуацию, т.е. забрать 4-ое событие. Для этого понадобится второй модуль связи. Обычно, подобное случается когда после тестов люди забывают убить лишние копии модуля связи, которые и выдергивают события.

[ #6 ]  21.02.18 9:12   Vitalik Petrakov  (20/29.01.17)  

Вот скриншот всех модулей с отображением удаленных модулей

Вложенный рисунок
Screenshot_4.png
[ #7 ]  21.02.18 9:17   Oleg [Editor]  KOMENDANT LAB  

Я имел в виду не “модуль связи” (как функциональную часть), а второй экземпляр запущенной службы связи. И вот еще что, возможно пропадание событий если во время срабатывания контроллер уходит в перезагрузку. Обычно это бывает из-за сбоев по питанию.

[ #8 ]  21.02.18 9:37   Tech.Support  KOMENDANT LAB  

События могут теряться, когда в момент срабатывания замка, чаще всего электромеханического, контроллер перезагружается из-за нехватки тока блока питания или слишком тонкого и длинного провода. То же самое возможно и с электромагнитным замком. Питание замка желательно пускать отдельным проводом, а электромеханический замок лучше от отдельного блока питания. Возможно также, что замки подключены минусом не на клемму блока питания, как на схеме подключения, а на дополнительные минусовые клеммы контроллера. Еще бывает, когда в электромагнитном замке стоит собственная электроника и она препятствует гашению электромагнитного импульса диодом. Он должен быть подключен непосредственно к обмотке замка. Также возможно пропадание данных внутри компьютера. Чтобы понять, было ли событие считано, можно включить лог связи с контроллерами и затем выслать нам кусок лога в пределах того времени, когда не было события, можно будет определить с какой стороны проблема. Кроме тех случаев, когда запущено несколько служб связи.

[ #9 ]  21.02.18 10:06   Vitalik Petrakov  (20/29.01.17)  

сейчас запущена только одна служба связи, специально просмотрел все машины, где когда либо была установлена данная служба.
Как именно включить лог связи с контроллерами?

[ #10 ]  21.02.18 10:13   Vitalik Petrakov  (20/29.01.17)  

чтобы убедится что служба была одна, я ее отключил и события перестали поступать в базу данных.
Если магнитные замки (а у нас только они) запитывать отдельным блоком питания на 12В, то как правильно смонтировать схему. На схемах подключения на вашем сайте такого нет.

[ #11 ]  21.02.18 10:18   Oleg [Editor]  KOMENDANT LAB  

Включение лога в свойствах точки доступа, программные настройки.
Ваш способ проверки наличия второй службы не правилен, ибо дело не в двух службах для одной БД (тогда события не пропадали бы, ибо обе службы сгружали бы логи в одну БД). Проблема возникает, когда вторая служба работает со своей БД (это может быть как еще одна БД на том же СУБД, так и на стороннем).

[ #12 ]  21.02.18 10:23   Tech.Support  KOMENDANT LAB  
Vitalik Petrakov - 21.02.18 10:13

как правильно смонтировать схему.

Последовательно реле входа, реле выхода, блок питания, замок. Экспериментировать лучше на одном контроллере.

[ Изменено: 21.02.18 10:28 Tech.Support ]
[ #13 ]  21.02.18 12:13   Vitalik Petrakov  (20/29.01.17)  

оказывается, логи были подключены уже давно. Где можно их найти? как раз смогу вам выслать часть логов с пропусками

[ #14 ]  21.02.18 12:14   Vitalik Petrakov  (20/29.01.17)  
Oleg [Editor] - 21.02.18 10:18

Включение лога в свойствах точки доступа, программные настройки.
Ваш способ проверки наличия второй службы не правилен, ибо дело не в двух службах для одной БД (тогда события не пропадали бы, ибо обе службы сгружали бы логи в одну БД). Проблема возникает, когда вторая служба работает со своей БД (это может быть как еще одна БД на том же СУБД, так и на стороннем).

У нас всего одна БД и 1 служба связи

[ #15 ]  21.02.18 12:22   Oleg [Editor]  KOMENDANT LAB  

Логи контроллеров лежат в папке службы связи с контроллерами, различаются по IP адресам в названиях файлов.
В свойствах точки доступа могут быть включены такие функции как “не читать карту если открыта дверь” и т.п. проверьте, это тоже может быть причиной.
Если БД и служба связи одна, то перепроверяем все остальное. 
Попробуйте отловить этот эффект и установить хоть какую-нибудь зависимость. В противном случае ходить по кругу можно очень долго.

Komendant.pro
 ©1999-2025  Инженерная лаборатория "Комендантъ"