УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

По модулям Comedi


Автор Сообщение
Сообщение создано: 22. 03. 2014 [09:37]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"roman" wrote:

Значит это проблема Comedi драйвера, поскольку в модуле DAQ.Comedi запрос идёт строго по номеру подустройства.

Зато номер канала был сквозной.
Исправил!

Learn, learn and learn better than work, work and work.
Сообщение создано: 02. 04. 2014 [01:08]
Aleksei
Aleksei Lavrenov
Создатель темы
Зарегистрирован(а) с: 04.02.2014
Сообщения: 6
Плата заработала со всеми 32-мя входами и 32-мя выходами.
У меня осталась другая не большая проблема связанная с платой входов/выходов и передачей состояния дискретных выходов по Modbus. При перезагрузке контроллера, состояние дискретных выходов читается по Modbus и выводится в столбце "значение" таблицы как "1", хотя в реальности они выключены. Причем в единицу установлены именно Modbus регистры (или биты), т.к. при обработке в алгоритмах непосредственно выходов платы, они соответствую реальному состоянию. Пробовал в транспортном протоколе конфигурировать связь как логический тип (С1w - например) и как целый (R1w-например). Ничего не менялось, кроме как при логическом типе на начальном этапе в столбце "значение" таблицы выводится <EVAL>. При изменении состояния выхода по Modbus или в атрибутах платы (установить и убрать галочку на соответствующим выходе) все начинает выводится и читаться нормально по данному выходу. Где искать причину?
Сообщение создано: 02. 04. 2014 [11:33]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"Aleksei" wrote:

Плата заработала со всеми 32-мя входами и 32-мя выходами.

OK

"Aleksei" wrote:

При изменении состояния выхода по Modbus или в атрибутах платы (установить и убрать галочку на соответствующим выходе) все начинает выводится и читаться нормально по данному выходу. Где искать причину?

Не знаю. У меня таких проблем нет и в исходнике этому причин не видно, особенно про восстановление при записи. Вообще это похоже для выходов нормально, поскольку Comedi назад их читать не умеет, а значит там лежит то что записано и если Вы туда ничего не писали то там лежит по умолчанию false или EVAL. Однако Protocol.ModBus это значение назад читает по ссылке в любом случае, проверил только что. Хотя если там EVAL, то как раз 1 по ModBus он и вернёт.

Т.е. берите исходник, ставьте точки контроля и отслеживайте или воспроизводите на ДемоБД, но похоже это не проблема.

Learn, learn and learn better than work, work and work.
Сообщение создано: 02. 04. 2014 [11:54]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"roman" wrote:

Вообще это похоже для выходов нормально, поскольку Comedi назад их читать не умеет, а значит там лежит то что записано и если Вы туда ничего не писали то там лежит по умолчанию false или EVAL.

Возможно и может, а просто я не пытаюсь их читать.
Добавил обратное чтение дискретных выходов с помощью comedi_dio_read()!

Learn, learn and learn better than work, work and work.



11975