PDA

Просмотр полной версии : CoDeSys and OPС Server



moon-guest
16.07.2010, 18:38
Использую в связке CoDeSys и OPС всё работает нормально. Но когда в скаде удалённо из сети ищу на компьютере OPC то его не оказывается. Получается что OPC идущий с CoDeSys локальный????:confused:

Gans
17.07.2010, 08:14
Здравствуйте
ОРС-сервер от CoDeSys позволяет раздавать данные на несколько компьютеров в сети. Вот основные этапы настройки:
1. настраиваем на одном компьютере подключение и убеждаемся что всё работает.
2. идём на соседний компьютер и там запускаем программку (из пакета CoDeSys) «CoDeSys OPC Configurator».
3. Тут настраиваем подключение к контроллеру. Только делаем это не напрямую к контроллеру, а через уже настроенный компьютер (см. пункт 1)
4. При настройке соединения в окне «Communication Parameters» жмём кнопку «Gateway ...» В выпадающем меню «Connection» выбираем «Tcp/Ip». Далее в выпадающем меню «Address» указываем IP-адрес компьютера который уже работает с контроллером.

Далее все аналогично как при настройке одного компа :-)

EFrol
22.07.2010, 09:08
Программа долгое время нормально работала через OPC-сервер CoDeSys, используя символьные имена глобальных переменных. Вдруг OPC-сервер на передаваемые имена стал отвечать: Methof '~' of object '~' failed. Где рыть?!

EFrol
22.07.2010, 09:51
Как правильно расшифровать данный лог файл ?

##INSPECTOR-LOG-FILE##

##SECTION:HEADER##

Instance=Owen
Driver=Tcp/Ip (Level 2)
Address=192.168.50.92;IP address or hostname
Port=1200
Blocksize=128;Must match with runtime
Motorola byteorder=No
Project=Protocol
Channel=1
Created=2010-07-22 09:25:17.140
Client=Local #0

##SECTION:TRACE##

##NEW DATE: 2010-07-22##


##NEW SYMBOLS 'C:\WINDOWS\Gateway Files\Protocol.sdb' (Version = 1, Identity = 107323, Symbols = 114): 09:25:17.156##


##SECTION:SUMMARY##

Terminated=2010-07-22 09:25:17.656
Quality=0%
Total=3
Failed=3
µs per read=Unknown


Вроде все правильно?!
Почему сервер завершает свою работу и что означает последняя строчка?

Gans
22.07.2010, 09:54
надеюсь у вас есть рядом резервный компьютер и надо посмотреть как переменные будут выглядеть на другом компьютере. конечно надо времено настроить прямое подключение к контроллеру. когда компьютер кривеет и не такое увидишь :-)

EFrol
22.07.2010, 14:42
Проблема решилась, когда в настройках Gateway вместо Local поставили Tcp\Ip c адресом localhost. Как это могло повлиять?!

iRET
30.07.2010, 12:31
1. настраиваем на одном компьютере подключение и убеждаемся что всё работает.
2. идём на соседний компьютер и там запускаем программку (из пакета CoDeSys) «CoDeSys OPC Configurator».
3. Тут настраиваем подключение к контроллеру. Только делаем это не напрямую к контроллеру, а через уже настроенный компьютер (см. пункт 1)
Долго бился по этому алгоритму - По отдельности запущенные программы работали через один Getway, а одновременно на двух компьютерах - ни в какую.

В итоге сделал по другому. На ОДНОМ компьютере настраиваю ОPC Server
а на втором даже не ставлю CodeSys а в подключении к OPC указываю имя (или ip) первого компьютера и подключаюсь к первому OPC Server-у.

По первому алгоритму будет работать 2 OPC сервера на каждом компьютере с одним контроллером (хотя второй и будет обращаться через шлюз) - следовательно у каждого сервера свое пространство имен и переменных.
По второму алгоритму работает один OPC сервер к которому подключается 2 клиента
=> у клиентов общие переменные, одновременная реакция первого клиента на действия второго.

из сети ищу на компьютере OPC то его не оказывается
IMHO вы пошли по правильному пути. Должен быть OPC виден, попробуйте отключить брандмауэр.

iRET
17.08.2010, 09:37
Значит так
OPC работает через DCOM , естественно у вас он должен быть правильно настроен.
Так как я проводил все эксперименты у себя в домене с правами администратор, меня естественно всегда и везде пускали, кода перешел на одноранговую сеть клиента, то пришлось все начинать скачало.
1. обязательно заведите учетную запись с паролем!!! на клиенте и на сервер, поставьте пароль бессрочный.
2. настройте права на DCOM и на OPC в панели управлении, администрирование, службы компонентов.
Подробно, как это сделать можно найти в яндексе по ключевым словам "настройка dcom для opc"

если нужно запускать клиента и сервер без автоматически запроса пароля, то просто вставьте ветку в реестр с вашим именем пользователя и паролем.

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"DefaultDomainName"=""
"DefaultUserName"="Владелец"
"AltDefaultUserName"="Владелец"
"AltDefaultDomainName"=""
"AutoAdminLogon"="1"
"DefaultPassword"="123"