Цитата:
Сообщение от
capzap
теперь понял, ну это тоже как бы просто, делите общую область в плк на регистры только для чтения и за ними уже с другими адресами холды, а мастер соответствующими функциями, только по разным адресам обращается к Вашему слейву.
Как бы встречаются слейвы, у которых строго "зашиты" определенные данные по определенным адресам, но чтоб слейвы под мастера "затачивать" это уже перебор, так что ни чего страшного не произойдет, если в овеновском плк Вы создаете слейв с общей памятью для различных типов памяти, на разделяемых устройствах будет тратится столько же памяти под общее количество регистров, разница только в нумерации адресов
Тем более, что
Цитата:
К каким данным (перемненым) можно доступиться с помощью MODBUS?
MBAP определяет вобщем 4-ре зоны (области) данных (переменных):
- Discrete Inputs (начиная с 10001), или область дискретных входов (входных битов)
- Coils (начиная с 00001), или область дискретных выходов (выходных битов)
- Input Registers (начиная с 30001), или область входных регистров (аналоговых входов)
- Holding Registers (начиная с 40001), или область выходных регистров (аналоговых выходов)
Таким образом, согласно MODBUS можно прочитать значение входных регистров и битов, прочитать или записать значение выходных регистров и битов. Следует отметить, что эти зоны памяти были доступны в ранних контроллерах MODICON, для которых и был разработан протокол. В этих контроллерах непривязаные к физическим выходам выходные перемнные (Coils и Holding Registers) можно было использовать как внутренние.
НО: в разных реализациях MODBUS, эти зоны могут интерпритироваться по разному, это не запрещается стандартами MODBUS.ORG
ПО-ЭТОМУ: для каждого конкретного устройства в документации определено отображение областей переменных MODBUS на его область данных.
Иными словами стандарт не определяет, к каким именно данным в конкретном устройстве вы будете доступаться, обращаясь к одной из зон памяти, это будут определять правила отображения, придуманные ... разработчиком устройства.
Это цитата из