Страница 7 из 136 ПерваяПервая ... 567891757107 ... ПоследняяПоследняя
Показано с 61 по 70 из 1358

Тема: Hardella IDE

  1. #61

    По умолчанию

    Цитата Сообщение от vladimirisitnikov
    сложения BYTE и BYTE
    Я наоборот, скорее не понимаю смысла такого сложения. BYTE явно пришел нам из железа, и ничего кроме битовых операций я бы к нему не применял. Даже если это АЦП, в нашей реалии на него надо навернуть калибровку датчика и получить real.
    А если надо, то сперва явно кастовал бы BYTE к нужному типу. Но то дело вкуса, во многом.

    Цитата Сообщение от vladimirisitnikov
    о второй части выполнение может не дойти и т.п.
    эксепшенами пахнет?

    Цитата Сообщение от Yegor
    а железо какое-нибудь найдётся
    Фиг знает. Я в текущем проекте пишу на CoDeSys только потому, что нашелся у Овена сносный контроллер -- пром. исполнения, умеренно безглючный, быстро покупаемый и с живым саппортом/форумом. Смог бы купить промышленного исполнения встраиваемую плату - все было бы иначе. Втолкаться в готовое железо мне казалось бы хорошей идеей.

    Другое дело, что рантайм можно спросить у фирмы 3S, я бы на их месте обрадовался и отдал бы что-нибудь типа кодесис-ядра под линукс. Спросив сперва NDA возможно. Как проект это все было бы круто, интересно и молодежно, карма на хабре вверх и все дела))
    Но в суровой промышленной жизни разнообразные RPi и проч. недорогие ардуины не выживут. Разве что сделать под них отдельный бокс с фильтрацией питаний, развязкой входов-выходов и так далее. Кстати, может быть это коммерческая ниша?..
    Последний раз редактировалось rapucha; 06.01.2016 в 13:54.

  2. #62
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,047

    По умолчанию

    Рапуча, есть BYTE, а есть SINT и USINT. Все они по 8 бит, но тип BYTE это как бы 8 отдельных бит, не число. BYTE по стандарту вообще складывать нельзя; только поразрядная логика: AND, OR, XOR, NOT.

  3. #63

    По умолчанию

    Цитата Сообщение от rapucha Посмотреть сообщение
    Я наоборот, скорее не понимаю смысла такого сложения. BYTE явно пришел нам из железа, и ничего кроме битовых операций я бы к нему не применял
    Какой смысл иметь два разных беззнаковых типа?
    Чем USINT принципиально отличается от BYTE?
    Честное слово, не понимаю.

    Да и сами по себе беззнаковые типы не нужны. От них только проблемы: http://www.nayuki.io/page/unsigned-i...rmful-for-java
    Т.е. знаковые типы + явные операции для того, чтобы работать "как будто с беззнаковыми" и всего делов.

    Цитата Сообщение от rapucha Посмотреть сообщение
    эксепшенами пахнет?
    Нет. Речь о том, что при вычислении FALSE AND ... вторую половину AND'а можно и не вычислять -- всё равно понятно что суммарно false будет.

  4. #64

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Сделать бы более-менее развитую среду, а железо какое-нибудь найдётся
    Ну, делать среду под "мифический" контроллер тоже непонятно как.
    Да и среду я не то чтобы "ради среды" делать хотел.

    Ко мне ПЛК110 скоро приехать должен. Поэтому вариант "сделать среду, и сангажировать ОВЕН на выпуск ПЛК777 с её поддержкой" как-то не очень греет.

  5. #65

    По умолчанию

    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    Какой смысл иметь два разных беззнаковых типа?
    Чем USINT принципиально отличается от BYTE?
    Честное слово, не понимаю.
    семантика, извиняюсь, разная. byte это набор бит, отражающий состояние железа. делать над ним арифметику -- нет смысла.
    Цитата Сообщение от vladimirisitnikov Посмотреть сообщение
    Т.е. знаковые типы + явные операции для того, чтобы работать "как будто с беззнаковыми" и всего делов.
    мне строгая типизация как-то больше по душе. Меньше шансов налажать, особенно при работе с чужим кодом/библиотеками.

    прошу прощения, убегаю, буду рад продолжить вечером

  6. #66
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,047

    По умолчанию

    Ко мне ПЛК110 скоро приехать должен. Поэтому вариант "сделать среду, и сангажировать ОВЕН на выпуск ПЛК777 с её поддержкой" как-то не очень греет.
    Расширять/обходить готовую среду разработки ради своих проектов греет разве? Я понимаю, что MPS для этого и создавалась, но в ПЛК я ещё не встречал таких объёмов кода, чтобы это было оправдано. Проще тупо набить код, с подсказками или без них. Хз, мне остаётся пожать плечами в этой теме.

  7. #67

    По умолчанию

    Вот сделал интеграцию среды и CoDeSys: http://recordit.co/xzAv3BGlzS

    Вроде, норм получается.
    В среде нажимаем "запустить", открывается CS, подхватывается новый код, и всё такое.

    Базовый проект (настройки ПЛК) берутся из отдельного *.pro файла.

    Т.е. создаём один раз проект в CS (с базовыми настройками, указанием PLC и т.п.), а когда из среды нажимаем "запустить", то открывается CS, загружается этот самый проект, и затем поверх импортируется новый код.

    И, да, забавы ради сделал "анонимные функциональные блоки".

    Код в среде:
    Код:
    PROGRAM PLC_PRG 
      variables: 
         v1 : BOOL := TRUE; 
         et : TIME; 
         complex : COMPLEX; 
       
      body: 
        IF TON(IN := v1, PT := T#3s, ET => et).Q THEN 
          complex.cstm.bingo := TRUE; 
        END_IF; 
    END_PROGRAM
    Код, который передаётся в CoDeSys:
    Код:
    PROGRAM PLC_PRG
    VAR
      v1 : BOOL := TRUE;
      et : TIME;
      complex : COMPLEX;
      tmpTON_0 : TON;
    END_VAR
      tmpTON_0(IN := v1, PT := T#3s, ET => et);
      IF tmpTON_0.Q THEN
        complex.cstm.bingo := TRUE;
      END_IF;
    END_PROGRAM
    Последний раз редактировалось Владимир Ситников; 10.01.2016 в 23:15.

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

    По умолчанию

    А можно вот такой анонимный блок ?

    PROGRAM PLC_PRG
    variables:
    v1 : BOOL := TRUE;
    et : TIME;
    complex : COMPLEX;

    body:
    IF TON(IN := NOT TON.Q, PT := T#0s, ET => et).Q and TON(IN := NOT TON.Q, PT := T#0s, ET => et).Q then
    complex.cstm.bingo := TRUE;
    END_IF;

    END_PROGRAM

  9. #69

    По умолчанию

    внутри анонимного блока было бы логично требовать уникальности имен полюбому, мне кажется.

    Так что, я бы сказал, нельзя.

    Клевая штука. По уму, тестов бы ей, а то..

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

    По умолчанию

    А где предложено что-то внутри анонимного блока ? Внутри блока - только его собственный код. А передаваемые параметры - все внешние. Даже если это собственные поля.

Страница 7 из 136 ПерваяПервая ... 567891757107 ... ПоследняяПоследняя

Ваши права

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