This is topic Несколько вопросов по Графике и связям in forum TRACE MODE 6 бесплатная Базовая версия / TRACE MODE 6 free Base version at Форум TRACE MODE: техническая поддержка.
Добрый день! Появилось несколько вопросов: Общая информация: Создана программа для вычисления направлений движения жидкости по трубам. Создан экран с движущейся жидкостью и с возможностью закрывать заслонки или переключать режимы работы. 1) При задании события для картинки, каким образом можно инвертировать содержимое параметра привязки без ввода через доп. окно (в режимах есть посылка значения, ввод и посылка, И, ИЛИ, НЕ-ИЛИ и т.п., а инверсии исходного значения нет). 2) Объясните пожалуйста, мне казалось, что список аргументов и их параметров в Экране должен быть одинаков. Но если я привязываю элементы с экрана и вызываю список аргументов через свойства экрана правой клавишей, то списки одинаковые, но, параметры по умолчанию разные ? 3) Задал тип некоторых аргументов IN/OUT в экране и в программе, задал привязку с экрана в программу и из программы в экран. Или перекрестную связь делать незьзя? В результате этого rtc при запуске возникает ошибка: "Исключение unknown software exception (0xc00000fd) в приложении по адресу 0x002db82/."
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1) А разве НЕ-ИЛИ по константе 1 не подходит для инертирования текущего состояния? 2) Список аргументов Шаблона и его Вызова - это две разные вещи. Последний реплицирует первый, но если привязка аргумента задается в списке Шаблона, то она глобальна для всех его Вызовов, а если привязка аргумента задается в списке Вызова шаблона, то она индивидуально только для этого вызова! Поэтому, например, на основании одного шаблона экрана через вызовы можно сделать несколько независимых панелей управления разными регуляторами, имеющими одинаковую структуру, но разные привязки. Аналогия данной технологии - это функции в языках программирования, они также являются шаблонами с собственными аргументами, и вызывать их можно сколько угодно раз с разными аргументами в любом месте основной программы. 3) Перекрестная привязка на уровне аргументов допустима, то что у Вас Профайлер выдает ошибку - необходимо разбираться, можно Ваш проект? И какой релиз Вы используете?
Posted by Александр К. (Участник № / Member № 1461) on :
Добрый день ! В каком виде и куда можно выслать пример?
И еще вопрос : при задании массива в программе я могу использовать данные из него в цикле, а то вчера я написал программку с массивами, стал компилировать, а компилятор показывает ошибку на ссылке массива с переменной (например: Massiv[i], где i- локальная переменная цикла, Massiv[0..16] - тоже локальный заданный по умолчанию массив)?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Тип переменной i какой? Фрагмент кода приведите здесь.
Posted by Александр К. (Участник № / Member № 1461) on :
Добрый день !
1) Вопрос про массив отпал. Только вот не нашел формат задания значений массива по умолчанию (начальные значения). Методом проверки вроде выянил, что так:
VAR nR : ARRAY OF REAL[0..2]:=10.1,10.2,10.3; END_VAR При размере массива от 0 до 16 - возникает ошибка переполнения стека при операции с плавающей точкой: VAR n : ARRAY OF REAL[ 0 .. 16 ] := 0,4,10,20,30,40,50,60,65,70,75,80,90,100,150,200,300; END_VAR
2) Вопрос про перекрестную привязку остается актуальным! Куда и в каком виде необходимо посылать пример? *.prj - 930 kb. Каталог проекта - 800 кб.
Версия ТМ Base - 6.02.1
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Проект (только файл *.prj) присылать на hotline1@adastra.ru
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Относительно ошибки при компиляции - действительно так, записал в базу ошибок для исправления. Пока можно попробовать инициализировать массив значениями в теле самой программы.
Posted by Александр К. (Участник № / Member № 1461) on :
Доброе время суток !
Я Вам выслал пример по перекрестной привязке. В письме написал небольшой комментарий.
Заранее, благодарен за ответ!
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ошибка воспроизвелась, отдали на исправление программистам. Пока никаких результатов. В самом проекте вроде все нормально.