Два счетчика расхода воды Взлета (разные модели)
Написан свой сервис который считывает данные с Лектуса в реальном времени и складывает в БД. Ночью запускает сбор архивных данных с расходомеров почасовых и дневных. Всё работало, но вот пару недель как ночью ломается на сборе архивов.
Код: Выделить всё
02:57:21.912 [11892] TIOPCSyncIO.Write - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Read, Group=MyGroup, dwSource=1, dwCount=1, phServer=([1] 21)
02:57:21.912 [11892] TIOPCSyncIO.Read - OK, Result=OK (0x0), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V), ppItemValues=([1] hClient=0, ftTimeStamp=20.05.16 02:57:21, wQuality=0, vDataValue=0)
02:57:21.912 [11892] TIOPCSyncIO.Write, Group=MyGroup, dwCount=1, phServer=([1] 21), pItemValues=([1] 16777219)
02:57:21.912 [11892] TIOPCSyncIO.AsyncWrite, CountItems=1
02:58:21.958 [11892] WARNING: TIOPCSyncIO.AsyncWrite - timeout
02:58:21.958 [11892] TIOPCSyncIO.Write - Fail, Result=Неопределенная ошибка (0x80004005), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V)
02:58:21.958 [11892] TIOPCSyncIO.Write, Group=MyGroup, dwCount=1, phServer=([1] 21), pItemValues=([1] 16777219)
02:58:21.958 [11892] TIOPCSyncIO.AsyncWrite, CountItems=1
02:58:21.958 [11892] WARNING: TIOPCSyncIO.AsyncWrite - advise limit
02:58:21.958 [11892] TIOPCSyncIO.Write - Fail, Result=В очереди задач уже есть данная задача (0x80040201), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours_V)
02:58:21.958 [11892] TIOPCSyncIO.Write, Group=MyGroup, dwCount=1, phServer=([1] 21), pItemValues=([1] 16777219)
02:58:21.958 [11892] TIOPCSyncIO.AsyncWrite, CountItems=1
Через несколько минут Lectus ломается и перезапускает сам себя.
Код: Выделить всё
03:01:25.051 [11892] TIOPCSyncIO.Write, Group=MyGroup, dwCount=1, phServer=([1] 20), pItemValues=([1] 16777867)
03:01:25.051 [11892] TIOPCSyncIO.AsyncWrite, CountItems=1
03:01:25.051 [11892] WARNING: TIOPCSyncIO.AsyncWrite - advise limit
03:01:25.160 [11892] TIOPCSyncIO.Write - Fail, Result=В очереди задач уже есть данная задача (0x80040201), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours)
03:01:25.176 [11892] TIOPCSyncIO.Write, Group=MyGroup, dwCount=1, phServer=([1] 20), pItemValues=([1] 16777867)
03:01:25.176 [11892] TIOPCSyncIO.AsyncWrite, CountItems=1
03:01:25.176 [11892] WARNING: TIOPCSyncIO.AsyncWrite - advise limit
03:01:25.176 [11892] TIOPCSyncIO.Write - Fail, Result=В очереди задач уже есть данная задача (0x80040201), SyncReadFromCash=True, ItemIDs=([1] k3.Arh_Hours)
03:01:25.410 [11364] ERROR: Сервер завис. Перезагрузка сервера ...
03:01:25.567 [10872]
03:01:25.567 [10872] ******************************
03:01:25.567 [10872] Старт(Lectus Modbus OPC/DDE server, версия 3.9, сборка: 133 от 20.04.15)
03:01:25.567 [10872] TfrmMain.FormCreate
03:01:25.598 [10872] РАБОЧИЙ РЕЖИМ
1. В чем может быть причина ситуации возникшей в 02:58:21.958?
2. Как можно настроить Lectus чтобы предотвратить его перезагрузку?
3. Если это невозможно, то каким образом сервису переподключиться к новому экземпляру сервера? Наши попытки переподключения приводят только рождению нового процесса Lectusa