PDA

Просмотр полной версии : Какой OPC сервер лучше



asupsp700
30.06.2012, 18:46
Планируется связать два шкафа управления линий сушки. Собранные на базе ПЛК-160+ МУ11016Р. Программы разработаны в среде CoDeSys. Сейчас стал вопрос по соединению в одну SCADA систему. Скажите пожалуйста, какой лучше использовать OPC-сервер? Стандартный CoDeSys-овский пойдет? Как он на практике в плане надежности, быстродействия? Подскажите кто,что в своей практике применяет.
С Уважением, Дмитрий.

SCADAMaster
01.07.2012, 10:54
В плане ОРС Codesys единого мнения нет.
Протокол Modbus TCP более легкий и надежный, лучше конечно использовать его. ОРС в этом случае можно использовать наш - Modbus Universal MasterOPC Server:
http://www.masteropc.ru/products/?category=399
Есть бесплатная версия на 32 точки и видеопримеры:
http://www.masteropc.ru/prices/info.php?pid=6944

asupsp700
01.07.2012, 18:07
А он полностью состыковывается с ПЛК-160 по протоколу Ethernet?

SCADAMaster
01.07.2012, 18:23
Univesal MasterOPC? Да, должен стыковаться без проблем - по протоколу Modbus TCP.
По настройке Modbus TCP у нас есть отдельное видео.

Wanted
02.07.2012, 09:56
А есть ли какой-нибудь бесплатный OPC сервер в природе для протокола Modbus на 100 параметров? Codesys какой-то тормозной :(

АндрейМаксим
12.09.2012, 20:45
По протоколу Modbus TCP OPC Modbus Universal MasterOPC Server стыкуется без проблем. Но для работы необходим использовать RS485, здесь появились проблемы. Имеем ПЛК150, преобразователь интерфейса MOXA Uport 1150. ПЛК на запросы OPC не отвечает. Параметры порта вроде везде одинаковы. Нужна помощь.

SCADAMaster
12.09.2012, 20:53
Должен отвечать. Мы тоже используем эту модель преобразователя и все работает корректно.
В настройках конвертера у вас включен интерфейс RS-485 2W? Это делается в диспетчере устройств. Также проверьте правильность соединений. R+ - это А, R- это В (в инструкции к Moxa написано наоборот).
На какой скорости вы работаете? На низких скоростях (9600 и ниже) нужно задать в узле ОРС сервера межсимвольный таймаут 40-100 мс.

АндрейМаксим
25.09.2012, 21:08
Был не большой перерыв в работе. Нашел причину. В своем первом вопросе не указал весь планируемый проект. ПЛК150 опрашивает частотный преобразователь также по RS485. Протокол обмена реализован на базе библиотеки UNM. В данном варианте нет проблем. В данном случае ПЛК мастер. В Конфигурации подключаем Modbus (slave) также по RS485. И OPC Modbus Universal MasterOPC Server получает нужные обработанные данные. Все это работает при условии, что скорость везде одинаковая. Но так как опыта мало, конечно есть проблемы. В какой-то момент времени они пересекаются и данные получаемые ОРС не достоверны. Вопрос? Возможно ли и как правильно организовать работу ПЛК в режиме мастер с частотником и в режиме slave с ОРС?

SCADAMaster
26.09.2012, 07:08
А почему нельзя повесить ОРС сервер на отдельный протокол? Повесьте опрос на Ethernet - по Modbus TCP.

АндрейМаксим
26.09.2012, 11:15
Планируется что связь с ПЛК будет через GSM модем. Опрос по Ethernet - по Modbus TCP идет без проблем. Суть проекта опрос насосных станций по городу.

SCADAMaster
26.09.2012, 13:37
Протокол обмена реализован на базе библиотеки UNM. В данном варианте нет проблем. В данном случае ПЛК мастер. В Конфигурации подключаем Modbus (slave) также по RS485. И OPC Modbus Universal MasterOPC Server получает нужные обработанные данные. Все это работает при условии, что скорость везде одинаковая. Но так как опыта мало, конечно есть проблемы.
Как мы поняли у вас на этом же порте висит частотный преобразователь с не модбас протоколом, и возникают конфликты.
Тут мы ничем помочь не можем. Либо переносите опрос с ОРС на другой интерефейс (может быть Debug Rs-232), либо спросите у ОВЕНа как быть.

АндрейМаксим
26.09.2012, 20:38
ОРС сервер повесил на RS-232. Демо версия ОРС поддерживает работу с модем?

SCADAMaster
26.09.2012, 20:56
Нет, в версии OPC на 32 точки поддержки модема нет

АндрейМаксим
26.09.2012, 21:16
Приобретая ОРС на 500 точек с поддержкой модема, но имея пока Master SCADA на 32 точки, могу опробовать работу проекта с модемом?

___________________
Спасибо.

SCADAMaster
26.09.2012, 21:19
Когда приобретете и установите ОРС - сможете.

АндрейМаксим
05.11.2012, 18:39
Приобрели ОРС сервер на 500 точек. Опрос данных по модему выполняется. Используем скорость 4800. Кроме опроса данных нужно выполнение записи определенных данных в ПЛК. Вот здесь есть вопрос. Выполняя запись нужного параметра в тег, и просматривая запросы ОРС сервера, видим следующее:
02-11-2012 16:46:18.803 RS232::Насосная Шагова:(COM1) Tx: [0023] :0A1000110001020001D1{CR}{LF} -Выставляем 1 по адресу 17(11h)

сразу за этим запрос ОРС сервер выдает еще что-то

02-11-2012 16:47:06.417 RS232::Насосная Шагова:(COM1) Tx: [0143] :3A33413333343133333330333433313333333033333336333 33330333333303333333133333331333333303333333033333 3303333333133343334333433353435333335412E{CR}{LF}
02-11-2012 16:46:36.402 RS232::Насосная Шагова:(COM1) Tx: [0071] :3A33413330343133303336333033303331333133303330333 033313434343545335A{CR}{LF}
02-11-2012 16:46:36.317 RS232::Насосная Шагова:(COM1) Tx: [0035] :3A3041303630303131303030314445E3{CR}{LF}

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

SCADAMaster
05.11.2012, 18:50
Попробуйте увеличить межсимвольный таймаут в настройках портах. По умолчанию стоит 0, задайте 300-500 мс.
Если не поможет то выложите вашу конфигурацию ОРС сервера, а также лог обмена с устройством - в свойствах сервера включите запись журнала и всех событий, лог запишется в папку:
c:\Documents and Settings\All Users\Application Data\Insat\MasterOPC Universal Modbus Server\SERVERLOGS\

АндрейМаксим
06.11.2012, 20:46
Выкладываю конфигурацию сервера, 1 часть

АндрейМаксим
06.11.2012, 20:47
Конфигурация сервера 2 часть

SCADAMaster
07.11.2012, 07:01
Выложите вашу конфигурацию ОРС сервера, она находится в папке
c:\Documents and Settings\All Users\Application Data\Insat\MasterOPC Universal Modbus Server\SERVERCFG\
А также лог обмена с устройством - в свойствах сервера включите запись журнала и всех событий, лог запишется в папку:
c:\Documents and Settings\All Users\Application Data\Insat\MasterOPC Universal Modbus Server\SERVERLOGS\

АндрейМаксим
07.11.2012, 19:03
Выкладываю конфигурацию ОРС сервера и а также лог обмена с устройством.

SCADAMaster
07.11.2012, 19:50
В присланном вами логе только два запроса. Один не был выполнен, потому что устройство не ответило, второй запрос был выполнен корректно. Затем в лог записались ошибки:
[06.11.2012 16:50:00.220] Information : Набор номера ATD 89303571472
[06.11.2012 16:50:34.588] Error : 3.Нет такого номера
[06.11.2012 16:50:34.588] Error : 2.Нет денег на счете
[06.11.2012 16:50:34.588] Error : 1.Нет поддержки услуги передачи данных

Описанной вами ошибки в логе нет. Запустите ОРС сервер снова, воспроизведите ошибку и пришлите лог с ней.

Увеличьте межсимвольный таймаут. Вы установили 60 мс - для модема на такой скорости этого мало. Задайте 300-500 мс.
Аналогичную настройку желательно сделать и в контроллере (если таковая имеется).

АндрейМаксим
08.11.2012, 11:56
Высылаю новый лог.

SCADAMaster
08.11.2012, 13:35
Проблема подтвердилась. Мы исправим ошибку в следующей версии.
Пока что попробуйте использовать режим RTU. Понятно что вы используете модем, и возможны разрывы пакетов, но если задать в ОРС сервере межсимвольный таймаут 500-1000 мс, то должно быть нормально. Аналогичная настройка должны быть и в контроллере (возможно Framing Time).

АндрейМаксим
08.11.2012, 19:53
Перешли на режим RTU. Все работает. Увеличили скорость передачи до 115200. В ОРС сервере межсимвольный таймаут оставили 30 мс.