 | |
Предыдущие результаты
Доброе утро всем!
Может, немного не в тему, но мы на Дельфях делали ввод/вывод на форму стринги, в том числе и кириллицу. Тип данных в каонтроллере - String. L32E, RSLogix5000 v.15, RSLinxPro 2.5. Без проблем.
|
Странно все, увидеть бы живьем...
У меня все работает, RSView32 пишет и читает, аналогично и для RSView SE.
RSI OPC Test показывает только понятные ему символы, т.е. до кода 127. Но русский текст при этом записывает и RSView32 правильно отображает.
Условия моей проверки:
- SoftLogix5860 ver. 13.26
- RSView32 ver. 7.20
- RSView SE ver. 3.20
- RSLinx ver. 2.50
Вспоминая старое - обмен по OPC между RSView32 - русские символы были корявые, но RSView32 были ver. 6.30.16 и 6.30.17.
|
И еще, в качестве дополнения:
OPC Scout от Simatic Net видит русские буквы в значении строковой переменной только в случае того, если записано оно с помощью самого OPC Scout. OPC Scout похоже работает с 16-ти ричными кодами символов.
Если попытаться записать значение строковой переменной из RSView32, то оно преобразуется не понятно по какому алгоритму и Scout это значение уже не воспринимает.
Если же вручную записать в RSLogix5000 ASCII коды русских символов в 16-ти ричной кодировке, то Scout их обновляет, а все остальные нет.
Vitaliy D. Burtsev
|
В качестве полигона используется следующий набор:
1. Процессор Logix5561
2. Пакет RSLogix5000, создан тег типа STRING
3. С помощью клиентов OPC Test Cliet (RSLinx Tools) или OPC Scout (Simatic Net) или RSView32 пытаюсь занести в строку значение.
4. Проверяю результат в RSView32.
Русскую строку удается увидеть только в OPC Scout.
В Monitor Tags самого RSLogix5000 вижу, что значения символов в шестнадцатеричном коде соответсвуют мною введенным, однако никто из клиентов Rockwell их не видит.
С уважением,
Vitaliy D. Burtsev
|
[color=blue:4d61eea260]Можно. И никаких "Васиков" не надо.
Описываешь в RSLogix 5K тег как String, например имя "Text"
В RSView32 в поле Adress также пишешь "Text", тип данных String.
Не используй "Text.data[*]".[/color:4d61eea260]
Именно так и делал с самого начала.
Не работает.
С уважением,
Vitaliy D. Burtsev
|
[quote:48d8f9f4f7="Mr_Wasp"]Спасибо, конечно, за ответы, но я так и не понял: можно ли как-нибудь записать в ControlLogix именно РУССКУЮ строку, а затем ее прочитать?
Skip
[/quote:48d8f9f4f7]
Можно. И никаких "Васиков" не надо.
Описываешь в RSLogix 5K тег как String, например имя "Text"
В RSView32 в поле Adress также пишешь "Text", тип данных String.
Не используй "Text.data[*]".
|
Спасибо, конечно, за ответы, но я так и не понял: можно ли как-нибудь записать в ControlLogix именно РУССКУЮ строку, а затем ее прочитать?
Я знаю, что коды русских букв выходят за пределы стандартной ASCII таблицы и имеют значение большее 127 (десятичное), даже более того: если создать самому массив INTов и попытаться записать в него русские символы, то коды символов правильно раскладываются в шестнадцетиричном коде. Однако никто не может их считать: ни RSView32, ни OPCTestClient (RSLinx Tools), ни другие клиенты.
Неужели придется этот массив на ВАСИКе разбирать? Типа загружаем нулевой элемент массива: старший байт преобразуем, записываем в первый символ строки, младший байт преобразуем - записываем во второй символ строки; затем берем следующий INT и т.д. Честно говоря, по ощущениям выглядит не очень...
Vitaliy D. Burtsev
|
Добрый день!
RSView32 отлично пишет и читает String в SoftLogix на русском языке.
За исключением того-что в RSLogix 5000 не прочитать текст, т.к. приведены коды.
|
Здравствуйте, коллеги!
Никто не сталкивался с проблемой записи в строковые теги ControlLogix и чтения из них строк на русском языке? Есть такая необходимость, чтобы одно приложение по OPC записало в контроллер строку на русском языке, другое - прочитало.
Я так понимаю, что стандартный тип String в Logix не катит по причине того, что каждый символ в строке имеет тип ShortInt (SINT). Но есть якобы вариант с использованием массива INTов, к которым нужно лишь своеобразно обратиться: например, из RSView32 указать примерно следующее [LINX_TOPIC]int_str[0],SCxx. В этом случае получается забрать символы в латинской кодировке (опять с кодом от 0 до 127 десятичн.), но с кодом от 128 до 255 никак, точнее они отображаются не по-русски в любом случае.
Если есть решение, то буду рад за помощь.
С уважением,
Vitaliy D. Burtsev
|
Я делал управление газотурбинными компрессорами ГТТ-3М на агрегатах производства азотной кислоты серии УКЛ. ControlLogix отлично справился с поставленной задачей. Для реализации ППЗ нужно было раскошелиться на достойные клапана - руководство зажало... И вообще нужен был толковый технолог, который рассказал толково собственно алгоритм защиты, а со стороны АВ - проблем -никаких.
|
Предыдущие результаты
Ещё результаты |
|
| |
|