Стартовая страница › Форумы › Понять, как работает ПО › Шестнадцатиричный формат
- В этой теме 37 ответов, 4 участника, последнее обновление 1 год, 2 месяца назад сделано
Mikhail.
-
АвторСообщения
-
12.04.2024 в 18:57 #32137
Z_h_e
УчастникВсем доброго времени суток.
Хотел выводить 8ми байтное число в таблицу в 16ом формате. Но выводится странно, если число больше 0x80000000, то всегда отображается 0x80000000, если меньше или равно, то правильно.
Собственно для 4хбатного тоже самое. То есть получается, лимит по верху — это половина 4хбайтного числа.
Формат в канале выбирал просто 16ричный и 16риыный 8 цифр, разницы не увидел.
Не понимаю что за ограничение.
Rapid v6.212.04.2024 в 22:20 #32138JurasskPark
Участникprivate void Parse() { double dblVariable = 3000000000; string strVariable = Base16(dblVariable, 0); MessageBox.Show(strVariable); }
private static string Base16(double number, int fractionalDigits) { return Base(number, fractionalDigits, new char[]{ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }); }
12.04.2024 в 22:26 #32139JurasskPark
Участник12.04.2024 в 22:28 #32140JurasskPark
УчастникМожет поможет при написании скрипта.
P.S. Может я когда-нибудь тоже научусь их писать.
13.04.2024 в 06:18 #32141Z_h_e
УчастникНу да, это конечно повод поработать со строками, как новичок ещё не пробовал в Рапиде.
Однако странная работа уже встроенных методов.13.04.2024 в 07:46 #32142JurasskPark
УчастникА какой встроеный и как вы используете?
13.04.2024 в 07:51 #32143Z_h_e
УчастникВ канале выбрал шестнадцатеричный формат и смотрю данные в таблице.
13.04.2024 в 10:29 #32144manjey73
Участникформулы в Scada должны быть public
Сам вчера вставлял из 5-й версии скрипт, было просто double bla-bla-bla и сервер не запустился, выдав ошибку.Ну еще момент, в ScadaUtils вроде есть функционал работы со строками, правда не пробовал использовать с скриптах, но вероятно можно
0x80000000 — это уже отрицательное число, может по этому затык ?
13.04.2024 в 10:33 #32145Z_h_e
УчастникНе знаю в чем затык, но сначала я пробовал 8ми байтное число и в любом случае в карте моббас у меня стоит безнаковое число. Вечером перепроверю.
13.04.2024 в 10:37 #32146Z_h_e
УчастникМне видится, в первом приближении, что сделать свой скрипт преобразования в шестнадцатеричную строку проблем не должно быть. Но мне кажется это неправильный подход. Надо разобраться или я «не умею готовить» или есть какие-то ограничения.
13.04.2024 в 11:28 #32147manjey73
УчастникВозможно ограничение, я вроде тоже попадал на это 0х8….
Не помню уже результата.
Кроме формата ещё посмотрите тип данных, там надо указать HEXЕсли пустая строка, то по умолчанию Double.
Но может слететь привязка канала.-
Этот ответ был изменен 1 год, 2 месяца назад от
manjey73.
13.04.2024 в 11:30 #32149Z_h_e
УчастникТип данных точно не указывал, попробую и отпишусь.
13.04.2024 в 12:54 #32150JurasskPark
УчастникМожно глупый вопрос? Только сильно ногами не пинайте. Я с формулами, вообще от слова совсем не имел дело.
Я сделал формулу, передал, Сервер упал.
Я очищал CalcEngine.cs в папке Log, запускал exe, он всё равно откуда-то выкачивал файл CalcEngine.cs и снова падал… Откуда и как я не понял.
Ну вопрос не про это.
Я правильно понял, что если в формуле ошибка и ты передал его на сервер, то она падает и не поднимается, пока формулу не удалишь или не поправишь?13.04.2024 в 12:57 #32151Z_h_e
УчастникЕсли хотя бы одна из формул содержит ошибку, работа Сервера невозможна. Информация об ошибках в формулах выводится в журнал приложения.
13.04.2024 в 13:00 #32152JurasskPark
УчастникСпасибо! Короче, писать формулы на рабочем сервере — нельзя. )
Ясненько — понятненько! -
Этот ответ был изменен 1 год, 2 месяца назад от
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.