Страница 715 из 734 ПерваяПервая ... 215615665705713714715716717725 ... ПоследняяПоследняя
Показано с 7,141 по 7,150 из 7335

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

  1. #7141

    По умолчанию

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

  2. #7142

    По умолчанию

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

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

    По умолчанию

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

    третье, добавляйте в конфигуратор модуль Button обязательно
    Изображения Изображения
    • Тип файла: png owen.png (33.3 Кб, Просмотров: 14)
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  4. #7144

    По умолчанию

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

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

    По умолчанию

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

  6. #7146

    По умолчанию

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

  7. #7147

    По умолчанию

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

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

    По умолчанию

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

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

    По умолчанию

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

  10. #7150
    Пользователь Аватар для _Mikhail
    Регистрация
    25.07.2013
    Адрес
    Ярославль
    Сообщений
    572

    По умолчанию

    Цитата Сообщение от Smith2007 Посмотреть сообщение
    2019-09-07_23-03-53.png
    Подключил библиотеку SysLibStr.lib и вызвал в POU одну из функций.
    Компиляция проходит без ошибок, но при попытке загрузить программу в ПЛК - выдается сообщение об ошибке
    С чем это может быть связано?
    ПЛК110-30М
    Нужно загрузить библиотеку где созданы данные POU.

Страница 715 из 734 ПерваяПервая ... 215615665705713714715716717725 ... ПоследняяПоследняя

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

Ваши права

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