Просмотр полной версии : Для новичка.CFC.Как вставить функ.блок?Нет элемента (не могу вставить) в окне програм
Доброго всем времени суток!
Грызу КДС. Для кого-то мой вопрос конечно покажется банальным.
Скачал с форума книгу по программированию в КДС 2.3 (азы, есть тут такая). Там рекомендуют (из-за наглядности) начать с языка CFC, поэтому и тупо его и смотрю (понимаю что ST наверное лучше, но я, как-бы параллельно-частично его смотрю-сравниваю-анализирую. одну и ту же операцию пытаюсь понять и в CFC и в ST).Так вот: Не могу ,как-бы сказать по-лучше, по-человечески что-ли, вставить ФБ гистерезиса (и ПИД в последствии)!:(
Суть: библиотеку добавил (UTIL, regulatr_pid (или т.п.)) , хочу в свой процесс поставить ФБ и тут у меня трудности.
Понимаю что это легко, но воткнулся в гору и не могу её обойти!
Пытался в POU добавить объект ФБ, но при его создании же только спрашивают язык и имя. Создаёшь его, в окне объявлений появляются VAR ы и т.д., а как в окне программирования (не пинайте если не правильно назвал) схему-то этого ФБ, которая предоставлена в библиотеке, добавить?:mad: Я уже и элемент ставил, через автообъявление в "тип" присваивал ему значение из библиотеки, имя ему назначал, но всё это (имя и тип) появляется только в окне объявления, в месте где стоял курсор. Сам элемент как был AND (например) так и остался!
Если не создавать (добавлять) в POU ФБ, то как вставить необходимый ФБ в свою цепь событий. Элементу ВХОД (например) тоже через автообъявление можно и "тип" из библиотеки задать и имя своё придумать, но графический блок (его вид как в библиотеке) от этого тоже не изменяется!
Вообщем в этом духе! Я предполагал - рисуешь графическую схему (для начала как положено по книге) по последовательности выполнения процесса слева сверху вниз смещаясь вправо, вставляешь блоки (где сам присваиваешь, где готовые ФБ), связываешь их логическими линиями, получаешь результат. Всё вроде бы просто - но на какой-то хуйне (извиняюсь) застопорился!!!
Я тут копаю по форуму и т.д. "о высоких материях" , как блоки работают (логику их работы), как люди организовывают тот или иной процесс, а как начал, что-то сам выстраивать приключилася беда! :)
Логически понимаю, что даже в CFC , в PLC_PRG наверное как-то нужно обратится к ФБ. Возможно это и должно происходить без графического отображения самого ФБ (т.е. если я создал ФБ, в окно объявлений скопировал, с последующим изменением имен переменных, объявления для ФБ из библиотеки, то хрен с ним с графикой!?) , но что-то мне кажется так не должно быть!!! А как я проверю работу этотго ФБ и т.д.
Вообщем кости мне не перемывайте пож-та, и не говорите "букварь" почитай сначала и не задавай глупых вопросов и т.п.:o.
Если не на форуме спрашивать, то где? Для чего этот форум тогда, только для продвинутых, для элиты?...:confused:
Также не бейте, говоря:".. поисковик тебе в помощь и т.п.". Если бы вы знали (а вы знаете), сколько времени уходит на поиск ответа по каким-либо простым вопросам. Даже вода бежит по наименьшему сопротивлению и лично для меня сейчас "наименьшее сопротивление" это спросить у знающих людей, которые скорее всего, не однократно отвечают на одни и те же вопросы здесь в форуме. Но проблема в том, что очень часто в теме нет результативного - правильного вопроса, а есть типа "помогите..". Капец я уже все глаза сломал пока читал здесь всякие переписки! Устал, потому и спрашиваю!:rolleyes:
Владимир Ситников
13.01.2016, 11:54
Сам элемент как был AND (например) так и остался!
Нажимаешь по этому AND 2 раза, меняешь слово "AND" на нужное. Например, на TON или как там нужный ФБ называется и брюки превращаются, превращаются брюки, ...
Когда POU типа CFC сделал, жмёшь правой в пустоте и выбираешь в контекстном меню первый пункт "Box" (у меня кдс на англ, и мне лень переключать на русский). Появится блок с надписью AND. Тыкаешь прямо в AND, вводишь тип блока как в библиотеке. Например, в библе Util есть HYSTERESIS. Прямо так и пишешь вместо AND - когда напишешь и нажмёшь Enter, блок обрастёт входами и картинками.
21726
Это ты указал тип блока. Теперь нужно ещё дать ему имя. Сверху где VAR...END_VAR делаешь VAR hyst: HYSTERESIS; END_VAR, и вместо красных знаков вопросов у блока пишешь hyst.
Парни спасибо что ответили, но вся ребята загвоздка в том, что даже после ваших ответов (руководствуясь вашими рекомендациями (я так и раньше делал)) у меня как был блок AND (тип не изменился), как было два входа в этот ЭЛЕМЕНТ, так всё и осталось, но в окне объявлений (в месте где стоял курсор) появилась (как и раньше) новая переменнная типа ГИСТЕРЕЗИС.
Ну что за хрень, А?.... Где тут галочки какие-нить смотреть или т.п.?
Николаев Андрей
13.01.2016, 12:33
1. Прочитайте пожалуйста правила форума. Ну или просто не выражайтесь.
2. Продолжайте знакомиться с примерами и документацией.
То что Вы говорите и делаете и то, что Вам надо - это разные вещи.
Вы перешагнули первую ступень добавления стандартных блоков, и начали создавать свои собственные. Создание собственных блоков - это следующий этап и по нему есть отдельный пример в разделе:
http://www.owen.ru/forum/forumdisplay.php?f=49
Что нужно сделать Вам:
1. Создаем новый проект. Язык PLC PRG - CFC.
2. Подключаете библиотеку Util.lib (ну и прочие другие). В РП это подробно описано.
3. В поле программы, сверху, выбираете графический значок "элемент". Появляется блок.
4. Выделяем название блока (AND), нажимаем F2, выбираем какой блок из какой библиотеки мы хотим вставить. Вуаля - блок изменился.
5. Не забываем дать индивидуальное имя экземпляру блока.
Ну и видео-примеры Вам в помощь:
1. http://www.youtube.com/watch?v=-NJiQsstsbw&index=11&list=PL2EcVEe6E9SAdT1Uk0RD53QPSY6AkFdk3
2. http://www.youtube.com/watch?v=w5cxmVMUwdU&index=3&list=PL2EcVEe6E9SB4F3WVm-MptpHA5ep0nrq5
Примеры на диске с ПЛК.
Парни спасибо что ответили, но вся ребята загвоздка в том, что даже после ваших ответов (руководствуясь вашими рекомендациями (я так и раньше делал)) у меня как был блок AND (тип не изменился), как было два входа в этот ЭЛЕМЕНТ, так всё и осталось, но в окне объявлений (в месте где стоял курсор) появилась (как и раньше) новая переменнная типа ГИСТЕРЕЗИС.
Ну что за хрень, А?.... Где тут галочки какие-нить смотреть или т.п.?
Можно не писать название ФБ, а использовать Ассистент ввода, особенно если не знаешь /не помнишь название библиотечного элемента.
1. Убедись, что нужные библиотеки добавлены в проект.
2. Выбираешь на панели "Элемент" и кидаешь его на схему.
3. Щелкаешь мышкой на AND. Посинело? Тогда жмешь F2.
4. В дереве выбираешь Стандартные ФБ или Стандартные функции. В правом окне ищешь нужный ФБ и нажимаешь ОК
5 Вместо ??? пишешь уникальное имя для этого экземпляра ФБ и нажимаешь ОК.
6. В окошке объявления новой переменной можно задать начальные значения для входных переменных, а можно и не делать этого.
Конец.
https://www.youtube.com/watch?v=QE0maxtO-f4
Про галочки- это больше риторический вопрос. Мануалы, какие здесь были, уже прочитал (там описан только принцип написания и приграммирования -и это наверное правильно). Остаётся (для написания программм) только собственные мозги, понимание шаговой автоматизации и правления процесса и наверное пункт "Справка" (с содержанием и т.п.) среды КДС!
Святые микросхемы мне в помощь!!!
Не по теме - всё никак не докумекаю (пока)-как в ST организуется последовательность отработки кода?Ну в CFC написано что последовательность действий отрабатывается сверху вниз - слева направо (можно ещё кстати проследить по номеру в блоке последовательность (удобно)), а в ST - сверху вниз, по последовательности написания кода операции? Как я могу в своём алгоритме сделать чтобы именно первой отрабатывалась ЭТА операция, затем ДРУГАЯ и т.д.? Пока для себя я понимаю, что видимо весь процесс мне надо разбить на определённые циклы, проименовать эти циклы, назначить им BOOL (например окончился он (это действие) значит TRUE) , соответственно далее придётся видимо как-то прописывать через условия -пока "имя первого цикла" не TRUE, то на "имя второго цикла" (и других дальнейших) нет разрешения выполнения (например через установленного "EN"). Только так? Я также понял, что каждый POU PLC_PRG - это и есть один цикл, полагаю как-то можно после этого PLC_PRG (например№1) начать выполнение следующего PLC_PRG (например №2)-куда (где ) смотреть по данному вопросу? Или так геморнее описывать весь автоматизированный процесс (понимаю что кому-как, но наверное знающие люди подскажут!0?:o
Ребят! ПРостите за выражения и т.п., просто вроде всё понял (ну..элементарное), но не делается. Жуть как надоело, вот и думал, что где-то, что-то делаю не так.
НО НЕ ВСТАВЛЯЕТСЯ! В менеджере библиотек, в списке библиотек (где их наименование и версии, верхнее окошко) добавленные библиотеки есть, где раскрывается каждая библиотека (нижнее окошко) элемент есть, при его выборе (в окне объявлений и окне программы) всё видно (и графику и VARы). Остаётся только одно - я при добавлении библиотек указывал путь где находится эта библиотека (в списке библиотек записан этот путь), но не вставлял эту библиотеку (где-то здесь читал) в папку LIB ...(что-то там такое если ещё раз подскажите - хорошо) где установлена сама прога КДС, видимо это как-то влияет . Ну просто мне так удобнее казалось (лично для меня). Просто если это правда, то другой вопрос - почему тогда менеджер библиотек видит библиотеку? Я поннимаю если бы было какое-нить сообщение " нет такой библиотеки " и т.п.!!?
Николаев Андрей
13.01.2016, 13:10
Вы как то определитесь уже и начните с азов разбираться :).
1. В ПЛК УЖЕ организован цикл. Всегда (кроме аварийных ситуаций). И всегда программа выполняется сверху вниз, а потом снова идет вверх и выполняется вниз, и так пока не остановить контроллер.
2. Использование нескольких POU (а PLC_ PRG должна быть только одна) - это для задач, где сложная алгоритмика и много распределенных процессов, или процессов детерминированных по времени.
Начните с простого.
Добейтесь на CFC работы блока компаратора из Util.lib
Потом добейтесь того же на st.
Тогда можно идти дальше.
И еще раз - в ПЛК цикл И ТАК ИДЕТ в отличие от программ на ПК.
Начните с видео-примеров. Ну или подъезжайте к нам в офис - покажем все
Для Николаев Андрей!
Так с азов и начинаем потому и задаём-с такие вопросы :cool:! Про разницу ПЛК и ПК читал, знаю. Только не припомню чтобы где-то для ST было явно написано (в отличие от CFC)про последовательность выполнения действий! Про приоритет выполняемых операций видел, а вот про последовательность нет!
В любом случае всем спасибо! Как вставлять ФБ я понял (правда и до темы), но сейчас я только убедился, что всё делал правильно. Но увы, мне это не помогло. Видимо придётся переустановить КДС!! (((
Доброго времени!
Вот пытаюсь - тренируюсь. Вроде должно работать, но в режиме эмуляции HEATER (BOOL) не включается. Всё у меня правильно?
21728
При таких входных параметрах вроде должен включиться HEATER. Записываю значения, стартую, HEATER ноль действий.
Между VAR и END VAR есть ещё параметры которые в блок не ходят (графически) - это значит, что они могут быть установленными значениями (все ноль)( и должны такими и оставаться) или их можно (надо) менять ? Или т.к. нет нарисованных входов значит любое их значение игнорируется?
Николаев Андрей
13.01.2016, 17:41
Большая просьба не плодить темы.
ПИД регулятор не работает, так как это внешняя библиотека и без железки работать не будет
Спасибо! Так и должно быть при всех внешних библиотеках (т.е. при всех скачанных и добавленных потом, не идущих сразу с КДС (стандарт.либ))? Это бич только КДС 2.3 (не возможность проверить работу на эмуляторе даже такой простой алгоритм, но с внешней библиотекой)?
Где написано (описано) данный факт (или другой похожий) чтобы почитать, вникнуть и НЕ ПЛОДИТЬ ТЕМЫ?
Вроде все книжки для "чайников" (азы так сказать. Если не все, но точно очень многие) предоставленные здесь прочитал. И там как раз таких простых для вас понятий не написано (по крайне мере явно).
На форуме есть конечно темы типа для "новичков" и т.п. , я почитал. Люди там задают либо реально дурацкие вопросы, либо чуть сложнее (выше среднего. Видно что задаёт их уже более опытный человек, работавший в другой среде программирования. Я так сказать ещё пока "не дорос" до понимания сути этих вопрос, НО Я ПРИБЛИЖАЮСЬ :cool:), но почему-то даже в такой теме (напоминаю тема типа "вопросы от новичков") на дурацкие вопросы (типа моих) более продвинутые аксакалы позволяют себе высказывания типа "..иди почитай,а потом приходи..", "..учите азы..", "..ну неужели вы не понимаете этого.." и т.п. Ответьте мне тогда как модератор - разве это нормально? Ну не хочешь ты отвечать на дурацкие вопросы - не отвечай! А если уж решил ответить, то по делу. А если надо, то объясни ещё раз как маленькому ребёнку! Как и во многих форумах в объявленных темах очень много флуда (страниц на 30). Согласитесь очень мало - "Вопрос = варианты решений", без всяких обсуждений о характере вопроса, его авторе и т.п..
Даже этот мой пост можно считать для моей темы флудом. Если необходимо, можете удалить, но я объяснил причинно-следственную связь почему я "пложу темы"! Сам стараюсь в теме ВСЕГДА отобразить СУТЬ проблемы и мне приятно получить реальные варианты решений!
Считаю,что Ответ на свой вопрос получил. Всем спасибо! Хотелось бы получить ответ о библиотеках а потом Тему закрыть. )))
Вместе с кодесисом идет PDF файл "первые шаги" (first steps with codesys). Пуск>все программы>3S Software>CoDeSys v2.3>first steps with codesys
Там же есть файл руководство пользователя. Тоже с примером.
Там на Русском языке подробно описаны примеры на разных языках программирования и вообще - что и как при этом нажимать.
Поэтому, прежде, чем открывать новые темы - желательно почитать хотя бы то, что уже у Вас имеется.
Есть два вида библиотек. К первому относятся стандартные кодесисовские, библиотеки Оскат, а также могут быть свои собственные, которые работают в симуляторе без проблем. Второй вид это Овеновские библиотеки, зашитые внутри приборов Овен. Вот они без железа работать не будут, поскольку они находятся в самом ПЛК.
Для KolyanЖ: все книги "Первые шаги" прочитаны.Основной мой вопрос в данном форуме ("не могу вставить ФБ") как оказалось видимо заключался в "плохой работе" компа, проги или т.п. Я как раз делал изначально правильно (как потом советовали люди), но почему-то ничего не получалось (не вставлялся готовый ФБ и всё тут!). Решил проблему переустановкой КДС. Пока иду дальше.
Для AMN: спасибо за разъяснение. Действительно ФБ "ON_OFF_HIST_REG" входит в библиотеку OWEN_STANDART (скачал её здесь когда копал-изучал свои вопросы). Различие (благодаря вашим словам) понял.
П.С. По мне так уж лучше "дурак",когда-то задававший дурацкие вопросы чтобы понять материал и в последствии смог из-за этого спасти жизнь, чем "умник", который с умным видом молчал, кивал головой, всем нравился, но в нужный момент не смог остановить смерть!
ВладОвен
31.03.2022, 10:54
Всем удачи! разобрался!
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot