Показано с 1 по 8 из 8

Тема: Можно ли сделать автоматическое приведение типов?

  1. #1

    По умолчанию Можно ли сделать автоматическое приведение типов?

    Сейчас OL требует явно расставлять приведения типов. Зачем?
    Честно говоря, это сильно мешает программировать.

    Можно ли так, чтобы "to float"/"to int"/"to bool" надписи появлялись поверх соединительных линий, если тип входа и выхода различается?

    1) Т.е. сделали GT(x, y). Тянем результат к какому-нибудь fMUL, и оно само поняло, что нужно добавить toFloat.
    2) Протянули результат BOOL операции на аналоговый выход ПР -- оно показало "to float". Поменяли настройку выхода на "дискретный" -- to float пропало.

    Возможность добавить to xxx вручную, конечно, нужно оставить. Но в подавляющем количестве случаев должно само определяться.

  2. #2
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,121

    По умолчанию

    Одно из преимуществ ОЛ -это не возможность сделать ошибки в проекте (не алгоритмические) ,иногда это важнее удобства ,за которое всегда приходиться платить ..
    электронщик до мозга костей и не только

  3. #3

    По умолчанию

    А в чём заключается ошибка?
    Ну, реально. Можно пример?

  4. #4
    Пользователь Аватар для rovki
    Регистрация
    03.01.2010
    Адрес
    Чехов
    Сообщений
    12,121

    По умолчанию

    Это описание типов ,иногда .на автомате можно не к тому типу подключить ,особенно в макросах ,где куча входов разных типов может быть .Потянул за связь ,не довел до нужного входа и связь зацепилась за соседний вход ,например...
    электронщик до мозга костей и не только

  5. #5
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    ну это больше человеческий фактор, от такого никто не застрахован.
    да, добавим перегрузку, потом ооп...

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

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    ну это больше человеческий фактор, от такого никто не застрахован.
    да, добавим перегрузку, потом ооп...
    другими словами: пользуйтесь плк
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  7. #7

    По умолчанию

    Цитата Сообщение от rovki Посмотреть сообщение
    Это описание типов ,иногда .на автомате можно не к тому типу подключить ,особенно в макросах ,где куча входов разных типов может быть .Потянул за связь ,не довел до нужного входа и связь зацепилась за соседний вход ,например...
    И как тут ошибка "несовпадает тип данных" вам поможет?
    Правильный ответ -- никак, ведь народ их подсознательно научится отсеивать.

    Вот вам пример: в МЭК 61131 было всё жутко типизировано.
    В стандарте на столько типизировано, что на вход ADD_INT можно подавать только INT, и оператор преобразования типа это не просто TO_INT, а BOOL_TO_INT, FLOAT_TO_INT.
    Но:
    1) Никто из основных производителей не стал настолько жёстко следовать стандарту. У всех разрешены неявные преобразования. Где-то, конечно, доходит до глупостей вроде "автопреобразование даты в bool"
    2) В очередной версии стандарта правильно поняли что указывать тип "входного" аргумента это лишнее. И там можно вместо прежних BOOL_TO_INT, FLOAT_TO_INT использовать просто TO_INT

    Чтобы выходы не зацеплялись "куда не положено", нужно не типами данных вопрос решать, а ещё как-то.
    Вот хотя бы была возможность переименовать I1 в "кнопка пуск" -- уже было бы в 100500 раз понятнее.
    Или возможность подкрасить вход, чтобы все подключённые провода тоже красились в этот цвет.

  8. #8
    Пользователь
    Регистрация
    24.07.2012
    Адрес
    Россия
    Сообщений
    1,492

    По умолчанию

    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    И как тут ошибка "несовпадает тип данных" вам поможет?
    Правильный ответ -- никак, ведь народ их подсознательно научится отсеивать.

    Вот вам пример: в МЭК 61131 было всё жутко типизировано.
    В стандарте на столько типизировано, что на вход ADD_INT можно подавать только INT, и оператор преобразования типа это не просто TO_INT, а BOOL_TO_INT, FLOAT_TO_INT.
    Но:
    1) Никто из основных производителей не стал настолько жёстко следовать стандарту. У всех разрешены неявные преобразования. Где-то, конечно, доходит до глупостей вроде "автопреобразование даты в bool"
    2) В очередной версии стандарта правильно поняли что указывать тип "входного" аргумента это лишнее. И там можно вместо прежних BOOL_TO_INT, FLOAT_TO_INT использовать просто TO_INT

    Чтобы выходы не зацеплялись "куда не положено", нужно не типами данных вопрос решать, а ещё как-то.
    Вот хотя бы была возможность переименовать I1 в "кнопка пуск" -- уже было бы в 100500 раз понятнее.
    Или возможность подкрасить вход, чтобы все подключённые провода тоже красились в этот цвет.
    насчет подкрасить связи поддерживаю, только чтобы делалось в 2 щелчка и выбиралось из заранее заданых цветов, а не тыкать стандартную палитру на другом конце экрана.

Похожие темы

  1. Не соответствие типов переменных
    от Canek в разделе ПЛК63/73
    Ответов: 1
    Последнее сообщение: 25.09.2012, 16:11
  2. Ответов: 20
    Последнее сообщение: 18.04.2012, 17:01
  3. преобразование типов.
    от AntonTrade в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 24.03.2010, 08:31
  4. Преобразование типов
    от DeMax в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 22.06.2009, 22:33
  5. Ответов: 6
    Последнее сообщение: 14.12.2008, 17:20

Ваши права

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