Андрей Мельников
Active Forum Member / Активный участник форума
Участник № / Member № 3046
отправлено / posted
Существует ли ограничение на количество переменных описанных в программе как STRING? Если в программе больше 14 переменных string, то программа переходит в состояние Off и не выходит из него.
Сообщения / Posts 72 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Есть ограничение в 4 КБ, выделяемых под аргументы программы. Т.к. под аргумент типа String выделяется 256 байт, то всего их может быть максимум 14-15.
Сообщения / Posts 17336 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135
отправлено / posted
В сегодняшних реалиях 14-15 "стрингов" для одной программы уже не хватает порой. Если есть возможность, увеличьте хотя бы до 25 в будущих релизах.
Сообщения / Posts 127 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Увеличение не планируется. Для каких целей Вам нужно 25 строковых аргументов?
Сообщения / Posts 17336 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Baikal_E
Forum Haunter / Завсегдатай форума
Участник № / Member № 4135
gip1
Junior Member / Новичок
Участник № / Member № 3875
отправлено / posted
Есть необходимость наложить пароль на вызов экрана. Для обслуживания процедур разрабатываю программу на ST, однако возникают трудности со сравнением строковых переменных: оператор "==" не действует, для работы со строками в справке ничего нет. Возможно ли программно сравнивать строки, как это сделать, существуют ли специальные готовые средства для работы с паролями?
Сообщения / Posts 6 | Из / From: Российская Федерация
| IP / IP: IP адрес / IP address |
Romсheg
unregistered
отправлено / posted
Со строками вообще-то должно работать и сложение и сравнение, так что - это ошибка ТМ. Сейчас тоже проверил - действительно не работает.
А вот для паролей ничего нет, мы в своих проектах для этого разрабатывали собственное решение в виде DLL и подключали к ТМ.
IP / IP: IP адрес / IP address |
отправлено / posted
Операции со строками, кроме конкатенации, в Trace Mode 6 не декларированы.
Почему не удовлетворяет система доступа к экранам, заложенная в правах ПОЛЬЗОВАТЕЛЯ? Почему нельзя воспользоваться числовым паролем?
Сообщения / Posts 17336 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Romсheg
unregistered
отправлено / posted
2AdAstra Technical Support: А вот и неправда ваша - декларируете: в ТМ6 декларируется поддержка стандарта МЭК при разработке алгоритмов! Нужно придерживаться стандарта, где это декларировано. А то получается не стандарт вовсе. Кстати, в МЭК по части работы со строковыми типами данных довольно много чего декларировано, что в ТМ6 не поддерживается вообще. Например: страница 204 - "стандартные функции", среди которых LEN, LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, FIND - все работают с типом данных STRING. Назначение расшифровывать не буду, из названий понятно. Очень часто приходится со строками работать в проектах, а тут мало того, что атрибуты каналов строковые накладывают ограничения на размер, так еще и в математике никак не обработаешь.
IP / IP: IP адрес / IP address |
Баранов Вячеслав
Junior Member / Новичок
Участник № / Member № 6904
отправлено / posted
Здравствуйте. У меня при использовании в программе уже третьей переменной типа string начались проблемы. В строку записывал сформированное значение часов (h)и минут (m), привязывал полученное значение к атрибуту 80 канала и выводил на экран. time1:=h1+" ч "+m1+" мин."; time2:=h2+" ч "+m2+" мин."; time3:=h3+" ч "+m3+" мин."; Первые два значения вычисляются и записываются без проблем, а вот третье - вместо минут на экран выводится знак "?". Пришлось разбивать программу на несколько частей, чтобы вывести все необходимые строковые переменные. Так и должно быть или я что-то не так делаю?
Сообщения / Posts 24 | Из / From: РФ
| IP / IP: IP адрес / IP address |
отправлено / posted
Проблемы в конкатенации действительно существуют, и в настоящее время устранить их не представляется возможным.
Несмотря на то, что входные переменные получаются от целочисленных атрибутов, конкретно в Вашем примере достаточно объявить тип данных числовых аргументов REAL.
Сообщения / Posts 17336 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Баранов Вячеслав
Junior Member / Новичок
Участник № / Member № 6904