1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

wincc нежелательное округление при делении

Модератор: Глоб.модераторы

Ответить
Аватара пользователя

Автор темы
archisp
здесь недавно
здесь недавно
Сообщения: 71
Зарегистрирован: 29 июн 2011, 21:18
Имя: Артур

wincc нежелательное округление при делении

Сообщение archisp »

При делении, в результате которого получается дробное число (с плавающей точкой), wincc округляет результат до целого числа. Поучается, что любой результат меньший единицы или немного больший, округляется до нуля.. Что сделать, чтобы результат не округлялся до целго числа?

Василий Иванович
авторитет
авторитет
Сообщения: 878
Зарегистрирован: 21 авг 2009, 14:25
Имя: Василий Иванович
Благодарил (а): 1 раз
Поблагодарили: 3 раза

Re: wincc нежелательное округление при делении

Сообщение Василий Иванович »

Кодярник - в студию!

diden
здесь недавно
здесь недавно
Сообщения: 34
Зарегистрирован: 07 окт 2011, 12:19
Имя: Диденко Артем Алексеевич
Страна: Украина
город/регион: Донецк

Re: wincc нежелательное округление при делении

Сообщение diden »

может поставить другой тега? G32 32-х битовое число с плавающей запятой IEEE 754 или
G64 64-х битовое число с плавающей запятой IEEE 754 в плксим вводить REAL

Sergeyvmm
осмотрелся
осмотрелся
Сообщения: 128
Зарегистрирован: 12 авг 2010, 01:49
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 11 раз

Re: wincc нежелательное округление при делении

Сообщение Sergeyvmm »

Василий Иванович прав. Исходник в студию или не считается! Но на самом деле, учитывая количество тем от топикстартера, я бы рекомендовал ему (топик стартеру) повнимательнее поработать с документацией на WinCC. Доки вполне неплохие и на большую часть вопросов можно было бы найти там ответы.
Правильно поставленная задача – уже наполовину решенная

Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 22:14
Имя: Кузнецов Владимир Сергеевич
Страна: Россия
город/регион: Казань
Поблагодарили: 1 раз

Re: wincc нежелательное округление при делении

Сообщение Владимир Кузнецов »

Скорее всего, где то по пути сохраняется в целочисленную переменную.
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1467
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 46 раз
Поблагодарили: 105 раз

Re: wincc нежелательное округление при делении

Сообщение CHANt »

Sergeyvmm писал(а):Василий Иванович прав. Исходник в студию или не считается! Но на самом деле, учитывая количество тем от топикстартера, я бы рекомендовал ему (топик стартеру) повнимательнее поработать с документацией на WinCC. Доки вполне неплохие и на большую часть вопросов можно было бы найти там ответы.
Поддерживаю. Если задаться целью, то можно не только документацию но и курсы по WinCC найти на ресурсах, и хотя бы с ними поработать, а не экспериментировать на работающем производстве.
--------------------------------------------------------------------------------------------
Аватара пользователя

Автор темы
archisp
здесь недавно
здесь недавно
Сообщения: 71
Зарегистрирован: 29 июн 2011, 21:18
Имя: Артур

Re: wincc нежелательное округление при делении

Сообщение archisp »

Рассказываю)) Имеются аналоговые величины (32-х битовое число с плавающей запятой IEEE 754), провожу такую манипуляцию с ними:

Код: Выделить всё

SetTagDWord("Result",(GetTagDWord("analog_1")-1)/(GetTagDWord("analog_2")-1)); 
return 0;
в результате получаю округленное число. пробовал менять тип на 64-х битовое число с плавающей запятой IEEE 754; пробовал использовать другие функции, разницы нет.

А по поводу документации, конечно, я ее почитал, которая имеется, но если не заниматься практикой, то и вряд ли будет толк от теории. Курсы - это, безусловно, хорошо, но в нашей организации это проблематично. Поэтому приходится заниматься саморазвитием, за советы искренне благодарен!
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1467
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 46 раз
Поблагодарили: 105 раз

Re: wincc нежелательное округление при делении

Сообщение CHANt »

archisp писал(а): А по поводу документации, конечно, я ее почитал, которая имеется, но если не заниматься практикой, то и вряд ли будет толк от теории. Курсы - это, безусловно, хорошо, но в нашей организации это проблематично. Поэтому приходится заниматься саморазвитием, за советы искренне благодарен!
Документация по Си это не теория :D Курсы, для самообразования, если уж у Вас такие жадные начальники, можно скачать отсюда - http://curswincc.narod.ru/ .

В процедуре записи SetTag и чтения GetTag у Вас какой тип переменной стоит? DWord? А что должно стоять? float
--------------------------------------------------------------------------------------------

Sergeyvmm
осмотрелся
осмотрелся
Сообщения: 128
Зарегистрирован: 12 авг 2010, 01:49
Имя: Сергей
Благодарил (а): 2 раза
Поблагодарили: 11 раз

Re: wincc нежелательное округление при делении

Сообщение Sergeyvmm »

В процедуре записи SetTag и чтения GetTag у Вас какой тип переменной стоит? Word (2 байта)? А что должно стоять?
И ведь в другой теме ему уже показали, как надо ;)
Правильно поставленная задача – уже наполовину решенная
Аватара пользователя

CHANt
эксперт
эксперт
Сообщения: 1467
Зарегистрирован: 25 июл 2008, 10:25
Имя: Эдуард Владимирович
Страна: СССР
город/регион: Оренбург
Благодарил (а): 46 раз
Поблагодарили: 105 раз

Re: wincc нежелательное округление при делении

Сообщение CHANt »

Значит не разобрался :(
--------------------------------------------------------------------------------------------

Владимир Кузнецов
не первый раз у нас
не первый раз у нас
Сообщения: 321
Зарегистрирован: 31 авг 2011, 22:14
Имя: Кузнецов Владимир Сергеевич
Страна: Россия
город/регион: Казань
Поблагодарили: 1 раз

Re: wincc нежелательное округление при делении

Сообщение Владимир Кузнецов »

Думаю тут стоит начать с книги "Чарльз Петцольд: Код. Тайный язык информатики"
http://www.proklondike.com/books/thproc ... _code.html
Аватара пользователя

Автор темы
archisp
здесь недавно
здесь недавно
Сообщения: 71
Зарегистрирован: 29 июн 2011, 21:18
Имя: Артур

Re: wincc нежелательное округление при делении

Сообщение archisp »

признаю, разобрался не до конца )))) но приятно, что есть кому подсказать! спасибо вам!!! буду дальше разбираться...
Ответить

Вернуться в «WinCC»