PDA

Просмотр полной версии : Передача и прием по ModBus в первый раз



VanoKing
29.07.2011, 11:07
В системе имеются SCADA и контроллер Овен ПЛК100, которые необходимо связать между собой с помощью OPC сервера CoDeSys по протоколу ModBus RTU.
CodeSys v2.3.9.26,
модули: МВ110.16Д-2шт.,МК110.8Д.4Р-12шт.,
122 параметра ввода-вывода типа bool,
Связь ПК-ПЛК: Ethernet
Связь ПЛК-Модули: RS-485
ВопросЫ::confused:
1. Возможно ли проверить работу плк из CodeSys и опросить допустим один модуль ввода?(без скада системы)
2. При передачи переменных по ModBus RTU каким типом, в моем случае, их нужно задавать(какие ограничения)?
3. Поможет ли мне библиотека ModBus.lib на диске в комплекте с ПЛК взял? или без нее писать, тогда каким источником руководствоваться?
4. Сколько необходимо написать программ? Как понял только одну взятой из таргет на данный контроллер и записать в ПЛК?(уже описал порт 485 в конфигурации, остановился на переменных Modbus)

не судите строго, только начинаю заниматься с этой автоматикой;)

Николаев Андрей
29.07.2011, 16:04
Опрашиваете модули через конфигурацию ПЛК. ModBus RTU. Масками. В помощь руководство пользователя на диске.
Настраиваете OPC сервер (тут ModBus не причем). Описание настройки есть на диске и на форуме.
Получаете данные из ПЛК в SCADA и уже в ней разбираете маски. Как разобрать - недавно выяснял LordN на форуме.

VanoKing
02.08.2011, 06:22
На тек.момент сконфигурировал ПЛК, опросил модуль МВ110-16Д через его конфиг., задавал маску 16-битную все нормуль.
Другая проблем: Не получается добавить OPC-переменную в masterSCADA.:mad:
OPC сервер настроен, проверял на клиенте MatrikonOPC Explorer(по примеру:http://www.codesys.ru/art5) - там и OPC-сервер работает, можно добавить переменные и посмотреть как изменяются при подаче на какие-нибудь входы модуля сигнала true/false.:p

В чем может быть недосмотр???что не настроил?
Разбор маски сделал в самом Codesys. думаю это же не важно где его делать в нем или в SCADA?

VanoKing
02.08.2011, 07:19
настройки прилагаю

Николаев Андрей
02.08.2011, 08:30
Где разбирать маску - не принципиально, если не думать о стоимости Master SCADA. 1 параметр - 1 тэг. 32 параметра - 32 ТЭГа...
Если В Матриконе все видно - вопрос 100% к SCADA.
Компьютер добавили? Галочку на стартовой мнемосхеме поставили главный ПК?

VanoKing
02.08.2011, 08:55
Компьютер добавил в закладке объект-> общие
а где галку ставить чтот не могу найти

VanoKing
02.08.2011, 09:47
извините за не полную инфу, компьютеров то два
Scada стоит на компе с win7
А матрикон запускался с WinXP
IP отличаются на единицу, настройки все одинаковые
на win7 матрикон тоже не идет((((
подключены компы и плк к одному коммутатору
неужели все из-за виндовс или настройки брандмаура?
из codesys на win7 связь с плк есть

Николаев Андрей
02.08.2011, 09:52
Вы на компе с Win7 OPC сервер CoDeSYs поставили?
Хорошо бы поставить CoDeSys - хотя бы один раз связаться с ПЛК...
Потом CoDeSys удаляем и оставляем один OPC.

VanoKing
02.08.2011, 11:21
Получается установленный Codesys может повлиять на связь?
сейчас попробую

Николаев Андрей
02.08.2011, 12:32
Нет, не влияет.
Влияет то, чтобы связь ПЛК-ПК была хотя бы раз установлена именно с того ПК, на котором будет работать OPC.
Это происходит далеко не всегда, но иногда бывает.
Почему - не знаю. Такая особенность CoDeSys.

VanoKing
02.08.2011, 12:41
Все делал на Win7
Немного поменял конфигурацию, проект записал
сообщение после запуска: 1.8 "тут цифры))" # 1PLC STARTED без ошибок
загружал в Матриконе при установлении связи пишет ошибку:
An error was encountered while using COM services. The error way indicate incorrect configuration. If the problem persists,contact your system administration.
COM/OPC error 0x8004005 on CoCreateInstance()
В скаде просто висит при добавлении переменных
:(

VanoKing
02.08.2011, 13:51
УРРРА
Благодарствую за помощь!!!
поставил галку в настройках PLC напротив "сохранять конф.файлы в проекте"
запустил проект
удалил CodeSys кроме OPC-сервера
запускаю матрикон - работает:)
запускаю скаду - работает:D

VanoKing
03.08.2011, 08:48
Счастье было недолгим. Опять не работает OPC-сервер с ПЛК
Созрел вопрос: Память в которую загружал проект и конфиг ПЛК не энергонезависимая? После отключения питания ПЛК связь не идет.

Николаев Андрей
04.08.2011, 16:56
А Вы сделали загрузочный проект? А галочку - записывать эти самые файлы в память? А перекомпилировали проект перед этим? Четко по инструкции надо, и все будет.

VanoKing
04.08.2011, 19:25
Нашел ошибку, теперь стабильно и четко)