Просмотр полной версии : Передача битов в контроллер
Создал ветку в контроллере
Modbus(slave)
ModbusTCP
8 bits
8 bits - адрес 0
float - адрес 2
float - адрес 4
2 byte - адрес 6
2 byte - адрес 7
2 byte - адрес 8
2 byte - КАКОЙ ЗДЕСЬ АДРЕС ? 9 ЧТО ЛИ?
Первые 8 адресов считываю без проблем (в адастре), теперь пытаюсь в последние 2 байта записать значения битов (из адастры) с помощью функции W_Byte(15)
Есть 2 вопроса:
1) у последних 2 байтов адрес 9 или 10 ?
2)Правильную ли функцию я выбрал для отправки битов?
krollcbas
19.07.2019, 09:47
Один регистр - это WORD. Тут не байтовая система нумерации Считываете ворды, затем любые манипуляции
Rout_Word(3) или W_Word(16) получается нужно использовать? А адрес то какой будет у последних 2 байтов в моей ветке?
krollcbas
19.07.2019, 10:01
Вы всего не раскрыли, что за ПЛК, куда чего нужно переслать. Вышлите файл, станет ясно как помочь
Функция W_Word(16) подошла, все отлично у последних 2 байтов в ветке действительно адрес=9. Передача битов идет прекрасно.
Это я из TraceMode пересылаю биты в контроллер ПЛК110-220.30.Р-М, чтобы затем включать дискретные выходы на модулях вывода МУ110-224.8Р.
A.Simonov
19.07.2019, 11:15
Создал ветку в контроллере
Modbus(slave)
ModbusTCP
8 bits
8 bits - адрес 0
float - адрес 2
float - адрес 4
2 byte - адрес 6
2 byte - адрес 7
2 byte - адрес 8
2 byte - КАКОЙ ЗДЕСЬ АДРЕС ? 9 ЧТО ЛИ?
Первые 8 адресов считываю без проблем (в адастре), теперь пытаюсь в последние 2 байта записать значения битов (из адастры) с помощью функции W_Byte(15)
Есть 2 вопроса:
1) у последних 2 байтов адрес 9 или 10 ?
2)Правильную ли функцию я выбрал для отправки битов?
Добрый день.
Все подробно описано в руководстве по программированию
https://owen.ru/uploads/139/rp_plk110_m02__16.pdf
Раздел "7.4.2.2.1 Выравнивание адресации" (стр. 105)
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot