Страница 5 из 8 ПерваяПервая ... 34567 ... ПоследняяПоследняя
Показано с 41 по 50 из 74

Тема: Графические языки и удобство программирования

  1. #41
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,250

    По умолчанию

    Почему я не буржуин.. толстый, в цилиндре...
    Наверно форум не тот.

  2. #42

    По умолчанию

    Уважаемые господа специалисты - предлагаю топикстартеру тему с флудом перенести в курилку... самостоятельно...

    Если кому интересно - мои 5 копеек:
    Очень люблю и рекомендую читать старый русский фольклор и сказки.
    Например: "каждый кулик свое болото хвалит".
    На курсах преподается на CFC так как большинство обучающихся начинают программировать "с нуля", а не приходя из софтверных компаний, где писали на C#, Delfi и остальных "мегапафосных" системах. "Програмеры" обычно учаться сами, но именно от них в начале пути работы с ПЛК слышится: "херня эти ваши контроллеры - не правильно они циклы выполняют", по тому как не разобрались в принципах работы ПЛК, который КАРДИНАЛЬНО отличается от принципов работы программ на ПК.
    CODESYS создан универсальным, чтобы удовлетворить всех возможных специалистов, которые будут с ним работать.
    Программист Вы изначально - ну так удачи - пишите на st (pascal). И структуры и массивы, case Вам в помощь.
    Если Вы от электрики - милости просим - LD (релейная схема).
    Если получили базовое образование (как я) АСУ ТП - так понятнее и удобнее всего CFC (FBD) и SFC. Поверьте мне - я на SFC за 1,5 минуты опишу "машиносостояние, условия переходов и пр." без всяких IF, case и прочих "ужасных и непонятных слов". И не понадобится 2 месяца на отладку, как это требуется классическим программистам
    И уже при определенном опыте и приобретенных навыках начинаешь в проекте комбинировать программы на разных языках. Математику на st. Система безопасности котла оптимально и сильно быстрее пишется и отлаживается на LD. Условия состояний установки лучше всего на SFC. Все это пишется в виде "программ" или "функциональных блоков", которые уже собираются в финальную программу на CFC (для наглядности). Это и называется мастерством, которым, к сожалению обладают единицы.
    Ну а тем, кто пока умеет работать и оптимально использовать только один язык - CODESYS представляет выбор из 5 языков.

    Можно считать вопрос закрытым, или еще пофлудим?

    З.Ы.: Обычно следующим шагом в таких спорах становится обсуждение "а зачем мне CODESYS - я и так хорош - дайте мне Linux и оставьте меня в покое"
    Последний раз редактировалось Николаев Андрей; 12.02.2014 в 08:22.

  3. #43
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Вот обидели сейчас про пафос и два месяца на др.языке,отличном от sfc

  4. #44

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    Вот обидели сейчас про пафос и два месяца на др.языке,отличном от sfc
    Если обидел кого - прошу прощения. Понятно, что для профессионала все гораздо быстрее.
    Ну утрировал немного для того, чтобы в полной мере дать представление о возможностях

  5. #45

    По умолчанию

    Ох нифига себе... Был бы я троллем, гадко хихикал бы Название темы конечно попахивает холиваром, но тема заключалась всего в 2 конкретных вопросах (см 1й пост), на которые пока так никто и не ответил.

    А Вы в курсе, что ПЛК работает в цикле? Поэтому использовать FOR-NEXT или REPEAT-UNTIL надо очень аккуратно. Если в цикле программа задержится слишком долго произойдет перезагрузка ПЛК.
    В курсе. Скажу больше, не только ПЛК, а вообще любая программа которая должна долго работать и на что-то реагировать - это непременно какой-то цикл. Не принимайте меня за школьника. Я из чистого энтузиазма писал программы по 8 тысяч строк (но для компа, игру), и всё работает без единого глючка. Так что с циклами как-нибудь слажу Давайте не будем флудить, остаются только 2 конкретных вопроса о графических языках: 1) как сделать цикл и 2) как быстро вставить условие на набор команд.
    Последний раз редактировалось Boris_K; 12.02.2014 в 10:52.

  6. #46

    По умолчанию

    Ну я старался подробно объяснить. Продолжаем с цитатами: "...имеющий слух - услышит...". Хорошо, что Вы не троль. За это на форуме принято наказывать.

    По существу вопросов.
    Ну если в курсе, то должны понимать, что:
    1. "Выполнить несколько раз в цикле" в разрезе ПЛК: надо использовать не for, а if. По тому как цикл уже организован. И Ваша задача не организовывать его, а включать и выключать из него нужные Вам вычисления. if uslovie<> ustavka then a:=a+1; end_if;
    2. Для удобства ветвлений (организации условий перехода) можно использовать разные варианты. Это как реализация на st. Кто против? Тем более если Вам так удобнее. Это SFC - быстро и наглядно. Это операторы выбора при программировании на CFC, такие как sel, mul и другие операторы выборки и сравнения.
    Вся прелесть, что выбор за Вами.

  7. #47
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от Boris_K Посмотреть сообщение
    Ох нифига себе... Был бы я троллем, гадко хихикал бы Название темы конечно попахивает холиваром, но тема заключалась всего в 2 конкретных вопросах (см 1й пост), на которые пока так никто и не ответил.

    В курсе. Скажу больше, не только ПЛК, а вообще любая программа которая должна долго работать и на что-то реагировать - это непременно какой-то цикл. Не принимайте меня за школьника. Я из чистого энтузиазма писал программы по 8 тысяч строк (но для компа, игру), и всё работает без единого глючка. Так что с циклами как-нибудь слажу Давайте не будем флудить, остаются только 2 конкретных вопроса о графических языках: 1) как сделать цикл и 2) как быстро вставить условие на набор команд.
    Напишите цикл на ST, конвертируйте в графический язык FBD и воссоздайте полученный результат в CFC , в чем проблема то?

  8. #48

    По умолчанию

    Продолжаем с цитатами: "...имеющий слух - услышит..."
    Слух имеется.

    Выполнить несколько раз в цикле" в разрезе ПЛК: надо использовать не for, а if. По тому как цикл уже организован. И Ваша задача не организовывать его, а включать и выключать из него нужные Вам вычисления.
    Нет, это не катит, это плохо. Это "канает" только для совсем уж простых программ. А в общем, в одном большом цикле (без вложения других циклов) всё не обработаешь.

    Это как реализация на st. Кто против? Тем более если Вам так удобнее. Это SFC - быстро и наглядно. Это операторы выбора при программировании на CFC, такие как sel, mul и другие операторы выборки и сравнения
    С помощью sel, mul и подобными можно обработать только одну выходную переменную. А если надо "заусловить" блок из 30 выражений, это придётся для каждого sel хреначить. Вот только и остаётся ST родимый.

    Напишите цикл на ST, конвертируйте в графический язык FBD и воссоздайте полученный результат в CFC , в чем проблема то?
    Спасибо за совет, попробую. Конвертацию ещё не приходилось делать. Интересно будет увидеть результат. Вангую, что будет что-то страшное
    Последний раз редактировалось Boris_K; 12.02.2014 в 11:35.

  9. #49
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,248

    По умолчанию

    Цитата Сообщение от Boris_K Посмотреть сообщение
    Спасибо за совет, попробую. Конвертацию ещё не приходилось делать. Интересно будет увидеть результат. Вангую, что будет что-то страшное
    Ну так без фанатизма, если знаете досконально графические языки, адаптируете любой дикий код

  10. #50
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Цитата Сообщение от Boris_K Посмотреть сообщение
    Нет, это не катит, это плохо. Это "канает" только для совсем уж простых программ. А в общем, в одном большом цикле (без вложения других циклов) всё не обработаешь.
    Контроллер это не ПК. Тут мышление при программировании должно работать по-другому. Программу надо оптимизировать. Надо стараться не тормозить работу контроллера циклами, а наоборот разносить код по разным циклам, чтобы время цикла контроллера было по возможности минимальным.

Страница 5 из 8 ПерваяПервая ... 34567 ... ПоследняяПоследняя

Похожие темы

  1. Языки программирования CoDeSys
    от mogikanin в разделе ПЛК3хх
    Ответов: 21
    Последнее сообщение: 23.03.2014, 16:58
  2. примеры программирования
    от ilf в разделе Помощь Разработчикам
    Ответов: 1
    Последнее сообщение: 20.07.2010, 15:33
  3. Удобство монтажа
    от SKiT в разделе Разработки
    Ответов: 3
    Последнее сообщение: 05.03.2009, 11:24

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •