Форум программистов, компьютерный форум, киберфорум
Контроллеры PLC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
1

PLC Shneider BMX XBP P34. Работа с энкодером OsiSense XCC

20.09.2013, 16:03. Показов 2055. Ответов 16
Метки нет (Все метки)

Есть шнайдеровский ПЛК BMX XBP P34. К нему подключено 3 абсолютных енкодера OsiSense XCC. Пытаемся поставить у них пресеты через программу SyCon v2.9. Пробовали делать настройку по внутреннему хелпу не получается сделать download вылезает сообщение с еррором
PLC Shneider BMX XBP P34. Работа с энкодером OsiSense XCC


Пробовали делать по методичке см. вложение дошли только до пункта где окно Object Configuration. То окно которое дальше - нет в программе.

Поменяли значения SDO Object Configuration-ом. Такие значения как Presert Value, Total Measuring Range, Measuring units per rev. Нажимаешь кнопку OK. Открываешь проект по новой - не сохраняются значения и в сам энкодер не записываются. Судя по содержимому CANOpen Object Dictionary в Unity Pro для энкодеров.

 Комментарий модератора 
Правила форума:

4.12. Картинки и любые другие файлы загружайте на форум, во избежание их удаления или потери на сторонних ресурсах.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2013, 16:03
Ответы с готовыми решениями:

Работа с энкодером
Помогите пожалуйста с простой задачей. Нужно получить цифровой сигнал переменной частоты (видимо...

Работа с энкодером на ПЛИС
Привет всем! Прошу подсказки. Нужно на плис реализовать тему счетчик поворотов + точное значение...

Работа с инкрементным энкодером
Нужна помощь по работе с энкодером, взял код из интернета и он почему-то у меня не полностью...

Работа с абсолютным энкодером Baumer GXM7W-RS485 по RS-485
Доброго времени суток,имеется небольшая проблема.Я новичок в с++(да и в программировании в целом в...

16
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
20.09.2013, 16:54 2
Пробовали делать по методичке см. вложение
где?
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
23.09.2013, 08:45  [ТС] 3
Вот методичка - - cсылка на файлопомойку удалена -
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
23.09.2013, 12:43 4
Приложите к посту методичку.
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
23.09.2013, 13:37  [ТС] 5
Вот она
0
Вложения
Тип файла: pdf 1690023_02A55_02.pdf (1.15 Мб, 63 просмотров)
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
11.10.2013, 10:41  [ТС] 6
Unity PRO v.5.0. Нужно прописать чтобы энкодер был с направлением прямого счета. Модель энкодера - XCC3510PS84CBN Can Open. Методичку можно найти здесь - https://www.cyberforum.ru/atta... 1379929060.
Прямой счет это когда в SDO(#6000) 0-ой бит в 0. А у нас по умолчанию стоит значение этого байта 3. В object Dictionary так и стоит 3. Нам нужно чтобы было 2. В программе пишем в нужном нам месте
C
1
2
3
4
5
6
7
8
tmpInt[1] := 0;
        tmpInt[2] := 2;
        WRITE_VAR(ADDM('0.0.2.2'),
            'SDO',
            16#00006000,(* 16#00006000,*)
            0,
            tmpInt,
            Signal.AbsEncHoriz.Management_Parameter);
Это фрагмент секции проги для ПЛК BMX P34 20302 на языке ST. Дебажил. До данного места доходит, пишет в SDO. Но в SDO как была 3 так и стоит. Проверял в OsiCoder CAN Open.
Что делать? Как изменить данные в Object Dictionary?
Очень нужна помощь. Сидим на пусконаладке. Уже несколько месяцев пытаемся заставить энкодер работать нормальным образом.
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
11.10.2013, 11:00 7
...хорошо, а если пойти от противного - при обработке данных изменять и передавать уже дальше? На что влияет далее направление счета?
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
11.10.2013, 11:05  [ТС] 8
Цитата Сообщение от raxp Посмотреть сообщение
...хорошо, а если пойти от противного - при обработке данных изменять и передавать уже дальше? На что влияет далее направление счета?
Есть тележка, которая катается по рельсу. Есть парковочная позиция с индуктивным датчиком на одном конце рельса. Значение энкодера в этой позиции должно быть 100000. При движении к другому концу рельса показания энкодера должны увеличиваться. У нас уменьшаются.
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
11.10.2013, 11:08 9
...так сделайте: 100000-показания энкодера/
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
11.10.2013, 11:11  [ТС] 10
Цитата Сообщение от raxp Посмотреть сообщение
...так сделайте: 100000-показания энкодера/
В программе, которую делали не мы и которую вообще переделывать боязно уже есть строка которая устанавливает пресет энкодера в 100000 когда попадает на датчик.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Signal.AbsEncHoriz.PresetValue := ZEROABSENCHORIZ;(* перезаписываем в переменную с которой будем работать *)
        Signal.AbsEncHoriz.Management_Parameter[3] := 50; (* Timeout value (x 100 ms) *)
        Signal.AbsEncHoriz.Management_Parameter[4] := 4; (* Length in bytes *)
        (* преобразовывание формата полученного с АРМ в два слова *)
        DINT_AS_WORD (Signal.AbsEncHoriz.PresetValue, tmpWord[1], tmpWord[2]);
        tmpInt[1] := WORD_TO_INT(tmpWord[1]);(* преобразовывание Word в Int *)
        tmpInt[2] := WORD_TO_INT(tmpWord[2]);(* преобразовывание Word в Int *)
        (* запись в SDO предустановленное значение *)
        WRITE_VAR(ADDM('0.0.2.2'),
            'SDO',
            16#00006003,(* 16#00006003,*)
            0,
            tmpInt,
            Signal.AbsEncHoriz.Management_Parameter);
Нужно чтобы направление всегда было прямое, чтобы в #6000h всегда 2 было. Неважно каким образом - непосредственно программой или через object dictionary. Но просто Write SDO здесь не поможет.
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
11.10.2013, 12:41 11
Вероятно мы друг друга не понимаем. Из вашей задачи, простой пример: ваша тележка на начале - состояние вашего энкодера = 100 000 (допустим 100 000, вы сами озвучили эту цифру), ваша тележка в конце - состояние энкодера = 0, необходимо наоборот. Тогда нужное значение = 100 000 - состояние энкодера. Ферштеен?
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
11.10.2013, 12:46  [ТС] 12
Цитата Сообщение от raxp Посмотреть сообщение
Вероятно мы друг друга не понимаем. Из вашей задачи, простой пример: ваша тележка на начале - состояние вашего энкодера = 100 000 (допустим 100 000, вы сами озвучили эту цифру), ваша тележка в конце - состояние энкодера = 0, необходимо наоборот. Тогда нужное значение = 100 000 - состояние энкодера. Ферштеен?
Нет. Тележка в конце - около 2000000. В энкодере нет 0 и минуса. То есть энкодер должен быть только в диапазоне от 100 000 до 2 000 000.
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
11.10.2013, 12:48 13
Так, понятно, что не дошло до вас. Укажите реальные значения "от и до" c вашего энкодера, не скрипта.
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
11.10.2013, 12:53  [ТС] 14
Цитата Сообщение от raxp Посмотреть сообщение
Так, понятно, что не дошло до вас. Укажите реальные значения "от и до" c вашего энкодера, не скрипта.
Прога весьма сложная, она не нами сделана была. Если там что-то менять это очень много проблем принесет.
Тем более, что речь идет о штабелере. Тележка по рельсам двигается между стелажами ячеек. У каждой ячейки координату надо задавать. Задавать исходя из того, что в парковочной позиции енкодер показывает 100 000.
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
11.10.2013, 13:18 15
Разрисуйте линейный график со значениями.
0
6 / 7 / 1
Регистрация: 11.02.2013
Сообщений: 205
11.10.2013, 13:22  [ТС] 16
Цитата Сообщение от raxp Посмотреть сообщение
Разрисуйте линейный график со значениями.
------100 000---------------------------------------------------------------2 000 000()//
______(Начало. Датчик исходного положения)___________________________Конец рельс
0
10214 / 6595 / 495
Регистрация: 28.12.2010
Сообщений: 21,164
Записей в блоге: 1
11.10.2013, 14:15 17
А теперь то же самое и значения с энкодера, что идут сейчас в этих же точках.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.10.2013, 14:15

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Работа с тросовым энкодером ATM60-C1H13X13 по CanOpen (под ARM или Windows)
Здравствуйте. Есть тросовый энкодер ATM60-C1H13X13 с интерфейсом CanOpen (с ним как и с CAN ни разу...

Насколько известна Фирма Shneider
Нашла эту фирму в интернете, она очень популярна среди интернет заказов из Германии, честно говоря...

Сложность с MSI 760gm-p34(fx) (ms-7641) и GIGABYTE 78LMT-S2
Доброго времени суток, господа специалисты, нуждаюсь в вашей помощи. Вот уже на протяжении 3 дней...

Как мне настроить SATA3 (6Gbit) на материнской плате MSI 760 GMA-P34(FX)
Доброго всем утра! Прямо не знаю куда тут писать (новичёк, ещё не разобрался). Подскажите мне...

засада с энкодером
вчера целый день убил на подключения безымянного энкодера к stm32f103 сделал таймер на захват...

Проблема с оптическим энкодером
Доброго времени суток. Я тут возился с подключением энкодера к меге, для счета расстояний и видимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.