Ваши комментарии

Объясню суть задачи.Работаем с приборами Termodat. Значение температуры с прибора в программу приходит целым числом(тип Word), на приборе значение отображается в виде числа с плавающей точкой(вещественное). Нам нужно, чтобы значение в программе было тоже с плавающей точкой. В принципе задача решается с использованием виртуальных каналов. То есть скрипт в виртуальном канале преобразует значение с прибора в вещественное и выводит его в этом же виртуальном канале.

Евгений, я не вижу причины использовать скрипт для такой простой задачи, у каждого физического канала, есть свойство "формула", в которой Вы можете задать пересчёт получаемого значения.
по-моему я чего-то не понимаю. мнемосхема же просто должна выводить значение, тоже что и на Мониторе

На мнемосхему можно поставить компонент, для записи значения в канал.
А с мнемосхемы к примеру в этот канал можете записать значение?
var1:=ReadValue('Физический канал 1'); var2:=var1+10; WriteValue('Физический канал 1', var2);
Теоретически должно работать, уточните какой ОРС сервер, какой канал (Read / Write).

Var d,r:array[1..10] of real; i:integer; Begin for i:=1 to 10 do begin d[i]:=ReadValue('Датчик 1_('+IntToStr(i)+')'); r[i]:=d[i]+100 ; WriteValue('Стапель1 Датчик 1_('+IntToStr(i)+')',r[i]+i); end; end.
А вот такой "фокус" с каналами не пройдет, дело в том что перед компиляцией в скрипте все имена каналов заменяются на идентификаторы канала, т.е при инициализации скрипта производит поиск канала по имени в теле скрипта, и замена его на ID канала, по этой причине, канала к примеру 'Датчик 1_('+IntToStr(i)+')' для системы не существует.
1) Невозможно редактировать одновременно свойства нескольких каналов
2) Отсутствуют горячие клавиши, это касается как редактора канала, так SimpLight в целом!(я полагаю, что пользователь должен иметь возможность оптимизировать свою работу с помощью клавиатуры, а именно, горячих клавиш.)
3) Нарушена табуляция по свойствам канала, в окне ввода формулы, она вообще отсутствует!
4) В списке активных каналов нет сортировки, это удобно скажем, если обрабатывать каналы последовательно - один за другим, но при непоследовательной обработке (отключении/включении канала) канал добавляется в конец списка.В следствии нарушается порядок каналов в списке, и чтобы вернуть его на свое место приходится использовать мышь, что крайне неудобно.

Во первых спасибо за отзыв о нашем продукте, теперь по порядку.
1. На днях выходит версия 4.3, там присутствует возможность групповой обработки каналов.
2. В редакторе каналов горячие клавиши есть, Insert, Delete, Ctrl+C, Ctrl+V, это навскидку, если есть необходимость, то отпишитесь нам какие функции Вы бы хотели выполнять с помощью горячих клавиш.
3. Отправим в доработки
4. Добавим в доработки
Немного неточно, из под скрипта можно писать как в виртуальный, так и в физический канал. При работе в редакторе скриптов, не производится запуск опроса переменных. В режиме выполнения скрипта (в редакторе скриптов) есть возможность вручную изменять переменную на входе, тем самым следить за реакцией программы скрипта.
Нажмите клавишу "print screen", содержимое экрана скопируется в буфер обмена, далее в любом графическом редакторе, вставляете изображение из буфера, и печатаете.
День добрый.

Отпишитесь на simp@miniscada.com, с указанием какая версия ОС, симпа, какой ОРС используете.
Стоял вопрос подключения клиентов Win7 к серверу Win7. Так и не смогли реализовать, не подключается и все, несмотря на то что папка slproject расшарена и в нее имеется доступ. Установили сервер на машину с XP,опять не подключается. Выключили брандмауер, клиент подключается, но через некоторое время при подключенном клиенте вылезает ошибка Win generic host process for win32 services. Вероятно необходимо включить брандмауер. Но вопрос какие сделать исключения в нем чтобы подключался клиент

Пожалуйста, напишите письмо с описанием проблемы на simp@miniscada.com
Вопрос: возможна ли работа с файлами, а именно - запись в файл из скрипта?
Очень нужная и востребованная "опция".

Поддержка TFileStream будет в ближайших релизах, пока можете воспользоваться следующими функциями:

SaveToTxtFile(FileName: string; Str: string) - запись строки "Str" в текстовый файл "FileName"

LoadToTxtFile(FileName: string; index: Integer): string - Загрузить из текстового файла "FileName" строку с номером "index", если ошибка или нет такого номера строки то возвращаем пустую строку

GetFileStrCount(FileName: string): Integer - кол-во строк в текстовом файле "FileName", если файла нет или ошибка -1


Сервис поддержки клиентов работает на платформе UserEcho