28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
1 | |
Реализация протокола MODBUS TCP в Simatic Step 706.07.2013, 23:12. Показов 30066. Ответов 26
Метки нет (Все метки)
Нужно написать функциональный блок, в котором будет формироваться заголовок нужного формата и при помощи стандартных функций (каких именно, без понятия) кадры будут передаваться по шине другому контроллеру, который кстати, отстутствует - вместо него надо использовать эмулятор, который будет запущен с ПК (клиентская/серверная часть - на выбор, а есть ли вообще такой?). Насчёт интерфейса передачи - тоже не знаю, что можно использовать? Вроде бы есть Industrial Ethernet, но не знаю, подходит ли он для Modbus. Собсно говоря, с чего начать? Есть какие-нибудь мануалы, исходники?
0
|
06.07.2013, 23:12 | |
Ответы с готовыми решениями:
26
Аналог ПО Simatic Modbus/TCP Wizard Поддерживает ли коммуникационный модуль Siemens SIMATIC CP243-1 протокол ModBus TCP? Реализация протокола ModBus RTU на Qt Реализация протокола ModBus на DE1-SoC Реализация протокола ModBus на DE1-SoC |
Почетный модератор
|
|
06.07.2013, 23:21 | 2 |
я уж испугался что аутомейшен закрылся внезапно....
http://cache.automation.siemen... nglish.pdf http://www.automation.siemens.... anguage=en http://www.automation.siemens.... anguage=en (требуется авторизация на аутомейшен) http://support.automation.siem... n/31535566
1
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
06.07.2013, 23:28 [ТС] | 3 |
magirus, ок, буду завтра разбираться. а что насчёт эмулятора ПЛК в винде?
0
|
Каратель
|
|
06.07.2013, 23:41 | 4 |
насчет эмулятора ПЛК не знаю, а вот эмуляторы модбаса есть, я пользовался этим
http://sourceforge.net/projects/modrssim/
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
09.07.2013, 14:23 [ТС] | 5 |
проблема в следующем: в коммуникационном процессоре CP340 с интерфейсом RS422/RS485 имеется 15-пиновый разъём (вероятно, DB15, насчёт male/female не знаю). в ноутбуке есть только USB. есть преобразователи RS-485 в USB только 9-пиновые. соответственно, сначала надо как-то получить из 15-пинового разъёма 9-пиновый. как это можно сделать? где можно найти распайку.
0
|
09.07.2013, 15:07 | 6 |
...такой распайки не существует, ибо RS-485 - двухпроводный интерфейс, либо на тех же драйверах, но четырехпроводный RS-422. А вот распиновка, где конкретные RX/TX/GND , на данных разъемах как конвертора USB-RS-485, так и ПЛК вы найдете в официальных даташитах на них на сайтах производителей. Странно, что вы до сих пор этого не сделали.
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
09.07.2013, 18:05 [ТС] | 7 |
raxp, изначально в контроллере, который нам дали, стоял только один модуль ввода-вывода и был MPI, по которому можно тупо передавать проект (как по нему обмениваться какими-либо произвольными данными, тем более по Modbus, я без понятия). этот модуль заменили на CP-340 (т.к. другого не было), в котором есть интерфейс RS-485/422 (X27), 15-пиновый. естественно, Modbus TCP на нём не реализуешь, только простой. после чего долго искали преобразователь интерфейсов RS-422/485-USB. нашли U1150, которому на вход нужен DB9F, с определённой распиновкой для четырёхпроводной RS-422 и двкхпроводной RS-485. так вот, распиновку эту нашли кое-как для сименсовского нестандартного DB5F.(из 15-ти используются 5) и DB9. завтра будем подсоединять проводки. непонятно, с какой целью сименс так извращается.
А почему 'такой распайки не существует'?
0
|
09.07.2013, 18:22 | 8 |
...разъемы ставят для удобства дальнейшего расширения или использования, или по необходимости выполнения определенных требований, к примеру, по климатическому исполнению. Производители, особенно промышленного оборудования, часто не следуют общепринятым стандартам соответствия железа и интерфейсов, отчасти из-за конкуренции, отчасти для удобства и т.п.
На UPS-ах тоже часто можно встретить якобы USB, но на самом деле выведен, характерный для интерфейса RS-232, DB9. Мы вот в своих ПЛК на DB9 выводили по два независимых RS-485, просто использовали пины как удобно.
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
10.07.2013, 12:47 [ТС] | 9 |
К интерфейсу X27 ноутбук подключили. но оказывается, с CP340 не всё так просто.
вот сообщение с форума automation. "For Cp 340 modbus module requires - 1."Dongle" i.e. hardware to make module as MODBUS Master or Slave. 2."CP PtP" software to allow SIMATIC to parameterize CP-340 module. 3.Drivers for Modbus Master or Slave as per requirement. Dongle you have to purchase it separetaly.CP PtP software is freely available on siemens intranet." Где всё это взять? Нашёл хороший мануал 97-ого года "S7-300 as Modbus Host" http://read.pudn.com/downloads... 20Host.pdf Но на первом же шаге в нашем проекте в свойствах CP-340 не отображается список возможных протоколов (см. скрин) Другая проблема в том, что в виртуалке, в которой стоит Simatic Manager, не определяется девайс U1150 от Moxa (в win7 он определяется нормально, как Moxa USB Serial Port COM1)
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
10.07.2013, 14:58 [ТС] | 11 |
raxp,
Параметризация вроде бы сделалась (выбран режим ASCII). В мануале "S7-300 as Modbus Host" используется библиотека "modbus", в которой есть следующие блоки: FC1 Modbus CRC calculation function FB4 Modbus host Preset Multiple Registers function FB5 Modbus host Read Holding Registers function FB8 Modbus poll scheduler - polls up to 10 secondaries FB9 Modbus poll sequence function (write then read from single secondary) DB1 Table of pre-calculated CRC partial sums, used in CRC calculation. DB8 FB8 and FB9 instance data block DB12 P_RCV (CP340 receive function) instance data block DB13 P_SEND (CP340 send function) instance data block DB14 FB4 instance data block DB15 FB5 instance data block DB91..DB100 Data to/from Modbus secondary 1..10 в библиотеке "modbus", которая есть у нас, этих блоков естесственно нет, есть только P_RCV_RK, P_SND_RK, которые, как я понимаю, предназначены для modbus CP-341. в мануале написано следующее: "Before installing the Modbus blocks, you must first copy the CP340 interface blocks into your program. These blocks, FB2, FB3, FC5, and FC6, are located in the CP340 library that was installed when you installed the CP340 configuration software. Drag these blocks from the library AP-off folder to your program’s AP-off folder. The Modbus software is distributed as a STEP 7 import file. This file contains the following blocks:" (какие, я написал) Когда был установлен "CP340 configuration software" с диска, который шёл с CP-340, эта библиотека не появилась. Где её можно взять?
0
|
10.07.2013, 15:55 | 12 |
...вы сейчас чушь пишите, это функциональные блоки, а не модбас-библиотека.
Откройте руководство 'CP340. Первые шаги по применению' на с.1-3 (на русском, кстати): в проекте S7 для центрального процессора дважды щелкните по вкладке BLOCKS и скопируйте все FB2, FB3, FC и т.д., кроме системных, в свой проект.
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
10.07.2013, 21:31 [ТС] | 13 |
raxp, извиняюсь за поздний ответ. вставил из прожекта-примера всё, что там было, кроме системных функций, загрузил в ПЛК, и конечно же не работает, т.к. шнурок воткнут в usb, второго контроллера нет, проверить не на чем. далее по-прежнему, непонятно как пользоваться:
Передача PEW 0: На модуле цифровых входовSM323 активируйте биты0.1 (ВызовFC11 и FC12), 0.6 (REQ дляP_SEND) и1.1 (запрос передачи10 байт). После этогоCP340 передает кадр сообщения длиной10 байт через последовательный интерфейс(светодиод"TxD" мигает). Для повтора передачи Вы должны выключить входI 0.6 (REQ дляP_SEND), а затем снова включить его. Прием Если Вы принимаете данные от Вашего коммуникационного партнера, они принимаютсяCP340, например в блок данныхDB20. Целевой адрес задается вFC12 с меткой"AO: " или"A1: ". PEW0: Для этого,на модуле цифровых входовSM323 установите биты0.1 (вызовFC11 иFC12), 0.7 (EN_R дляP_RCV) и1.2 (выбор адреса сдвига"2" вDB20) в состояние“1”. После этого, CP340 должен принимать данные через последовательный интерфейс (светодиод"RxD" мигает). Назначение выходных ячеек(PAW4) Bit 0.0:"Done" при успешном выполнении передачиSEND Bit 0.1:"Error" при прерванной передачеSEND Bit 0.2: "BIE" дляSEND Bit 0.4: "NDR" при успешном приемеRECV Bit 0.5:"Error" при прерванном приемеRECV Bit 0.6:"BIE" дляRECV" у меня нет модуля цифровых входов SM323. Добавлено через 1 минуту а, это наверное имеются ввиду индикаторы на модуле.. Добавлено через 1 минуту можно ли как-то обмениваться кадрами между реальным ПЛК и встроенным в Manager эмулятором? Добавлено через 11 минут raxp, касательно модбаса, я так понимаю, на CP340 он нативно сименсом не поддерживается, драйверов нет (на CP341 они есть, их надо покупать). поэтому реализация возможна только по ASCII очень хитрым древним способом, который описан здесь http://read.pudn.com/downloads... 20Host.pdf и для которого не хватает нужной библиотеки (и некого файла под названием modhost.awl). и второй способ xCP modbus drivers, которые составляют хорошую конкуренцию сименсу, так как позволяют использовать более дешёвый CP340 для модбаса, но стоят бешенных денег: http://www.runmode.com/xcp_modbus.html
0
|
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299
|
|
10.07.2013, 21:32 | 14 |
Найдите эмулятор modbus. Обменивайтесь с ним. Жизнь станет намного проще. Slave RTU море. Для TCP тоже есть, правда меньше (или мне не везло). Есть и универсальные. Отследите что уходит (и уходит ли?), что приходит.
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
10.07.2013, 21:37 [ТС] | 15 |
menreiven, TCP отпал автоматически, когда вместо Ethernet'а мы кое-как достали CP с RS485/RS422. и простой Modbus, как выясняется, здесь тоже отсутствует. и да, уже раньше кто-то качал exe'шник, выполняющий роль Slave, он есть.
Добавлено через 3 минуты сейчас даже просто невозможно посмотреть, как идёт обычный обмен (используя готовый проект) через поддерживаемый сименсом 3964(R) или ASCII
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
10.07.2013, 21:54 [ТС] | 17 |
raxp, я так понимаю, это просто ASCII. иначе, зачем ЗДЕСЬ http://read.pudn.com/downloads... 20Host.pdf всё так долго и нудно расписывалось? а на чём смотреть-то? с эмулятором ПЛК как-то можно обмениваться?
Добавлено через 2 минуты если CP-341, то в Hardware, в окне параметризации виден нормальный modbus. а за сегодняшний день по CP-340 я не нашёл ни одного рабочего решения. Добавлено через 4 минуты полная неопределённость
0
|
28 / 10 / 1
Регистрация: 26.04.2010
Сообщений: 457
|
|
10.07.2013, 23:26 [ТС] | 19 |
raxp, странно, везде написано, что это ASCII, к modbus никакого отношения не имеет. но в этой мусорке "интернет" нигде нет разложенной по полочкам информации. вообще непонятно, как этот ASCII работает, какой формат кадра, какие функции используются. есть examples zXX21_01_PtP_Com_CP34x, которые установились вместе с дровами с диска, но, как я уже сказал, это не то и не работает. я сегодня прогуглил ВЕСЬ ГРЁБАННЫЙ ДЕНЬ и не сделал ничего. полная неопределённость. где можно взять понятный пример проектов с коммуникацией между двумя контроллерами (учитывая, что у меня только один, ха-ха!).
0
|
11.07.2013, 06:47 | 20 |
...по вашей же ссылке:
0
|
11.07.2013, 06:47 | |
11.07.2013, 06:47 | |
Помогаю со студенческими работами здесь
20
Реализация MODBUS TCP Slave на VB6 Знание протокола TCP под Linux, передача данных между клиентом и FTP сервером реализация на С++ импортировать таблицу символов в Simatic Step-7 Simatic Step 5. Чем и как открыть файлы? Как считать текущее значение счетчика в Simatic Step 7? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |