Форум 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 » Общие вопросы / Common questions » Вывод текста (строки)

   
Автор / Author Тема / Topic: Вывод текста (строки)
RomanUI
Junior Member / Новичок
Участник № / Member № 4022


Icon 1 отправлено / posted      Профиль для / Profile for RomanUI           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Ситуация такая: нужно вывести на экран значение текстового поля базы данных (от 0 до 255 символов). В запросе создал аргумент типа "string" и привязал его к ГЭ "Текст". Выводится максимум первые 4 символа.

Каким образом можно вывести полную строку?

Сообщения / Posts 24 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Не привязанный к атрибуту канал аргумент типа STRING в ТМ6 имеет максимальный размер 4 символа. Передавайте строку через комментарий любого канала. Правда атрибут "Комментарий" максимум 39 символов. Длиннее нет. Тут уже обсуждалась тема на днях по отображению длинных строк - смотрите последние темы по форуму: http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/31/t/000761.html

[ 23.08.2011, 10:19: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

IP / IP: IP адрес / IP address | Report this post to a Moderator
Данила
Junior Member / Новичок
Участник № / Member № 5356


Icon 1 отправлено / posted      Профиль для / Profile for Данила           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Делаю по справке "Запись длинных строк".

Длинные (до 64 байт) строки могут быть записаны в аргументы каналов CALL.STRING, ... Аргументы не должны иметь привязок и иметь тип данных STRING.

для отображения значения аргумента с помощью ГЭ Текст нужно к аргументу экрана (тип данных должен быть STRING) привязать атрибут 1,A канала и задать формат Generic.

Создал канал Call два аргумента в нем типа стринг, в поле значение по умолчанию 'сообщение1', 'сообщение2' во втором.
ГЭ текст привязал к аргументу экрану типа стринг привязанный к аппаратному значению CALL, маняю реальноре значение CALL, выдает 4 первых символа.

Справка
"При связи аргументов STRING каналов CALL можно передать не более четырех символов, если ни один из этих аргументов не привязан к строковому атрибуту произвольного канала."

Привязываю аргументы канала CALL к созданному еще одному каналу CALL2 комментарию канала.

В таком случае вообще не выводит сообщение.

Где я что не сделал или что перепутал? Подскажите пожалуста.

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


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Канал CALL.string сохраняет значения аргументов и считывает их при старте узла из файла (имя файла совпадает с именем канала).

[ 22.08.2011, 11:48: Сообщение отредактировал / Message edited by AdAstra Technical Support ]

Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Реализовывать нужно первым способом. Если после старта МРВ ввести новые значения аргументов в канал CALL.STRING, то они должны отобразиться на экране.

Чтобы при старте МРВ в ГЭ "Текст" отображалось более 4-х символов, можно создать текстовый файл с именем, совпадающим с именем канала CALL.STRING и в нем задать значения, которые будут отображаться при старте узла (смотрите раздел справочной системы "Запись длинных строк").

Сообщения / Posts 15118 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Данила
Junior Member / Новичок
Участник № / Member № 5356


Icon 1 отправлено / posted      Профиль для / Profile for Данила           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, при старте МРВ, вводе новых значений все работает.
Сообщения / Posts 14 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Данила
Junior Member / Новичок
Участник № / Member № 5356


Icon 1 отправлено / posted      Профиль для / Profile for Данила           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
возникла проблема при добавлении в программу двух каналов CALL.String по 10 аргументов в каждом. В программе используется вызов пользовательского блока FBD в котором как раз происходит вывод значений в аргументы каналов Call.String. При запуске профайлера программа выключается, состояние программы "1", она сразу выключена. Есть какое то ограничение на использование Call.String в программе?
Сообщения / Posts 14 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Данила
Junior Member / Новичок
Участник № / Member № 5356


Icon 1 отправлено / posted      Профиль для / Profile for Данила           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Тип аргументов CALL.STRING в программе OUT в канале In/Out. Сделал аргументы в программе In/Out как в канале, все равно программа выключается, пробовал установить состояние в "0", сбрасывает в "1".
Сообщения / Posts 14 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
под все аргументы не может быть выделено памяти больше, чем 4k в Windows
STRING (WCHAR*) – 256
в tm6log сообщение <имя программы> 0 32 3

Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Данила
Junior Member / Новичок
Участник № / Member № 5356


Icon 1 отправлено / posted      Профиль для / Profile for Данила           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Какой может быть тогда выход, писать две программы?
Сообщения / Posts 14 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Nico
Forum Professor / Завсегдатай форума
Участник № / Member № 5342


Icon 1 отправлено / posted      Профиль для / Profile for Nico           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Например разбить на 10 программ
Сообщения / Posts 554 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Подскажите, пожалуйста. Необходимо выводить на экран рецепт из 30 компонентов. Создана таблица из ГЭ "Текст". По примерам, для вывода длинных строк
аргументы БД типа string привязаны к атрибуту "комментарий". При запросе по номеру строки таблицы
во все 30 ГЭ "Текст" выводится значение последнего столбца. Что я делаю неправильно?

Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Для этого надо использовать ГЭ "База данных" из группы "Таблицы".
Сообщения / Posts 15118 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо, но по ТЗ заказчика напротив каждого компонента рецепта создан ГЭ Текст в который вводиться вес этого компонента. Поэтому ГЭ "База данных" не подходит. Кроме того если убрать привязку аргументов к атрибуту "комментарий" то данные выводятся правильно но не более 4 символов.
Как вывести из БД значение текстового поля нескольских столбцов, каждое в свой ГЭ "Текст" более 4 символов?

Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Все аргументы STRING SQL-запроса должны быть привязаны к атрибутам КОММЕНТАРИЙ разных каналов.
Сообщения / Posts 15118 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Правильно ли я понимаю? Нужно создать 30 каналов БД и в каждой запрос на свой аргумент привязанный к "коментарию".
Сообщения / Posts 49 | Из / From: РФ  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
AdAstra Technical Support
Moderator
Участник № / Member № 4


Icon 1 отправлено / posted      Профиль для / Profile for AdAstra Technical Support           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Нет.
SQL-запрос должен быть 1.
STRING-аргументы могут быть привязаны к атрибутам КОММЕНТАРИЙ любых каналов.

Сообщения / Posts 15118 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Алексей Шелепов
Forum Member / Участник форума
Участник № / Member № 6361


Icon 1 отправлено / posted      Профиль для / Profile for Алексей Шелепов           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо. Все получилось.
Сообщения / Posts 49 | Из / 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

Rambler's Top100 Rambler's Top100



Powered by Infopop Corporation
UBB.classic™ 6.7.2