Страница 49 из 135 ПерваяПервая ... 3947484950515999 ... ПоследняяПоследняя
Показано с 481 по 490 из 1349

Тема: Hardella IDE

  1. #481

    По умолчанию

    Сам проект корректно сделан ?

  2. #482

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Сам проект корректно сделан ?
    Да, блок работает (мои тесты энкодера он проходит), но у вас A и B фазы перепутаны относительно моего блока.

  3. #483

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Да, блок работает (мои тесты энкодера он проходит), но у вас A и B фазы перепутаны относительно моего блока.
    Перестановка фаз роли не играет. При подключении энкодера концы всегда можно поменять местами.

  4. #484

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    Перестановка фаз роли не играет. При подключении энкодера концы всегда можно поменять местами.
    Для тестов -- играет. Тест подаёт заранее заложенные сигналы на входы A и B, и проверяет значение на выходе энкодера.

  5. #485

    По умолчанию

    Завтра напишу что получилось.

  6. #486

    По умолчанию

    С моим дубовым ФБ опроса энкоднра ситуация такая. ШД нормально управляются, а при медленном вращении вала энкодера считываемое значения (position) принимает попеременно два состояния - 0 и 1. Фазы А и В энкодера подключены к 1 и 2 быстрым дискретным входам ПЛК.

    Код ФБ опроса энкодера прилагаю.
    Вложения Вложения
    • Тип файла: rar 1.rar (111.2 Кб, Просмотров: 6)

  7. #487

    По умолчанию

    Цитата Сообщение от Newcomer Посмотреть сообщение
    С моим дубовым ФБ опроса энкоднра ситуация такая
    Как я и говорил, надо сделать 4 счётчика и посмотреть какие из них будут считать, а какие нет.

    Возможно, физическая распайка не соответствует документации.

  8. #488
    Пользователь
    Регистрация
    31.07.2013
    Адрес
    Аркаим
    Сообщений
    1,033

    По умолчанию

    Владимир Ситников
    Начал испытания в железе на столе. Обнаружил проблему с обменом.
    Когда обращаюсь так:
    Код:
    Enc:=ENCODER_AND_COUNTER_Pru0MemoryTransfer.PRU_ENCOER_COUNTER_Enc_Position;(*Показания энекодера*)
    имею пустые данные, т. е. обмена нет. Как со входными, так и с выходными данными.
    Когда обращаюсь так:
    Код:
    ENCODER_AND_COUNTER_Pru0MemoryTransfer(
    	PRU_ENCOER_COUNTER_DO3:=FDO3 , (*Прямое управление выходом FDO3*)
    	PRU_ENCOER_COUNTER_DO4:=FDO4 , (*Прямое управление выходом FDO4*)
    	PRU_ENCOER_COUNTER_count_Enable:=RunTransport ,(*Запуск транспорта*)
    	PRU_ENCOER_COUNTER_count_Lenght:= Lenght ,(*Пройденный путь*)
    	running=> ,
    	writeFails=> , 
    	readFails=> , 
    	PRU_ENCOER_COUNTER_Enc_Position=>Enc ,(*Показания энкодера*)
    	PRU_ENCOER_COUNTER_Enc_ZeroDetect=>ZeroDetect ,(*Обнаружение машинного нуля*)
    	PRU_ENCOER_COUNTER_count_Path=>Path );(*Пройденный путь транспорта*)
    То проблем нет, всё работает нормально.
    В обоих случаях компиляция происходит без ошибок и предупреждений.
    Вполне допускаю, что напутал с синтаксисом в первом случае.

  9. #489

    По умолчанию

    Так работает

    PRU_ENCOER_COUNTER_Enc_Position=>Enc ,(*Показания энкодера*)

    а так не работает

    Enc:=ENCODER_AND_COUNTER_Pru0MemoryTransfer.PRU_EN COER_COUNTER_Enc_Position;(*Показания энкодера*)

  10. #490
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    Владимир Ситников
    Начал испытания в железе на столе. Обнаружил проблему с обменом.
    Когда обращаюсь так:
    Код:
    Enc:=ENCODER_AND_COUNTER_Pru0MemoryTransfer.PRU_ENCOER_COUNTER_Enc_Position;(*Показания энекодера*)
    имею пустые данные, т. е. обмена нет. Как со входными, так и с выходными данными.
    Когда обращаюсь так:
    Код:
    ENCODER_AND_COUNTER_Pru0MemoryTransfer(
    	PRU_ENCOER_COUNTER_DO3:=FDO3 , (*Прямое управление выходом FDO3*)
    	PRU_ENCOER_COUNTER_DO4:=FDO4 , (*Прямое управление выходом FDO4*)
    	PRU_ENCOER_COUNTER_count_Enable:=RunTransport ,(*Запуск транспорта*)
    	PRU_ENCOER_COUNTER_count_Lenght:= Lenght ,(*Пройденный путь*)
    	running=> ,
    	writeFails=> , 
    	readFails=> , 
    	PRU_ENCOER_COUNTER_Enc_Position=>Enc ,(*Показания энкодера*)
    	PRU_ENCOER_COUNTER_Enc_ZeroDetect=>ZeroDetect ,(*Обнаружение машинного нуля*)
    	PRU_ENCOER_COUNTER_count_Path=>Path );(*Пройденный путь транспорта*)
    То проблем нет, всё работает нормально.
    В обоих случаях компиляция происходит без ошибок и предупреждений.
    Вполне допускаю, что напутал с синтаксисом в первом случае.
    наверное в первом случае просто присваиваете одной переменной выход ПОУ, а во втором выполняете ПОУ
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

Страница 49 из 135 ПерваяПервая ... 3947484950515999 ... ПоследняяПоследняя

Ваши права

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