Форум TRACE MODE: техническая поддержка Послать новую тему / Post New Topic  Послать ответ / Post A Reply
мой профиль / my profile авторизация / login | регистрация / register | поиск / search | часто задаваемые вопросы / faq | начало / forum home

  Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
» Форум TRACE MODE: техническая поддержка » ТЕХНИЧЕСКАЯ ПОДДЕРЖКА / TECHNICAL SUPPORT TRACE MODE 6 » Языки программирования в TRACE MODE 6 / Algorithm Programming Languages » Сжатие каналов FLOAT

   
Автор / Author Тема / Topic: Сжатие каналов FLOAT
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть ли способ сжать несколько каналов FLOAT в один, чтобы их можно было передать от одного узла к другому?
Смысл в том, что на контроллере планирую реализовать PID и MREG регуляторы, но все коэффициены, которые определяются этими FBD-блоками хотелось бы отображать на операторской станции. А их в сумме около десятка (включая статусы). Учитывая, что у нас около двадцати клапанов и насосов, которые будут управлятся при помощи блоков MREG и PID, уже получается 200 каналов (а в сумме на каждый клапан и насос приходится около 25 каналов на каждом узле).
С каналами, которые нужно будет сохранять в архив все понятно, но многие каналы не нужно сохранять. Они служат только для передачи данных от одного узла к другому и для отображения на экране.
Учитывая, что диапазон изменения многих значений ограничивается от -100 до 100, то можно в один реальный канал сохранить несколько значений аргументов программы, которая находится на одном узле, передать на другой узел этот канал и там при помощи программы считать несколько аргументов из канала, Которые впоследствии и отображать.
Есть ли стандартные средства для этого?

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть такая функция - организуется такое сжатие через аргументы канала класса Call с параметром вызова "RemArgument", смотрите описание в справочной системе.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здорово. А если этот канал сохранить в дамп, то потом восстановятся значенияв всех его аргументов? Будут ли все аргументы нормальносохраняться в архив?
А сколько максимум может быть аргументов у канала CALL с параметром RemArgument?
Ведь по идее если нужно много каналов, можно создать несколько каналов CALL и работать с его аргументами как с реальными каналами. Получается, что можно фактически купить лицензию на 128 каналов, а работать с 2048 каналами. Или все же есть какие-то ограничения на использование аргументов?

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Возникла проблема. Создал 2 канала CALL: один в узле RTM - Call_1, а другой - в узле MicroRTM - Call_2. Для обоих каналов поставил тип выхова RemArgument. В каждом из них создал по 10 аргументов. Привязал канал Call_2 к каналу Call_1. Написал простенькую программу, которая заносиит во все аргументы канала Call_2 (в узле MicroRTM) постоянно меняющиеся значения. По идее вс эти значения должны перевадаться в канал Call_1 (в узел RTM), но этого реально не происходит. На узле RTM создал экран, в котором 10 текстовых полей, каждое их которых отображает соответствующий аргумент канала Call_1.
Еще что странно, что на узле RTM канал Call_1 отображается в "Просмотре компонентов", а вот в узле MicroRTM, канал Call_2 не отображается в "Просмотре компонентов". Что я не правильно делаю?

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В справке посмотрел ограничения мониторов для DOS. Там написано, что не поддерживаются типы вызовов 12-16 и 26-28. Но RemArgument - это 49 тип вызова. Поэтому все должно быть в порядке. Если ставлю для канала CALL другой тип вызова, например Program, то этот канал в "Просмотре компонентов" отображается.
Еще такой вопрос: если будет использовать не MicroRTM под DOS, а MicroRTM под WinCE, то какой тип узла нужно создавать: MicroRTM, NanoRTM, EmbeddedRTM?

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Требуется время на проверку ситуации.

Насчет типа узла для WinCE - это должен быть EmbeddedRTM.

Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Как продвигается проверка?
Может, если есть простенький проект, показывающий как работать с каналом CALL с типом вызова RemArgument, вышлете мне его?
Меня интересует возможность передавать значения нескольких каналов с одного узла на другой под одному этому каналу CALL. На операторскую станцию приходят данные с двух контроллеров и для отображения всех коэффициентов, параметров просто не хватает каналов (лицензия у нас на 1024 канала).

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 2 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Проверили - запросить данные из МикроМРВ в МРВ таким образом можно. Это работает.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я пока только тем и занимаюсь, что пытаюсь получить данные у контроллера, но все-равно не получается [Неодобрение / Frown] .
Меня также еще заинтересовал тип вызова ChGroupReq, но этот подход у меня также не работает. Я выслал проект на hotline1@adastra.ru.
Он, помимо настроек COM-порта и каналов MODBUS, создержит группу TEST, в которой насроен канал CALL типа ChGroupReq для получения данных с удаленного узла.
Пришлите пожалуйста простенький проект, который наглядно показывает как можно использовать каналы CALL с типами вызовов RemArgument и ChGroupReq на узлах RTM и EmbeddedRTM.

Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Сейчас - высылаю Вам свой проект.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я модифицировал Ваш проект. У Вас неверно было выполнено конфигурирование этой функции - в контроллере необходимо создать канал Call с аргументами, привязанными на его локальные каналы. А в МРВ необходим другой Call с таким же количеством аргументов, у которого настроена привязка на Call из контроллера, и тип вызова RemArgument!
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
DreamWeaver
Forum Haunter / Завсегдатай форума
Участник № / Member № 1485


Icon 1 отправлено / posted      Профиль для / Profile for DreamWeaver           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Я обновил инструменталку и МРВ до версии 6.021 и канал CALL с типом вызова RemArgument заработал. ChGroupReq пока не проверял, но проблема наверное была в версии программы.
Сообщения / Posts 150 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
АдАстра. Техподдержка
Administrator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for АдАстра. Техподдержка           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Понятно. Думаю, что тогда и с ChGroupReq проблем быть не должно, потому как я это уже в 6.02.1 проверил, работает.
Сообщения / Posts 17317 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
   

Quick Reply
Сообщение / Message:

HTML код не разрешен. / HTML is not enabled.
UBB код разрешен. / UBB Code is enabled.

Значки Graemlins / Instant Graemlins
   


Послать новую тему / Post New Topic  Послать ответ / Post A Reply Закрыть тему / Close Topic   Feature Topic   Переместить топик / Move Topic   Удалить топик / Delete Topic Следующая старая тема / next oldest topic   Следующая новая тема / next newest topic
 - Printer-friendly view of this topic
Перейти к / Hop To


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2