PDA

Просмотр полной версии : вопрос по CoDeSys OPC



Карнаухов Дмитрий
08.02.2007, 15:04
Какие имена тегов нужно указывать в opc-клиенте?

Проблема в седующем: OPC-сервер сконфигурирован по инструкции и при запуске пишет в логе, что все ОК, 14 символьных имен загружено. На контроллере загорается зеленый светодиод (связь есть). В скаде (Indusoft 6.0) указываю сервер и привязываю к внутренним тегам имена с сервера такие, как они есть в CoDeSys. Статус соединения=1 это значит все в порядке. Но на каждый тег приходи item is invalid. Может кто знает, где ошибка/недоделка.

Малышев Олег
08.02.2007, 15:08
Попробуйте через бесплатный OPC клиент Matricon. Его можно скачать с matricon.com. Нужно точно сказать названия ошибки OPC_QULITY_????

Карнаухов Дмитрий
08.02.2007, 15:22
лог сеанса opc-сервера

================================================== ========================
Filter=0xffffffff
(08.02.2007, 16:55:54.187) Server 2.3.9.1 started
(08.02.2007, 16:55:54.187) UpdateRate[ms]=200, PublicGroups=0, SyncInit=1, LogEvents=1
(08.02.2007, 16:55:54.187) 1. Reconnect to <PLC1>
(08.02.2007, 16:55:54.187) [PLC1]: ::ConnectGateway(): m_ulGatewayChannels=1
(08.02.2007, 16:55:54.390) Gateway Version: 2.3.5.2
(08.02.2007, 16:55:54.421) <PLC1> Reconnect successful, ProjectName='owen100RLv2'
(08.02.2007, 16:55:54.421) Timeout[ms]=10000, BufferSize[B]=30, Waitime[s]=10, Reconnecttime[s]=15
(08.02.2007, 16:55:54.421) Motorola=0, NoLogin=0
(08.02.2007, 16:55:54.437) <PLC1> ProjectID matched, Project <owen100RLv2>: PLC=4003429, SYM=4003429
(08.02.2007, 16:55:54.437) <PLC1> 14 symbols loaded
(08.02.2007, 16:55:54.515) Client attached to server
(08.02.2007, 16:58:24.812) Client detached from server
(08.02.2007, 16:58:25.593) [PLC1]: ::DisconnectGateway(m_ulGateway=0): m_ulGatewayChannels=0
(08.02.2007, 16:58:25.906) Server shutdown performed
--------------------------------------------------------------------------
Result: Errors=0, Warnings=0, Infos=14
================================================== ========================

лог инспектора gateway server

##INSPECTOR-LOG-FILE##

##SECTION:HEADER##

Instance=Local_
Driver=Serial (RS232)
Port=COM1
Baudrate=115200
Parity=No
Stop bits=1
Motorola byteorder=No
Project=owen100RLv2
Channel=1
Created=2007-02-08 16:36:20.687
Client=Local #0

##SECTION:TRACE##

##NEW DATE: 2007-02-08##


##NEW SYMBOLS 'C:\WINDOWS\Gateway Files\owen100RLv2.sdb' (Version = 1, Identity = 4003429, Symbols = 14): 16:36:20.687##


##SECTION:SUMMARY##

Terminated=2007-02-08 16:36:34.203
Quality=100%
Total=23
Failed=0
µs per read=Unknown

попробую матрикон...

Карнаухов Дмитрий
08.02.2007, 16:56
А вот лог, который ведет скада. Здесь есть ошибка, но описания ее я еще не нашел.

OPCClient: Connected to CoDeSys.OPC.02 [] (using OPC Specification 2.0) [02/08/2007, 18:48:25.078ms]

OPCClient: Group 1, item 1 is invalid [02/08/2007, 18:48:25.078ms]

OPCClient: Group 1, item 2 is invalid [02/08/2007, 18:48:25.078ms]

OPCClient: Group 1, item 3 is invalid [02/08/2007, 18:48:25.078ms]

OPC Client => 3 Points! [02/08/2007, 18:48:25.078ms]

OPCClient:------------------------------- [02/08/2007, 18:48:25.109ms]

OPCClient: Error 80004005, refresh group 1 [02/08/2007, 18:48:25.109ms]

Open Screen:C:\Documents and Settings\User\Мои документы\InduSoft Web Studio v6.0 Projects\owen100rl\screen\Display2.scr [02/08/2007, 18:48:27.468ms]

OPCClient: Group 1, item 1 is invalid [02/08/2007, 18:48:27.484ms]

OPCClient: Group 1, item 2 is invalid [02/08/2007, 18:48:27.484ms]

OPCClient: Group 1, item 3 is invalid [02/08/2007, 18:48:27.484ms]

Малышев Олег
08.02.2007, 18:29
Если скада позволяет попробуйте подключиться не по OPC DA2 а по OPC DA1. Есть еще предположение, что Вы неправильно называете тэг OPC... Вообще неплохо было бы увидеть скриншоты конфигуратора OPC и scada

Карнаухов Дмитрий
09.02.2007, 14:27
Спасибо, разобрался. К сожалению объем русской документации невелик :( пришлось читать английскую.

Для тех, кто столкнется с подобной проблемой: если в среде CoDeSys переменная имеет имя var1 и объявлена в модуле PLC_PRG, то OPC-клиент должен обращаться к ней PLC_PRG.var1

Nekit
12.02.2007, 21:11
Хочется добавить что если переменная объявлена как глобальная то ее имя начинается с точки т.е. .var1
И по случаю спросить. Когда конфигурируем ОРС сервер то создаем в Codesys символьный файл в коттором указываем какие переменные хотим видеть в ОРС, однако у меня каждый раз туда попадают системные переменные обеспечивающие связь по TCP и UDP. Никто не знает как бороться? Использую клиент от Fastwella

Филоненко Владислав
13.02.2007, 08:30
Хочется добавить что если переменная объявлена как глобальная то ее имя начинается с точки т.е. .var1
И по случаю спросить. Когда конфигурируем ОРС сервер то создаем в Codesys символьный файл в коттором указываем какие переменные хотим видеть в ОРС, однако у меня каждый раз туда попадают системные переменные обеспечивающие связь по TCP и UDP. Никто не знает как бороться? Использую клиент от Fastwella

Добрый день!
На самом деле Вам выбирать, какие пременные будут добавляться в символьный файл. Options->Symbol configurations->Configure symbol file
В этом диалоговом окне можно выбрать тот набор переменных, к-й необходим.

На самом деле лучше всегда ограничивать число символьных переменных, загружаемых в контроллер. Это и сокращает время загрузки, и ускоряет для ОРС время поиска.
В особенности это касается массивов, т.к. CoDeSys создает для КАЖДОГО! элемента массива отдельную запись!:mad:

Василий Куц
08.05.2007, 19:36
владислав, т.е. перегнать крупную базу данных от скады к плк или наоборот не получится, насколько я понимаю? есть решения подобных проблем?

Филоненко Владислав
10.05.2007, 09:11
только через утилиту чтения/записи на диск плк. ну а потом из плк читать базу и обрабатывать.

Малышев Олег
10.05.2007, 12:29
только через утилиту чтения/записи на диск плк. ну а потом из плк читать базу и обрабатывать.
Утилиту с целью тестирования можно получить с plc@owen.ru. Вероятно через некоторое время, она будет выложена на сервере owen.ru

Денис Иванович
07.09.2009, 09:44
ситауция с символьными переменными за два года не изменилась?
мне нужно передавать большой массив из плк в пк. пробовал через символьные переменные. после загрузки проекта плк перестает пинговаться.
подскажите какими средствами можно решить эту задачу.

Малышев Олег
07.09.2009, 10:13
уточните, какая прошивка, контроллер, таргет. большой массив каких данных - общем, типы?

Денис Иванович
07.09.2009, 12:41
прошивка 2.05.7, таргет 2.05.0, массив Array [1..8,1..64,1..9] Of Word,
но пробовал и меньше, результат тот же

Малышев Олег
07.09.2009, 19:26
попробуйте разбить на 8 массивов по 1..64 1..9 и прошивку 2.10.7

Денис Иванович
08.09.2009, 06:58
для чего разбивать? в этом случае download.sdb даже немного больше становится.
на прошивке 2.10.7 пинг стабильный. но в несколько раз выросло время скана. для моей задачи это критично.
что можете посоветывать?

Денис Иванович
08.09.2009, 07:26
и получается что дело не в символьных переменных а в прошивке. попробовал без них, результат в лучшую сторону не изменился.

Малышев Олег
08.09.2009, 09:05
Время скана можно изменить разнеся по задачам разные POU см. Task Conf. По поводу скана - в прошивке 2.10.7 модуль статистика расширен - там можно посмотреть реальную загрузку процессора задачами. Время скана должно не превышать время цикла.

Денис Иванович
10.09.2009, 05:51
мне нужно всю программу обрабатывать за обин цикл, это важно.
посмотрел загрузку процессора. да, действительно, периодически перегрузка присутствует. пришлось повысить минимальное время цикла до 2мс. программа работает, но из-за увеличения времени цикла снизилась стабильность (контроллер используется для последовательной передачи данных с периодом 8мс). на прошивке 2.05.7 все отлично работало с минимальным временем цикла 1мс.