Страница 1 из 1

Добавлено: 09 июл 2007, 12:49
Руслан
Контролер соединен с компьютером в сеть Ethernet c использованием платы Z-Eth. Компонент База-Клиент_0, расположенного в контролере WinDecont, настроен на вычитывание 50 дискрет из контроллера с периодом 0,5 сек. Компонент База-Клиент_1 настроен на запись тех же дискрет. Все работает. Стоит только пропасть связи между компьютером и контролером секунд на 10, так все перестает работать. Все примеры, поставляемые с ПО, сделаны так, что все дискреты либо настроены на чтение, либо на запись. Как обходить такую проблему, чтоб все продолжало работать и после временного пропадания сети?

Добавлено: 09 июл 2007, 14:55
Баев Владимир
Уточните следующее:
1. "Компонент База-Клиент_1 настроен на запись тех же дискретов". Значит ли это чтение и запись осуществляется для одного и того же диапазона Базы параметров. Если это так, то это неправильно, читать дискрет и писать в него же нельзя.
2. "Стоит только пропасть связи между ..., так все перестает работать." Что именно перестает работать.

Сразу скажу, раньше в ПО была ошибка при работе двух экземпряров Базы-клиент в WD-контроллере с одним и тем же сервером. Возможно она как-то проявляется. Тогда обновите наше базовое ПО или объедините 2 экземпляра компонента в один.

Добавлено: 09 июл 2007, 15:00
Руслан
1. Да, один диапазон настроен и на запись, и на чтение.
2. Перестает работать обмен. Ошибка 2819 - нет связи с источником данных

Но ведь до прекращения связи все работает нормально.

Добавлено: 09 июл 2007, 15:33
Баев Владимир
То что Вы производите чтение и запись для одного диапазона вообщето допустимо, хотя по логике скорее всего и не правильно.
Картина такая: при потере связи в Базе параметров WD-контроллера при чтении Базой-клиент_0 будет ошибка "нет связи с источником данных", ну вы ее в ответ и будете все время писать Базой-клиент_1. Если связь восстановится, Вы все равно так и будете писать вниз эту ошибку и читать ее же. Так будет происходить, если никто снизу не перебивает эти данные, т.е. если в этот диапазон пишет только База-клиент WD-контроллера.
Если вопрос остается, можете прислать нам свою конфигурацию.

Добавлено: 18 июл 2007, 13:27
Руслан
Баев Владимир писал(а):То что Вы производите чтение и запись для одного диапазона вообщето допустимо, хотя по логике скорее всего и не правильно.
Картина такая: при потере связи в Базе параметров WD-контроллера при чтении Базой-клиент_0 будет ошибка "нет связи с источником данных", ну вы ее в ответ и будете все время писать Базой-клиент_1. Если связь восстановится, Вы все равно так и будете писать вниз эту ошибку и читать ее же. Так будет происходить, если никто снизу не перебивает эти данные, т.е. если в этот диапазон пишет только База-клиент WD-контроллера.
Если вопрос остается, можете прислать нам свою конфигурацию.



Ничего неправильного в этом не вижу. Считаю, что это скорее вы недоучли такой вариант. Пока проблему, конечно же, обошли, ну а вообще ее бы исправить непосредственно в компоненте. Всего та и делов, при пропадании связи с контроллером в компоненте База-Клиент надо прописать, чтоб он посылал запрос на чтение всех значений, как это он делает при первом запуске.