Просмотр полной версии : Передача данных по RS-485
Flomaster
20.06.2008, 07:53
Подскажите, пожалуйста, как передать по сети RS-485 (протокол Modbus RTU) отрицательное значение типа REAL или WORD?
Как передать положительный REAL - понятно. На форуме нашел информацию, что нужно передавать число, приведенное к WORD путем умножения на 10 в степени количества знаков после запятой.
А вот как указать, что число отрицательное? Ведь WORD - это положительные значения...
Сергей71
20.06.2008, 08:42
определи переменную как 'data AT%... :INT' .
Flomaster
22.06.2008, 07:17
Как в Modbus Slave переменную определить таким образом, если она автоматически имеет тип WORD?
Сергей71
23.06.2008, 09:13
Определить в разделе глобальных переменных и указать адрес переменной через АТ%... :INT - адрес указан в конфигураторе.
После работаешь с ней.
Flomaster
02.07.2008, 01:02
К сожалению, предложенный способ не дал результатов. Когда я пытаюсь записать в регистр, например, -10, в него записывается целое число. Точно не помню, но что-то вроде 65494. Я так понимаю, что оно обозначает какую-то ошибку. Как быть?
Филоненко Владислав
02.07.2008, 07:41
Учите матчасть. Отрицательные числа кодируются в компьютерной технике как дополнение, т.е. для кодирования числа -10 надо записать такое число, к-е бы при сложении с +10 дало бы результате 0. Так что всё у Вас правильно отображается. Если известно, что число со знаком, то старший бит - знак, т.е. если ==1, то число отрицательное
Сергей71
02.07.2008, 07:43
Правильно.....
Ты определи переменную как глобальную и с ней работай.
Aleksandr
21.01.2009, 20:57
Помогите, пожалуйста! В сети, состоящей из МВА8 и ПЛК150, необходимо передать состояния дискретных и аналоговых входов в сеть MODBUS. В дальнейшем эти данные будут переданы в SCADA систему. Очень прошу выложить пример с описанием (для одного входа) передачи переменных в сеть., большое спасибо
Николаев Андрей
21.01.2009, 22:39
Дык есть все примеры уже на форуме...
http://www.owen.ru/forum/showthread.php?t=551
Aleksandr
21.01.2009, 23:16
Спасибо, Андрей! Разобрался как подключить МВа8. Но так и не понял как сделать чтобы SCADA увидела переменные в сети.
Правильно ли я понимаю, что для простой передачи состояния входов по сети необходимо только правильно подключить модуль МВА и задать переменные (которые необходимо опрашивать)?
Николаев Андрей
22.01.2009, 09:42
А со скадой это уже совершенно второй вопрос...
Как вы с ней связываетесь, по какому интерфейсу...
Проще всего взять незадействованный в других обменах интерфейс и связываться через контроллер (ПЛК будет шлюзом), например по Ethernet.
Для этого никаких ModBus или чего еще заводить не надо. Надо просто настроить OPC сервер. Инструкция там же на сайте и на диске, который шел с контроллером.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot