Simple-Scada forum
Simple-Scada 2 => Ваши вопросы => Тема начата: Серега от 24 Июля 2018, 16:06:04
-
Добрый день!
В скриптах есть команда TextFileOpen работающая в связке с командой TextFileClose. В одном из проектов обмен данными идет через текстовый файл. Так решил производитель оборудования. Периодически в логах сервера отображается ошибка открытия файла.
Вопрос. Есть ли возможность отследить результат работы команды TextFileOpen? Например функция IOResult.
-
Добрый день!
Добрался до объекта. Причина возникающей ошибки I/0 error 32 при открытии возникает когда оборудование записывает данные в файл обмена. Это понятно. Но ошибка возникает хаотически и какой либо зависимости не видно. Хотелось бы открыть файл, проконтролировать его открытие и если все нормально считываем данные, если ненормально ждем 1 минуту и повторяем процесс.
Товарищи разработчики так можно как то отследить состояние выполнения команды или нет?
-
Здравствуйте.
Извиняемся за задержку с ответом. В данный момент нельзя отследить результат открытия файла. При неудачной попытке открытия ошибка будет выведена в журнал сервера, все последующие операции с текстовым файлом будут игнорироваться до тех пор пока файл не будет открыт без ошибок. В ближайшем обновлении добавим возврат результата открытия файла.
Это понятно. Но ошибка возникает хаотически и какой либо зависимости не видно.
Ошибка "I/0 error 32" возникает когда файл занят другим процессом, соответственно если она возникла, то файл гарантированно используется другим приложением и его не удастся открыть пока файл не освободится.
-
Ну товарищи разработчики вы оперативно работаете. Респекта и уважухи +100500. ;D
Будем ждать обновления.
-
Добрый день!
Немного продолжу тему, дабы не плодить их.
После того как команда TextFileOpen выдает отрицательный результат (Ошибка открытия файла) и после проверки данного условия обычно идет команда Exit, то:
1. Нужно ли прописывать команду TextFileClose до или после Exit?
2. Вместо Exit можно писать команду TextFileClose? Что произойдет со стороны сервера интересно?
3. Ошибка открытия файла подразумевает под собой автоматическое закрытие файла? То есть он освобождается в системе Windows?
-
Здравствуйте.
Если TextFileOpen не выполнилась, значит файл открыть не удалось и соответственно не удалось его занять. Поэтому не нужно ни закрывать файл, ни освобождать его в Windows.
-
Спасибо!