Форум 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 / » Запись текста из программы в атрибут "Комментарий"

   
Автор / Author Тема / Topic: Запись текста из программы в атрибут "Комментарий"
Booster
Junior Member / Новичок
Участник № / Member № 6801


Icon 1 отправлено / posted      Профиль для / Profile for Booster           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Пытаюсь из st-программы передать символьную строку в MySQL при помощи атрибута "Комментарий" числового канала.

В программе есть аргумент типа OUT, привязанный к 80 атрибуту числового канала. К этому же атрибуту привязан и аргумент канала Call.SQL. В программе присваиваю этому аргументу нужное значение, далее выполняется SQL-запрос, однако в БД передаётся пустая строка.

Замечу, что при принудительном задании 80 атрибута через панель МРВ строка корректно передаётся в БД. Что я делаю не так?

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


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


Icon 1 отправлено / posted      Профиль для / Profile for Booster           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Сейчас проверил: при передаче в 80 атрибут текста через ГЭ "Текст" с экрана - всё работает, текст передаётся в БД. Почему задать 80 атрибут через ввод с экрана можно, а из программы - нельзя?
Сообщения / Posts 12 | Из / 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 17109 | Из / From: Россия  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Booster
Junior Member / Новичок
Участник № / Member № 6801


Icon 1 отправлено / posted      Профиль для / Profile for Booster           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Создал отдельную программу, которая только присваивает текстовые значения 80 атрибутам разных каналов через выходные аргументы STRING. Результаты получились такие: пока количесвто выходных аргументов SRING не превышает 14, все значения корректно присваиваются этим аргументам. Как только выходных аргументов STRING становится больше 14, ни одному аргументу значение не присваивается. Попробуйте воспроизвести ситуацию.
Сообщения / Posts 12 | Из / 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 
Количество аргументов в программе ограничено:
"Количество аргументов канала вызова программы ограничено; в случае 4-байтовых аргументов – 1024 (т.е. под все аргументы не может быть выделено памяти больше, чем 4k – см. Определение переменных и констант ). " (см."Выполнение программы в реальном времени").
В разделе "Определение переменных и констант" указано:
"STRING (WCHAR*) – 256 символов в кодировке utf-8".
Поэтому количество строковых аргументов в программе ограничено.

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


Icon 1 отправлено / posted      Профиль для / Profile for Booster           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Спасибо за пояснение. А как можно узнать суммарный объём памяти, который занимают аргументы программы? Кроме как сидеть вручную умножать.
Сообщения / Posts 12 | Из / 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 
Кроме аргументов типа STRING и LREAL все остальные аргументы программы занимают в памяти 4 байта.
Т.о., при известном количестве аргументов оценить используемый объем памяти не составляет труда.

Сообщения / Posts 17109 | Из / 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