Показано с 1 по 10 из 1349

Тема: Hardella IDE

Древовидный режим

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

    По умолчанию

    Собственно, вопрос: в какую сторону дальше двигаться?
    В сторону отладки в реальном времени. Остальное — мелочи.
    Т.е. конструкцию "NOT TON.Q" просто физически не получится ввести в том смысле, что TON это не переменная.
    В третьем кодесисе есть THIS как в плюсах (во втором ADRINST). Его можно разрешить в контексте вызова блока и резолвить во временное имя. Я не просто так предложил именно TON#(...), а не TON(). Такой синтаксис аннотирования используется для литералов встроенных и перечисляемых типов (UDINT#42). Т.к. анонимность один хрен нарушает секцию объявлений, то её можно сделать опциональной и тупо вводить экземпляров: IF TON#(...) / IF TON#ton1(...). Только ни в коем случае не разрешать использование имени за пределами скобок — будет бардак. UPD: хотя не, с видимостью в скобках тоже бардак будет, т.к. другие переменные так себя не ведут.

    С тестами всё сложно из-за практики программирования ПЛК. Программисту придётся выбирать между устоявшимися приёмами и возможностью тестировать отдельные POU. Под устоявшимися приёмами я понимаю подход, где входы оказываются связанными с выходами без дополнительных прослоек, а независимые ФБ содержат только обобщённый функционал. Модули с сильным зацеплением сопротивляются юнит-тестированию, как известно. Не TONы же тестировать, ей богу.
    Последний раз редактировалось Yegor; 11.01.2016 в 09:29.

Ваши права

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