-----
18.11.2017 форум перенесён на другой хостинг. О замеченых глюках просьба сообщать администраторам.
-----
На форуме обязательно:
  1. Заполнить свой профиль на Русском языке. См. Правила, п.2.d.
  2. Не писать свой вопрос в первую попавшуюся тему, а вместо этого создать свою. См. Правила, п.3.a.
Рекламу на своём форуме мы не размещаем ни на каких условиях.

MicroLogix1500

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

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

MicroLogix1500

Сообщение Dias » 03 фев 2011, 09:05

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

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


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

Re: MicroLogix1500

Сообщение DDmitry » 07 фев 2011, 10:48

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


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

Re: MicroLogix1500

Сообщение Dias » 08 фев 2011, 07:33

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


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

Re: MicroLogix1500

Сообщение DDmitry » 08 фев 2011, 08:45

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

Аватара пользователя

Looker
не первый раз у нас
не первый раз у нас
Сообщения: 304
Зарегистрирован: 09 фев 2011, 11:32
Имя: Дитрих Евгений
Откуда: Донецк
Благодарил (а): 47 раз
Поблагодарили: 18 раз

Re: MicroLogix1500

Сообщение Looker » 09 фев 2011, 12:37

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


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

Re: MicroLogix1500

Сообщение DDmitry » 15 фев 2011, 09:19

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


У вас в логике биты из таблицы ModBus, а не промежуточные переменные.