Помощь в написании скрипта

Avatar
  • обновлен
Здравствуйте. нужен пример скрипта на паскале, скрипт по таймеру
1. читаем физ канал,
2. проверяем соответствие значения уставке, допустим он должен быть больше определенного значения 30
3. если значение меньше уставки, пишем в вирт канал флаг для контроля допустим 1, причем флаг не должен записаться в течении 5 циклов таймера скрипта, т.е. если течении 5 циклов опроса значение не соответствует уставке и на 6 цикл не сооответствует то должен писаться флаг, если в любом цикле норма, счетчик опроса в 0 и снова
может быть не буду понят но прошу помощи
Avatar
SIMP Tech (Сергей)
С TStringList.SaveToFile работает нормально.

Понятно. Но проблема с заменой имени канала все равно должна была остаться.

И чой-то у вас все запущено… :)
TStringList.SaveToFile создает файл и пишет данные из редактора скриптов - если "Выполнить".
А SaveToTxtFile() только когда "Монитор" запускаешь.

)) SaveToTxtFile - по сути функция для упрощения работы с текстовым файлом, в отладке у неё стоит "заглушка", работа непосредственно с классом TStringList, уровень более "продвинутый", соответственно он работает даже под отладкой.
Avatar
Михаил
Не-не.
TStringList.SaveToFile пишет имя канала, как и требуется.
Avatar
SIMP Tech (Сергей)
Не-не.
TStringList.SaveToFile пишет имя канала, как и требуется.

Нет нет, баг сохраняется. Запустите в "мониторе", Вы под отладкой смотрите, а там все "оптимизаторы" отключаются.
Avatar
SIMP Tech (Сергей)
День добрый.

Задача такова - нужно писать в txt файл несколько параметров,
В файл record1.txt пытаюсь вывести заранее подготовленную строку
В файл record.txt пытаюсь вывести строку которая формируется в самой функции SaveToTxtFile

ни тот ни другой вариант не работают, компиляция проходит без ошибок, но эффекта 0, в чем проблема?


Var In1, In2, In3, In4, str: String;
Begin
In1:=ReadValue('натяжение');
In2:=ReadValue('Dmin');
In3:=ReadValue('Dmax');
In4:=ReadValue('оборотов в мин');
str := TimeToStr(now) + ' ves ' + ReadValue('натяжение') + ' Dmin ' + ReadValue('Dmin') + ' Dmax '+ ReadValue('Dmax');
SaveToTxtFile('d:\record1.txt', str);
SaveToTxtFile('d:\record.txt', TimeToStr(now) + ' ves ' + ReadValue('натяжение') + ' Dmin ' + ReadValue('Dmin') + ' Dmax '+ ReadValue('Dmax') );
end.

Скажите пожалуйста Вы пробудете работу скрипта под отладкой?
Avatar
Владимир
Бодрого дня!
Пробовал посмотреть на выполнение под запущенным монитором, эффекта не увидел
Avatar
SIMP Tech (Сергей)
Бодрого дня!
Пробовал посмотреть на выполнение под запущенным монитором, эффекта не увидел

На выходе файл создается? Или файл есть но он пустой?
Avatar
Владимир
файл не создается - выпустил отдельный пост по сему вопросу
http://simplight.ru/forum/redaktor-kanalov/918-problemy-s-savetotxtfile
Avatar
SIMP Tech (Сергей)
файл не создается - выпустил отдельный пост по сему вопросу
http://simplight.ru/forum/redaktor-kanalov/918-problemy-s-savetotxtfile

У Вас будет возможность предоставить доступ по teamviwer, на месте посмотрим в чем может быть причина. Если да, то данные для подключения пришлите на simp@miniscada.com