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

Тема: CODESYS V3.5. Визуализация

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Так проинициализируйте массив: всем iY присвойте 450 (нулевая отметка графика), а iX - значения с каким-то шагом (0,1,2,3...). В первом цикле всем элементам присваивается текущее значение переменной, начиная со следующего они будут сдвигаться на 1 каждый цикл. Или я не уловил проблему?
    Не совсем. Отрисовка в первом цикле работает отлично: появляются новые точки в нужных координатах. Сдвиг не работает адекватно. Я ещё пока не понял что именно происходит вместо сдвига, но это точно не то что хотелось бы видеть. Проще 1 раз увидеть... Сей час попробую взять структуру не из 720, а из 10 точек чтоб можно было посмотреть что там с ней приключается без подвешивания ПК ))
    owen09-276-16SP8.projectarchive
    Последний раз редактировалось firetester; 16.02.2016 в 08:29.

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,233

    По умолчанию

    Цитата Сообщение от firetester Посмотреть сообщение
    Не совсем. Отрисовка в первом цикле работает отлично: появляются новые точки в нужных координатах. Сдвиг не работает адекватно. Я ещё пока не понял что именно происходит вместо сдвига, но это точно не то что хотелось бы видеть. Проще 1 раз увидеть... Сей час попробую взять структуру не из 720, а из 10 точек чтоб можно было посмотреть что там с ней приключается без подвешивания ПК ))
    owen09-276-16SP8.projectarchive
    Да, действительно, это стоило увидеть - выглядело круто. Мне, кстати, очень понравилась визуализация - по-моему, здорово сделано.
    Вот моя версия:
    Вложения Вложения

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Да, действительно, это стоило увидеть - выглядело круто. Мне, кстати, очень понравилась визуализация - по-моему, здорово сделано.
    Вот моя версия:
    Спасибо за отзыв. Признаюсь, новичку весьма приятно услышать похвалу от профи ))) Открыл Ваш код, в котором было на ST написано: Ибо нефиг было перекладывать .X туда-сюда, (censored)! ))) Строчку удалил и все заработало. Ваш вариант тоже неплох, но мне кажется отсутствие зеленой полосы на оси времени в первом цикле выглядит эстетичнее. Она же там красоваться целых 12 часов будет. Ну а ещё у вашего варианта есть явное преимущество - он работает)) В общем, спасибо большое! Рад, что выбрал Овен и есть адекватная техподдержка.
    Последний раз редактировалось firetester; 16.02.2016 в 09:13.

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,233

    По умолчанию

    Цитата Сообщение от firetester Посмотреть сообщение
    Спасибо за отзыв. Признаюсь, новичку весьма приятно услышать похвалу от профи ))) Открыл Ваш код, в котором было на ST написано: Ибо нефиг было перекладывать .X туда-сюда, <censored>! ))) Строчку удалил и все заработало. Ваш вариант тоже неплох, но мне кажется отсутствие зеленой полосы на оси времени в первом цикле выглядит эстетичнее. Она же там красоваться целых 12 часов будет. Ну а ещё у вашего варианта есть явное преимущество - он работает))
    Вы не против, если я в первом посте поставлю ссылку на этот пример?
    И можно уточнить, какую именно строчку вы удалили?

  5. #5

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Вы не против, если я в первом посте поставлю ссылку на этот пример?
    И можно уточнить, какую именно строчку вы удалили?
    Нет, не против, конечно. Он ожил в основном благодаря Вам. Из своего кода удалил arrOfPoints[i].iX:=arrOfPoints[i+1].iX;
    Рабочий код:
    start_rs(set:=start, reset1:=stop);
    takt(enable:=start_rs.Q1, timelow:=T#50MS, timehigh:=T#50MS);
    takt_trig(clk:=takt.OUT);
    IF temp_input<0 THEN
    temp_input:=0;
    ELSIF temp_input>160 THEN
    temp_input:=160;
    END_IF

    IF takt_trig.Q=TRUE AND PointsNum<=719 THEN
    pointsNum:=pointsNum+1;
    arrOfPoints[pointsNum-1].iX:= PointsNum+50;
    arrOfPoints[pointsNum-1].iY:= REAL_TO_INT(450-(temp_input/0.4));

    END_IF

    IF takt_trig.Q=TRUE AND PointsNum=720 THEN

    FOR i:=0 TO 718 BY 1 DO
    arrOfPoints[i].iY:=arrOfPoints[i+1].iY;
    END_FOR

    arrOfPoints[719].iX:= PointsNum+50;
    arrOfPoints[719].iY:= REAL_TO_INT(450-(temp_input/0.4));

    END_IF

    Нужно только после отладки поменять время timelow и timehigh на 30 секунд для соответствия оси времени.
    Последний раз редактировалось firetester; 16.02.2016 в 09:44.

Похожие темы

  1. Визуализация CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 24.04.2018, 15:26
  2. Визуализация в CoDeSys
    от Newcomer в разделе ПЛК1хх
    Ответов: 15
    Последнее сообщение: 10.05.2017, 21:11
  3. Визуализация CodeSys
    от DanJer в разделе ПЛК1хх
    Ответов: 2
    Последнее сообщение: 30.08.2012, 04:53
  4. Визуализация Codesys
    от Slipknot в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 31.10.2008, 11:36
  5. Визуализация в CoDeSys 2.3
    от Slawa в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 29.08.2008, 18:30

Ваши права

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