Приветствую всех. Нужна помощь новичку в понимании работы функции (процедуры) Read_Var, реализованной в Unity Pro.
Задача: Прочитать с подчинённого устройства 10 coils при помощи функции Read_Var.
PLC - BMXP342020, среда разработки Unity Pro.
Как итог, я получаю не то, что должен или то, что должен, но не то, что хотел. Заведомо известны значения двух последних Coils, они в 1-це.
Объясните новичку, где я допускаю ошибку.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Help Read_Var M340 Coils
Модератор: Специалисты SE
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 04 окт 2018, 10:55
- Имя: Ретард
- Страна: Россия
- город/регион: Ворсма
-
- почётный участник форума
- Сообщения: 1746
- Зарегистрирован: 18 янв 2009, 12:25
- Имя: Дмитрий
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 6 раз
- Поблагодарили: 143 раза
Help Read_Var M340 Coils
ModbusReadParameters5[3]==2 говорит о том, что прочиталось всего 2 байта. Что в принципе правильно, так как вы читаете только 10 бит.
Попробуйте:
0-NUM
16-NB
RECP-InputFromDevice5[0]
Попробуйте:
0-NUM
16-NB
RECP-InputFromDevice5[0]
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой
-
- завсегдатай
- Сообщения: 577
- Зарегистрирован: 02 дек 2015, 06:57
- Имя: Огородников Сергей
- Страна: РФ
- Благодарил (а): 120 раз
- Поблагодарили: 103 раза
Help Read_Var M340 Coils
1. Какой всё-таки получается код ошибки?
2. В хелпе в разделе READ_VAR приведён пример чтения внутренних битов.
3. Девятый бит действительно установлен. Если адресация в приборе с нуля - попробуйте совет Дмитрия и начните с нуля.
2. В хелпе в разделе READ_VAR приведён пример чтения внутренних битов.
3. Девятый бит действительно установлен. Если адресация в приборе с нуля - попробуйте совет Дмитрия и начните с нуля.
СВ
-
- здесь недавно
- Сообщения: 5
- Зарегистрирован: 04 окт 2018, 10:55
- Имя: Ретард
- Страна: Россия
- город/регион: Ворсма
Help Read_Var M340 Coils
Парни, кажется я разобрался. Дело в том, что M340 пакует все 10 Coils, которые я пытался считать как 10 регистров, в 1 регистр. Получается, что у меня в 2-х байтах записаны состояние всех 10 Coils. Значит эти 2 соседних байта можно перевести в Word (INT_TO_WORD), а его разбить на биты (WORD_TO_BIT), что я собственно и сделал. И получил то, что хотел.