Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Можно ли как-то без библиотек узнать работает ли программа в online или в симуляции?

  1. #11

    По умолчанию

    Цитата Сообщение от Scream Посмотреть сообщение
    Тут да, идей накидали, ТС пусть думает далее сам.
    Ага, всем спасибо!

    Вариант с event'ами действительно и от targat'а зависит, и больше вероятность испортить имеющуюся "task configuration".

    Вариант с sizeof, похоже, подойдёт.
    Думаю, в рамках КДС 2.3 поведение вряд ли изменится.

  2. #12

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    А на кой такая экзотика ? Раз есть оффлайн - есть исходник. Раз есть исходник - впилить переменную-селектор и вперед.
    Поясню: у ПЛК110 М02 есть возможность заливать свободные программы для управления быстрыми входами-выходами. Ну, шаговые двигатели крутить, энкодеры обрабатывать и прочее.
    Дело в том, что программы заливаются "через указатели, прямой доступ к памяти, вот это всё". Разумеется, при работе в симуляции обращения к памяти приводят к краху всей программы.

    Поэтому и нужно как-то определять "online или simulation". Если такую проверку добавить, то КДС проект будет работать и в симуляции, и в online. Разумеется, в симуляции не будет симулироваться "блок управления ШД", но это не так страшно на текущий момент.

    Разумеется, можно впилить какую-нибудь переменную, которую переключать туда-сюда, но это верный способ забыть про неё и т.п.
    Взял человек проект. Запускает симуляцию, а у него "программа совершила недопустимую операцию и будет закрыта". Как из этого можно понять, что нужно поправить секретную переменную? Разумеется, никак. Поэтому и нужен механизм для автоматического распознавания simulation.


    Откуда требование на "конфигуратор нельзя": сам блок (который работает с памятью) на самом деле автогенерируется (его генерирует среда Hardella). И с точки зрения прикладного разработчика, он импортирует этот блок как обычный *.exp.

    Т.е.:
    1) Написали программу (в Hardella)
    2) Скомпилировали (получился *.exp)
    3) Импортировали этот exp в основной проект

    Нужно так, чтобы при этом импорте пользовательский проект не ломался. Сейчас это достигается тем, что в exp файл помещено только самое нужное. Т.е. импортируются только автогенерированные блоки, а всевозможные plc configuration/task configuration не трогаются.

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

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Т.е. импортируются только автогенерированные блоки, а всевозможные plc configuration/task configuration не трогаются.
    так если бы модуль статистики ставить только ради определения режима исполнения, то я бы понял, но он нужен и для работы более менее серьезной программы, любой
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  4. #14

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    так если бы модуль статистики ставить только ради определения режима исполнения, то я бы понял, но он нужен и для работы более менее серьезной программы, любой
    Так дело не столько в том, что я не хочу трогать plc configuration, а в том, что тяжело через импорт exp файла добавить модуль статистики. Там может зависеть от таргета, модуль уже может быть в проекте (второй что-ли добавлять?)

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

    По умолчанию

    экспортный файл удаляет объект в проекте, какая разница тогда стоял там модуль или нет
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  6. #16

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    экспортный файл удаляет объект в проекте, какая разница тогда стоял там модуль или нет
    Допустим, пользователь уже добавил модуль статистики, и даже объявил нужные переменные в plc configuration.
    Если как-нибудь удалим (на самом деле, через *.exp непонятно как удалять), то программа сломается. Мы же не знали как там пользователь обозвал переменную.

    Обращаться по AT тоже не вариант, т.к. неизвестно какой будет адрес.

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

    По умолчанию

    какая-то уже фигня пошла, а кто если не программист устанавливает экспортный файл к себе в проект, при первой же компиляции ошибки дадут о себе знать, вспомнит где стояла одна переменная с каким то узнаваемым именем вообще не сложно
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

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

  8. #18

    По умолчанию

    Цитата Сообщение от capzap Посмотреть сообщение
    какая-то уже фигня пошла, а кто если не программист устанавливает экспортный файл к себе в проект, при первой же компиляции ошибки дадут о себе знать, вспомнит где стояла одна переменная с каким то узнаваемым именем вообще не сложно
    Фигня не фигня, а меня почти каждый спросил "что значит ошибка identifier PRU_FB_GET_PARAMETER not defined": http://www.owen.ru/forum/showthread....TER#post233648

    Кто-то по несколько раз на эти грабли наступал. Поэтому и хочу сделать "без библиотек".

  9. #19

    По умолчанию

    Цитата Сообщение от Владимир Ситников Посмотреть сообщение
    Фигня не фигня, а меня почти каждый спросил "что значит ошибка identifier PRU_FB_GET_PARAMETER not defined":
    Кто-то по несколько раз на эти грабли наступал. Поэтому и хочу сделать "без библиотек".
    Я два раза наступал, но это мелкий вопрос.

Страница 2 из 2 ПерваяПервая 12

Похожие темы

  1. СПК и режим симуляции / Simulate
    от Пьер в разделе СПК2хх
    Ответов: 8
    Последнее сообщение: 11.07.2014, 11:31
  2. Ответов: 15
    Последнее сообщение: 21.12.2013, 12:59
  3. Ура!Старая программа в новой панели работает!
    от Ruffian в разделе Панели оператора (HMI)
    Ответов: 0
    Последнее сообщение: 20.02.2013, 09:13
  4. Ответов: 8
    Последнее сообщение: 05.09.2012, 15:23

Ваши права

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