Вход

Просмотр полной версии : нужна помощь в написании программы



woffka
02.06.2009, 15:04
В общем гидравлический пресс управляемый ПЛК110. схему практически собрал.. осталось определится с гидростанцией... но не в этом дело. в программировании я на уровне школьного паскаля:rolleyes: ... может кто помочь в написании программы? А то в CoDeSys ни как вкурить не могу:(

magirus
02.06.2009, 15:18
читайте "первые шаги в CodeSys"

woffka
03.06.2009, 11:25
ок. такая просьба тогда. может кто выложить "простецкую" программу, для наглядного примера так сказать, всё для того же плк110-32, чтоб, например: если замкнуты вход1 и вход2 сработало реле3 и реле4. заранее спасибо

magirus
03.06.2009, 12:24
с работы не могу, из дома кину, если раньше не выложат...

Kirill
03.06.2009, 14:48
ок. такая просьба тогда. может кто выложить "простецкую" программу, для наглядного примера так сказать, всё для того же плк110-32, чтоб, например: если замкнуты вход1 и вход2 сработало реле3 и реле4. заранее спасибо

Посмотрите этот пример и попробуйте сделать по аналогии.

http://owen.ru/forum/attachment.php?attachmentid=540&d=1212651321

woffka
04.06.2009, 11:31
спасибо большое. всё наглядно и понятно, то, что надо.:)

woffka
29.06.2009, 18:54
Вопрос в общем вот такой ещё возник, в конфигурации прописал входы и выходы как показанно на скринах, правильно ли я всё сделал? По ходу программы: входы прописанны как in1...in17, а выходы Out1...Out8. все датчики на входах подключены через реле... В эмуляторе в принципе всё работает нормально, просто интерестно как будут реагировать входы и выходы в моём случае, практически проверить возможности пока нет:( , ПЛК ещё не прислали.

magirus
29.06.2009, 20:27
если в эмуляторе работает, на железе 99.9% заработает... (отдам десятую на случайности)

Николаев Андрей
30.06.2009, 10:23
Единственный вопрос который может возникнуть - правильно ли подключены датчики. А так все должно работать.
Ну и ждем отзывов и описания результатов.

woffka
02.07.2009, 11:02
Спасибо за участие. как всё соберу объязательно отпишусь. ток ещё один вопрос:) : как я понял для запуска программы надо нажимать кнопку старт на корпусе ПЛК, что будет не удобно:( , как сделать чтобы программа запускалась непосредственно при включении питания. И как в конфигурации отмечен звуковой выход(хотелось бы и его задействовать), я так понял это Special output и Special input звук и кнопка старта соответственно:confused:

magirus
02.07.2009, 12:15
для запуска программы надо нажимать кнопку старт на корпусе ПЛК F5 из кодесис.

как сделать чтобы программа запускалась непосредственно при включении питания create boot project

Special output и Special input звук и кнопка угу

Николаев Андрей
02.07.2009, 15:40
После Creat Boot project при пропадании питания или перезагрузки контроллер автоматически будет стартовать, и нажимать уже ничего не надо.

woffka
06.08.2009, 05:38
Всем спасибо. Всё работает на ура. :)

вопрс возник вот ещё такого плана, немного не в тему, но создовать новую не стоит думаю. В общем, решил добавить пульт оператора, можно ли будет с него изменять некоторые параметры в самой программе, которая вшита в ПЛК. Подозреваю, что да;) , но самый главный вопрос, в описании к пульту написанно, что он может подключаться по RS485 к другим приборам, так вот: хотелось бы поставить датчик линейных перемещений с выходом RS485 (ЛИР ДК-7, к примеру), можно ли будет отображать размеры на пульту и, при этом ещё, связать данные получаемые с "линейки" с программой в ПЛК (например, в точе такой то-стоп, в другой ускорение, в третьей замедление, ну тд.)

Николаев Андрей
06.08.2009, 08:12
1. Надо понять какой терминал... Большинство терминалов и по 232 работают...
Подключаете Ваш ЛИР по 485, а панель по 232 и вся любовь...

woffka
06.08.2009, 11:12
ни чего не понял:( :confused: в смысле терминал? я так понял ЛИР к ПЛК подключать по 485, а панель к ПЛК по 232, и всё будет работать?, тоесть непосредственно с ЛИР можно передавать информацию в ПЛК?

Николаев Андрей
06.08.2009, 11:43
Контроллер имеет несколько независимых последовательных интерфейса, которые могут выступать как Master так и Slave по протоколам ОВЕН, ModBus.
Если ЛИР один из этих протоколов поддерживает, то контроллер будет опрашивать ЛИР по 485 по данному протоколу (будет мастер).
Ну а если у ЛИР не стандартный протокол - в ПЛК есть возможность "поднимать" любой протокол, работая напрямую с портом.
В то же время контроллер будет slave по 232, и его будет опрашивать терминал... По этому и был задан вопрос - что за терминал??? Поддерживает ли он данные протоколы обмена?

woffka
06.08.2009, 12:07
Терминал, в смысле панель оператора? ОВЕН ИП320... а на счет ЛИРа, то в документации просто написанно "Тип выходного сигнала - RS485" и всё :(

woffka
06.08.2009, 12:17
Вот ещё вычитал про ЛИР "Способ выдачи данных - последовательный SSI, 24 разряда.
"

magirus
06.08.2009, 12:26
посмотрел на лиры, никакого упоминания модбас нет...

woffka
06.08.2009, 13:08
нашел вот такой адаптер http://www.skbis.ru/index.php?p=3&c=8&d=56, для подключения ЛИРа к компу по 232 или 485, можноли через него подключиться к плк?

magirus
06.08.2009, 13:11
там вроде как форум есть....спроси по протоколу обмена....

woffka
06.08.2009, 13:44
ага, держит Modbus

magirus
06.08.2009, 15:13
Мы можем повторить ModBus в нашем модуле ЛИР-916 и

держит Modbus
несколько разные вещи...

woffka
06.08.2009, 16:07
:( перелопатил кучу сайтов, имеется куча датчиков, с мыслемыми и немыслемыми(для меня, по крайней мере) протоколами... но с Modbus так и не нашёл...:mad: Вообще есть ли какой опыт подключения к ПЛК Датчиков абсолютного линейного перемещения? по этому форуму пробежался, чет ни чего не нашел.:(

woffka
09.08.2009, 20:17
в паспорте к плк110-32 написанно, что к входы 1 и 2 можно использовать как энкодер, я так понял можно подключить датчик с выходом TTL? при чем подать на вход только сигналы А и В, остальные оставить... и в конфигурации прописать эти два входа как "Fast Encoder", присвоить там переменную и пользоваться ей? Можно ли использовать датчик http://www.skbis.ru/index.php?p=3&c=1&d=1, я так понял для максимальной частоты на входе 10кГц и дискретности линейки 10мкм максимальная скорость перемещения будет 10см/сек? и как перевести полученные данные в значение в мм,? программа написанна в FBD

woffka
26.10.2009, 06:40
здравствуйте:). возникла вот какая проблема - к плк подключен ИП320, плк мастер. необходимо стало чтобы при включении в панель загружались кое какие данные, основная программа у меня написана на FBD, а обработку загружаемых данных написал в отдельной программой на ST. Вродебы всё нормально, всё компилируется, без ошибок, но после компиляции эта программа в левой панели становится серым цветом и при загрузке вообще не работает (в онлайне там где показываются значения переменных тупо стоят одни вопросы).

и ещё, на входе 1 2 стоит энкодер (линейка), в конфикурации ставлю fastencoder, а в параметрах модуля присутствует только настройки числа импульсов, фильтр и видимость, а вот настройки кругового или линейного энкодера нет :(, не подскажете в чем дело?

Rand0m
26.10.2009, 09:26
1. вероятнее всего вам нужно оформить вторую программу функциональным блоком или задать условия выполнения обоих программ в меню task configuration.

woffka
26.10.2009, 11:43
и функциональным блоком тоже пробывал.. всем пробывал. всё равно такая вот картина:( , на рисунке1, всё нормально, ошибок компилятор не выдает, а вот такое вот дело.

с параметрами энкодера тоже чтото не так:( , на рисуке2. так то он считает, но если пролететь ноль в обратном отсчете начинаются глюки,. хотя я там подобрал немного числом импульсов, но всё равно не то.

Александр2009
26.10.2009, 12:21
узнайте у своего продавца когда пришлют, нам лично обещали еще в сентябре, оказалось что в производстве он будет только в ноябре. это так к слову о том что вы ждете контроллер

Rand0m
26.10.2009, 12:22
Если не хотите делать ФБ тогда в меню task configuration создайте новую задачу а в нее добавьте вызов обоих программ.
По умолчанию исполняется только одна основная программа PLC_PRG

woffka
26.10.2009, 12:31
александр2009
да нее.. всё уже пришло. и всё уже собранно и работает.(правда с момента заказа до получения всего в мои руки прошло почти два месяца) сейчас только устраняются мелочи и недочёты. так например как с панелью, неудобно каждый день по новой забивать параметры.

Николаев Андрей
26.10.2009, 13:17
Скорее сего панель у Вас мастер?
Вот что надо сделать:
Отслеживаете пропадание питания - бит power в модуле статистика.
Заводите переменные, такое количество, какое у Вас существует для обмена с панелью, и делаете их Retain.
В начале программы пишем: если передний фронт питания (питание появилось), то переменным для обмена с панелью присваиваем значение переменных из Retain.
В конце программы:
Если задний фронт (пропало питание), то Retain переменным присваиваем значение переменных обмена с панелью.

woffka
26.10.2009, 13:41
Николаев Андрей
:) всё так и сделано, однако эту программу я написал отдельно на ST, основная на FBD. тут на форуме нашел несколько примеров и сделал по аналогии, однако сама эта программка не запускается:confused: , тогда как в примерах скачанных с форума всё работает нормально (там тоже по две программы в одном проекте). а по поводу настройки энкодера ни чего не скажете? там почему то нет параметров круговой и линейный энкодер

woffka
26.10.2009, 13:51
Rand0m
всё сделал так как Вы и посоветовали:) , всё заработало:) спасибо .

теперь остался только один косячок:( , с параметрами энкодера. может это косяк Targetа?

Rand0m
26.10.2009, 16:25
а я бы сделал таки функциональным блоком и вызывал только в нужные моменты, дабы не кушать системные ресурсы :)

Николаев Андрей
27.10.2009, 11:13
Но отдельным блоком конечно логичнее...
Но и через If кушать тоже не будет, так как триггер от сигнала - вещь жутко редкая... :)

woffka
27.10.2009, 12:25
ладно. и всё таки на счет энкодера, ни чего не скажете? или же так и должно быть? как сделать так чтобы всё считалось как линейный энкодер, а то в данный момент он считается как круговой

Филоненко Владислав
27.10.2009, 12:52
считывайте разницу в программе и преобразуйте в линейный диапазон. это просто.

subaru014
01.11.2009, 17:54
Подскажите плз., как организовать переключение (вых. на вых.) раз в сутки в определённое время.

Николаев Андрей
02.11.2009, 09:35
В ВУЗ-ах похоже даже мат. частью перестали учить пользоваться... :)
Берете библиотеку SysLibCom и отслеживаете время. И в какое то время выключаете один выход и включаете другой - это если привязка конкретно к реальному времени.
Если нужно просто через какой то отрезок времени это делать - есть таймера TON, TOF, TP.
И на тот и на тот случай есть примеры в разделе примеры программ и полезности...

zemdim
13.11.2009, 00:24
Друзья помогите сделать простенький проект за умеренную цену, срочно нужно. У нас в городе только одна фирма этим занимается цену ломит...
zemdim@rambler.ru

magirus
13.11.2009, 10:00
zemdim
чем больше ты создашь тем тем меньше вероятность что тебе помогут ты только вызовешь раздражение.
лучше просмотри свою первую тему.
http://www.owen.ru/forum/showthread.php?t=3963&page=2

Sunnytommi
16.11.2009, 19:03
ребят туплю весь день(последствие выходных) помогите надо очень срочно, задача замыкать дискреный выход на несколько секунд,когда я замыкаю однократно вход дискретный
п.с.
с конфигуратором проблем нет)

DARNER
16.11.2009, 22:04
что в голову пришло....если есть проще вариант сам буду благодарен.;)

Acid CooL
17.11.2009, 16:36
Если я правильно понял задачу, то сделал бы так :)

PROGRAM PLC_PRG
VAR
Detektor: R_TRIG;
Time1: TIME := T#5s;
out1: BOOL := FALSE;
in1: BOOL := FALSE;
Timer_TP1: TP;
END_VAR

......

Detektor(CLK:=in1);
Timer_TP1(IN:= Detektor.Q, PT:= Time1, Q=> out1);

DARNER
17.11.2009, 18:11
Acid CooL спасибо

Ольга Зверева
18.11.2009, 09:40
Здравствуйте, есть проблемы с работой СМИ-1. Программа написана для ПЛК-150У.L. В CoDeSYSе выдает на сми значение, а на панели ничего не меняется. Может в описании что-то не так, посмотрите, пожалуйста. Для проверки работы написала самую простую программу.
Причем, что странно, если включены в сеть МДВВ и ПЛК, то в конфигураторе сми установка связи с панелью происходит с ошибками.
Заранее спасибо.

Acid CooL
18.11.2009, 10:51
три мастера в сети? о_о
оно и не должно работать

Ольга Зверева
18.11.2009, 11:19
т.е. мне нужно сделать сми Slave, а мдвв оставить мастером или тоже Slave?

Acid CooL
18.11.2009, 12:01
Эээ.. Эт я торможу. ПЛК у вас по всем параметрам получается мастер.
Я не силен в протоколе ОВЕН, МБ в его особенностях настройки есть подвох? Или адреса СМИ и МДВВ совподают (у МДВВ адрес по умолчанию тоже 16 вроде)
Кстати, а что у вас за третье устройство?

ЗЫ А почему бы не переделать все на Modbus?

Александр Ч.
18.11.2009, 22:00
Плк управляет мдвв следовательно плк-мастер, мдвв-слейв. если связь в норме-подключаем сми1 в режиме слейв. У меня в сборке плк100, МВ110 2А и сми1. Протокол овен.
1. температура с мв110 2а по переменной из сети сетевой вход, адрес мв110, хеш-имя из протокола овен на этот мв110
2. уставка регулятора c плк по переменной из сети, тип параметра(напр. float), имя -хеш имя собственное пользовательской переменной в конфигурации ПЛК-параметры

Ольга Зверева
20.11.2009, 08:33
третье устройство мва8.
что интересно, не меняла программу, периодически не видит модуль мдвв или если зашивается без ошибок, во время работы первые 4 входа мдвв не видит в программе, хотя индикаторы горят!!!

Ольга Зверева
20.11.2009, 08:34
спасибо за информацию