[?]: S200 Modbus...

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Netik
Posts: 24
Joined: Fri Mar 05, 2010 8:27 am

[?]: S200 Modbus...

Post by Netik »

Прошу помочь любой информацией по данному вопросу.
Дали задание на контроллере Simatic S200 реализовать на одном контроллере режим Modbus Master,
на втором контроллере тоже 200 серии Modbus Slave.
Цель - передать данные из одного контроллера в другой таким способом.
До этого имел опыт только с контроллерами 300 серии... Контроллер PPI как перевести в режим MODbus не знаю.

Буду благодарен любой информации и исходникам.
sania
Site Admin
Posts: 1387
Joined: Sat Aug 13, 2005 6:15 am

Re: S200 Modbus...

Post by sania »

Netik
Posts: 24
Joined: Fri Mar 05, 2010 8:27 am

Re: S200 Modbus...

Post by Netik »

Cпасибо, буду разбираться.
Netik
Posts: 24
Joined: Fri Mar 05, 2010 8:27 am

Re: [?]: S200 Modbus...

Post by Netik »

Подскажите. Я загрузил в контроллер S200 CPU226 в один проект мастера, во второй CPU226 Modbus slave.

Подкорректировал код чтоб иницилизировался Модбас не на порт 0, а на порт 1.
(наверное у меня контроллер с частично неисправным 0 портом). Где касается чтение байта SDB30 => замена на SDB130.
Сделал так потому, как два контроллера S200 в распоряжении, практически идиентичные CPU226, с разницей только в питании - один питается от 220 вольт, второй от DC 24. И если на одном я вижу контроллер через оба порта,
то на другом только через один. И как думаю, это не есть гут.

Теперь главный вопрос, так как необходим обмен данными необходимо написать кусочек тест использующий функции
процедур Модбас. (чтоб я смог прочесть установленные байты с устройства modbus Slave).

Как я понимаю на Slave я должен как-то обозначить область которая будет передаваться. Как это можно сделать?
Буду благодарен любой помощи в этом вопросе.
Netik
Posts: 24
Joined: Fri Mar 05, 2010 8:27 am

Re: [?]: S200 Modbus...

Post by Netik »

Дошел до того, что в Мастер контроллере прописал функцию записи регистров Modbus в Slave Modbus контроллер.

Инициализация блоков на Мастере дала ошибку четности. (в обоих я установил четный протокол).
В итоге чтоб такого не было, (от обратного ) в блоке инициализации прописал без четности. В обоих контроллерах.

Мониторинг состояния Slave устройства показал, что когда дается команда Modbus Master-ом на запись в Slave контроллер, это приводит к обнулению тех байтов которые используются в Slave устройстве как Hold Registers.

Не могу понять почему так происходит. Должна произойти запись байтов, а не обнуление.
Netik
Posts: 24
Joined: Fri Mar 05, 2010 8:27 am

Re: [?]: S200 Modbus...

Post by Netik »

Все работает... Пример модбаса крайне важно использовать с корректной библиотекой. Только в этом были грабли.