 | |
Предыдущие результаты
[color=blue:3b0ea881a3]Может, немного не в тему, но мы на Дельфях делали ввод/вывод на форму стринги, в том числе и кириллицу. Тип данных в каонтроллере - String. L32E, RSLogix5000 v.15, RSLinxPro 2.5. Без проблем.[/color:3b0ea881a3]
У меня такое подозрение, что некорректно работает RSView32 v.7.00. Она не только не умеет прочитать записанные в ControlLogix строковые теги, но и пишет их туда неправильно. RSLinx у меня версии 2.42.
Если использовать практически любого другого OPC клиента к RSLinx, то получается и записать, и прочитать. Строка кладется с нормальными 16-ти ричными кодами русских символов и без проблем считывается в этот же клиент. А нужно именно использовать в качестве клиента RSView32.
С уважением,
Vitaliy D. Burtsev
|
Доброе утро всем!
Может, немного не в тему, но мы на Дельфях делали ввод/вывод на форму стринги, в том числе и кириллицу. Тип данных в каонтроллере - String. L32E, RSLogix5000 v.15, RSLinxPro 2.5. Без проблем.
|
У меня RSView32 ver 7.00 упорно не хочет отображать русские строки и пишет их тоже в контроллер непонятно. При попадании в PLC они преобразовываются к символам с кодом от 0 до 127. С другими клиентами такого не происходит: после записи из RSI - OPC Test Client или SimaticNet OPC Scout записываются в PLC символы, в десятичном виде представляющие собой значения дополнительного кода до полного байта: т.е. код русского символа - 256 = отрицательное число (которое записано и отображается в PLC).
С уважением,
Vitaliy D. Burtsev
|
Уточнение
[quote:a3a9d3958c="dv_"]Странно все, увидеть бы живьем...
RSI OPC Test показывает только понятные ему символы, т.е. до кода 127. [/quote:a3a9d3958c]
Показывает понятные ему коды (до 127) до первого в старшей части,
т.е. если первый символ будет из старшей части, тогда строка как-бы пустая.
|
Странно все, увидеть бы живьем...
У меня все работает, 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.
|
В качестве полигона используется следующий набор:
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 не прочитать текст, т.к. приведены коды.
|
Предыдущие результаты
Ещё результаты |
|
| |
|