Страница 713 из 1041 ПерваяПервая ... 213613663703711712713714715723763813 ... ПоследняяПоследняя
Показано с 7,121 по 7,130 из 10404

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

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

    По умолчанию

    Avenging_Archangel
    А что мешает поставить индуктивные датчики? На моем ЧПУ так. Правда у меня не на Овене, а на ЛинуксЦНЦ, но работает отлично.
    Но даже на Овене можно вычислить гистерезис индуктивного датчика по переднему и заднему фронту сигнала.

  2. #7122

    По умолчанию

    Ну я реализовал вот так (прикрепляю проект). Тестирую в железе на столе, пока вроде норм. Программы CNC_FINDING.CncMaxFinding и CNC_FINDING.CncMinFinding запускаются с ИП320, а дальше уже по прерываниям от концевиков. Комментарии в программах поиска максимума не все правильные, в поиске минимума вроде все поправил.

  3. #7123

    По умолчанию

    Ну больше дело в финансах. Восстановить станок больше моя прихоть, как такового задания мне не было, я вообще работаю главным конструктором и занимаюсь разработкой электрощитового оборудования, электроника как хобби, поэтому интересно с ПЛК повозиться. Я работаю на маленьком заводе (у нас работников меньше 50), директор и так нехило затратился на ПЛК, ИП320 и ПЧВ1, боюсь если я попрошу еще купить индукционные датчики, меня пошлют далеко и надолго Да и плюс концевики в моем мухосранске проще найти, чем индукционные датчики.

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

    По умолчанию

    Цитата Сообщение от Avenging_Archangel Посмотреть сообщение
    Ну я реализовал вот так (прикрепляю проект). Тестирую в железе на столе, пока вроде норм. Программы CNC_FINDING.CncMaxFinding и CNC_FINDING.CncMinFinding запускаются с ИП320, а дальше уже по прерываниям от концевиков. Комментарии в программах поиска максимума не все правильные, в поиске минимума вроде все поправил.
    самое первое это см .вложение, дальше смысла нет рассматривать проект как рабочий, если нарушен порядок выполнения
    второе, понятно что Вы не программист, но попробуйте где нибудь этот код написать в компьютерных языках программирования и "прогнать" по нему статический анализ, например действие CncMaxFinding
    I) IF bFindMax=TRUE OR bFindMax=TRUE
    II) внутри условия из первого пункта вновь проверка IF bFindMax=TRUE
    III) и как продолжение есть еще и ELSE которое никогда не выполняется

    третье, добавляйте в конфигуратор модуль Button обязательно
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  5. #7125

    По умолчанию

    1. Про порядок знаю, просто сейчас занимаюсь с поиском нулей, и после внесения изменений в PLC_PRG порядок не наводил, но за напоминание спасибо. Хотя и в данный момент все в PLC_PRG работает в железе как ни странно.
    2. Большое спасибо, тут реально ошибка, которую проглядел, в реальности первое условие должно быть IF bFindMax=TRUE OR bStartInit=TRUE, когда дошел бы до отладки начального поиска нуля, сильно бы удивился, что программа не вызывается, и зная себя, потратил бы полчаса на поиск ошибки
    3. Про button читал, вроде это косяк овена, и иногда программа останавливается самопроизвольно. Добавил в проект. Еще раз спасибо.

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

    По умолчанию

    На будущее:
    Конструкции типа IF bFindMax=TRUE OR bStartInit=TRUE можно писать короче - IF bFindMax OR bStartInit
    Т. е. в проверке условия КДС автоматически сравнивает с TRUE.
    Если надо проверить на FALSE, то можно написать так:
    IF NOT bFindMax OR NOT bStartInit THEN
    Лично мое мнение - удобнее читать код.

  7. #7127

    По умолчанию

    Цитата Сообщение от Sulfur Посмотреть сообщение
    можно писать короче - IF bFindMax OR bStartInit
    Да, я знаю, для AVR, когда я начинал их изучать, я так и делал. А вот в Codesys мне почему-то удобнее когда видно, где какое значение. Не знаю с чем это связано, возможно потому что еще не все понимаю в этой среде программирования. Ну и иногда я использую типа дефайнов, например _vDirect:=vDirectToMax, где _vDirect - булевская переменная, а vDirectToMax - булевская константа, равная FALSE.

  8. #7128

    По умолчанию

    Цитата Сообщение от Eugene Vavilov Посмотреть сообщение
    Кстати, можно ли из самого проекта в режиме работы отдать команду на перезагрузку контроллера ??
    Вопрос актуален. Случайно получилось в результате некорректного использования цикла WHILE.. (Просто искал возможность кратковременного отображения строки "Записано" на дисплее при перезаписи retain- переменной не в ущерб остальным надписям).

  9. #7129
    Пользователь Аватар для Rednaxel
    Регистрация
    15.05.2015
    Адрес
    Минск
    Сообщений
    19

    По умолчанию

    Цитата Сообщение от Eugene Vavilov Посмотреть сообщение
    Вопрос актуален. Случайно получилось в результате некорректного использования цикла WHILE..
    Есть такое. Конкретно пост #8

  10. #7130
    Пользователь
    Регистрация
    09.08.2013
    Адрес
    Башкортостан
    Сообщений
    234

    По умолчанию

    Вложение 44507
    Подключил библиотеку SysLibStr.lib и вызвал в POU одну из функций.
    Компиляция проходит без ошибок, но при попытке загрузить программу в ПЛК - выдается сообщение об ошибке
    С чем это может быть связано?
    ПЛК110-30М

Страница 713 из 1041 ПерваяПервая ... 213613663703711712713714715723763813 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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