PDA

Просмотр полной версии : ПЛК200-03 управление ШД



сергей валерьевич
27.11.2024, 08:43
Добрый день Первые шаги в освоение. Запутался с Соотнесением
задача управлять ШД, периферией
Условия:
входа:
Переключение 3 скорости
две кнопки вперед\назад
выход
1 выход Imp (ШИМ)
2 вых Dir
коэффициент заполнения Application.TargetVars.stPlc200_03.stRightSide.udi PwmDutyCycleDo01
Проблема с выходами
Попытка №1
Использовал настройки заводские.
Соотнесение вх\вых
выход 1: Application.TargetVars.stPlc200_03.stRightSide.xDo 01
выход 2 Application.TargetVars.stPlc200_03.stRightSide.xDo 02
коэффициент заполнения Application.TargetVars.stPlc200_03.stRightSide.udi PwmDutyCycleDo01
Конфигурация
вых1 ШИМ
вых 2 битовая маска
Скоростя переключаю присваивая %QD9
Не срабатывает присваивание. как понял надо использовать Move с En\Eno. на вх En подаю сигнал с тумблера переключения скоростей

При компиляции выдает что нельзя использовать выхода
Попытка №2

Соотнесение вх\вых
выход 1:
выход 2 :
конфигурация
вых1 ШИМ
вых 2 битовая маска
Ошибку не выдает, но и реакции по выходам нет
Входа работают нормально

Какие параметры заносить в Соотнесение по выходам? пробовал и новую переменную создавать, ошибки нет, но и реакции тоже.

Прошу срочно указать на ошибку

сергей валерьевич
27.11.2024, 08:47
Можно посмотреть фрагмент рабочей программы.
В дальнейшем необходимо реализовать работу по заданным координатам, с использованием энкодеров, выносной панели управления

МихаилГл
27.11.2024, 08:59
...

Прошу срочно указать на ошибку

Для этого как минимум прикладывают код...

kondor3000
27.11.2024, 09:03
Либо вы в соотнесении присваиваете выходу переменную, либо переменной присваиваете прямой адрес, типа AT%QD9, тогда в соотнесении переменную не привязываете. Это всё есть в обучающих видео.
Вообще для управления ШД надо использовать спец контроллеры, ПЛК200 для этого подходит плохо.

сергей валерьевич
27.11.2024, 09:21
Для этого как минимум прикладывают код...

Пока не понял как приложить код с кодесиса...
Пишу в FBD..
могу скрины экранов

сергей валерьевич
27.11.2024, 09:22
Либо вы в соотнесении присваиваете выходу переменную, либо переменной присваиваете прямой адрес, типа AT%QD9, тогда в соотнесении переменную не привязываете. Это всё есть в обучающих видео.
Вообще для управления ШД надо использовать спец контроллеры, ПЛК200 для этого подходит плохо.

Ну имеем что имеем.. надо как то оживить сие чудо техники
А ссылочку на видео можно увидеть?

kondor3000
27.11.2024, 09:26
Ну имеем что имеем.. надо как то оживить сие чудо техники
А ссылочку на видео можно увидеть?

https://www.youtube.com/playlist?list=PL2EcVEe6E9SCzVhL_BCDnaUJROikKheVx

сергей валерьевич
27.11.2024, 09:33
попробую скрины
80353
8035480355

kondor3000
27.11.2024, 09:41
PLC_PRGACT - это что? Новая программа или действие? Если новая программа, то есть ли вызов программы в задачах
или из основной программы?

сергей валерьевич
27.11.2024, 10:00
Либо вы в соотнесении присваиваете выходу переменную, либо переменной присваиваете прямой адрес, типа AT%QD9, тогда в соотнесении переменную не привязываете. Это всё есть в обучающих видео.
Вообще для управления ШД надо использовать спец контроллеры, ПЛК200 для этого подходит плохо.
Хорошо.
То есть выходную переменную Out_X_Imp привязываю к %QX0.0 без соотнесения
а как к выходу привязать заполнение ШИМ?

kondor3000
27.11.2024, 10:11
Вы на вопрос не ответили выше, а прямые адреса вообще не рекомендуется использовать.
Присваиваете переменную выходу и меняете её в программе.

МихаилГл
27.11.2024, 10:16
попробую скрины
80355

Меня смущает что в столбце "соотнесение" значек не тот, что должен быть. Вроде должен меняться путем нажатия на него. И выход в соотнесении не зачеркнут, как будто соотнесения и нет...

PS И стандартные соотнесения я бы не менял, бог его знает как они работают в шаблонах...

сергей валерьевич
27.11.2024, 11:59
Меня смущает что в столбце "соотнесение" значек не тот, что должен быть. Вроде должен меняться путем нажатия на него. И выход в соотнесении не зачеркнут, как будто соотнесения и нет...

PS И стандартные соотнесения я бы не менял, бог его знает как они работают в шаблонах...

вот в том то и дело, что это попытки понять их работу.. создавал новые переменные..
а заводские пробовал, присваивал своей переменной выход , к примеру %QX0.0
Так при комплиции ругается, пишет что повторно использовать нельзя.. Не понял почему так.. вот и ищу способ

МихаилГл
27.11.2024, 12:03
Где имя нажмите 2 раза и выберите переменную из программы. Она будет иметь имя начинающееся с application... А это ерунда какая то. Или верните старое название, и эту переменную без application. пропишите в своем fbd

сергей валерьевич
27.11.2024, 12:14
Где имя нажмите 2 раза и выберите переменную из программы. Она будет иметь имя начинающееся с application... А это ерунда какая то. Или верните старое название, и эту переменную без application. пропишите в своем fbd

Пробовал и так... ошибки нет, как и реакции выхода...
Ладно, буду думать дальше

МихаилГл
27.11.2024, 12:23
Пробовал и так... ошибки нет, как и реакции выхода...
Ладно, буду думать дальше

Жмете "Ответ", потом "Расширенный режим", внизу в дополнительных опциях "Управление вложениями" и прикладываете заархивированный проект...

сергей валерьевич
27.11.2024, 13:33
Жмете "Ответ", потом "Расширенный режим", внизу в дополнительных опциях "Управление вложениями" и прикладываете заархивированный проект...
Интересно... спасибо за совет с архивом..
Попробовал сделать.
Но архив получился 71мб, допустимо 50
приложил проект
какое еще расширение подгрузить?

МихаилГл
27.11.2024, 15:03
Я только завтра гляну.

сергей валерьевич
29.11.2024, 14:58
Добрый день
До этого все выходы горели красным. Причина: брак провода +24в, не доходило питание до выходных ключей.
Исправил. Продолжили гореть. Исправил режим работы выходов на верхний-нижний ключ. Авария выходов пропала.
Но попытка включить любой выход остается тщетной.
Сделал блок И, два входа от тумблеров, и выход на ключи.
Входы срабатывают, переключаются, с блока сигнал синий... а выход черный...
Уже голову себе сломал..
менял варианты по совету выше..
Можете прислать просто образец КАК включить выход...
Варианты для соотнесения:
1 Application.TargetVars.stPlc200_03.stRightSide.xDo 02
2 Application.PLC_PRG.Out_X_Dir
3 Out_X_Dir

1 ругается нельзя использовать переменную привязанную к выходу
2 и 3 ошибок нет, как и реакции

МихаилГл
29.11.2024, 16:43
У меня вчера под 40 температура была)
Щас гляну код ваш...

МихаилГл
29.11.2024, 17:00
Добрый день
До этого все выходы горели красным. Причина: брак провода +24в, не доходило питание до выходных ключей.
Исправил. Продолжили гореть. Исправил режим работы выходов на верхний-нижний ключ. Авария выходов пропала.
Но попытка включить любой выход остается тщетной.
Сделал блок И, два входа от тумблеров, и выход на ключи.
Входы срабатывают, переключаются, с блока сигнал синий... а выход черный...
Уже голову себе сломал..
менял варианты по совету выше..
Можете прислать просто образец КАК включить выход...
Варианты для соотнесения:
1 Application.TargetVars.stPlc200_03.stRightSide.xDo 02
2 Application.PLC_PRG.Out_X_Dir
3 Out_X_Dir

1 ругается нельзя использовать переменную привязанную к выходу
2 и 3 ошибок нет, как и реакции



Вы сразу сделали столько ошибок, что даже стыдно говорить...

PLC_PRGACT - это что? Новая программа или действие? Если новая программа, то есть ли вызов программы в задачах
или из основной программы? - это сообщение кондора вам тоже ничего не сказало...

Короче эта программа (действие) нигде никогда не запускается, и я даже не работаю с таким подходом, да чего там таить, не умею. Есть правда скопипасченный мной элемент, но там все правильно).

Вы и соотнесли, и в переменных сделали Out_Proc AT %QD9: UDINT; и т.п.

Исправил на более менее то, что заработало...

kondor3000
29.11.2024, 17:12
1 ругается нельзя использовать переменную привязанную к выходу
2 и 3 ошибок нет, как и реакции

По поводу, почему не включаются переменные в программе. У вас создано действие ACT, но оно не вызвано в основной программе.80456
В PLC_PRG напишите ACT();

МихаилГл
29.11.2024, 17:16
По поводу, почему не включаются переменные в программе. У вас создано действие ACT, но оно не вызвано в основной программе.80456
В PLC_PRG напишите ACT();

А я там перенес код в подпрограмму)

А чем действия и прочее из того меню по правой кнопке лучше обычных подпрограмм? Просто не делал так никогда...

PS А, еще все соотнесения удалил напрочь в модулях. А вы проверили работу модулей вывода? Там вроде тоже ошибка и просто прописывание действия работать не будет...

AlexandrGr
29.11.2024, 17:31
А как с помощью ШИМ управлять шаговым двигателем?

kondor3000
29.11.2024, 17:31
А чем действия и прочее из того меню по правой кнопке лучше обычных подпрограмм? Просто не делал так никогда...
PS А, еще все соотнесения удалил напрочь в модулях. А вы проверили работу модулей вывода? Там вроде тоже ошибка и просто прописывание действия работать не будет...
Да можно как угодно сделать, действия можно делать на другом языке и не создавать и вызывать новую подпрограмму,
а так же не надо переносить переменные в глобальные.

МихаилГл
29.11.2024, 17:40
Да можно как угодно сделать, действия можно делать на другом языке и не создавать и вызывать новую подпрограмму,
а так же не надо переносить переменные в глобальные.

А мне нравятся глобальные переменные. Еще и прагму стираю всегда. А то бывает наделаешь одинаковых в разных местах, им там же и in...out прописывать надо... Все переношу в глобальные и не парюсь.

сергей валерьевич
30.11.2024, 11:23
Вы сразу сделали столько ошибок, что даже стыдно говорить...

PLC_PRGACT - это что? Новая программа или действие? Если новая программа, то есть ли вызов программы в задачах
или из основной программы? - это сообщение кондора вам тоже ничего не сказало...

Короче эта программа (действие) нигде никогда не запускается, и я даже не работаю с таким подходом, да чего там таить, не умею. Есть правда скопипасченный мной элемент, но там все правильно).

Вы и соотнесли, и в переменных сделали Out_Proc AT %QD9: UDINT; и т.п.

Исправил на более менее то, что заработало...

Ну, как после празднования свадьбы молодая, провожая гостей, приговаривала:
-Вы уж извините, если что не так.. Это у меня впервые...

Вот и я впервые с Кодесисом 3 начал работу.. Со вторым таких проблем не возникало, вполне серьезные проекты шли более менее успешно

сергей валерьевич
30.11.2024, 11:26
А как с помощью ШИМ управлять шаговым двигателем?

Через прокладку
https://kippribor.ru/products/shagoviy_privod/draivery_gibridnix_shagovix_dvigateley_kippribor_s erii_SMD
в моем случае SMD-2O.34.60