2016-06-23 2 views
0

Я программирую ПЛК Click с приложением C# с NModbus4. (RS232)NModbus4 прочитал TXT от PLC

Теперь я пытаюсь читать и записывать данные TXT.

Это код и результат: enter image description here

Когда я проверяю Нажмите программное обеспечение PLC я могу видеть, что для каждого два символов используется один адрес Modbus.

enter image description here

Как я могу получить текст, сохраненный в контроллере? Кто-то понял?
Текст, сохраненный в ПЛК, является «Dit is tekst»

+0

Что такое текст, хранящийся в ПЛК, начиная с адреса 436865? – Ronaldo

ответ

0

Регистр Modbus имеет ширину 16 бит, поэтому он может хранить два символа. Вот почему каждый из двух символов имеет один и тот же адрес.

Сказанное: вы должны сделать вывод о том, как использовать байтовый порядок: как два символа, занесенные в регистр? Какой из них идет на самый значительный байт?

Возьмите текст примера, он имеет 12 символов, поэтому достаточно чтения 6 регистров (436865-436870). На вашем отладочном изображении адрес 436865 сохраняет значение 26948, 0x6944 при преобразовании в шестнадцатеричный. Найдите таблицу ASCII и найдите коды 0x69 и 0x44. Это коды для символов «i» и «D». Текст в ПЛК начинается с «Di». Мы можем заключить, что для каждой пары символов, хранящихся в регистре, второй символ помещается в самый старший байт.

Затем вы можете получить текст из ПЛК путем замены байтов в каждом регистре и преобразования в символ с использованием таблицы ASCII.

+0

Удивительный! Благодаря! Я не мог понять это! –

Смежные вопросы