Вопросы новичка |
Здравствуйте, гость ( Вход | Регистрация )
Вопросы новичка |
7.10.2020 - 15:12
Сообщение
#1
|
|
Читатель Группа: Пользователи Сообщений: 11 Регистрация: 6.10.2020 Пользователь №: 11316 |
Только начал изучать ПЛК, у меня FX3G GXwork2 полностью в ST тк раньше сидел только в урезанном СИ микроконтроллеров. Вопросы которые я не смог понять/найти за эту неделю:
- как вызвать программный блок из основной программы, например на рисунке из POU_01 вызвать inte и вернуться; - как перемещаться в одной программе по меткам (Goto); - задать время повторения программы (цикл контроллера); - управлять быстрыми выходами (выдать пачку импульсов за время меньшее чем цикл контроллера). Задача минимум управлять 5-ю осями с серваками step/dir, линейная интерполяция по 2-м из них с точностью 0.1мм, без доп модулей это вполне возможно. Сообщение отредактировал Waldislaw - 7.10.2020 - 16:11
Прикрепленные файлы
|
|
|
8.10.2020 - 03:13
Сообщение
#2
|
|
Гигант мысли Группа: Пользователи Сообщений: 377 Регистрация: 30.12.2004 Пользователь №: 108 |
Если только начал изучать ПЛК, настоятельно рекомендую Ladder, а не ST.
Ladder лучше визуализирует логику и лучше для понимания общих принципов и инструкций ПЛК. В ST, возможно, привычнее выглядят массивные вычисления, но ПЛК- это все же Программируемый ЛОГИЧЕСКИЙ Контроллер. Спорить или переубеждать, однако, не стану. Имеющий уши да услышит. Читаете ли Вы Руководство по программированию? Судя по вопросам, нет. Читайте его. "- задать время повторения программы (цикл контроллера)." Программа непрерывно выполняется циклически, если контроллер не остановлен вручную либо по фатальной ошибке выполнения программы. Выполнение кода программы занимает столько времени, сколько потребуется, и это время может (и в большинстве случаев будет) изменяться от цикла к циклу. Оно не может быть жестко задано либо ограничено извне. Однако, в настройках контроллера можно задать минимальное время цикла. Именно минимальное, хотя это может называться constant scantime: если программа не уложится в это время, оно будет превышено. -------------------- Делать надо сразу хорошо. Плохо само получится.
|
|
|
8.10.2020 - 10:55
Сообщение
#3
|
|
Читатель Группа: Пользователи Сообщений: 11 Регистрация: 6.10.2020 Пользователь №: 11316 |
Если только начал изучать ПЛК, настоятельно рекомендую Ladder, а не ST. Ladder лучше визуализирует логику и лучше для понимания общих принципов и инструкций ПЛК. В ST, возможно, привычнее выглядят массивные вычисления, но ПЛК- это все же Программируемый ЛОГИЧЕСКИЙ Контроллер. Спорить или переубеждать, однако, не стану. Имеющий уши да услышит. Читаете ли Вы Руководство по программированию? Судя по вопросам, нет. Читайте его. "- задать время повторения программы (цикл контроллера)." Программа непрерывно выполняется циклически, если контроллер не остановлен вручную либо по фатальной ошибке выполнения программы. Выполнение кода программы занимает столько времени, сколько потребуется, и это время может (и в большинстве случаев будет) изменяться от цикла к циклу. Оно не может быть жестко задано либо ограничено извне. Однако, в настройках контроллера можно задать минимальное время цикла. Именно минимальное, хотя это может называться constant scantime: если программа не уложится в это время, оно будет превышено. Помоему столько языков в ПЛК что каждый может выбрать своё. Я уже накидал интерполяцию для 3-х осей, благо точность особо не нужна. Я искал как из одной программы вызвать другую, и не нашел. Какой операнд? В первой программе вычисления происходят (видимо основная), во второй ничего не меняется. Цикл моего контроллера 0,0005сек. Я просто сделал инкремент переменной и если она была равна 10000 то сбрасывал её и инвертировал выход Y0. Итого он инвертировался раз в 5 сек. Я так не смог найти где изменяется это значение. Если есть возможноть, можете скинуть ссылку на руководство по st, желательно на русском вайл их нур дойч шпрехе |
|
|
Текстовая версия | Сейчас: 26.09.2024 - 10:55 |