EnglishУкраїнськаmRussian
Login/New
Topic with many replies

По модулям Comedi


First | 1 | 2 |
Author Message
Written on: 22. 03. 2014 [09:37]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3750
"roman" wrote:

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

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

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

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

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

Learn, learn and learn better than work, work and work.
First | 1 | 2 |



0119