Страница 1 из 1039 12311511015011001 ... ПоследняяПоследняя
Показано с 1 по 10 из 10381

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #1
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

    Всем привет. Впервые столкнулся с программированием в CoDeSys. Есть несколько простых вопросов, на которые пока не нашел однозначных ответов в документации.

    1) Я правильно понял, что в языках ST и FBD нет условных/безусловных переходов (JUMP'ов)?

    2) Я правильно понял, что в языке LD нет возможности сравнить, например, два целых числа и нет возможности выполнить вычисление в несколько действий (например А*В+С) в одной цепочке (network)?

    3) В документации как-то скудно описано использование скобок. В языке IL мне нужно проверить следующее "составное" условие:

    (booleanVar == TRUE) ИЛИ (integerVar <> 333)

    Какой из этих вариантов правильный:

    Код:
    LD  booleanVar
    EQ TRUE
    OR ( integerVar
    NE 333
    )
    Код:
    LD  booleanVar
    EQ TRUE
    OR ( 
    LD integerVar
    NE 333
    )
    Заранее спасибо за ответы.

  2. #2
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    2.Неправильно.Можно.Но он не для этого.(за кулисами выстрел)
    Для чего он, я знаю . Поработав полчаса в редакторе LD CoDeSys'а, у меня сложилось впечатление, что он не приспособлен для написания сложных алгоритмов (например, как цепочка во вложении). Уж очень GUI не интуитивен. А про документацию я вообще молчу.

    Цитата Сообщение от Валенок Посмотреть сообщение
    3.Хошь посмотреть правильно - напиши на fbd/st/cfc - и конвертируй в il
    То, что надо. Спасибо!

    Цитата Сообщение от Валенок Посмотреть сообщение
    Местные ресурсы позволяют положить на il.
    С удовольствием положил бы, если бы ST поддерживал переходы. А можно поподробнее про "ход конем"?

  3. #3

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    У нас новый пиарщик Сименса
    Ну зачем так... Человек наоборот пробует новое.

  4. #4
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    У нас новый пиарщик Сименса
    Не угадал. Я еще могу Allen Bradley в пример привести (который кстати мне нравится больше, чем сименс).
    LD из степ7 я привел для примера, чтобы не рисовать его в paint'е.

    Цитата Сообщение от Николаев Андрей Посмотреть сообщение
    Ну зачем так... Человек наоборот пробует новое.
    К сожалению, не я пробую, а заказчики требуют

    С LD в CoDeSys я уже разобрался (не без помощи конвертации примеров из ST по совету Валенка). Сложности в его понимании вызваны немного нестандартным (не общепринятым) отображением LD в CoDeSys. Здесь LD это практически копия FBD плюс релейные контакты и катушки. По аналогии с релейными схемами, у меня в голове сложился образ LD цепочки, где "ток" течет из одной точки (от "источника питания"). В CoDeSys же "ток течет" из нескольких источников, что немного не привычно.
    Вот такое вот вероломство образов

  5. #5

    По умолчанию

    В FBD кликаем мышкой по верху цепи. Появляется строка ввода. Пишем имя метки. В нужном месте вставляем переход на метку (Ctrl-L).

    ST погуглите статьи на тему ‘структурное программирование’ и там см. как жить без перехода goto.
    Статья в Википедии

  6. #6
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    В FBD кликаем мышкой по верху цепи. Появляется строка ввода. Пишем имя метки. В нужном месте вставляем переход на метку (Ctrl-L).
    Спасибо. Получается переходов нет только в ST.

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    ST погуглите статьи на тему ‘структурное программирование’ и там см. как жить без перехода goto.
    Есть случаи, когда без goto не обойтись, либо текст с goto читается проще, чем структурный эквивалент.

  7. #7

    По умолчанию

    Цитата Сообщение от Serge_UA Посмотреть сообщение
    Есть случаи, когда без goto не обойтись, либо текст с goto читается проще, чем структурный эквивалент.
    Нет. Таких случаев не существует. Это терема Дейкстры. Красивые способы решения описаны в огромном числе публикаций по языкам структурного программирования (Паскаль, Си и пр.).

  8. #8

    По умолчанию

    Я не программист, но от знакомых программистов (профессионалов своего дела) слышал, что:
    "Количество GOTO в программе обратно пропорционально качеству программиста". )))

  9. #9
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от Игорь Петров Посмотреть сообщение
    Нет. Таких случаев не существует. Это терема Дейкстры. Красивые способы решения описаны в огромном числе публикаций по языкам структурного программирования (Паскаль, Си и пр.).
    Я знал, что вы так ответите.
    Лучше не буду озвучивать свои аргументы. Закончим холивар и не начав его.


    П.С. Извиняюсь. Пропал интернет, отправил сообщение два раза.

  10. #10

    По умолчанию

    Обычно ST программу бьем на куски и укладываем все в CASE. По 1 переменной прыгаем куда надо. Классическая машина состояний. Читабельность и удобство отладки на высшем уровне.

Страница 1 из 1039 12311511015011001 ... ПоследняяПоследняя

Метки этой темы

Ваши права

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