В проекте кроме ПЛК150УМ, и СП270, МВУ8, Марк902, и Взлет.
Проект первый, прошу не пинать сильно.
1) Может быть в сети 485 ПЛК мастер по отношению к остальным приборам и панель мастер по отношению к ПЛК?
(при наличии в сети только ПЛК и панели работает, при подключении любого прибора - Потеря связи)
2) Взял примеры с форума и попробовал подключить панель как мастер по 232. При добавлении в конфигурацию Modbas Slave и RS232 Debug - сразу при загрузке программы ошибка - Ошибка инициализации устройства ID 200 (RS232 Debug) ( и после в тексте ошибки абракадабра)
Попробовал перепрошить ПЛК не помогло. Это неисправность контроллера?
3) Остается последний вариант Панель Slave. Читаю, пытаюсь и никак не врубаюсь, что делаю не так. ПЛК не видит панель.
Где нибудь есть более-менее прозрачный пример на эту тему?
1. В одной сети может быть только один мастер.
2. По 232 панель рекомендую мастером. Почему ошибка - надо разбираться. Присылайте проект, с указанием типа контроллера и ПринтСкрин ошибки.
3. Вы переставили Target после перепрошивки?
1) Жаль, что это нигде явно не прописано и конфигуратор позволяет делать заведомо неработающую конфигурацию. (Не все же рождаются сразу умными? )
2)Я вчера смог запустить проект при минимальном количестве (одном ) параметров, программа перестала работать просто при переименовании параметров.
Сейчас буду восстанавливать аварийную ситуацию.
3) Вы не рекомендуете подключать панель как Slave?
Все плоследующие эксперименты показывают, что любое добавление RS Debug 232[var] в любой последовательности и даже без SubElenent приводит к вышеназванной ошибке.
Можно добиться загрузки программы выключением, ресетом и прочими ужимками, но только в самой простейшей конфигурации и на 1-2 раза.
Таки контроллер?
Господа, киньте ссылку на Панель СП270 слейв...Не видит контроллер панель, хоть тресни.
и еще вопрос. Все устройства на скорости 115200, а "Марк902" нужно пинговать на скорости 19200 (только) - это возможно?
Последний раз редактировалось Ахматов; 09.08.2009 в 13:39.
Похоже, что контроллер, точный ответ смогу завтра дать - надо с программистами поговорить... Со Slave может такая же ботва получится...
Обмен по одному протоколу настраивается на одной скорости, либо Вам надо самим организовать обмен по ModBus, например используя библиотеку и меняя настройки работы порта.
Катастрофа.
Еле уговорили заказчика на Овен. Похоже придется оставить комплект приборов себе на память.
Марк902 не поддерживает ModBus, скорее их протокол похож на ICMP.
Могу я связать ModBus устройства на скорости 115200 и отдельно работать с Марком по 485 на 19200 ? Он не прописывается в конфигурацию, а будет опрашиваться через SysSockSendTo()
По 232 с Марком -не связаться по изложенной выше причине.
Давайте не пугать окружающих смайлами:
1. Это Ваш первый проект. Если Вы знаете, что у Вас куча разнородного оборудования без стандартных протоколов - нужно запастись портами обмена. Ну и четко понимать, что если Вы закладываете оборудование с нестандартными протоколами - проблемы с организацией связи будут - к бабушке не ходи. Не зависимо Сименс это или ОВЕН. Я бы в Вашей ситуации взял ПЛК100 +МВА8 - был бы лишний последовательный порт...
2. Посмотрел Ваш Марк. И чо Вы хотели? Скорость здесь - самая маленькая проблема. Протокол действительно нестандартный. По этому у Вас в любом случае не получилось бы организовать обмен "просто". В CoDeSys есть возможность работать напрямую с портом 485 (библиотека SysLibCom, описание и библиотека на диске). Не все контроллеры такие функции позволяют. Вам необходимо программно описывать протокол обмена с Марком (ну или можете добиться от производителя стандартизации обмена - хотя быстрее будет самим сделать). Дальше берете библиотеку ModBus.lib и в проекте делаете следующее: основной блок настройки порта, и добавляете блоки обмена с МВУ (из библиотеки) и свой блок обмена с Марком. При окончании обмена по ModBus перенастраиваете порт на настройки обмена с Марком. По окончанию обмена с Марком перестраиваете порт и снова переходите на работу с МВУ8. И так постоянно. Все это реализуемо, причем сугубо программным путем в CoDeSys.
3. Как подключается ВЗЛЕТ???
4. Вопрос по Debug - совершенно отдельный. Еще раз - после смены прошивки Вы меняли Target? Делали команду из меню дополнительно\стандартная конфигурация???
Последний раз редактировалось Николаев Андрей; 09.08.2009 в 18:30.
2) С Марком я уже пошел по предложенному Вами пути. Тем более производитель прислал некоторые рекомендации.
Handle := SysComOpen( port ); (* Open COM port *)
SysComSetSettings(dwHandle:=handle, ComSettings:=ADR(setting)); (* Setting up communication *)
SysComWrite(handle, ADR(message), 7, 500); (* Send message (7bytes)*)
и res := SysComRead(handle, ADR(message),7, 500)
Остались некоторые вопросы по формированию CRC и преобразованию результата запроса в real, ну и соответственно перенастройки порта;
А эти запросы должны влиять на работу Modbus?
В настоящий момент у меня ПЛКопрашивает МВА8 по ModBus _ и успешно, датчик температуры фурычит и его данные видны в контролерре, и при этом программа постоянно шлет SysComWrite - естественно безуспешно, отвечать некому, Марк тоже привезут завтра.
Может я ошибся с адресом Com?
Port = com1;
Если все заработает обязательно выложу в соответствующую ветку.
3. Взлет согласно инструкции поддерживает ModBus, во всяком случае - по документам, сам прибор привезут завтра. Пока тренировался с ModBus Master на МВА8. Все работает.
4. Target конечно менял.
"Делали команду из меню дополнительно\стандартная конфигурация??? "
При перепрошивке?
5. Попробовал просто подключить модуль DCON, При загрузке программы сразу ошибка инциализации ID 201 - соответственно ID модуля DCON.