Созданные ответы форума
-
АвторСообщения
-
JurasskParkУчастник
Ну я лично очень долго осознавал, что после изменение конфига, нужно перезапускать службу. И вот когда я понял, что лушче сначала остановить службу, изменить конфиг, запустить exe в папке, посмотреть что он без ошибок, то только потом запускать службу. Посмотрите нет ли проблем в консоли.
А то я пару раз попадал на то, что был процесс старого приложение запущен, поэтому новое приложение не запускалось.JurasskParkУчастникИ куда черт возьми дели настройки путей, ведь были же ?
Config\ScadaInstanceConfig.xml — <LogDir>L:\Log</LogDir> — это логи
\ScadaAgent\Config\ScadaAgentConfig.xml —
<Instances>
<Instance active=»true» name=»Default»>
<ProxyMode>false</ProxyMode>
<Directory>C:\SCADA_6\</Directory>
Каталог с установленой папкой 🙂JurasskParkУчастникПо поводу Firewall — не знаю как у всех, но после отключения и подключения сетевого кабеля, Windows включает Firewall т.к. считает что была нарушена сеть и её «взламывают» (шутка). В этом варианте мне нравится OPCExpert, что он не забывает в ошибках писать, что мол Firewall то включен и не забудь его отключить. А то часто по запарке об этом не помнишь, тебе звонят, что OPC-сервер сломался, а там опять уборщица кабель выдернула. ))))
JurasskParkУчастникДобавлю к предыдущим ораторам следующее:
DCOM — добавить пользователя в DCOM, добавить пользователя на OPCEnum, и на OPC-сервер.
Если у OPC-сервера есть служба, то делаю, чтобы она запускалась под учетной записью (сервисной) как и клиент. И вообще, хороший тон, когда учетная запись сервисная есть 🙂 Чтобы на АРМ был порядок в плане везде одна учетка и пароль, и тогда с одного OPC-клиента можно подклюючаться к N машинам, а не как мне разработчики ИС предлагала делать N коммуникаторов под каждый АРМ, чтобы учетную запись на АРМ не создавать. 😀Из редких и старых проблем, когда ПО написано в лохматых годах, и поэтому OPC-сервер представляет собой exe файл без службы, тогда в DCOM компоненте, тоже помимо прав на этот компонент у учетной записи, еще выставляем права на запуск под конкретной учетной записью.
Еще помню, что старые OPC-сервера сохраняли настройки в ini или в реестре пользователя, под которой он настроен. То есть доступ через DCOM ты дал, а вот запустилось оно под этой учетной записью, а настроек то там нет. 🙂
JurasskParkУчастник@manjey73 Агент у меня установлен и на вебе, и на сервере и на коммуникаторе. 🙂
По логике я должен веб «деплоить» только с веба-сервера, а чтобы видеть актуальные теги и объекты, я должен сначала с сервера Server отдать конфиг через Админ, а на web сервере через Админ скачать конфиг, нарисовать интерфейс и только интерфейс публиковать.- Этот ответ был изменен 2 года, 3 месяца назад от JurasskPark.
JurasskParkУчастник2. Windows Server 2008 R2 — WEB
Windows Server 2019 — Server (СУБД)
Windows Server 2019 — CommunicatorЯ вот пока не понимаю, мне Admin приложение для передачи проекта нужно запускать на Web, скачивать проект из веба, чтобы он был актуальный, делать изменение, обратно передавать, только отключить передачу Server и Communicator.
Если запускаю Admin на Server, тоже скачивать, только отключить передачу на Web…
JurasskParkУчастник1. Как и по какому признаку Профиль определяет статус службы Веб-сервера? А то веб работает, а статус — неизвестно.
2. Как перезапускать службу веб-сервера, если проект передаётся, а в логах передачи проекта пишет, что остановить и запустить службу не может.
3. Где хранится проект, после передачи проекта на веб? Если это не секрет 🙂JurasskParkУчастникДело в библиотеке sni.dll, которая используется для x64.
https://jurasskpark.magicteam.net/tmp/042.pngJurasskParkУчастник2IP — проверяет порт из интернета. У вас же с долей вероятности — всё компоненты на одном ПК установлены. Или нет? 🙂
- Этот ответ был изменен 2 года, 3 месяца назад от JurasskPark.
JurasskParkУчастникПеренёс почти библиотеку на v6.
https://jurasskpark.magicteam.net/tmp/040.png
Начал проверять — и не пойму банальной вещи.
MS SQL библиотека добавляет в корень System.Data.SqlClient.dll на 261 Кб, рядом создает папку Runtime, где несколько папок для разных систем Unix, Windows и т.д., где уже лежит System.Data.SqlClient.dll на 1000 Кб для win и 933 Кб для Unix.
https://jurasskpark.magicteam.net/tmp/041.png
А мне какую подключать к проекту? Которая на 1000кб? Или я должен в папку ScadaComm в Runtimes их класть?- Этот ответ был изменен 2 года, 3 месяца назад от JurasskPark.
JurasskParkУчастникМихаил, я конечно понимаю, что версия 5 и актуальная будет 6, я собственно тоже понял, что пока я только начал делать проект нужно переходить на 6. Но раз предыдущий автор темы не прислал, то пришлю я, т.к. я сегодня это обнаружил спустя 10 дней. 😀 У меня тоже MS SQL. 🙂
Текущие данные
Error Number:8023,State:1,Class:16
2022-08-18 10:35:01 Невозможно добавить текущие данные в очередь. Максимальный размер очереди 1000 превышен
2022-08-18 10:35:01 Невозможно добавить текущие данные в очередь. Максимальный размер очереди 1000 превышен
2022-08-18 10:35:02 Невозможно добавить текущие данные в очередь. Максимальный размер очереди 1000 превышен
2022-08-18 10:35:02 Невозможно добавить текущие данные в очередь. Максимальный размер очереди 1000 превышен
2022-08-18 10:35:02 Ошибка при экспорте текущих данных:
System.InvalidOperationException: This SqlTransaction has completed; it is no longer usable.
at System.Data.SqlClient.SqlTransaction.ZombieCheck()
at System.Data.SqlClient.SqlTransaction.Commit()
at Scada.Server.Modules.DbExport.Exporter.ExportCurData()
2022-08-18 10:35:02 Ошибка при экспорте среза по триггеру «Триггер на архивные данные»:
System.Data.SqlClient.SqlException (0x80131904): The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 6 («@val»): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`
1 wrapCloseInAction)at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Scada.Server.Modules.DbExport.Exporter.<ExportSnapshot>g__ExportDataPoint|42_0(Int32 cnlNum, <>c__DisplayClass42_0& , <>c__DisplayClass42_1& , <>c__DisplayClass42_2& )
at Scada.Server.Modules.DbExport.Exporter.ExportSnapshot(Srez snapshot, DbTransaction trans, IEnumerable`1 dataTriggers)
ClientConnectionId:4532edae-6378-4afe-9cd0-a4209948e44a
Error Number:8023,State:1,Class:16
Архивные данные
2022-08-18 10:35:00 Ошибка при экспорте архивных данных:
System.InvalidOperationException: This SqlTransaction has completed; it is no longer usable.
at System.Data.SqlClient.SqlTransaction.ZombieCheck()
at System.Data.SqlClient.SqlTransaction.Commit()
at Scada.Server.Modules.DbExport.Exporter.ExportArcData()
2022-08-18 10:35:01 Невозможно добавить текущие данные в очередь. Максимальный размер очереди 1000 превышен
2022-08-18 10:35:01 Ошибка при экспорте среза по триггеру «Tриггер на текущие данные»:
System.Data.SqlClient.SqlException (0x80131904): The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 6 («@val»): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Scada.Server.Modules.DbExport.Exporter.<ExportSnapshot>g__ExportDataPoint|42_0(Int32 cnlNum, <>c__DisplayClass42_0& , <>c__DisplayClass42_1& , <>c__DisplayClass42_2& )
at Scada.Server.Modules.DbExport.Exporter.ExportSnapshot(Srez snapshot, DbTransaction trans, IEnumerable`1 dataTriggers)
ClientConnectionId:4532edae-6378-4afe-9cd0-a4209948e44a
Error Number:8023,State:1,Class:16
- Этот ответ был изменен 2 года, 3 месяца назад от JurasskPark.
JurasskParkУчастникЯ не против, т.к. это ваш драйвер на 95% )
JurasskParkУчастник* Драйвер KpDbImport уже существует. Ваш драйвер достаточно отличается от исходного, поэтому должен называться иначе.
Теперь он называется KpDbImportPlus 😀
Вроде всё поправил…
https://github.com/JurasskPark/RapidScada_v5JurasskParkУчастникВроде удалил. Файлы bin и obj тоже. 🙂
JurasskParkУчастникhttps://github.com/JurasskPark/RapidScada_v5/tree/RapidScadav5/OpenKP
Если не сложно, можете проверить и сказать всё правильно или что-то не так сделал?
-
АвторСообщения