вначале разместил свой вопрос здесь
https://owen.ru/forum/showthread.php...EA%E0%ED%E5%F0
а потом заметил, что это ветка по СПК, аналогичных тем по ПЛК210 я не нашел, поэтому создал новую тему здесь
Добрый день, если требуется считывать штрих-код, то там только цифры. В этом случае вопросов нет, все работает отлично. В моем случае я считываю код DataMatrix (система честный знак). Там все интереснее, в первом столбце код при подключении сканера к компьютеру, во втором - то, что получает ПЛК210 при подключении по USB, пример:
0104601025115609215NFZ8»&gEjv%493e9OP -> 0104601025115609215LEFTSHIFTNFZ8LEFTSHIFTAPOSTROPH E7GLEFTSHIFTEJVLEFTSHIFT54F893E9LEFTSHIFTOP
0104601025115609215NNC&?<d1iR5u93mvuY -> 0104601025115609215LEFTSHIFTNNC7SLASHCOMMAD1ILEFTS HIFTR5UF893MVULEFTSHIFTY
0104601025115609215x2=bj-lzUmaV93MOy0 -> 0104601025115609215X2=BJ-LZLEFTSHIFTUMALEFTSHIFTVF893LEFTSHIFTMOY0
0104601025115609215FRg8zHntErZ!93QrDr -> 0104601025115609215LEFTSHIFTFRG8ZLEFTSHIFTHNTLEFTS HIFTERLEFTSHIFTZ1F893LEFTSHIFTQRLEFTSHIFTDR
0104607005815507215ZtX%tLGKl%oe93tlZJ -> 0104607005815507215LEFTSHIFTZTLEFTSHIFTX5TLEFTSHIF TLGKLLEFTSHIFT5OEF893TLLEFTSHIFTZJ
0104601642018543215b!rbxXWFXebv93JkJr -> 0104601642018543215BLEFTSHIFT1RBXLEFTSHIFTXWFXEBVF 893LEFTSHIFTJKLEFTSHIFTJR
01046070058154842159ke2ShccM)c6932T1T -> 01046070058154842159KE2LEFTSHIFTSHCCLEFTSHIFTM0C6F 8932LEFTSHIFTT1LEFTSHIFTT
0104607005815484215F8RQgcvCnMye93Zt7e -> 0104607005815484215LEFTSHIFTF8LEFTSHIFTRQGCVLEFTSH IFTCNLEFTSHIFTMYEF893LEFTSHIFTZT7E
0104607005815484215LnTRU8)X9Iux93wwLD -> 0104607005815484215LEFTSHIFTLNLEFTSHIFTTRU8LEFTSHI FT0X9LEFTSHIFTIUXF893WWLEFTSHIFTLD
0104607005815484215T7Bn»VuTVmsr93NR3k -> 0104607005815484215LEFTSHIFTT7LEFTSHIFTBNLEFTSHIFT APOSTROPHEVULEFTSHIFTTVMSRF893LEFTSHIFTNR3K
0104607005815484215kaay.iigKLZd93SBVG -> 0104607005815484215KAAYDOTIIGLEFTSHIFTKLZDF893LEFT SHIFTSBVG
на первый взгляд, все достаточно логично: LEFTSHIFTS - это большая S. Но, например SBVG = LEFTSHIFTSBVG. Вроде бы логично: нажали shift и кнопки - получили символы в верхнем регистре. Но теперь здесь: TVmsr93 = LEFTSHIFTTVMSRF893. Как узнать, что нажали shift, нажали кнопку Т, нажали V, отпустили shift, нажали m, нажали r. Как понять на сколько следом идущих символов распространяется LEFTSHIFT?
Насколько я понимаю, при подключении к компьютеру ответ от сканера обрабатывается операционной системой и производится преобразование спецсимволов и служебных слов в ответе сканера к требуемому виду. В случае с контроллером ответ от сканера получается, условно говоря, в "чистом виде" без обработки драйверами операционной системы.
Сталкивался ли кто с такой проблемой и есть ли информация об алгоритмах "раскодировки" ответов сканера?


Ответить с цитированием
