Просмотр полной версии : universal modbus divece и int16
Здравствуйте! Нужна помощь! У меня ПЛК110 и CPU9440 с модулями AI, связанными по RS485 modbus. Необходимо прочитать переменные из устройства по modbus типа int16. В конфигураторе ПЛК - universal modbus divece варианты только word ( registr input modul) - 16 bit или real (real input modul) - 32 bit. Если читать word и потом преобразовать в int , то как быть с отрицательными значениями температуры? Извините, если на форуме плохо искал, у меня от немецких Даташитов голова распухла...
_Mikhail
12.09.2016, 16:48
используй registr input modul. возможно ничего преобразовывать не придется
http://www.owen.ru/forum/showthread.php?t=25043&p=218520&viewfull=1#post218520
Спасибо, на железе завтра испробую. Просто мне немец написал, что температура, например -17 ºС передается как -170 в формате int16, вот я и завис... так как registr input modul тип данных word, а это от 0 до 65535, тогда как int16 от -32768 до 32767.
Читай как word, а потом преобразуй в int и все будет нормально.
В программе не забудете преобразовать word в int.
P.S. Вольд уже опередил. )
Спасибо! Уже прописал всё, остался вердикт железяки:)!
P.S. Завтра после опытов отпишусь.
-17 ºС передается как -170 в формате int16
Кстати, в таком формате обычно передают данные если в значении есть десятые. Есть смысл, перед тем как делить полученное значение на 10, ещё раз преобразовать int но уже в real.
Читай как word, а потом преобразуй в int и все будет нормально.
В программе не забудете преобразовать word в int.
P.S. Вольд уже опередил. )
Ничего в программе преобразовывать не надо, и так все правильно работать будет
Из-за неявного преобразования типов, результаты арифметических операций и операции присваивания, с использованием WORD в правой части выражений вместо INT, получаются правильными без дополнительных телодвижений
http://www.owen.ru/forum/showthread.php?t=8604&page=87&p=182771&viewfull=1#post182771
http://www.owen.ru/forum/showthread.php?t=25043&p=218520&viewfull=1#post218520
Большое спасибо!! Разобрался, но в программе оставил преобразование, главное работает! Программа лёгкая, пусть крутится:)
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot