Просмотр полной версии : плк-100-чайник
Петрович
07.05.2009, 20:19
может уже кто проделал тот путь, который мне предстоит?
пока я обложился доками, что даны в стандартных хелпах. кодовый замок, первые шаги. скачал и проинсталил русифицированную версию. установил таргет для плк-100хх. и тут сразу засада.
На паспорте написано PL, а таргет RL. наверно это одно и то же.
может остальные стесняются признать себя чайниками, а я нет. я чайник.
или может где-то есть веточка для чайников, я не нашёл.
занимался программированием в прошлой жизни на кодах во времена "электроники-60", а тут совсем другое, но не боги... делают блоги.
вопрос:в примере "кодовый замок" вроде всё хорошо начинается, и вдруг сразу "экранная форма и т.д...." куда её?, как её туда?
в общем что-то пропущено. поможите разобраться.
сразу пишу, моя фирма их покупает, применяет, так что всё с лицензиями. но так вдруг случилось, что спросить не у кого.
на курсы не поеду.
может уже кто проделал тот путь, который мне предстоит?
пока я обложился доками, что даны в стандартных хелпах. кодовый замок, первые шаги. скачал и проинсталил русифицированную версию. установил таргет для плк-100хх. и тут сразу засада.
На паспорте написано PL, а таргет RL. наверно это одно и то же.
может остальные стесняются признать себя чайниками, а я нет. я чайник.
или может где-то есть веточка для чайников, я не нашёл.
занимался программированием в прошлой жизни на кодах во времена "электроники-60", а тут совсем другое, но не боги... делают блоги.
вопрос:в примере "кодовый замок" вроде всё хорошо начинается, и вдруг сразу "экранная форма и т.д...." куда её?, как её туда?
в общем что-то пропущено. поможите разобраться.
сразу пишу, моя фирма их покупает, применяет, так что всё с лицензиями. но так вдруг случилось, что спросить не у кого.
на курсы не поеду.
PL и RL - одно и то же.
Пример вы откуда взяли (как-то с ходу не нашел)?
Петрович
08.05.2009, 13:01
PL и RL - одно и то же.
Пример вы откуда взяли (как-то с ходу не нашел)?
Пример взят с диска от ПЛК-100. "Первые шаги и т.д.". Методическое пособие.
А теперь о мелочах:
Глава 4. Параметры входов и выходов контроллера.
-Для присвоения имени и т.д. ....ресурсу ввода/вывода.... следует написать по русски контакту или разряду. Тоже мне ресурс.:)
Вкладка "ресурс" используется впервые, поэтому там сразу надо вставить картинку или написать, что внизу. Эта мелочь мне встала в пол дня.
А вообще заработало! Правда не через USB, что очень обидно, а через Лан-карту. USB почему-то на диске нету. Ну а про КОМ-порт я вообще умолчу. У меня в НБ его просто нет, как впрочем и кнопки РЕТУРН, о которой пойдёт речь в следующем опусе про "Пишем первую прогу".
кнопки РЕТУРН.
Enter нету? :eek:
Петрович
08.05.2009, 17:42
Enter нету? :eek:
Естественно жмём Ентер, естественно не ждём пока её нам встроють, :) но Вы же просили указывать. Вот я и указываю.
Петрович
10.05.2009, 11:37
Неее, на диске есть USB.
Просто он и нах мне не нужен. Не вводите народ в заблуждение. Дело было так.
При втыкании в USB комп сам всё нашёл и установил. Т.е. "Девайс менеджер показал ОК!
В менеджере почему-то прописался как COM15. И дальше я как последний "ламос" пытался следовать инструкциям. А надо было просто в Кодесисе прописать COM15 и всё. :confused:
Для справки, у меня W-XP английский, лицензионный ХОМЕ.
Ну писатели, блин :D.
Петрович
11.05.2009, 17:57
про кодировку. были глюки пока не нашёл это.
Петрович
17.05.2009, 10:31
про кодировку. были глюки пока не нашёл это.
уже нашёл. "рабочий стол-и т.д."
Петрович
17.05.2009, 10:33
удивительно, что на мои тупые вопросы ни кто не отвечает.
Вот очередной.
равноценны-ли языки?. почему в примере из мануала "светофор" автор скачет то на Ld, то на другие?
Петрович
17.05.2009, 10:51
язык Ld. ПЛК-100.
таймер работает. R и F триггер почему-то не работают? к Rs триггеру подключить кнопку на второй вход не удалось. уважаемые мэтры, не сочтите за труд, напишите и выложите пожалуйста програмку на Ld, которую можно было бы считать примером. Спаять такое мне одной ногой, за 20 минут....а вот на Кодесисе, не получается.
Николаев Андрей
17.05.2009, 11:32
1. Не ленитесь читать документацию и ставить уверенность под сомнение.
Так R_trig и F_trig - это не тригеры, а одновибраторы, дающие единичный импульс при приходе блока. Единичный импульс - значит, что значение переменной выхода будет true на протяжении одного цикла ПЛК.
2. Языки не имеют разницы - пишите на каком хотите. Просто некоторые вещи удобнее писать на одном, некоторые на другом. И судя по всему Вам ближе не LD а FBD(CFC).
3. Проект высылаю. Просто так не запустите, так как нет PLC_PRG - программы на 2-х языках для примера.
P.S.: RS тригер тоже не просто по первому пришедшему импульсу работает. Если выделить название блока и нажать F1 - справка расскажет логику работы блока.
Петрович
17.05.2009, 13:02
и судя по всему вам ближе не Ld а Fbd(cfc).
видимо да.
3. проект высылаю. просто так не запустите, так как нет Plc_prg - программы на 2-х языках для примера. Ну так квадратики я тоже умею расставлять. а где кнопка на входе Reset1 ? здесь-то у меня и проблема. не умею связывать цепи через метки, ну не понимаю я что от меня хочет кодесис, когда пишет про двоеточие. запускал по мануалу поиск перечитал все ссылки на "метка", извините конечно, но не понял. Поэтому и прошу, дайте пожалуйста готовый пример, хотя бы просто картинку.
RS тригер тоже не просто по первому пришедшему импульсу работаетПриехали, RS триггер не просто, F_trigger оказался одновибратором на один машинный цикл. А как я должен об этом узнать? Ну не хочу я стать полноценным программистом, но ПЛК на простую логику программировать обязан.
Нет у меня ни какой ложной уверенности в своих знаниях, наоборот с Вашим ПЛК у меня скоро разовьётся комплекс... Неделю отсидеть за этой мылнецой и вот выясняется...RS триггер вовсе не то.... А вот пожалуйста укажите мне, где это написано?
Прошу всё-таки помогать, я бы Вам помог если б Вы например сварку делали. Вот смотрите мои разработки (http://www.samopal.su).
Если Вы там мне зададите вопрос, я Вам отвечу конкретно. Да, я зануда, простите. Но я не буду там, что всё-равно оно работать у Вас не будет, и вообще все транзисторы там считать диодами, а диоды резисторамии и т.д.
Николаев Андрей
17.05.2009, 18:55
Да никто не против помогать, но:
1. Оперативнее получается через техподдержку все же: plc@owen.ru
2. Четко формулируйте что у Вас не получается, и что бы Вы хотели, чтобы Вам подсказали. Очень сложно угадывать что именно нужно подсказать человеку...
На слова "сделайте мне" к сожалению 80% форумчан просто игнорируют :)
3. Напишите таки задачу, которую необходимо решить, а не условный набор блоков.
4. Блоки F_trig и остальные сделаны так практически во всех средах программирования.
Именно по этому я и написал не пренебрегайте документацией. Я сам каждый раз на всякий случай работу блока уточняю. Ведь это не сложно выделить алгоритм блока (функцию, к примеру F_trig) и нажать на клавиатуре F1.
По поводу кнопки. В программах, даже графических идет оперирование именем переменной. Имя привязывается к входу\выходу. И уже в программе Вы работаете с именем переменной.
Так Вы в конфигурации ПЛК в дискретных входах задаете три переменные a,b,c. И уже эти переменные подаете на входа блоков.
Программа отслеживает состояние этой переменной (Если вход разомкнут - переменная=false (ноль, ложь, сигнала нет) если датчик\тумблер\контакт замкнется - переменная=true (1,истина, сигнал есть)).
Петрович
17.05.2009, 20:24
да никто не против помогать... прекрасно, тогда поехали.
1. Наверно вы имеете ввиду не "машинный цикл" микросекунды, а "программный цикл", тогда это уже было было бы логичнее?, т.е. программа прошла и при следующем проходе триггер сброшен? иначе не получится как написано в "светофоре" проверить, что кнопка не "спит". Вот вполне конкретный вопрос.
Петрович
17.05.2009, 22:10
вопрос 2.
беру фрагмент схемы "светофора". хочу запустить поэтапно. при компиляции пишет про метку. что здесь не так? думаю, что когда это заработает, вопросов станет на много меньше. прочёл я всё по мануалу про метку, они как и вы, типа просто метиш и нет проблем. каких-то мелочей не прорубаю, подскажите пожалуйста. ну вот, ещё заглавные буквы пропали.
Петрович
19.05.2009, 07:40
простите конечно, но я так понял, что как определить метку здесь ни кто не знает?
Николаев Андрей
19.05.2009, 08:17
прекрасно, тогда поехали.
1. наверно вы имеете ввиду не "машинный цикл" микросекунды, а "программный цикл", тогда это уже было было бы логичнее?, т.е. программа прошла и при следующем проходе триггер сброшен? иначе не получится как написано в "светофоре" проверить, что кнопка не "спит". вот вполне конкретный вопрос.
совершенно верно
вопрос 2.
беру фрагмент схемы "светофора". хочу запустить поэтапно. при компиляции пишет про метку. что здесь не так? думаю, что когда это заработает, вопросов станет на много меньше. прочёл я всё по мануалу про метку, они как и вы, типа просто метиш и нет проблем. каких-то мелочей не прорубаю, подскажите пожалуйста. ну вот, ещё заглавные буквы пропали.
простите конечно, но я так понял, что как определить метку здесь ни кто не знает?
внимательность, внимательность и еще раз внимательность. за место простого присваивания (прямая черта) вы сделали метку перехода (прямая со стрелкой) - куда надо перейти. при этом сослались просто на переменную - вот компилятор и ругается.
Петрович
19.05.2009, 10:28
внимательность, внимательность и еще раз внимательность. Это не не внимательность, а просто не знание. А я этого и не пытаюсь скрывать.
Вместо простого присваивания (прямая черта) вы сделали метку перехода (прямая со стрелкой) - куда надо перейти. при этом сослались просто на переменную - вот компилятор и ругается.Дело в том, что в LD я не могу сделать просто прямую черту. А в FBD не могу нарисовать кнопку. Вот я и сижу уже третий день ИХ соединяю. Поэтому-то я и спрашивал про равноценность языков. Конечно же хотелось бы нарисовать эту грёбаную кнопку в FBD, но увы...
Отсюда по прежнему во весь рост стоит вопрос-как их соединить.???:confused: Представляю, как я Вас раздражаю, но у меня нет кому подсказать. Я вообще в другом государстве.
Филоненко Владислав
19.05.2009, 10:35
пользуйтесь St, он позволяет все. остальные языки -функционально ограничены и заточены под отд. функции.
правильный стиль программирования - основная программа на St и отдельные фб на Fbd, Ld,sfc и пр. в тех случаях, когда конкретный язык дает преимущества в объеме кода или в читаемости программы.
Петрович
19.05.2009, 11:27
пользуйтесь St, он позволяет все. остальные языки -функционально ограничены и заточены под отд. функции.
правильный стиль программирования - основная программа на St и отдельные фб на Fbd, Ld,sfc и пр. в тех случаях, когда конкретный язык дает преимущества в объеме кода или в читаемости программы.
Наконец-то, это уже какая-то ясность, НО,
кто-нибудь подскажет или нет?, как мне соединить кнопку с FBD?:confused:
Уже вторую страницу заканчиваем. Неужели ни кто не знает?
Николаев Андрей
23.05.2009, 14:57
Вы пытаетесь привязать кнопку, а надо привязать переменную, которая отвечает за состояние этой кнопки.
Смотрите вложенный файл.
Если и это будет не понятно - звоните в понедельник к нам:
8 495 2216064 добавочный либо 1157 (Андрей) либо 1144 (Кирилл)
Петрович
23.05.2009, 21:52
Вы пытаетесь привязать кнопку, а надо привязать переменную, которая отвечает за состояние этой кнопки.
Спасибо огромное. Вот Вас я запросто понял. Правда вчера и сам уже допёр. А почему белиберда в примере Вашем? Надо бы его подправить. Напустили туману, а вот как всё просто. Может Вы думаете, что примеры ни кто не читает?, так вот такие ламеры как я читають.:)
Теперь сижу и ковыряю одновибраторы, чё та они не так, как я с паяльником привык работают. Разберусь-отпишусь.
Ещё раз спасибо.
Петрович
23.05.2009, 22:12
Тут такая проблема. В примере светофор включены по И два фиксатора. Один фиксирует передний фронт, другой задний. Т.е. когда только нажмём и отпустим кнопку таймер запустится и отработает секунды. Обратите внимание, кнопка одна. Но когда я шагаю F7, потом F5, схема по И не срабатывает потому, что предыдущий триггер сбрасывается. Не получается.
Вроде как триггер действительно фиксирует единицу на один машинный цикл??? А надо бы фиксироваться до прохода проги. Или я опять чего-то не то?
Николаев Андрей
24.05.2009, 02:52
Программа на контроллере выполняется следующим образом:
с верху в низ, с лева на право.
В CFC выполняются последовательно блоки по цифрам. Выполняется последний блок (выполняется - это не значит программа стоит в блоке) - программа начинает выполняться с первого блока.
То есть проходя таймер программа не ждет пока он отсчитает, а проверяет входные и внутренние состояния и принимает решения о том, что передавать на выход.
Для фиксации значений при срабатывании есть специальная установка в графических языках (в частности в CFC)- Set (соответствующий значек в поле значков). Для сброса - Reset.
Петрович
24.05.2009, 10:38
Ну номерки я легко упорядочил, а вот как SET-RESET проставить?, это ещё надо по тормозить.
Николаев Андрей
24.05.2009, 16:41
смотрите вложенный файл
Петрович
24.05.2009, 17:15
смотрите вложенный файлПростите, не в этом вопрос. Ну поставил я эту S. В электронике это называется "ловушка". Поймал я эту единичку, но выхода-то у неё с другой стороны нет. Следующим тактом R_TRIG всё-равно сбросился и ага...
"Ловушка", не работает, а точнее работает только один шаг. Ещё раз посмотрел грёбаный "светофор". Ну чётко там, что R_TRIG -это ловушка. Там идея, что только когда кнопка сначала нажимается, а потом отпускается, только тогда срабатывает таймер. При этом может пройти 1000 машинных циклов. Что-то мне подсказывает (конечно же я не прав), что при написании макроса кто-то дал маху. Тогда вроде как я единственный, кто об этом догадался? Понимаю, что это не реально.
Сразу в догонку. Наверное где-то должно быть как в SFC (ширина шагов), через сколько шагов эту "ловушку" сбросить.
это не оченьхороший прием...
я сам на нем долго сидел и обжигался...
S и R использовать лучше в самых крайних случаях...
ими конечно удобно фксировать выхода контролеров...
но от остального лучше воздержаться...
F_TRIG и R_TRIG - детекторы фронта...
R- Rising - восходящий фронт, F-= falling - ниспадающий фронт..
выдает импульс при событии...
(не фронт и реверс... как казалось бы...) и не триггер в понимании этого слова как мы привыкли.... (вспомнилось: (мале-фемале)(англ)(маза-фаза)(нем))...
Петрович
24.05.2009, 20:56
это не оченьхороший прием...
лучше воздержаться...
F_TRIG и R_TRIG - детекторы фронта...
..
Ну так что?, пример, который приводится в сопроводительной документации к ПЛК-100 "в печку?"
Николаев Андрей
25.05.2009, 02:33
А что это за пример? И где Вы его взяли?
На диске с контроллером есть папка документация - там 2 примера - один написанный 3S-software, второй нами.
Еще раз предлагаю Вам простой выход. Напишите что Вам необходимо реализовать.
Петрович
25.05.2009, 07:58
Да, действительно, на диске этого примера нет. Там нечто аналогичное. Этот пример с Вашего сайта (http://www.owen.ru/documents/catalog/files/First%20Steps%20with%20CoDeSys%20RU.pdf). Смотрите стр.4. Да понял я. Вопросов больше нет. Я думал, что это одно и тоже. Предыдущий работник мне его просто в распечатаном виде подсунул.
А чего я хочу? Мне понравилась идея так простенько контролировать кнопку сначала нажал, и только после отпускания TRUE.
Мне понравилась идея так простенько контролировать кнопку сначала нажал, и только после отпускания TRUE.
F_trig вам в помощь...
Петрович
25.05.2009, 22:00
F_trig вам в помощь...
Начнём с начала?
А чем запомнить этот триггер? Он помнит только один шаг.
Петрович
25.05.2009, 23:14
подойдет ?
Ну вот это уже по электроницки, вроде по схеме должно работать, а как на ихней Кодесисе, посмотрим. Завтра попробую. Спасибо.
Петрович
28.05.2009, 21:25
сегодня только удалось проверить. спасибо, это то, что надо. теперь буду учиться из этого делать макрос.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot