Этот топик влючает в себя следующие страницы / This topic is comprised of pages 1 23
Автор / Author
Тема / Topic: Вопросы новичка
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Здравствуйте. Я недавно начал осваивать TM6, и на данный момент у меня возникло несколько вопросов:
1. По поводу Генераторов (синус например). Я так понимаю вычисление очередного значения генератора осуществляется в основном потоке(где RTM выполняется)? Если так, то нельзя ли как нибудь вынести генератор на другую нить? Да и в принципе, можно ли как нибудь задавать параметры генератора(например амплитуду)? 2. Честно сказать, не очень понятно как работать с каналом CALL. Конкретно интересует как осуществлять выгрузку определенного параметра из СПАД архива в заданном интервале времени(как локально так и удаленно) в архивный трэнд или таблицу? Как выполнить с помощью него шаблон программы (а точнее где там указывается какой именно шаблон выполнять надо)? 3. По поводу перемещения объектов. Кстати я как раз то и пытался с помощью генератора осуществить это перемещение (для этого то мне и надо генератор в отдельный поток как то поместить для увеличения его скорости пересчета). Может вы что то другое посоветуете по этому поводу? 4. У меня не получается переход между экранами по нажатию на кнопки, хотя вроде бы как я все сделал для этого: -создал 2 экрана -на одном из них поместил кнопку -на событие кнопки MousePresed добавил действие "Перейти на экран", и там отметил на какой экран надо переходить. Я в принципе даже попробовал с помощью drug-and-drop перетащить один экран в рабочую область другого, кнопка создалась, но ничего не работает.
Хотя может какие то проблемы связаны с тем что у меня пока что базовая версия программы? Она никак не порезана?
отправлено / posted
1. Период канала-генераора можно менять по Вашему усмотрению. Установкой "Множителя" в настройках канала можно изменять амплитуду генератора. 2. Это отражено в уроках "Быстрого старта". 3. Если имеется в виду функция "Перемещение" ГЭ на экране, то вся графика работает с более низким приоритетом, чем основной поток пересчета, включая и генераторы. Поэтому сделать "Перемещение" быстрее основного потока нельзя. 4. Базовая версия программа имеет некоторые ограничения, которые описаны в разделе "Принципиальные отличия .../Модификации ИС TRACE MODE 6".
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
SATER
Forum Haunter / Завсегдатай форума
Участник № / Member № 1414
отправлено / posted
4. А если в экране не создано ниодного аргумента - тогда на него невозможно перейти.
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
по поводу 1, 3, 4 : спасибо, за помощь, все понял и разобрался. по поводу 2 : буду разбираться по мануалу, спасибо.
Но возник еще вопрос: Можно ли как то управлять обработкой событий у графических элементов? Например, есть ГЭ Текст, в который по событию MousePreset записывается какое то введенное значение, надо управлять этим событием, т.е. разрешать его обработку только тогда, когда например включен режим управления (режим управления например определяется значением аргумента экрана). И тут же второй вопрос: есть ли какие то стандартные средства для реализации авторизации пользователей или самому делать надо?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Через ГЭ "Текст", видимо, значение должно куда-то передаваться (Например, в атрибут канала). Блокировать эту передачу (со сбросом значения соответствующего аргумента экрана) можно только программным путем. Передавать значение надо в программу, которая контролирует наступление соответствующего события. Если событие произошло, значение передается в канал, если не произошло - не передается. 2. Если Вы задаете ПОЛЬЗОВАТЕЛЕЙ в проекте, их авторизация осуществляется штатными средствами Trace Mode 6. Это документировано.
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Спасибо за помощь!
Но возник еще вопрос... У меня есть шаблон экрана, который допустим отображает какой то технологический процесс, или состояние устройства (не важно). Этот процесс является типовым ну или устройство не одно. В результате мне нужно отображать состояние всех этих типовых процессов. Делать на каждый типовой процесс отдельный экран совершенно не разумно, т.к. они различаются лишь отображаемыми данными (привязаны к различным источникам). Так вот можно ли как то для этих целей использовать один шаблон экрана. Конкретнее меня интересует, можно ли организовать некоторое подобие динамической привязки аргументов экрана к истчникам?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
Использование одного шаблона экрана с разными привязками его аргументов - это решение типовое. Разные привязки именно у аргументов каналов CALL, вызывающих один и тот же шаблон экрана позволяют использовать 1 шаблон для отображения на подоюных экранов параметров подобюных технологических процессов. Можно использовать и 1 канал CALL вызовf шаблона экрана с динамической перепривязкой его аргументов (см. ".../Автопостроение и автопривязка каналов из редактора аргументов /Замена виртуальной привязки аргументов в канале CALL, ../Замена привязок аргументов канала CALL на привязки аргументов другого канала CALL , ../Перепривязка аргументов на уровне объектов").
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Здравствуйте еще раз! По всем необходимым мне вопроса я вроде бы разобрался, спасибо. Но вот до сих пор висит один открытый вопрос. По поводу СПАД архивов.
Как выгружать в архив понятно, да и как канал CALL настраивать тоже в принципе понятно, я не могу только понять куда канал CALL выгружает данные прочитанные из архива?
Цитата из мануала: "При отработке канала CALL.LocalList в его последующие аргументы записываются извлеченные данные (каждый из таких аргументов возвращает две величины – извлеченное значение и его время)."
Это что получается, я должен заранее знать сколько он мне оттуда значений вытащит и под них завести аргументы в канале CALL? И даже если это так, то как все это в итоге привязать к архивному тренду?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Теперь понятно, спасибо. Но тогда тренд это не совсем то что мне надо... Мне необходимо извлекать из архива данные за определенный промежуток времени (который задается пользователем) и отображать их графически в виде временного ряда. Скажите, возможно ли в принципе с помощью тренда отображать значения выборки, если да, то буду капать дальше, а если нет, то посоветуйте, с помощью чего это можно сделать?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
Именно тренд в режиме архивного чтения и выполняет функцию "извлекать из архива данные за определенный промежуток времени (который задается пользователем) и отображать их графически в виде временного ряда."
Если Вам необходимо табличное отображение, можно использовать ГЭ "Архивная таблица 2".
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Возник еще вопрос. А возможно ли с помощью тренда в режиме архивного чтения отображать данные архива с удаленной машины?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
В описании тренда указано: "Если в узле МРВ1 есть архивируемый канал CH1, который копируется по сети в узел МРВ2, и в канале CH1_copy установлен флаг архивирования в архив, которого в узле МРВ2 нет, то при выводе CH1_copy на архивный тренд запрашиваются данные из локального архива узла МРВ1. "
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Что то у меня не получается вывести на тренд данные из удаленного архива.
Я сделал следующее: -В узле RTM_1 имеется канала (CH1), значения которого сохраняются в архив. -В узле RTM_2 так же имеется канал такого же типа (CH2), к которому привязано реальное значение канала СН1 (привязку я делал в меню редактирования канала=> во вкладке дополнительно=> привязка). Так же канал CH2 установлен на архивирование, но в узле RTM_2 нет архивов. -Значения из канала CH2 выводятся на архивный тренд
Но при попытке отобразить какие нибудь значения из архива на тренд он в его рабочей области выдает сообщение об ошибке запроса(Request error - 1003)
Что я делаю не так?
вот еще какой момент нашел в мануалах: "У всех каналов, связанных с каналами удаленных узлов, в атрибут 90, I0 записывается ID привязанного канала, а в атрибут 92, I2 – порядковый номер узла (ordinal). Значения обоих атрибутов можно менять в реальном времени, что обеспечивает перепривязку каналов."
Может эти параметры надо ручками задавать или они сами устанавливаются при привязке удаленного канала, или это вобще не имеет отношение к моей проблеме?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
Мы перепроверили указанную функцию в релизе 6.07.7. При правильно организованной связи между узлами вывод удаленного архива на тренд выполняется правильно. Прежде всего Вам надо убедиться в том, что между узлами существует сетевая связь - значения канала CH1 передаются в канал CH2 и отображаются на тренде в узле RTM_2 в режиме реального времени. Временной диапазон выводимых на тренд RTM_2 архивных данных должен соответствовать временному диапазону записей в архиве узла RTM_1.
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Возник вопрос, связанный с динамической трансформацией объектов экрана.
В мануале сказано, что на ряду с пространственным переносом существуют так же преобразования вращения и масштабирования, но собственно в самом TM 607.7 в свойствах объектов во вкладке динамическая трансформация имеется только опция перемещения.
отправлено / posted
Для каждого вида объекта активированы только те функции динамической трнасформации, которые для него реализованы.
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
То-есть практически любой графический объект можно динамически перемещать, но ни один элемент не имеет реализации динамического масштабирования и вращения? Я проверил все ГЭ, так скажем, перемещение имеет большинство, вращение и масштабирование не имеет ни один. Хотя может это одно из ограничений базовой TM 607.7?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
Ограничений в базовой версии такого рода нет.
Например, ГЭ групп "Линии", "Прямоугольники", "Ломаные линии", "Плоские фигуры", "Объемные фигуры" допускают динамическое перемещене, масштабирование и вращение.
Уточните, пожалуйста, как Вы проверяете допустимость динамических трансформаций?
Если Вы дважды кликнете по ГЭ (или после выделения ГЭ и нажатия ПК мыши выберете команду "Свойства объекта"), откроется диалог, в котором может быть специальная вкладка "Динамическая трансформация". Именно в этой вкладке имеются активные разделы функций трансформации.
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Именно так я и делаю: пробовал и ПКМ по объекту, а там Свойства объекта, и по ГЭ дважды ЛКМ щелкнуть, далее вкладка динамическая трансформация, и например у примитива линий есть только перемещение.
Да, и вот еще что, по поводу вывода удаленного СПАД архива на тренд. У меня так и не получилось это сделать. Связь между двумя узлами RTM точно есть, так как на тренд в режиме отображения реальных значений выводятся данные из канала с удаленного узла. Вы не могли бы выслать тот пример на котором вы проверяли работоспособность выводы удаленных архивных данных на тренд.
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
отправлено / posted
1. Пришлите, пожалуйста, скриншот окна свойств ГЭ "Линия" на вкладке "Динамическая трансформация" на адрес hotline@adastra.ru.
2. Запустите оба узла под управлением профайлеров с ключами DEBUG=C00 в файлах конфигурирования запуска *.cnf (см. "Задание параметров работы мониторов"). В протоколах профайлеров должны быть записи о возможных проблемах обмена по сети и о запросах архивных данных.
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
На присланном Вами скриншоте имеются все три раздела "Динамической трансформации". Необходимо поставить галочку у необходимого Вам свойства и дважды кликнуть мышкой на этом свойстве. Раскроется меню, которое надо настраивать в соответствии с документацией.
Сообщения / Posts 11710 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Не обратил внимание вниз окна, так как список преобразования перемещения был раскрыт, извините.
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
Sheon
Forum Member / Участник форума
Участник № / Member № 5164
отправлено / posted
Здравствуйте.
Мне необходимо навесить авторизацию на режим управления, ну то есть при нажатии на определенную кнопку вызывается окно авторизации, по положительному результату авторизации у пользователя появляется возможность, скажем писать в OPC.
Пробовал использовать канал пользователи, но он вызывается при старте профайлера, а мне необходимо только по событию (нажатию на кнопку). И логаут так же необходимо делать по событию от кнопки.
Я думал как это сделать: - Создать двух пользователей. - Один из них не имеет прав на доступ к событиям кнопок (кроме одной, для перехода в режим редактирования), и он же получает управление при старте МРВ или профайлера но не запрашивает авторизации (тут возникает вопрос, как создать пользователя без запроса на авторизацию?). - Второй канал пользователь вызывается по нажатию на кнопке перехода в режим управления, выдает окно авторизации, и в случае успеха, получает доступ на редактирование (Но тут возникает вопрос, как осуществить логаут этого пользователя не останавливая МРВ, и при этом управление должен перехватить первый канал пользователь, чтобы запретить обработку событий соответствующих контроллов?). А так же, достаточно ли будет передать в параметр EXEC (39) 1, для того чтобы инициировать авторизацию канала пользователя?
Сообщения / Posts 51 | Из / From: Российская федерация
| IP / IP: IP адрес / IP address |
Этот топик влючает в себя следующие страницы / This topic is comprised of pages 1 23