Вопросы и предложения по Simple-Scada 2

Автор Simple-Scada, 11 мая 2015, 20:34:39

TeNQ

Возможно ли сделать создание массивов виртуальных переменных?

vovtrof

Здравствуйте. Пишу в третий раз , по нашему проекту так и не было овтета , мы его отправляли два раза , а нам пока не ответили(( Другой адресс электронки не актуальный

Simple-Scada

vovtrof, только письмо с обычным текстом пришло. Почему-то с проектом не приходит. Мы ответили Вам на почту.

Цитата: TeNQ от 09 февраля 2016, 18:27:46Возможно ли сделать создание массивов виртуальных переменных?
Нет, сейчас это невозможно и возможно внедрить только в будущем.

toreto

Вот такой вопрос, когда то в разделе Simple-Scada 1.3.3 задавали вопрос про работу на двух мониторах, хотелось бы узнать как успехи?

Миханик

Еще вопрос или предложение
Сейчас для вывода значения тега пользуемся объектом Поле.
Если мне, к примеру, нужно вывести разницу двух тегов, то придется писать скрипт с виртуальной переменной?
А мне очень нравится как сделано в Citecte там для вывода значения можно подставлять не только тег, но и любое выражение (грубо говоря, целый скрипт). Такое можно реализовать? Тогда скорость создания проекта увеличится в разы.

Al_Kuz

Еще по Полю. Как известно, когда связанная с полем переменная имеет тип стрингов, то в это поле можно вводить и выводить любые символы. Как бы ограничить количество вводимых символов, в смысле длину строки.
Сейчас, я так понял, длина ограничена 255 символам. Не плохо бы такое свойство для поля, чтобы ограничивало длину строки, например, по размеру (длине) поля или явно вводить длину строки. И еще: когда
свойство "Значение" поля заполнено, то это значение появляется только в редакторе и не появляется в клиенте.

Simple-Scada

Цитата: toreto от 09 февраля 2016, 22:05:15Вот такой вопрос, когда то в разделе Simple-Scada 1.3.3 задавали вопрос про работу на двух мониторах, хотелось бы узнать как успехи?
Да, делали такие тесты. Всё прошло успешно. После выхода Simple-Scada 2 начнем внедрять в неё поддержку нескольких мониторов.

Цитата: Al_Kuz от 10 февраля 2016, 09:53:04.
Не плохо бы такое свойство для поля, чтобы ограничивало длину строки. И еще: свойство "Значение" поля заполнено, но значение появляется только в редакторе но не в клиенте.
На счет длины - подумаем. А по поводу свойства Значение - исправим.

Цитата: Миханик от 10 февраля 2016, 07:55:43Если мне, к примеру, нужно вывести разницу двух тегов, то придется писать скрипт с виртуальной переменной?
Для нескольких тегов придется либо создать вирт. переменную, либо добавить два поля, которые связаны с этими переменными и написать им одинаковые скрипты по событию OnDataChange. Может быть добавим выражения в будущем, но не сейчас.

Миханик

#157
Цитата: Simple-Scada от 10 февраля 2016, 10:21:08Нет необходимости создавать вир. переменную. Поставьте Поле, свяжите его с переменной, зайдите в событие OnDataChange
С одним тегом всё вяжется. А если тега два и более, то какой тег связывать с полем?
Ведь, я так понимаю, событие OnDataChange сработает только при изменении связанного с полем тега. А если связанный тег изменяться не будет, а несвязанный будет, то и результат меняться не будет.

Редак.
Уже опередили с ответом, долго печатал :)
Всё понял - выражения очень облегчат работу в будущем и не все даже крупные скады их поддерживают, поэтому это был бы большой плюс Вашей скаде.

elek72

#158
Был вопросик по поддержке шрифтов, но ответа я не нашел.
Посему повторяю вопрос.
Хотелось бы в коммерческом продукте иметь поддержку True Type Font.

Simple-Scada

elek72, к сожалению просто добавить поддержку TrueType-шрифтов у нас не получится из-за особенностей графического движка и работы с DirectX/OpenGL. На будущее скорее всего просто добавим ещё несколько шрифтов.

TeNQ

#160
ЦитироватьДаже сейчас, когда Вы добавляете в проект поле без подписи - скада тратит лишнюю память на их хранение, время на их загрузку и сохранение. Поэтому поначалу мы даже рассматривали вариант не добавлять свойство подпись, чтобы пользователи при необходимости ставили его объектом Текст, но потом все же решили оставить это свойство.
Может тогда и убрать это свойство, а добавить объекту Текст свойство - Парковка. Оно будет работать так. Подтаскиваете текст со включенным свойством на расстояние N пикселей к объекту Поля ввода, например, с левой стороны и текст пристыковывается к Полю ввода с применением автоформатирования, как оно сейчас действует для свойства Подпись, расположение Слева. Так же и с других сторон.
Для конфликтных ситуаций, например, наложение Текста на Поле ввода до включения свойства Парковка, сделать по умолчанию прикрепление Слева. При равной близости к границе двух полей, прикреплять к Полю с большим номером Слоя.
Ну это как вариант.

У меня предложение переработать интеллектуальный ввод по Ctrl-Enter.
Во-первых, убрать ему интеллект. То как он решает, где можно вставить и где нельзя  скорее мешает, чем помогает. Разрешить вставлять где-угодно и что-угодно из списка.
Во-вторых, переработать список выбора. Сейчас это куча со слабой систематизацией. И выбирать там что-либо довольно таки неудобно сейчас, а ведь она будет расти.
Я предлагаю сделать так.
Нажимаю Ctrl-Enter. Появляется коренной список. В нем пункты
Переменные
Константы
Функции
Процедуры
И тд.
Перемещаюсь по списку стрелками вверх-вниз.
Выбираю пункт в списке Константы. Нажимаю стрелку вправо. Открывается справа подсписок. Курсор выделения уходит туда. Перемещаюсь по списку стрелками вверх-вниз.
В списке пункты.
Константа цвета
Математическая константа
Константа времени
И тд.
Выбираю пункт - Константа цвета. Нажимаю стрелку вправо. Открывается конечный список констант цвета. (или нажимаю влево, перемещаясь в предыдущий список Константы цвета, закрывая текущий конечный список)
В списке пункты
ClLime
ClNavy
И тд.
Выбираю ClLime. Дальше два варианта.
1) Нажимаю вправо. ClLime вставляется в текст редактора, все списки закрываются.
2) Нажимаю Enter, ClLime вставляется в текст редактора, списки не закрываются, можно и дальше выбирать и вставлять, что нужно. Выход из списков ESC

Simple-Scada

#161
ЦитироватьМожет тогда и убрать это свойство, а добавить объекту Текст свойство - Парковка
В этом случае одно свойство будет заменено другим. Удаляется свойство Подсказка и добавляется свойство Парковка, которое также будет храниться впустую, если текст ни к чему не пристыкован.

ЦитироватьУ меня предложение переработать интеллектуальный ввод по Ctrl-Enter
В самое ближайшее время врядли что-то изменим в списке методов, а в будущем возможно. Только идея с разбиением по группам с одной стороны упрощает, а с другой усложняет, т.к. приходится делать действия выбора групп. Сейчас, в теории, пользователь не должен обращать внимания на величину списка методов. Он должен правильно именовать объекты (не обязательно все, хотя бы значимые для скриптов). К примеру для объекты изображений с приставкой img, например imgPicture, объекты текста с приставкой txt, например txtMyText и т.д.. Стандартные перечислимые типы и константы в скаде уже именованы по такому типу, у цветов приставка cl (от слова color) у типов частоты обновления urt (от слов UpdateRateType), у типов данных dt (от DateType).

Но это мы знаем приставки, а как быть пользователям? А пользователь должен получать приставку из описания методов. Например, если он хочет сменить цветовую схему, он переходит в скрипты, нажимает Ctrl + Пробел, пишет процедуру SetColorScheme и видит её описание в списке и то, какие параметры нужно в неё передать, а описана она так: SetColorScheme(AColorScheme: TM_ColorScheme). Здесь он должен понять, что в процедуру нужно передать параметр типа TM_ColorScheme, вот с него и нужно брать приставку по первым буквам cs. Это работает для всех типов и констант (исключение константа PI).

В результате зная приставки для своих объектов + стандартные приставки, пользователь не должен обращать внимание на величину списка, нажал Ctrl+Пробел, ввел приставку и получил только нужные методы, ничего лишнего. И что важно при этом не пришлось делать лишние клики,, сплошное написание кода. Возможно поэтому в языках программирования не делают разбивку по группам в списке методов (или может быть делают, но мы не слышали об этом).

TeNQ

#162
Идея понятна. А с разрешением вставки? Я жму Ctrl+пробел. Вставляю переменную. Ставлю знак присвоения. Дальше надо вставлять переменные для выражения. Жму Ctrl+пробел и ничего. Приходится переходить на пустое место на другой строке, жать там, выбирать, вырезать, переносить.

И еще такая ситуация. Под вечер сидел, уже был невнимателен и минут 5 не мог понять, как так в конце скрипта End нет, а он компилируется. Пока не понял, что надпись - Нажмите Ctrl+Пробел и тд, она на сплошном фоне и перекрывает последнюю строчку. Может сделать ее на полупрозрачном фоне и скрывать, когда курсор внизу экрана редактирования.

Simple-Scada


orbita-skb

Будет ли поддержка OPC UA серверов?