Показано с 1 по 2 из 2

Тема: СПК-207 vs. CANopen FESTO CPV14-GE-CO2-8

  1. #1

    По умолчанию СПК-207 vs. CANopen FESTO CPV14-GE-CO2-8

    Добрый день!

    Использую СПК-207 для управления тремя сетями: две сетки Modbus ("быстрая" и "медленная", быстрая обрабатывает импульсные выхода с расходомеров) подключены к различным модулям ОВЕН МВ и МУ, и одна сетка CANopen, по ней успешно управляю пневмоостровами Camozzi.

    С пневмоостровами Camozzi CANopen заработал сразу, без танцев с бубнами, но сами пневомоострова отказались со временем работать. Было принято решение перейти на Festo.

    С настройкой Festo всё оказалось сложнее...

    Вообще у Festo серии CPV три типа "голов" для канопена, для этого три различных eds-файла, на все случаи жизни. Мой вариант CO2. На деле не оказалось никакой разницы: использовать CO3 или CO2 (CO3 оказалась удобнее тем, что при создании устройства уже сконфигурированы PDO с выходами и входами, в СО2 надо ручками всё создавать). В обоих вариантах нет обмена с пневмоостровом по заготовленным регистрам (в CANopen это - PDO). Изменения в битах регистров, предназначенных для выходов, не изменяют состояние острова (выхода не срабатывают). Кроме регистров записи, предусмотрено несколько регистров для чтения: состояние входов на дополнительном модуле (он не приобретался), Error register, Manuifacturer status register и состояние выходов. Так вот все выходные регистры всегда в нуле. Я даже инициировал ошибку (поставил переключатели в острове так, как будто подключен модуль расширения, которого нет). Остров свалился в ошибку, регистры ошибок остаются в нуле (тут недочёт от фесто, у них регистры в нулях если ошибок нет, то есть одно и тоже состояние: регистр не считывается или всё ок). Далее в документации на остров указан алгоритм реакции на ошибки: сначала формируется код ошибки в регистре 1001 "Error register", затем в регистре 1002 "Manuifacturer status register", потом сдвиг в регистре № 1003 с номером ошибки (похоже на буфер ошибок), а затем "Send Emergency Message". В онлайне я вижу только последнее действие, а именно: во вкладке "состояние" вижу "Diag String: 'EMCY Code:FF30; Register:81; Field: 00 00 00 02 11'. При этом в устройствах на пневмоострове появляется воскл-знак.
    Судя по всему значение регистра 1002 должно поменяться с нуля на FF30, но этого не происходит.

    Из этого можно сделать вывод, что CANopen функционирует. Недоступен только обмен по регистрам.

    Как этот обмен наладить?

    CANopen_EMCY.jpg

    CANopen_Regs.jpg

  2. #2

    По умолчанию

    "виновник" бед работы с пневмоостровом выявлен.

    В проекте присутствуют устройства ОВЕН (добавлены как устройства ОВЕН, а не как универсальное Modbus-устройство), которые перед заливкой проекта в СПК автоматически распределяют адреса соотнесения входов и выходов (какие адреса занимаются "Овнами" невидно, и перераспределить их нет возможности), и "втихаря" какое-то из устройств занимает те-же адреса , что и пневмоостров не выдавая ошибок.

    На первом этапе, методом подбора, нашел незанимаемые адреса для пневмоострова, в дальнейшем буду переходить к универсальным Modbus-устройствам при работе с устройствами ОВЕН.

    Техподдержка на мой запрос не среагировала, либо им некогда, либо стыдно за такую реализацию своего железа, либо не знают чего натворили.

Похожие темы

  1. CANopen
    от tsda в разделе СПК2хх
    Ответов: 4
    Последнее сообщение: 27.11.2015, 10:07
  2. Can-2.0 CANopen
    от UserOwen в разделе Подбор Оборудования
    Ответов: 2
    Последнее сообщение: 28.02.2011, 00:33

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •