Показано с 1 по 5 из 5

Тема: Float+float

  1. #1

    По умолчанию Float+float

    Добрый день! вот такая задача:
    в панели СП307
    в PSW340 и PSW341 лежит число a (float)
    в PSW350 и PSW351 лежит число b (float)
    нужно в PSW360 и PSW361 положить число с (float)
    по такой формуле с= (а*0,85)-b

    при условии, что в PSW340, PSW350 лежит старший регистр.


    Просьба подсказать/написать текст макроса
    и еще как написать такой макрос, если
    в PSW340, PSW350 лежит младший регистр.
    (из руководства пользователя не удалось самому написать)

  2. #2
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от CFC-ST Посмотреть сообщение
    Добрый день! вот такая задача:
    в панели СП307
    в PSW340 и PSW341 лежит число a (float)
    в PSW350 и PSW351 лежит число b (float)
    нужно в PSW360 и PSW361 положить число с (float)
    по такой формуле с= (а*0,85)-b

    при условии, что в PSW340, PSW350 лежит старший регистр.


    Просьба подсказать/написать текст макроса
    и еще как написать такой макрос, если
    в PSW340, PSW350 лежит младший регистр.
    (из руководства пользователя не удалось самому написать)
    Не нарушайте порядок вещей, старший и младший регистр для float всегда должны лежать так
    Захват-1a.png Захват-2.png Захват-3.png

    Захват-1.png
    Код:
    float a = *(float*)(PSW+340);
    float b = *(float*)(PSW+350);
    float c;
    c= (a * 0.85) - b;
    *(float*)(PSW+360) = c;
    Последний раз редактировалось petera; 07.08.2019 в 14:03.
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  3. #3

    По умолчанию

    спасибо.
    у меня СП307 мастер, а slave сторонее устройство (не ОВЕН)
    и при этом в настройках проекта стоит галочка "изменить порядок регистров".
    Так вот получаю с помощью макроса данные я меняю порядок регистров (иначе данные нормально не индицируются на панели)
    поэтому мне и надо было из чисел "задом на перед" получать сумму.
    теперь я эти числа разверну и сложу так как вы рекомендовали
    спасибо

  4. #4
    Пользователь Аватар для petera
    Регистрация
    06.05.2011
    Адрес
    Минск
    Сообщений
    3,825

    По умолчанию

    Цитата Сообщение от CFC-ST Посмотреть сообщение
    спасибо.
    у меня СП307 мастер, а slave сторонее устройство (не ОВЕН)
    и при этом в настройках проекта стоит галочка "изменить порядок регистров".
    Так вот получаю с помощью макроса данные я меняю порядок регистров (иначе данные нормально не индицируются на панели)
    поэтому мне и надо было из чисел "задом на перед" получать сумму.
    теперь я эти числа разверну и сложу так как вы рекомендовали
    спасибо
    А не проще ли убрать галочку "изменить порядок регистров", чтобы числа были не задом на перёд ?
    Мой канал на ютубе
    https://www.youtube.com/c/ПетрАртюков
    Библиотека ГМ для СП300
    https://disk.yandex.com/d/gHLMhLi8x1_HBg

  5. #5

    По умолчанию

    я так пробовал, НО
    у меня еще обмен с ПР200 и вот
    для ПР200 надо чтобы галочка была
    иначе правильно числа с плавающей запятой из/в ПР200 в/из СП307 не передаются ( у меня)

Похожие темы

  1. Как Float 32 разложить на 2 int 16
    от Serrk в разделе Мх110
    Ответов: 6
    Последнее сообщение: 22.09.2019, 05:54
  2. float PIC
    от f-kons в разделе ПЛК1хх
    Ответов: 6
    Последнее сообщение: 25.02.2016, 12:33
  3. Преобразовать HEX в Float
    от serezha в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 15.12.2014, 09:56
  4. Переход от float (Nullable) к просто float
    от ASo в разделе Master SCADA 3
    Ответов: 1
    Последнее сообщение: 12.11.2014, 14:21
  5. Точность FLOAT !!!
    от Cherns в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 07.07.2008, 19:05

Ваши права

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