PDA

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



kfvniiz
18.02.2010, 22:04
Есть ПЛК-63, в него загружен проект, для проекта сформированы sym файлы (правда почему-то туда помещено все, попытка оставить только нужное с помощью Configure symbol file не удалась) . ОРС сервер установлен, зарегистрирован и настроен. Подключаюсь к нему клиентом от KepServerEx, добавляю теги и вроде все работает, если тегов мало, если их добавить все 163, то клиент перестает обновлять данные.
Настройка OPC сервера тоже какая то странная (захотел (opc сервер) подцепил конфигурацию (sym файлы), захотел нет подцепил) как и формирование sym файлов (то codesys просто не заполняет их, то не обновляет).
В общем есть несколько вопросов:
1) с чем может быть связан отказ OPC работать с большим количеством переменных (хотя 163 это не так уж много), ps таймауты увеличивал не помогло.
2) использовал ли кто нибудь CoDeSysOPC в реальных проектах?

Вот лог файл от OPC:

(18.02.2010, 21:34:29.468) 2. Reconnect to <PLC_SINGLE>
(18.02.2010, 21:34:29.468) [PLC_SINGLE]: ::ConnectGateway(): m_ulGatewayChannels=1
(18.02.2010, 21:34:29.515) <PLC_SINGLE> Reconnect successful, ProjectName='Gate.pro'
(18.02.2010, 21:34:29.515) Timeout[ms]=10000, BufferSize[B]=0, Waitime[s]=10, Reconnecttime[s]=15
(18.02.2010, 21:34:29.515) Motorola=0, NoLogin=0
(18.02.2010, 21:34:29.562) <PLC_SINGLE> ProjectID matched: PLC=68724, SYM=68724
(18.02.2010, 21:34:29.562) Reorganize finished, with changed item pool
(18.02.2010, 21:34:29.562) <PLC_SINGLE> 163 symbols loaded
(18.02.2010, 21:34:29.734) <PLC_SINGLE> 163 active items
(18.02.2010, 21:34:29.890) **** ERROR: COMM_FATALERROR[0] from <PLC_SINGLE>
(18.02.2010, 21:34:40.265) [PLC_SINGLE]: ::DisconnectGateway(m_ulGateway=0): m_ulGatewayChannels=0
(18.02.2010, 21:34:40.265) 1. Reconnect to <PLC_SINGLE>
(18.02.2010, 21:34:40.265) [PLC_SINGLE]: ::ConnectGateway(): m_ulGatewayChannels=1
(18.02.2010, 21:34:40.515) **** ERROR: Login failed to PLC <PLC_SINGLE>.
(18.02.2010, 21:34:40.515) **** ERROR: Open communication to <PLC_SINGLE> failed
(18.02.2010, 21:34:41.140) [PLC_SINGLE]: ::DisconnectGateway(m_ulGateway=0): m_ulGatewayChannels=0
(18.02.2010, 21:34:56.265) Client detached from server
(18.02.2010, 21:34:56.625) Server shutdown performed
--------------------------------------------------------------------------
Result: Errors=31, Warnings=0, Infos=127
================================================== ========================
(18.02.2010, 21:38:29.328) <PLC_SINGLE> 162 active items
(18.02.2010, 21:38:29.468) **** ERROR: COMM_FATALERROR[0] from <PLC_SINGLE>
(18.02.2010, 21:38:39.546) **** ERROR: COMM_FATALERROR[0] from <PLC_SINGLE>
(18.02.2010, 21:38:40.171) [PLC_SINGLE]: ::DisconnectGateway(m_ulGateway=0): m_ulGatewayChannels=0
(18.02.2010, 21:38:40.171) 1. Reconnect to <PLC_SINGLE>
(18.02.2010, 21:38:40.171) [PLC_SINGLE]: ::ConnectGateway(): m_ulGatewayChannels=1
(18.02.2010, 21:38:40.406) **** ERROR: Login failed to PLC <PLC_SINGLE>.
(18.02.2010, 21:38:40.406) **** ERROR: Open communication to <PLC_SINGLE> failed
(18.02.2010, 21:38:40.750) [PLC_SINGLE]: ::DisconnectGateway(m_ulGateway=0): m_ulGatewayChannels=0
(18.02.2010, 21:38:56.640) 2. Reconnect to <PLC_SINGLE>
(18.02.2010, 21:38:56.640) [PLC_SINGLE]: ::ConnectGateway(): m_ulGatewayChannels=1
(18.02.2010, 21:38:56.687) <PLC_SINGLE> Reconnect successful, ProjectName='Gate.pro'
(18.02.2010, 21:38:56.687) Timeout[ms]=10000, BufferSize[B]=0, Waitime[s]=10, Reconnecttime[s]=15
(18.02.2010, 21:38:56.687) Motorola=0, NoLogin=0
(18.02.2010, 21:38:56.734) <PLC_SINGLE> ProjectID matched: PLC=68724, SYM=68724
(18.02.2010, 21:38:56.734) Reorganize finished, with changed item pool
(18.02.2010, 21:38:56.734) <PLC_SINGLE> 163 symbols loaded
(18.02.2010, 21:38:56.781) <PLC_SINGLE> 162 active items
(18.02.2010, 21:38:56.937) **** ERROR: COMM_FATALERROR[0] from <PLC_SINGLE>
(18.02.2010, 21:39:07.000) **** ERROR: COMM_FATALERROR[0] from <PLC_SINGLE>
(18.02.2010, 21:39:07.625) [PLC_SINGLE]: ::DisconnectGateway(m_ulGateway=0): m_ulGatewayChannels=0
(18.02.2010, 21:39:07.625) 1. Reconnect to <PLC_SINGLE>
(18.02.2010, 21:39:07.625) [PLC_SINGLE]: ::ConnectGateway(): m_ulGatewayChannels=1

lara197a
19.02.2010, 08:32
на сколько мне известно, производитель заявлял, что орс или не поддерживается или ограничен.

Николаев Андрей
19.02.2010, 10:55
В ПЛК63 работа CoDeSys OPC Driver не возможна. Что и указанно в документации. Необходимо использовать ModBus или ОВЕН OPC

kfvniiz
19.02.2010, 16:23
В ПЛК63 работа CoDeSys OPC Driver не возможна.
Ну сто тегов он тянет спокойно, причем можно получить доступ к любому элементу программы (глобальные переменные, переменные внутри функциональных блоков, элементы объявленные в меню ....) что очень удобно. Хотя ведет себя несколько странно (как описано в посте 0). Жаль что он вообще не должен работать. Может они за него хотят некую плату, а это просто demo версия ?


Необходимо использовать ModBus или ОВЕН OPC

На сайте есть ОВЕН OPC он состоит из 3-х OPC (modbus для 485, OWEN для 485, OPC для приборов с интерфейсом токовая петля). Для modbus кроме стандартных приборов можно добавить просто прибор и назначить там нужные теги, т.е. можно подключить PLC63. Для OWEN же можно выбрать только стандартный прибор из списка где нет PLC63 (и как мне кажется там также нет возможности настраивать произвольные теги) или я чего то не доглядел? Или на сайте есть еще какой-то OPC который может читать по протоколу OWEN?

Как я понял чтобы переменная из PLC63 была доступна по modbus или OWEN, то ее нужно объявить в PLC Configuration -> SubMenu и там выбрать протокол Owen и(или) Modbus и настроить нужные параметры. Есть ли еще какие то другие способы (например, может их можно как то хитро объявить) для того чтобы переменные из PLC63 были доступны о сети (кроме использования библиотек для работы с портом когда как я понял PLC63 может быть не только слевом но и мастером, ну там много чего можно)?

Если использовать Modbus, то желательно и остальные приборы Owen опрашивать по modbus иначе наверное будут конфликты, если часть приборов на одном интерфейсе будет опрашиваться по modbus, а часть по протоколу OWEN?
Если опрашивать приборы OWEN по modbus, то нужны таблицы с адресами. Где их можно взять?

До этого пробовал читать данные из PLC63 с помощью MСД-100 (так для интереса), так вот при чтении по протоколу OWEN проблем не возникло, а когда те же переменные попробовал читать по modbus МСД-100 или возвращал какие то левые значения или вообще сообщал об ошибке обмена. Правда при этом это же МСД еще читал данные по протоколу OWEN c ТРМ148 (может из-за этого не получилось)? Есть ли особенности чтения переменных из ПЛК63 по modbus ?

Николаев Андрей
19.02.2010, 16:34
Прибор не работает с OPC Gateway так как мало Flash и файл не создается в принципе.
Для старших ПЛК OPC совершенно нормально работает причем абсолютно бесплатно.
Вы все правильно поняли. Можно еще использовать LectusOPC