Использую в связке CoDeSys и OPС всё работает нормально. Но когда в скаде удалённо из сети ищу на компьютере OPC то его не оказывается. Получается что OPC идущий с CoDeSys локальный????:confused:
Вид для печати
Использую в связке CoDeSys и OPС всё работает нормально. Но когда в скаде удалённо из сети ищу на компьютере OPC то его не оказывается. Получается что OPC идущий с CoDeSys локальный????:confused:
Здравствуйте
ОРС-сервер от CoDeSys позволяет раздавать данные на несколько компьютеров в сети. Вот основные этапы настройки:
1. настраиваем на одном компьютере подключение и убеждаемся что всё работает.
2. идём на соседний компьютер и там запускаем программку (из пакета CoDeSys) «CoDeSys OPC Configurator».
3. Тут настраиваем подключение к контроллеру. Только делаем это не напрямую к контроллеру, а через уже настроенный компьютер (см. пункт 1)
4. При настройке соединения в окне «Communication Parameters» жмём кнопку «Gateway ...» В выпадающем меню «Connection» выбираем «Tcp/Ip». Далее в выпадающем меню «Address» указываем IP-адрес компьютера который уже работает с контроллером.
Далее все аналогично как при настройке одного компа :-)
Программа долгое время нормально работала через OPC-сервер CoDeSys, используя символьные имена глобальных переменных. Вдруг OPC-сервер на передаваемые имена стал отвечать: Methof '~' of object '~' failed. Где рыть?!
Как правильно расшифровать данный лог файл ?
##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
Вроде все правильно?!
Почему сервер завершает свою работу и что означает последняя строчка?
надеюсь у вас есть рядом резервный компьютер и надо посмотреть как переменные будут выглядеть на другом компьютере. конечно надо времено настроить прямое подключение к контроллеру. когда компьютер кривеет и не такое увидишь :-)
Проблема решилась, когда в настройках Gateway вместо Local поставили Tcp\Ip c адресом localhost. Как это могло повлиять?!
Долго бился по этому алгоритму - По отдельности запущенные программы работали через один Getway, а одновременно на двух компьютерах - ни в какую.Цитата:
1. настраиваем на одном компьютере подключение и убеждаемся что всё работает.
2. идём на соседний компьютер и там запускаем программку (из пакета CoDeSys) «CoDeSys OPC Configurator».
3. Тут настраиваем подключение к контроллеру. Только делаем это не напрямую к контроллеру, а через уже настроенный компьютер (см. пункт 1)
В итоге сделал по другому. На ОДНОМ компьютере настраиваю ОPC Server
а на втором даже не ставлю CodeSys а в подключении к OPC указываю имя (или ip) первого компьютера и подключаюсь к первому OPC Server-у.
По первому алгоритму будет работать 2 OPC сервера на каждом компьютере с одним контроллером (хотя второй и будет обращаться через шлюз) - следовательно у каждого сервера свое пространство имен и переменных.
По второму алгоритму работает один OPC сервер к которому подключается 2 клиента
=> у клиентов общие переменные, одновременная реакция первого клиента на действия второго.
IMHO вы пошли по правильному пути. Должен быть OPC виден, попробуйте отключить брандмауэр.Цитата:
из сети ищу на компьютере OPC то его не оказывается
Значит так
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"