EasyBuilder - Скорая помощь новичкам

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Re: EasyBuilder - Скорая помощь новичкам

Сообщение AlexA » 04 июл 2022, 13:03

Добрый день.

На модели cM-FHDX-220 делаю таблицу, ячейка которой являются ASCII объекты получаемые с ПЛК ET200SP CPU (формат string) по OPC UA.
Дешифрование выбран Юникод, эксперементальным путем. Текст выводится, но после каждого символа в строке добавляется пробел (предпоследний столбец).

Изображение

Со словом деталь таких проблем нет, т.к. сделано через список.

При этом на окне выбора типа IEK- 61131 строковый я выбираю один символ

Изображение

Если же выбирать два символа выводятся иероглифы

Изображение

Также прикладываю окно настройки элемента на экране и в ПЛК

Изображение
Изображение

Также пробовал в ПЛК использовать формат Wstring. Результат был тем-же.
AlexA
 
Сообщения: 4
Зарегистрирован: 04 июл 2022, 10:31

Re: EasyBuilder - Скорая помощь новичкам

Сообщение Nitc » 04 июл 2022, 14:34

Точней нужно быть.

Я:
Ещё раз: в проекте без макроса я наблюдаю точно такую же проблему
:D

спасибо, надеюсь заработает!
Nitc
 
Сообщения: 11
Зарегистрирован: 05 май 2022, 12:45

Re: EasyBuilder - Скорая помощь новичкам

Сообщение ArtemPM » 04 июл 2022, 15:48

AlexA писал(а):Изображение

Есть подозрение, что в ПЛК у вас данные тоже хранятся с пробелами.
Откуда осуществляется запись этих данных в ПЛК? Если из вашей FHDX то может быть стоит попробовать и запись и чтение перевести в формат ASCII? Русских же букв я полагаю там нет, только цифры?
Можно еще попробовать чтение "два символа" и дешифровку ASCII, вместо Юникод
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder - Скорая помощь новичкам

Сообщение AlexA » 04 июл 2022, 16:15

ArtemPM писал(а):Есть подозрение, что в ПЛК у вас данные тоже хранятся с пробелами.
Откуда осуществляется запись этих данных в ПЛК?


Данные в ПЛК записываются с этой же панели в int, после чего преобразуются int_to_string. Проблема в том, что стандартные инструменты для OPC UA от Siemens или OPC Expert выводят эти символы без пробелов.
Пробовал также вводить символы с самой панели без пробелов, после сохранения т.е. записи в ПЛК и чтения последующими циклами, пробелы появляются.
AlexA
 
Сообщения: 4
Зарегистрирован: 04 июл 2022, 10:31

Re: EasyBuilder - Скорая помощь новичкам

Сообщение ArtemPM » 05 июл 2022, 03:31

AlexA писал(а):Данные в ПЛК записываются с этой же панели в int, после чего преобразуются int_to_string.

А зачем вообще так делать? Странно. Ну ладно.
Ответьте на вопрос. Что будет если выбрать "два символа в слове" и дешифровку ASCII?
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder - Скорая помощь новичкам

Сообщение AlexA » 05 июл 2022, 08:12

ArtemPM писал(а):Ответьте на вопрос. Что будет если выбрать "два символа в слове" и дешифровку ASCII?


Вот пример одной из таблицы. Данные для нее могут формироваться как с панели(добавление новой строки) так и с ПЛК, некоторые столбца как например среднее время нужны исключительно для оператора, и сразу записываются в виде строки, данные, которые используются в программе записываются в int. Я работаю с панелями Weintek впервые и не нашел более простого для себя способа. Например в Codesys есть уже готовые таблицы, которые генерируются из массивов, у самого сименса не возникает проблем с передачей на свою HMI или SCADA систему. Если существует более удобный способы создания подобных примеров, буду очень благодарен за такую информацию.

Изображение

Я немного не понимаю с двумя символами, если вы имеете в виду при выборе в окне Выберите тип IEK-61131 строковый, то при выборе 2-х символов, в той же строке, я получаю такой результат:

Изображение

Если говорится про следующее окно, то я не совсем понимаю что нужно выбрать

Изображение
AlexA
 
Сообщения: 4
Зарегистрирован: 04 июл 2022, 10:31

Re: EasyBuilder - Скорая помощь новичкам

Сообщение ArtemPM » 05 июл 2022, 09:01

AlexA писал(а):Я немного не понимаю с двумя символами, если вы имеете в виду при выборе в окне Выберите тип IEK-61131 строковый, то при выборе 2-х символов, в той же строке, я получаю такой результат:
Если говорится про следующее окно, то я не совсем понимаю что нужно выбрать

Изображение

Тип IEK-61131 выберите два символа
В последнем окне выберите UTF-8.
В Юникод символ кодируется 16-ю битами, одно слово - один символ. Поэтому и нужен дополнительный 00. Для UTF-8 буквы кодируются в ASCII и каждая буква занимает 8 бит, в этом случае в одно слово помещается два символа.
UTF-8 не будет воспринимать русскую кодировку, но с цифрами всё должно быть нормально.
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder - Скорая помощь новичкам

Сообщение AlexandrGr » 05 июл 2022, 12:57

UTF-8 должен понимать русскую кодировку.
AlexandrGr
 
Сообщения: 57
Зарегистрирован: 26 июл 2021, 12:16

Re: EasyBuilder - Скорая помощь новичкам

Сообщение ArtemPM » 05 июл 2022, 13:43

AlexandrGr писал(а):UTF-8 должен понимать русскую кодировку.

Да, если загружена кодировка CP-1251, в чем я очень сомневаюсь. Скорей всего будут выводится какие-нибудь иероглифы. Нужно проверять и желательно не на симуляторе, а на реальной панели.
Те же имена пользователей в настройках безопасности не поддерживают кириллицу, а они хранятся именно в UTF-8
ArtemPM
 
Сообщения: 197
Зарегистрирован: 14 апр 2021, 05:16

Re: EasyBuilder - Скорая помощь новичкам

Сообщение AlexandrGr » 05 июл 2022, 14:39

CP-1251 и UTF-8 это разные кодировки. Кириллица в UTF-8 занимает 2 байта на символ.
AlexandrGr
 
Сообщения: 57
Зарегистрирован: 26 июл 2021, 12:16

Пред.След.

Вернуться в Weintek

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5