Ответы в темах
-
АвторСообщения
-
OlegУчастникКонечно, будут проблемы — напишу обязательно)
OlegУчастникЗдравствуйте 👋
Пока работает как надо, сбоев и ошибок не было. Спасибо!
OlegУчастникпот и ели торт. Эх…
Вообщем, если null придетает и его надо в DB.Null конвертировать… Я добавил, но мне не понятно… Почему МЯУ его отправляет? Как?Новая версия. Но я не верю, что она поможет.
https://github.com/JurasskPark/RapidScada_v6/releases/tag/DrvDbImportPlus_v6.3.0.4Спасибо, попробуем 👍
P.S. Сменный график, что поделать ;)))
OlegУчастникДобрый день!
То есть одна и та же команда может вызвать ошибку, а после перезапуска работает нормально?
Надеюсь, автор драйвера поможет в диагностике.Да, все верно. Одна и таже команда из МАУ каждые 5с.
Обновил драйвер до 6.3.0.2, наблюдаем
OlegУчастникПонял, спасибо — тогда буду пробовать.
OlegУчастникЗдравствуйте. Есть какой-нибудь триал или демо DrvParserTextInDatabaseJP?
OlegУчастникПонял, вопрос снимается 🙂
OlegУчастникСетевые диски я так понимаю не проверить? ExpCould not find the drive ‘Z:\’. The drive might not be ready or might not be mapped.
OlegУчастникJurasskPark, круто, спасибо — будем пробовать 🙂
OlegУчастникДобрый день. На Windows
OlegУчастникСпасибо за советы, попробую. Но проблема я так понимаю не в том, что скада не успевает. Проблема в том, что даже вот с такой формулой, если отключит сетевой диск, передача данных сервер<->коммуникатор подвисает. Если подключить диск обратно — все хорошо. Файл то текстовый там пару килобайт, сеть гигабит, все в локальной сети.
public double CVA_QR_Progress()
{
double ret = 0;
string pathSource = @»\\10.1.1.1\Progress\progress.txt»;
string pathNew = @»E:\QR_CVA_Progress_Local_Copy.txt»;
try
{
File.Copy(pathSource, pathNew, true);
}
catch
{
return ret = -1;
}
try
{
string lastLine = File.ReadLines(pathNew).Last();
ret = Convert.ToDouble(lastLine);
}
catch
{
return ret = -2;
}
return ret;
}Кстати, может кто писал формулу для определения доступности диска?
Я пробовал через свойство DriveInfo.IsReady. Не работает. Если просто получить данные о дисках, например формулой ниже — нет прав. Так это можно было бы использовать, чтобы мониторить периодически не только доступность диска, но и свободное место на диске с архивами..Формула, без дальнейших действий:
public double CVA_QR_Progress()
{
System.IO.FileSystem.DriveInfo[] drives = System.IO.FileSystem.DriveInfo.GetDrives();
return 0;
}Ошибка:
2025-04-06 11:03:03 [T490][T490$][ERR] Ошибка при компиляции исходного кода скриптов и формул:
(807,11): error CS0122: ‘FileSystem’ is inaccessible due to its protection level
(807,53): error CS0122: ‘FileSystem’ is inaccessible due to its protection level
Проверьте исходный код в файле C:\Program Files\SCADA\ScadaServer\Log\CalcEngine.cs
2025-04-06 11:03:03 [T490][T490$][ERR] Нормальная работа невозможна
OlegУчастникРади интереса…
https://rapidscada.net/store/Module/ru/DrvParserTextJP
Попробуйте читать значение через драйвер, там 30 тегов и 1 задача без лицензии работает.Спасибо, попробую)
OlegУчастникДа, ссылку можно посмотреть, спасибо.
Но ждем этой возможности 🙂Действительно, форма параметров отчёта использует шаблон с меню и т.д. Запишу пожелание, чтобы была возможность открыть параметры без общего шаблона.
OlegУчастникФормула записи значения канала по изменению в лог:
public double Write_log(int N) { double ret = 0; DateTime moment = DateTime.Now; if (Val() != Val(N)) { System.IO.File.AppendAllText(@"E:\SCADA_logs\SCADA_log_channel_"+Convert.ToString(N)+".txt", ( Convert.ToString(moment) + "\t" + Convert.ToString(Val(N)) + "\r\n" ) ); ret = Val(N); } else { ret = Val(); } return ret; }-
Ответ изменён 10 месяцев, 3 недели назад пользователем
Mikhail.
OlegУчастникСпасибо за информацию.
-
Ответ изменён 10 месяцев, 3 недели назад пользователем
-
АвторСообщения