з.ы. не надо ничего добавлять в основное поле программы ОЛ, пусть так и остается FBD.
Речь то о том, чтобы сам макрос можно было написать на IL (C, C#) и т.д.
Основную программу НЕ ТРОГАЙТЕ своими IL(C) руками :)
з.ы. не надо ничего добавлять в основное поле программы ОЛ, пусть так и остается FBD.
Речь то о том, чтобы сам макрос можно было написать на IL (C, C#) и т.д.
Основную программу НЕ ТРОГАЙТЕ своими IL(C) руками :)
В flprog ардуино тоже программируется блоками, однако есть возможность создать свой блок и описать его на С, это очень удобно и верная мысль.
Вся программа рисуется блоками, однако есть возможность тем, кому надо написать свои на С, я за такой подход, но лично для меня приоритетнее конечно онлайн отладка, без неё вообще не представляю как можно писать серьёзные программы.
Господа, все очень просто. Деньги правят миром.
Активных противников развития ОЛ двое - это представители фирмы "ОВЕН" и патриарх форума rovki.
В фирме "ОВЕН" против потому, что если сделать классным ОЛ, то ПР ОВЕН начнет сильно конкурировать с ПЛК ОВЕН. ПР ОВЕН много дешевле ПЛК ОВЕН, и если многие перейдут с ПЛК на ПР, то объемы продаж ПЛК уменьшатся, ПР увеличатся, а общая выручка от продаж уменьшится. Кто же на это пойдет ?
rovki против потому, что боится увеличения цены ПР ОВЕН, т.к. это может ударить по его малому бизнесу. Всем известно, что rovki кроме ПР в своих системах автоматизации ничего не использует.
Такая вот загогулина. ;)
Newcomer да не начнет он конкурировать никогда, причиной этому сам ПР, то есть его firmware (прошивка). То, что в нее заложат для работы IL, C, C# только это и будет работать.
Ну например в прошивке УЖЕ заложены математические функции, вот сделав макрос мы малюем в нем квадратики a, b на ADD, далее на SUB и т.д.
А имея механизм на некоем языке, ну например С, мы просто создаем макрос, указываем входы, выходы и пишем там (a+b)*c((b-a)/d) = выход. Ну как-то так...
Тем же способом могли бы добавить работу с массивами без дроча рисования квадратиками...
Но для всего этого в первую очередь тот или иной функционал должен быть доступен в прошивке ПР.
Прямого доступа к процу однозначно никто не даст и это правильно.
В ПЛК ОВЕН прямого доступа к процу то же нет. melky, мыслить надо глобально. Ты плохо читал мой первый пост. Умные люди сперва бабки считают, а уже потом начинают думать о технической стороне вопроса.
...запросто можем обратиться по несуществующему адресу в памяти и взорвать установку нахрен.
Любители таких ощущений пусть программируют на C, и в ПР-ОЛ с этим лезть уж точно не нужно.
И правильно, что не делают. Упомянутое рисование квадратиков это и есть овнополагающяя концепция ПР-ОЛ.
Разумеется, ничего нового добавлять в прошивку не нужно, т.к. от этого ценник на ПР взлетит в космос.
Хороший всё таки ПР200 получился, если вокруг него такие жаркие споры между программистами и электронщиками.
может тогда поделитесь, почему Вас больше интересовала черепаха, чем возможность писать в плк на Си, этой возможности ни кто ведь не скрывает http://www.kipshop.ru/CoDeSys/steps/codesys_v23_ru.pdf стр.215
Элементы на Си точно могут сломать программу. Чистый ОЛ хотя бы гарантирует отсутствие системных ошибок или зависания. Но дать возможность для желающих самим делать подобие макроса на Си - это было бы хорошим инструментом для продвинутых и закрыло бы этот вопрос. Но доступа к ресурсам всё равно не дадут, к прерываниям например, так что это все бесперспективно.
Легко. В.Ситников любезно предоставил свой инструментарий, при помощи которого я легко решил свою задачу.
Еще раз выражаю благодарность В.Ситникову за его бескорыстный труд на благо всех.
Попробуйте то же самое сделать на C, о результатах доложите. ;) Один уже недавно пробовал, кажется до сих пор пробует. ;)
Если бы "подобие макроса на Си" можно было сделать за неделю программирования, то ещё можно было бы обсуждать "стоит-не стоит" "взорвётся-не взорвётся".
Но сама только реализация "возможности создания макроса на Си" потребует много времени. Потом уйма времени на объяснение "продвинутым" того, как этой возможностью пользоваться. Потом уйма времени на объяснение "почему ОЛ не работает".
В общем одни расходы, а доходов никаких. Разве что мифическая фраза "возможность самим делать подобие макроса на Си".
Владимир Ситников - запросто можно обратиться только к памяти функционального блока, в рамках которого реализована функция (макрос) на С или другом языке - иначе макрос перестает работать везде, как в ПР так и в симуляции ОЛ.
Вопрос в реализации...
Скажем есть область памяти для переменных, отвели пользователю от сих до сих, при проверке в ОЛ за диапазоном - ОШИБКА и невозможность загрузить программу в ПР.
Я ведь не говорю, о прямом программировании ПР на другом языке. Я говорю о том, же, о чем вы сами когда-то говорили, о возможности писать функции простым способом a+b-(c+d) а не квадратиками внутри макроса. ессно с большим функционалом, например расчете логарифмов, косинусов, синусов и т.д. в общем ряда готовых функций, внедренных в прошивку ПР и возможности их использовать при вызове.
В том-то и дело, что для Си тяжело сделать проверку доступа к памяти.
Сам по себе язык не предназначен для написания надёжных программ.
Он предназначен для низкоуровневых программ, а в ПР-ПЛК гораздо важнее надёжность, чем низкоуровневость, скорость и т.п.
Пример того, кто пытается прикрутить C к ПЛК действительно показателен. "до сих про пытается".
Делать в ОЛ какой-то свой (не 61131) язык дело неблагодарное.
Делать ST в ОЛ будет тяжело и долго. Посмотрите сколько делают ОЛ 1.9. Уже вышла версия? Может, там много новых возможностей? Может, там кардинально ПР дорабатывалось?
Ничего этого нет, и тут ОВЕН верен своей стабильности.
a+b-(c+d) сделать непросто, да и патриарх не позволит, в чём будет прав.
Ну, да, раз в год, может, и будет появляться один новый блок. Логарифм, косинус, корень.
А, может, и не будет, ведь макросы-то есть. Зачем в прошивку смуту вносить?
Не понял -Ситникова подменили что ли или клон ?:confused:
продался Овену :)
Начал работать с ПР200. Первые впечатления очень хорошие. Конструктив и внешний вид просто замечательные. Плохо, что ПР200 можно программировать только на FBD. Была бы возможность программировать ПР200 на текстовом языке цены бы ему не было. Недавно появился ПЛК110-MS4, для которого ИнСАТ сделал мощнейшую интегрированную среду разработки. В этой среде, в частности, есть PLC Lodgic с четырьмя языками программирования. Почему бы фирме ОВЕН не заказать у ИнСАТ PR Logic на 2 языка программирования.
У LOGO только FBD, у Zelio Logic - FBD и LD. У ПР200 надо бы FBD и С. Взять готовый компилятор C и внедрить его в среду разработки. Таким образом делали самопальные среды разработки много лет назад, еще во времена когда ПК работали из под DOS. Ну а во времена, когда есть Visual Studio и прочие мощнейшие пакеты сделать классную среду разработки не так уж и сложно.
Да и согласен с ровки, заказчик должен задачу озвучить, в идеале ТЗ, а вы уже выбираете, что лучше подходит, иначе ерунда может получится!
Если не изменяет память производитель уже определил для чего задумана ПР - замена релейной логики, с чем она без проблем справится!