Показать сообщение отдельно
Старый 07.03.2012, 11:19   #26
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Связь с частотниками Vacon и MicroDrive

Цитата:
Сообщение от vampiryok
спасибо за поправку, но дело гораздо глубже. В segnetics действительно integer занимает 2байта, long 4байта. А вот Lectus же понимает под integer 4байта, под smal integer 2байта, short integer 1байт, big integer аж 8байт.

вот и получается что для чтения long(у segnetics) надо использовать Integer(у Lectus) по 4 байта
Не в ту сторону вы смотрите. Дело действительно глубже, но не по этой причине.

Integer - это целое число принятой в платформе разрядности. У семейства AVR это 16 бит. У компа у вас на столе это 32 бита для 32-разрядных платформ и 64 бита для 64-разрядных. Вы этих "программистских штучек" не знаете, поэтому и путаетесь.

Префикс Long/Small - это указание на конкретную величину.


Цитата:
Сообщение от vampiryok
по поводу того что регистры по 2 байта проверю на досуге
Что тут проверять, в стандарте modbus это явно задано. И именно его нужно читать как первоисточник.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Arsie, 07.03.2012 в 13:29
Arsie вне форума   Ответить с цитированием