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

MicroLogix1500

PLC, прочие контроллеры, промышленные компьютеры, операторские панели
Ответить

Автор темы
Dias
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 03 фев 2011, 08:48
Имя: Карпенко Виталий Викторович
Страна: Россия
город/регион: Екатеринбург

MicroLogix1500

Сообщение Dias »

Добрый день! Столкнулся с такой ситуацией. Контроллер MicroLogix1500 работает в качестве slave-а передаю на Siemens S7-400 данные по Modbus RTU. На сименсе весь модбас написан вручную,читает все нормально без проблем, а при записи битовых значений отправляет "1", но не обнуляет ее, программисты сименса заявляют мне,что они всегда так делают и то что у себя в контроллере я должен ее обнулять. Подскажите плиз кто прав? и каким образом обнулять эти пришедшие "1".

Заранее благодарен!!!

DDmitry
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 31 янв 2011, 11:00
Имя: Двоеглазов Дмитрий Николаевич
Страна: Россия
город/регион: Кирово-Чепецк

Re: MicroLogix1500

Сообщение DDmitry »

Все верно: в ModBus производится передача управляющего сигнала "1" в виде команды установки бита в 1, в "0" не сбрасывают.
Как только бит стал "1" занесите его в промежуточную переменную и с ней дальше работайте, а бит в массиве ModBus обнулите.

Автор темы
Dias
здесь недавно
здесь недавно
Сообщения: 2
Зарегистрирован: 03 фев 2011, 08:48
Имя: Карпенко Виталий Викторович
Страна: Россия
город/регион: Екатеринбург

Re: MicroLogix1500

Сообщение Dias »

Но это же не правильно. Почему я должен за кем то "подтирать"?

DDmitry
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 31 янв 2011, 11:00
Имя: Двоеглазов Дмитрий Николаевич
Страна: Россия
город/регион: Кирово-Чепецк

Re: MicroLogix1500

Сообщение DDmitry »

А вы уверены, что успеете "схватить" и обработать управляющий сигнал до того как посылающая сторона сбросит его обратно в "0". Или вы хотите посылать им подтверждение?!
Подумайте, чем вы недовольны!?
Аватара пользователя

Looker
почётный участник форума
почётный участник форума
Сообщения: 1156
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений Линусович
город/регион: Донецк
Благодарил (а): 343 раза
Поблагодарили: 232 раза

Re: MicroLogix1500

Сообщение Looker »

Сбрасывать или не сбрасывать зависит от назначения этого бита.
Простой пример:
- *_MDB биты приходящие по Modbus,
- что будет, если Dias в контроллере сбросит бит Auto_MDB?
Изображение
_______________________________________________
Узкая специализация в широком смысле этого слова ведет к широкой идиотизации в узком смысле этого слова . (С) Бернард Шоу

DDmitry
здесь недавно
здесь недавно
Сообщения: 17
Зарегистрирован: 31 янв 2011, 11:00
Имя: Двоеглазов Дмитрий Николаевич
Страна: Россия
город/регион: Кирово-Чепецк

Re: MicroLogix1500

Сообщение DDmitry »

DDmitry писал(а): занесите его в промежуточную переменную и с ней дальше работайте,
У вас в логике биты из таблицы ModBus, а не промежуточные переменные.
Ответить

Вернуться в «Средний уровень автоматизации (управляющий)»