Форум 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 » Строки в программе

   
Автор / Author Тема / Topic: Строки в программе
Андрей Мельников
Active Forum Member / Активный участник форума
Участник № / Member № 3046


Icon 1 отправлено / posted      Профиль для / Profile for Андрей Мельников           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Существует ли ограничение на количество переменных описанных в программе как STRING?
Если в программе больше 14 переменных string, то программа переходит в состояние Off и не выходит из него.

Сообщения / Posts 72 | Из / 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 
Есть ограничение в 4 КБ, выделяемых под аргументы программы. Т.к. под аргумент типа String выделяется 256 байт, то всего их может быть максимум 14-15.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


Icon 1 отправлено / posted      Профиль для / Profile for Baikal_E           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
В сегодняшних реалиях 14-15 "стрингов" для одной программы уже не хватает порой. Если есть возможность, увеличьте хотя бы до 25 в будущих релизах.
Сообщения / Posts 127 | Из / 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 
Увеличение не планируется. Для каких целей Вам нужно 25 строковых аргументов?
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


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

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


Icon 1 отправлено / posted      Профиль для / Profile for gip1           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Есть необходимость наложить пароль на вызов экрана. Для обслуживания процедур разрабатываю программу на ST, однако возникают трудности со сравнением строковых переменных: оператор "==" не действует, для работы со строками в справке ничего нет. Возможно ли программно сравнивать строки, как это сделать, существуют ли специальные готовые средства для работы с паролями?
Сообщения / Posts 6 | Из / From: Российская Федерация  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Romсheg
unregistered



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Со строками вообще-то должно работать и сложение и сравнение, так что - это ошибка ТМ. Сейчас тоже проверил - действительно не работает.

А вот для паролей ничего нет, мы в своих проектах для этого разрабатывали собственное решение в виде DLL и подключали к ТМ.

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 
Операции со строками, кроме конкатенации, в Trace Mode 6 не декларированы.

Почему не удовлетворяет система доступа к экранам, заложенная в правах ПОЛЬЗОВАТЕЛЯ?
Почему нельзя воспользоваться числовым паролем?

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



Icon 1 отправлено / posted            Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
2AdAstra Technical Support:
А вот и неправда ваша - декларируете: в ТМ6 декларируется поддержка стандарта МЭК при разработке алгоритмов! [Пдмигивание / Wink] Нужно придерживаться стандарта, где это декларировано. А то получается не стандарт вовсе. Кстати, в МЭК по части работы со строковыми типами данных довольно много чего декларировано, что в ТМ6 не поддерживается вообще. Например: страница 204 - "стандартные функции", среди которых LEN, LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, FIND - все работают с типом данных STRING. Назначение расшифровывать не буду, из названий понятно.
Очень часто приходится со строками работать в проектах, а тут мало того, что атрибуты каналов строковые накладывают ограничения на размер, так еще и в математике никак не обработаешь. [Неодобрение / Frown]

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 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


Icon 5 отправлено / posted      Профиль для / Profile for Baikal_E           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
quote:
Отправитель / Originally posted by AdAstra Technical Support:
Куда Вы собираетесь выводить сообщение?

Если на экран, то лучше воспользоваться каналом Call.String.

Здравствуйте. Скажите, пожалуйста, в каком релизе появился канал Call.String ?
Сообщения / Posts 127 | Из / 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 
В релизе 6.06.2.
Сообщения / Posts 15120 | Из / From: Russia  |  IP / IP: IP адрес / IP address | Report this post to a Moderator
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135


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


Icon 1 отправлено / posted      Профиль для / Profile for Баранов Вячеслав           Редактировать/удалить сообщение / Edit/Delete Post   Вставить в ответ текст исходного сообщения  / Reply With Quote 
Здравствуйте. У меня при использовании в программе уже третьей переменной типа string начались проблемы. В строку записывал сформированное значение часов (h)и минут (m), привязывал полученное значение к атрибуту 80 канала и выводил на экран.
time1:=h1+" ч "+m1+" мин.";
time2:=h2+" ч "+m2+" мин.";
time3:=h3+" ч "+m3+" мин.";
Первые два значения вычисляются и записываются без проблем, а вот третье - вместо минут на экран выводится знак "?". Пришлось разбивать программу на несколько частей, чтобы вывести все необходимые строковые переменные. Так и должно быть или я что-то не так делаю?

Сообщения / Posts 22 | Из / 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 
Проблемы в конкатенации действительно существуют, и в настоящее время устранить их не представляется возможным.

Несмотря на то, что входные переменные получаются от целочисленных атрибутов, конкретно в Вашем примере достаточно объявить тип данных числовых аргументов REAL.

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


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