1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Help Read_Var M340 Coils

Unity Pro (Control Expert), Quantum, Premium, M340, M580, Hybrid DCS, Process Expert, Zelio, Twido, M17*, M2**, SCADAPACK, SoMachine, MachineExpert, ZelioSoft, TwidoSoft, TwidoSuite, TelePace

Модератор: Специалисты SE

Ответить

Автор темы
Retard
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 04 окт 2018, 10:55
Имя: Ретард
Страна: Россия
город/регион: Ворсма

Help Read_Var M340 Coils

Сообщение Retard »

Приветствую всех. Нужна помощь новичку в понимании работы функции (процедуры) Read_Var, реализованной в Unity Pro.
Задача: Прочитать с подчинённого устройства 10 coils при помощи функции Read_Var.
PLC - BMXP342020, среда разработки Unity Pro.
Как итог, я получаю не то, что должен или то, что должен, но не то, что хотел. Заведомо известны значения двух последних Coils, они в 1-це.
Объясните новичку, где я допускаю ошибку. :ges_help:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1746
Зарегистрирован: 18 янв 2009, 12:25
Имя: Дмитрий
Страна: Россия
город/регион: Москва
Благодарил (а): 6 раз
Поблагодарили: 132 раза

Help Read_Var M340 Coils

Сообщение hell_boy »

ModbusReadParameters5[3]==2 говорит о том, что прочиталось всего 2 байта. Что в принципе правильно, так как вы читаете только 10 бит.
Попробуйте:
0-NUM
16-NB
RECP-InputFromDevice5[0]
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой

ogorsv
завсегдатай
завсегдатай
Сообщения: 567
Зарегистрирован: 02 дек 2015, 06:57
Имя: Огородников Сергей
Страна: РФ
Благодарил (а): 110 раз
Поблагодарили: 101 раз

Help Read_Var M340 Coils

Сообщение ogorsv »

1. Какой всё-таки получается код ошибки?
2. В хелпе в разделе READ_VAR приведён пример чтения внутренних битов.
3. Девятый бит действительно установлен. Если адресация в приборе с нуля - попробуйте совет Дмитрия и начните с нуля.
СВ

Автор темы
Retard
здесь недавно
здесь недавно
Сообщения: 5
Зарегистрирован: 04 окт 2018, 10:55
Имя: Ретард
Страна: Россия
город/регион: Ворсма

Help Read_Var M340 Coils

Сообщение Retard »

Парни, кажется я разобрался. Дело в том, что M340 пакует все 10 Coils, которые я пытался считать как 10 регистров, в 1 регистр. Получается, что у меня в 2-х байтах записаны состояние всех 10 Coils. Значит эти 2 соседних байта можно перевести в Word (INT_TO_WORD), а его разбить на биты (WORD_TO_BIT), что я собственно и сделал. И получил то, что хотел.
Ответить

Вернуться в «ПЛК»