Вход

Просмотр полной версии : Вопрос есть о подключении контроллеров по Ethernet



mettled
03.06.2008, 11:29
Есть 2 контроллера которые подключены через свич между собой и к компу. передача информации по протоколу мадбас. На одном контроллере в конфигураторе добавляю мадбас мастер+универсальное устройство, настраиваю TCP(адрес подчиненного устройство и интерфес обмена) и добавляю регистр оутпут(в его свойствах выставляю номер регистра , он по умолчанию стоит 0 и команду 0х06). на втором контроллере добавляю мадбас слэйв и добавляю регист для чтения информации от мастера.
Выскакивает постоянно ошибка 85.
В чем может быть причина данного безобразия ?
скриншоты думаю нет смысла выклдывать, т.к. все описал подробно

Kirill
03.06.2008, 14:23
Выскакивает постоянно ошибка 85.
В чем может быть причина данного безобразия ?



В этой системе какова роль компьютера? он слэйв или мастер? он работает по модбасу также?

mettled
03.06.2008, 16:14
ну как вам сказать ... что бы залить программу в контроллер должен быть подключен комп к контроллеру с программой и с скодесис... вот такую функцию он и выпоняет ..

Филоненко Владислав
03.06.2008, 20:03
Ошибка сообщает, что при попытке инициализировать сокет произошла ошибка. Причины:
Неправильно настроены адреса или порты.
Исчерпаны свободные сокеты в системе.
Не установлено соединение с серверной стороной (ModBus Slave) - проверьте правильность настроек.
И проекты в студию, гадать сложно.

mettled
04.06.2008, 08:38
Извиняюсь за беспокойство. Нашел ошибку. Допустил из-за собственной невнимательности.
Хотя возник еще вопрос один. Мне нужно отправить строку на мадбасу...
насколько я понимаю в мадбас слэйв нету такого элемента как строка(там есть байт, 2байта, 4байста и флоат)... т.е. отправить ее средствами конфигуратора невозможно ??

незарегистрированный
04.06.2008, 09:42
Извиняюсь за беспокойство. Нашел ошибку. Допустил из-за собственной невнимательности.
Хотя возник еще вопрос один. Мне нужно отправить строку на мадбасу...
насколько я понимаю в мадбас слэйв нету такого элемента как строка(там есть байт, 2байта, 4байста и флоат)... т.е. отправить ее средствами конфигуратора невозможно ??

Возможно, в Мастере есть чтение/запись строк, а в slave просто вставить нужное количество регистров.
Т.к. память в slave выделяется непрерывно, но можно работать с группой регистров как со с строкой, используя указатель вида:

pstring : POINTER TO STRING;

pstring:=ADR(ИМЯ ПЕРВОГО РЕГИСТРА АССОЦИИРОВАННОГО СО СТРОКОЙ);