PDA

Просмотр полной версии : Язык программирования CFC



Мага
15.12.2013, 13:55
Здравствуйте, уважаемые пользователи форума!
Я хотел-бы задать вопрос: "Где можно выучить язык программирования CFC?"
Пожалуйста, подскажите, если Вы знаете.

capzap
15.12.2013, 15:04
Обычно в программирование плк приходят люди с тех.образованием,вот меня в училище учили логическим элементам 155 серии, был стенд со всевозможными устройствами и с помощью проводков мы собирали простейшие схемы счетчиков триггеров и пр.
Cfc это образно говоря 3D языка fbd ищите по нему какие нибудь материалы, можно с ключевым словом Бергер
Можно обратиться к Анатолию,под ником rovki, он в среде программирования овенлоджик можетпоказать основы cfc наглядно

Николаев Андрей
16.12.2013, 10:37
Язык выучить проще простого.
Гораздо сложнее начать на нем алгоритмы реализовывать. А этому, к сожалению, нигде не научат. Только опыт.
Так что пробовать и пробовать.
А какие блоки есть и как они работают есть в хелпе и в мануале по CODESYS.

Мага
24.12.2013, 10:24
Язык выучить проще простого.
Гораздо сложнее начать на нем алгоритмы реализовывать. А этому, к сожалению, нигде не научат. Только опыт.
Так что пробовать и пробовать.
А какие блоки есть и как они работают есть в хелпе и в мануале по CODESYS.
Ну, думаю, с алгоритмами я смогу разобраться. Подскажите, где выучить язык?

kolyan
24.12.2013, 13:18
Ну, думаю, с алгоритмами я смогу разобраться. Подскажите, где выучить язык?

Например, читая "Руководство пользователя по программированию ПЛК в CoDeSys v2.3".
Или "Первые шаги с CoDeSys".
Оба руководства идут в комплекте с CoDeSys.
Также, читая форум, проходя обучение: http://www.owen.ru/text/81893072

жекон
24.12.2013, 18:43
А нужно-ли его учить Вам?Я стал на нем программы писать потому как очень сильно напоминает простейшую логику микросхем к которой я больше привык, а может для Вас проще какой-то другой язык выучить ,например ST.Там по сути не программирование ,а составление схемы.

rovki
24.12.2013, 19:05
Составление схемы на ST?Может алгоритма ?

Василий Кашуба
24.12.2013, 22:01
Ну, думаю, с алгоритмами я смогу разобраться. Подскажите, где выучить язык?
Если вы умеете читать схемы для логических микросхем, то сможете и составить свою схему из элементов и ФБ, которые есть в библиотеках.

Ya_Pavel
25.12.2013, 06:55
На курсах, в компании ОВЕН г. Москва. Базовый курс. Преподавал Тимошков Виктор, надеюсь я не выдал тайну))) В интернете попалось руководство "CFC для S7".

zendo057
25.12.2013, 21:49
Начал изучатьCFC очень понравилось,но плохо что нет комментов над элементами как в LD. При отыскании ошибки или неисправности на объекте в большом проекте сталкиваешся с определенными неудобствами по отысканию каждый раз названия элемента.Что скажите?

Валенок
25.12.2013, 21:55
7й элемент слева

kolyan
25.12.2013, 22:24
Начал изучатьCFC очень понравилось,но плохо что нет комментов над элементами как в LD. При отыскании ошибки или неисправности на объекте в большом проекте сталкиваешся с определенными неудобствами по отысканию каждый раз названия элемента.Что скажите?

А как же это - не комментарии?:

zendo057
25.12.2013, 22:40
С КОМЕНТАРИЯМИ СПАСИБО

Мага
26.12.2013, 19:37
Например, читая "Руководство пользователя по программированию ПЛК в CoDeSys v2.3".
Или "Первые шаги с CoDeSys".
Оба руководства идут в комплекте с CoDeSys.
Также, читая форум, проходя обучение: http://www.owen.ru/text/81893072
Там регистрация закрыта. А есть ли книги по изучению данных языков, алгоритмов и т.д.?

rovki
26.12.2013, 20:43
Алгоритмы разрабатываются под задачу,а не изучаются .

Мага
26.12.2013, 20:57
Алгоритмы разрабатываются под задачу,а не изучаются .

Допустим, я "чайник" по изучению в данной программе, но всегда же есть способ изучить эту работу.

capzap
26.12.2013, 21:01
Допустим, я "чайник" по изучению в данной программе, но всегда же есть способ изучить эту работу.

CFC сводится к одному, умение соединить логические элементы графическими примитивами в виде линий. Но если Вы не изучали ту же информатику в школе, то Вам будет недоступно понять какой выход с каким входом соединить
Изучите пока просто программирование

rovki
26.12.2013, 21:04
Тогда нужно начинать с простого ,как говорили уже ,например с ПР110(ОВЕН ЛОДЖИК) там и описание есть и примеры ..

Мага
26.12.2013, 22:06
CFC сводится к одному, умение соединить логические элементы графическими примитивами в виде линий. Но если Вы не изучали ту же информатику в школе, то Вам будет недоступно понять какой выход с каким входом соединить
Изучите пока просто программирование

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

amn
26.12.2013, 22:34
Мага, предлагаю сделать первые шаги для решения Вашей проблемы.
1. Для начала изучите как работают элементы AND, OR, NOT, XOR.
2. Изучите работу таймеров TON, TOF, TP.
3. Изучите работу триггеров R_TRIG, F_TRIG.
4. Изучите работу переключателей RS, SR.
Этого уже будет достаточно, чтобы начать решать задачки.
Сделайте эти 4 шага. Если из этого что-то будет непонятно задавайте вопросы.
Информацию можно взять из документации CoDeSys_V23_RU.pdf

capzap
26.12.2013, 22:40
Можете Вы мне дать информацию о том узле, или ресурсе о подобном изучении "программирования", как Вы сказали?

:) Боюсь что Вам ни чем не поможет мой личный ресурс, КВКУРЭ ПВО

В поиске форума наберите слова "книга Петрова" это сможет облегчить поиск направления, так же эта ссылка должна помочь http://prolog-plc.ru/publications , всё зависит от Ваших базовых навыков

Мага
26.12.2013, 23:25
Мага, предлагаю сделать первые шаги для решения Вашей проблемы.
1. Для начала изучите как работают элементы AND, OR, NOT, XOR.
2. Изучите работу таймеров TON, TOF, TP.
3. Изучите работу триггеров R_TRIG, F_TRIG.
4. Изучите работу переключателей RS, SR.
Этого уже будет достаточно, чтобы начать решать задачки.
Сделайте эти 4 шага. Если из этого что-то будет непонятно задавайте вопросы.
Информацию можно взять из документации CoDeSys_V23_RU.pdf
AND, OR, NOT, XOR - это элементы чего?

rovki
26.12.2013, 23:30
AND, OR, NOT, XOR - это элементы чего?
У вас какая специальность ???Это элементы логических операций

Мага
26.12.2013, 23:30
Можете дать ссылку на узел с изучением элементов AND, OR, NOT, XOR?

Мага
26.12.2013, 23:31
У вас какая специальность ???

Я ещё не специалист, я только начал обучаться.

rovki
26.12.2013, 23:35
Тогда учебники и лекции вам помогут и конечно поисковики http://yandex.ru/yandsearch?text=%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0% B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%BE%D0%BF%D0%B5%D1 %80%D0%B0%D1%86%D0%B8%D0%B8&lr=10761

Мага
26.12.2013, 23:43
Тогда учебники и лекции вам помогут и конечно поисковики http://yandex.ru/yandsearch?text=%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0% B5%D1%81%D0%BA%D0%B8%D0%B5%20%D0%BE%D0%BF%D0%B5%D1 %80%D0%B0%D1%86%D0%B8%D0%B8&lr=10761

Можно узнать. А возможно ли обучиться всему курсу в программировании ПЛК по интернету? Ну, имею ввиду не идти в училище.

rovki
27.12.2013, 00:00
НЕ ,нам такие врачи, учителя ,программисты не нужны Одно дело расширить базовые знания ,повысить квалификацию ,а другое дело ,как вы хотите .Не хотите в училище ,поступайте в институт .

amn
27.12.2013, 00:00
Можете дать ссылку на узел с изучением элементов AND, OR, NOT, XOR?

http://cppstudio.com/dlya-nachinayushhix/poleznaya-informaciya/osnovnye-logicheskie-operacii-and-or-xor-not/

Мага
27.12.2013, 00:01
НЕ ,нам такие врачи, учителя ,программисты не нужны Одно дело расширить базовые знания ,повысить квалификацию ,а другое дело ,как вы хотите .Не хотите в училище ,поступайте в институт .

Ну, и институт в том числе тоже)))

Мага
27.12.2013, 00:05
В принципе некоторые программисты (почти все) обучаются в интернете. К примеру: php, mysql, с++ и т. д.

capzap
27.12.2013, 08:16
В принципе некоторые программисты (почти все) обучаются в интернете. К примеру: php, mysql, с++ и т. д.
:)
Цены Вас приятно обрадуют http://www.specialist.ru/profession/programmer

Scream
27.12.2013, 12:45
НЕ ,нам такие врачи, учителя ,программисты не нужны Одно дело расширить базовые знания ,повысить квалификацию ,а другое дело ,как вы хотите .Не хотите в училище ,поступайте в институт .

Про врачей и учителей соглашусь, но про программистов Вы не правы.
Можно без училищ и институтов программировать лучше, те кто там просидел протирая штаны...
Всё зависит от человека. Есть масса примеров людей которые кодят без "корочки"

melky
27.12.2013, 13:01
Мага ресурс на изучение логических, арифметических и иных операций по клавише F1 в самом CodeSys
Система программирования СоDeSys - Операторы и функции МЭК
Библиотеки CoDeSys - Стандартные библиотеки Standard.lib и весь данный раздел.

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

CFC достаточно понятен тем, кто когда-то занимался компьютерами :) ну со своей спецификой работы последовательной обработки сигналов в CodeSys правда.

gndh
27.12.2013, 15:04
Самый простой метод начинать писать программы, труднее научиться думать. А так берешь сначала один функциональный блок включаешь режим эмуляции , подаешь переменную одну или несколько и смотришь че получиться, самое главное понять нафига он нужен этот ФБ.

zendo057
29.12.2013, 20:40
В принципе некоторые программисты (почти все) обучаются в интернете. К примеру: php, mysql, с++ и т. д.
Уважаемый мага.Все эти делфи,с++,....и тд,ни в какое сравнение не идут с CFC.даже с СТ не сравнить.По сути здесь в CFC
просто подставляеш готовые блоки.Разобраться в них очень просто.
1)Запускаете кодесис
2)Выбираете LD язык
3) напр собираете цепочку два последовательных контакта след цепочку два параллельных контакта и тд что еще придумаете
4)Правой мышкой на PLC_PRG,конвертировать,выбираете FBD и наслаждаетесь результатом.
А подробнее о блоках литература по электронике.И еще,открываете справку кодесиса и внимательно читаете,там об этом тоже есть. Удач.
ps мой вам совет изучите сначало LD он понятнее,просче и читабельнее ,а когда поймете визуально логику можете переходить на любой.

Мага
29.12.2013, 22:15
Уважаемый мага.Все эти делфи,с++,....и тд,ни в какое сравнение не идут с CFC.даже с СТ не сравнить.По сути здесь в CFC
просто подставляеш готовые блоки.Разобраться в них очень просто.
1)Запускаете кодесис
2)Выбираете LD язык
3) напр собираете цепочку два последовательных контакта след цепочку два параллельных контакта и тд что еще придумаете
4)Правой мышкой на PLC_PRG,конвертировать,выбираете FBD и наслаждаетесь результатом.
А подробнее о блоках литература по электронике.И еще,открываете справку кодесиса и внимательно читаете,там об этом тоже есть. Удач.
ps мой вам совет изучите сначало LD он понятнее,просче и читабельнее ,а когда поймете визуально логику можете переходить на любой.
Где можно получить информацию об LD? Ну, к примеру, Вы где изучали его?

zendo057
29.12.2013, 22:37
мага,вы конечно извините,но сначало дайте ответ кто вы,чем занимаетесь,имеете ли вы представление о но,нз контактах если нет, то вам сначало надо изучить электротехнику-это база всего,затем взяться за электронику.И только потом, потом
приступать чегото проектировать,иначе(на халяву) ничего не выйдет.
А информация,я уже говорил в предыдущем посте,в справке кодесиса,открываете и внимательныйшем образом ее читаете,либо более подробнее в руководстве по кодесис,а также в рп пользователя.

amn
29.12.2013, 23:25
Мага, как у Вас успехи в процессе обучения? Элементы AND, OR, NOT, XOR уже изучили?

zendo057
30.12.2013, 17:22
Где можно получить информацию об LD? Ну, к примеру, Вы где изучали его?


Информация по ЛД есть везде.В инструкции по выключателю,инструкции по чайнику,по кофемолке по миксеру и еще еще еще.И это не шутка.Везде где есть контакты.А контакт бывает, либо нормально открыт,либо нормально закрыт.Этого хватит в полне чтобы начать писать простые программы.Все остальное приходит с практикой.Еще раз повторюсь.
1.изучаете но нз контакты
2.запускаете кодесис
3.создаете простые цепи
что не понятно откр.справку либо руководство пользователя.Все.Остальное практика практика практика.

rovki
19.02.2014, 21:21
Что куда входит????Сами то поняли что сказали .Программист должен четко формулировать как задачу так и вопрос.

Мага
19.02.2014, 21:49
Взаимодействует ли язык программирования cfc с другими языками программирования?:confused:

capzap
19.02.2014, 21:56
Об этом в документации очень однозначно написано

rovki
19.02.2014, 21:59
Здесь слово взаимодействие не подходит ,речь наверное о взаимозависимости (взаимосвязи).Программу написанную на любом из 5 языков можно "конвертировать " (перевести) на другой язык .

Мага
19.02.2014, 22:01
Об этом в документации очень однозначно написано
Просто я особо ничего не понимаю в программировании ПЛК, но хотел бы обучиться. Может надо иметь образование электрика?

Мага
19.02.2014, 22:07
Здесь слово взаимодействие не подходит ,речь наверное о взаимозависимости (взаимосвязи).Программу написанную на любом из 5 языков можно "конвертировать " (перевести) на другой язык .
То есть если написать на одном языке программирования, то потом можно конвертировать данные от программы на другой язык?

amn
19.02.2014, 22:07
Взаимодействует ли язык программирования cfc с другими языками программирования?

В одном проекте можно использовать разные языки. Может вы это имели в виду?


Просто я особо ничего не понимаю в программировании ПЛК, но хотел бы обучиться. Может надо иметь образование электрика?

Хотите обучиться? Начните с этой ссылки http://cppstudio.com/post/500/

rovki
19.02.2014, 23:30
То есть если написать на одном языке программирования, то потом можно конвертировать данные от программы на другой язык?
Из тех языков ,что поддерживает кодесис ,да .Да же в одном проекте можно использовать несколько языков

amn
20.02.2014, 00:18
То есть если написать на одном языке программирования, то потом можно конвертировать данные от программы на другой язык?

Да, но есть ограничения. Например программу на языке CFC нельзя конвертировать в ST. Зато наоборот можно... почти:). Из предлагаемых вариантов языков там есть FBD, который похож на CFC.

Александр Ушаков
20.02.2014, 05:53
Взаимодействует ли язык программирования cfc с другими языками программирования?:confused:

Соответствуют, например популярный в ST оператор IF THEN выглядит так11973


В LD так 11974

а в CFC так 11975

Что локоничней и понятней решать Вам, я склоняюсь к LD он для меня более понятен, кроме того многие производители контроллеров поддерживают только LD, хотя часто приходится пользоваться и ST и CFC и не надо забывать о SFC это очень нужный инструмент при автоматизации механизмов и процессов.

petera
20.02.2014, 07:56
Взаимодействует ли язык программирования cfc с другими языками программирования?:confused:
Почему, когда Вы используете ФБ из библиотек, то не задаете себе этот вопрос?
Например в программе на CFC используете библиотечный ФБ BLINK
11977
А ведь он в библиотеке написан на ST:)
11978
Ведь взаимодействуют не языки программирования, а взаимодействуют программные компоненты (POU), написанные на различных языках программирования.

То есть если написать на одном языке программирования, то потом можно конвертировать данные от программы на другой язык?
Совсем не обязательно конвертировать все и всегда с одного языка на другой. Можно просто создать ФБ или функцию, написать их на другом языке, а затем использовать в своей программе.
А тем более можно и нужно вместо создания одной большой программы PLC_PRG, разбить ее на части PRG1, PRG2,...PRGn, выполняющие конкретную задачу общего алгоритма. Программы PRG1, PRG2,...PRGn могут быть написаны на любом языке, на том, который удобнее подходит для данной части алгоритма.
Например
11979
Как видно из рисунка для отдельных PRG1, PRG2,...PRGn используются различные языки программирования.
Это и есть мой ответ на "Взаимодействует ли язык программирования cfc с другими языками программирования".
Кроме того.
При таком подходе, программирование и отладка общей задачи упрощаются. Даже если для отдельных PRG1, PRG2,...PRGn еще нет программ и временно написать в них только пустой оператор, то уже можно проверить работу остальных частей и в эмуляторе и в ПЛК.

Мага
21.02.2014, 15:47
В одном проекте можно использовать разные языки. Может вы это имели в виду?



Хотите обучиться? Начните с этой ссылки http://cppstudio.com/post/500/

Для чего предназначены эти логические операции?

Мага
21.02.2014, 16:04
capzap, скажите ваш скайп, поговорим по скайпу.

amn
21.02.2014, 16:19
Для чего предназначены эти логические операции?

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

Любой контроллер имеет дискретные (читай "логические") входы и выходы. Программа проекта должна с ними сделать определенные логические операции и на выходы подать логические значения TRUE или FALSE. TRUE - выход включен, FALSE - выход отключен. И это только простейшие программки. В более сложных имеются другие типы данных. Но это потом, для начала освойте простейшие.