Terring Modbus Tools Инструкция

Posted By admin On 22.07.19

Появилась необходимость создать Slave устройство AVR с протоколом Modbus. Исходники модуля с сайта. Создал проект в AVR Studio 4.18, скомпилировал. Создал проект в протеусе. Понимаю, что нужно посылать в МК команду, по которой выдается результат. ТОлько как это грамотно сделать, используя функции Freemodbus? Есть функция eMBASCIISend( UCHAR ucSlaveAddress, const UCHAR.

  1. Tearing Modbus Tools Инструкция
  2. Terring Modbus Tools Инструкция На Русском

Итак отвечу сам себе (как обычно), может кому интересно будет: Terring Modbus Tools. ИМХО режим ASCII попроще будет и нагляднее, и не надо эти интервалы считать и стартовый есть для отладки хорошая прога Terring modbus tools исходники.Missing.

pucFrame, USHORT usLength ). С помощью нее пробовал кидать элементы массива на выход. Терминал в Proteus пишет что-то типа:03F304. Понимаю, что надо сделать по-другому. Вопрос - в какой поседовательности какие функии вызывать и что им передавать? Похоже, несовместимость. Нашел Modbus Poll, разобрался как она работает, связался с микроконтроллером.

Инструкция

Tearing Modbus Tools Инструкция

Tools

Косяк в том, что я не понимаю пока что как работать с регистрами модбаса на самом микроконтроллере. Например, использую функцию 06 - Write Single Register. Пишу, к примеру, в 1200 регистр с помощью Modbus Poll, приходит ответ что данные записались. А как их забрать из регистра в микроконтроллере?

Я так понял, надо использовать eMBRegHoldingCB( UCHAR. pucRegBuffer, USHORT usAddress, USHORT usNRegs, eMBRegisterMode eMode )? Можете пояснить? Правильно люди советуют: если связываться с уже готовыми устройствами, то все их 'регистры' описаны в мануалке на устройство.

А если дивайс на МК собственного производства, и программа на РС к нему тоже собственная, то можно взять только оболочку, каркас от Модбаса и наполнить его такими командами и в таких форматах, как самому удобно. Пересылать, например, не один какой-то 'регистр', а целый блок параметров.

У меня была в практике необходимость выполнить быстрый, но устойчивый обмен. Как бы сделал по 'букварю'? Запрос - ответ - подсчет CRC - фиксируется ошибка - перезапрос. А время т`икает. Сделал в пакете тройное дублирование инфы с внутренней КС.

Если CRC битая, не заморачиваем себе бошку перезапросом, а смотрим, есть ли в принятой тройке совпадающая пара, да еще с правильной КС. Есть - значит приняли и исправили ошибку. Чуть более сложная обработка позволяла исправить и двойную ошибку. Работало без вопросов. Но если ожидаете инспекцию со Schneider-electric на предмет соответствия вашего протокола букварю - тогда я пас и ничего не советовал. Мне не понятно, где именно хранятся эти Holding регистры в самом МК.

Terring Modbus Tools Инструкция На Русском

В МК есть просто ОЗУ. Некоторый объём. Как вы эти ячейки назовёте при разработке программы, такими они и будут.

Все эти Holding Registers - это некий уровень абстракции, и к конкретному МК не имеет отношения. Выделяется некая область памяти и отмечам - это регистры. И занимаемся обработкой сами программно.

Судя по всему, вы очень далеки от понимания сути. Это вам не дельфи, где программу можно написать одной мышкой.

Как я уже говорил, без brain.dll вы не решите задачу. Ищите специалиста. Мне не понятно, где именно хранятся эти Holding регистры в самом МК.

В МК есть просто ОЗУ. Некоторый объём. Как вы эти ячейки назовёте при разработке программы, такими они и будут. Все эти Holding Registers - это некий уровень абстракции, и к конкретному МК не имеет отношения.

Выделяется некая область памяти и отмечам - это регистры. И занимаемся обработкой сами программно. Судя по всему, вы очень далеки от понимания сути. Это вам не дельфи, где программу можно написать одной мышкой. Как я уже говорил, без brain.dll вы не решите задачу. Ищите специалиста.

Я понимаю смысл ОЗУ, Holding Registers и т.п. Я не понимаю некоторых деталей, но я только учусь.

Я обращаюсь к тем,кто пользовалмя freemodbus. Мне нужно как-то вытащить данные из холдинг регистра, и грубо говоря, к примеру, выдать их на порт микроконтроллера. Я понимаю, что те же самые холдинги висят где-то в ОЗУ, я с компьютера связываюсь с МК, кидаю в них данные, забираю. Но мне хочется для начала, к примеру, отправить в 1201 холдинг регистр и зажечь светодиод на выходе. Если бы мне предоставили пример такого взаимодействия, я бы разобрался и решил бы любую задачу.