PDA

Просмотр полной версии : ПЛК 323, modbus, меркурий 230 в codesys 3.5



ntro123
30.10.2015, 18:37
Сильно не пинайте, не могу разобраться как настроить связь.
Как должно быть:
через modbus по rs-485 порту отправить 0, в ответ (по протоколу) меркурий 230 должен послать ответ со своим адресом (или хотя бы что-то что я увижу).
В итоге спустя время таймаута я получаю "Шина не запущена. Данные значения, возможно, неактуальны." см. скрин.

Реализация: создал 2 переменные типа DWORD, in1 и out1 - одна для отправки данных, другая для приема.
в "Modbus_Master_COM_Port (Modbus Master, COM port)" привязал к ним входа и выхода, в коде программы:
"out1:=0;"

Вопросы:
1) JP2 перемычка - где-то читал, что должно быть вроде в положении ON, или как-то связана с rs-232 или rs-485
2) Slave-адрес[1-247] - это я так понимаю адрес счетчика (последние 2-3 заводские цифры? в моем случае 647 => 47)
3) Не пойму что выбрать в "Добавить канал" --> "Тип доступа" и какая разница между четырьмя типами рид и 4 типами врайт.

Помогите разобраться, каша в голове, документации нормальной 0!
Для меня отличный результат, если я просто получу ошибку от счетчика.

ntro123
30.10.2015, 21:58
проект прикрепил

melky
30.10.2015, 22:08
В примерах вроде была документация на 230-й Меркурий.

ntro123
30.10.2015, 22:51
В примерах вроде была документация на 230-й Меркурий.

да, вопрос не в этом, уже и письмо написали в инкотекс нам дали все доки.

я никак не могу понять, как в кодесусе реализовать все это дело. Я бы хотел чтобы кто-то, кто намного опытнее меня, посомотрел на проект, посомтрел на хар-ки плк323 и меркурия и сказал: "все верно настроенно" либо "ошибка в ..." так как я совсем плаваю. что такое модбас, кодесус и тп узнал дней 5 назад, доков под кд3.5 и толковых почти нет, всякий бред типо "нажмите ПКМ и добавте устройство" и тд.

любому кто отпишется по теме огромное спасибо!

melky
30.10.2015, 23:38
Надо вас огорчить, Меркурий не работает по Modbus и он вам не поможет.
Берете пример и переделываете по работу через COM порт.
323-й раюотает на Codesys 3.5, не юзал. Смотрите, что там за библиотеки по поводу работы с портами. SysLibCom (или как она в 3.5 называется)

А что же вы схватились за то, в чем плаваете ?

ntro123
31.10.2015, 10:53
Надо вас огорчить, Меркурий не работает по Modbus и он вам не поможет.
Где-то читал, что он модбасо-подобный. Смотрел пример (от Александр Приходько для cd2.3, Mercury.lib) там он использует UNM библиотеку, которой нету в cd 3.5, мне посоветовали в разделе "вопросы от новичков" использовать:
"UNM.lib в CS3.5 нет. Можете использовать Syslibcom, modbus и CAA Com библиотеки. Точно до букв названия с телефона точно не напишу."


Берете пример и переделываете по работу через COM порт. 323-й работает на Codesys 3.5, не юзал. Смотрите, что там за библиотеки по поводу работы с портами. SysLibCom (или как она в 3.5 называется)

Где ее взять (не нашел в репозитории библиотек кд3.5)?
Как ее юзать? Нужно тоже добавлять устройство как в modbus или просто есть функции и ФБ через которые и можно послать что-то на порт rs-485 и принять от туда? Как настроить привязку к переменным (в модбасе все понятно, добавил устройство и привязал к переменной)?


А что же вы схватились за то, в чем плаваете ?
Надо же когда то начинать =) а то так и буду плавать.


PS. Прикрепил описание протокола меркурия 230 проект под кд2.3 и описание бибилиотеки от Александр Приходько.

melky
31.10.2015, 11:04
я переделывал пример с сайта ОВЕН на работу через SysLibCom для CDS 2.3, но так как счетчик лежал на столе без подключенной нагрузки добился только его запроса.
Потом счетчик пришлось вернуть да и задача отпала.
Не работал с CDS 3.5, точное название библиотек для работы с COM не подскажу, но они должны быть в комплекте с CDS.
Там от Modbus извините, только расчет контрольной суммы и больше нихрена. Расчет контрольной суммы есть в примере А.Приходько, по сути вариант с Си языка.
В документации на счетчик табличный вариант. Применить можно любой, не важно.

Кстати переделку недопиленную на SysLibCom я где-то на форуме выкладывал.
Есть еще вариант опроса для контроллера ABB но у них допиленный под свои контроллеры CDS 2.3 так что работоспособности кода на ОВЕН без переделки тоже не будет.

ntro123
31.10.2015, 11:12
Я так понял это она:
20613
и нужно выбрать версию ниже таргет версии?

melky
31.10.2015, 11:18
Да, судя по названию это она.
Ответы на вопросы по CDS 3 наверняка есть в соответствующей теме по CDS 3.

Что касается счетчика, читайте документацию. По 0 адресу из CDS вы врядли его опросите, это если не ошибаюсь широковещательный адрес для подключения конфигуратора от производителя.
А так, посылка запроса на авторизацию по адресу счетчика, получение ответа, открытие сессии и так далее. Все, как описано в мануале по протоколу счетчика.
К сожалению я не знаю как найти собственные вложения и в какой теме я их выкладывал.

ntro123
31.10.2015, 11:32
Спасибо! и еще раз повторюсь: проблема только в том КАК послать и получить что-то по rs-485, реализовать сам протокол с меркуриями я смогу (надеюсь, читал их протокол, вроде ничего сложного).

Не сочтите за наглость (сам найти не смог):
http://www.owen.ru/forum/search.php вводите свое имя, и ключевое слово (по syslibcom ничего не нашел, по syscom что-то не то нашел). Если найдете буду очень благодарен. Или вот все ваши сообщения (http://www.owen.ru/forum/search.php?do=finduser&userid=15000&contenttype=vBForum_Post&showposts=1).

melky
31.10.2015, 11:38
Сообщения хранятся не все. По вложениям на форуме поиск не работает, насколько я помню.
Сейчас поищу файлы на компе, вдруг найду :)

На счет версии не помню, насколько это последняя, которая работала со счетчиком. Поудаляйте все лишнее, что не относится к счетчику.
Это была переделка примера на SysLibCom вместо UNM.

По крайней мере счетчик у меня начал отвечать.
CDS 2.3, ПЛК100-R.M Хотя не принципиально, таргет можно убить. Смысл в самой программе.

ntro123
31.10.2015, 12:36
огромное спасибо!

Shatnev
05.11.2015, 04:33
Сталкиваюсь с такой же проблемой с счетчиками Меркурий 230 в КДС 3,5! Есть какие нибудь успехи подскажите?