Страница 84 из 378 ПерваяПервая ... 3474828384858694134184 ... ПоследняяПоследняя
Показано с 831 по 840 из 4210

Тема: Панели оператора СП3xx. Вопросы и ответы

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

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

    По умолчанию

    при запуске макроса

  2. #2

    По умолчанию

    Цитата Сообщение от Vansanches Посмотреть сообщение
    при запуске макроса
    Возможно, вы хотели чего-то подобного?

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

  3. #3

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Возможно, вы хотели чего-то подобного?

    В этом примере кол-во налитой жидкости вводится с дисплея панели (см. Ввод).
    При необходимости не составит труда указать вместо него нужный регистр устройства, откуда считывается это значение.
    В целом что ожидается получить не совсем ясно, но почему в данной реализации ежесекундно дёргается PSB если жидкость уже наполнена? Может, стоило перенести в else ветку включение бита?
    Да, на визуализации это практически невозможно заметить, но всё же

  4. #4

    По умолчанию

    Цитата Сообщение от SokolovS Посмотреть сообщение
    В целом что ожидается получить не совсем ясно, но почему в данной реализации ежесекундно дёргается PSB если жидкость уже наполнена? Может, стоило перенести в else ветку включение бита?
    Да, на визуализации это практически невозможно заметить, но всё же
    Да, совершенно справедливо - так будет правильнее.

  5. #5

    По умолчанию

    подключил регистры все заработало, спасибо,
    С уважением, Александр.

  6. #6

    По умолчанию

    Добрый вечер.
    еще вопросик пытаюсь перемножить регистры float,но что то идет не так.

    if (*(float*)(PSW+404)>1)
    {
    cubsr=cub / *(float*)(PSW+404);

    *(float*)(PSW+406)=cubsr;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 305,0 , TYPE_DWORD, c);
    *(float*)(PSW+408)=*(float*)(PSW+406)*c;
    }

    если перемножаю напрямую PSW305 из рецепта на вычисленный коэффициент PSW406 то все слетает, если так как на записи, то на выходе что то непонятное
    С уважением, Александр.

  7. #7

    По умолчанию

    Цитата Сообщение от Vansanches Посмотреть сообщение
    Добрый вечер.
    еще вопросик пытаюсь перемножить регистры float,но что то идет не так.

    if (*(float*)(PSW+404)>1)
    {
    cubsr=cub / *(float*)(PSW+404);

    *(float*)(PSW+406)=cubsr;
    Write(HMI_LOCAL_MCH, 0, TYPE_PFW, 305,0 , TYPE_DWORD, c);
    *(float*)(PSW+408)=*(float*)(PSW+406)*c;
    }

    если перемножаю напрямую PSW305 из рецепта на вычисленный коэффициент PSW406 то все слетает, если так как на записи, то на выходе что то непонятное
    С уважением, Александр.
    Я так понимаю, вам нужен не Write, а Read.
    И переменные DWORD/FLOAT следует выравнивать по четным регистрам. См. пример.

    Для теста задавал PSW404=2.5 и c=2.
    Результат корректный.
    Вложения Вложения

  8. #8

    По умолчанию

    Цитата Сообщение от Евгений Кислов Посмотреть сообщение
    Я так понимаю, вам нужен не Write, а Read.
    И переменные DWORD/FLOAT следует выравнивать по четным регистрам. См. пример.

    Для теста задавал PSW404=2.5 и c=2.
    Результат корректный.
    Спасибо, с этим разобрался ,но видать неправильно объяснил суть, так как сам сначала не понял,
    проблема с регистрами PSW подкрепленными к рецептам.

    С уважением, Александр.

  9. #9

    По умолчанию

    Vansanches, не совсем понимаю, зачем Вам заморачиваться с float?
    Если, например, после запятой 2 знака и переменные умноженные на 100 влезают в формат Word, то и работайте с целыми Word = float * 100.
    В элементах экрана использовать Масштабирование и Дробную часть, по обстоятельствам.

  10. #10

    По умолчанию

    Цитата Сообщение от vniko Посмотреть сообщение
    Vansanches, не совсем понимаю, зачем Вам заморачиваться с float?
    Если, например, после запятой 2 знака и переменные умноженные на 100 влезают в формат Word, то и работайте с целыми Word = float * 100.
    В элементах экрана использовать Масштабирование и Дробную часть, по обстоятельствам.
    Доброе утро, спасибо, я уже учел этот момент , все настроилось,

    С уважением, Александр.

Страница 84 из 378 ПерваяПервая ... 3474828384858694134184 ... ПоследняяПоследняя

Похожие темы

  1. Ответов: 30
    Последнее сообщение: 24.08.2021, 16:17
  2. Индикатор ИП120 , вопросы- ответы
    от rovki в разделе Программируемые реле
    Ответов: 56
    Последнее сообщение: 03.11.2017, 15:58
  3. Сенсорные панели оператора ОВЕН СП3ХХ
    от Боднар Олег Миколайович в разделе Подбор Оборудования
    Ответов: 7
    Последнее сообщение: 17.12.2015, 09:09
  4. СПК 107 в качестве панели оператора
    от Леонид в разделе СПК1xx (архив)
    Ответов: 15
    Последнее сообщение: 20.11.2015, 08:17

Ваши права

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