dp-dp coupler, копплер. принцип обмена информацией

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
Oll Bell
Posts: 118
Joined: Sun Apr 17, 2011 9:49 pm

dp-dp coupler, копплер. принцип обмена информацией

Post by Oll Bell »

вначале считал, что разобрался, как передается информация.
два контроллера "мой" и "чужой". чужой, как бы главный среди двух мастер-контроллеров.
Считал, что чужой в одностороннем порядке может класть в мой информацию и забирать у меня.

Так полагал , пока дело до конфига не дошло. В конфиге только адреса увидел. То что каждый контроллер имеет свои IN и UOT адрессные пространства мне ясно.
И что размер адресных пространств OUT-одной стороны равен Input-другой стороны и наоборот. иначе смысл передачи информации теряется...

Code: Select all

Input---\   I  /-----Input
          \ I /
чужой       I   мой контроллер
           /I \         
Out ----/   I   \---Out
            I 
         коплер
правильно ли я понимаю, что
1. чужой контроллер копирует информацию в адресное пространство копплера, используя у себя OUT-адреса.
2. мой контроллер копирует из INput-адресного пространства копплера положенную чужим контроллером информацию себе в блок данных, память....
3. затем для передачи информации чужому контроллеру (так как чужой не может сам из памяти моего контроллера считать), мой контроллер
копирует в OUT-адресное пространство коплера информацию. которую чужой компьютер из INPUT-адресного пространства берет ее себе.

вопросы остаются,
если так, то отчего в манулах не начинают описание со слов, типа, "обмен информации", именно "обмен", а не "передача"? Или типа "передача информации от одного к другому не возможна с участием только одного участника передачи информации"?
но это только мои пожелания. вопросы

синхронизация при обмене обязательна? или реализуется автоматически? или независимо друг от друга контроллеры кладут и берут информацию?
если, конечно контроль обмена не ведется.

судя по возможностям конфигурации, размер считываемых и копируемых данным может быть не одинаковым?

и по контролю соединения. Согласно описания, если один участник обмена информацией сходит с дистанции, умер, сгорел, напряжение просто исчезло,
то второму участнику остается последняя информация к считыванию. Тоесть, коплер на выходах оставляет последние значения, да или нет?

спасибо

ps
возможно нашел бы ответы, но все попытки сконфигурировать две сети с коплером для того, что бы симулятором прогнать не увенчались успехом.
возможна симуляция данного случая?

создаю в step7 две 300х ситанции. если коплер "сажу" к одной, то нет возможности ко второй подсоединить.
если в netpro делать, то вижу контроллер со своим profibus, 1я сетьи вторая, но коплер не вставляется. Ошибка или предупреждение, что коплер может только с мастером в сети находится.

нет, я понимаю, что делаю все не так, кто бы подсказал верный путь.
Rex2701
Posts: 374
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Rex2701 »

Поделюсь своим опытом сопряжения станций (в действующих проектах сопряжены S7-4xx и S7-3xx, S7-4xx и ET200s, S7-3xx и ET200s).

По п.1-3 - всё именно так. Только область называется не адресным пространством, а образом входов/выходов процесса.

4. эту фразу "из мануала" вообще не понял. Что имеется в виду? Что контроллер всего один? Тогда конечно не с кем обмениваться. Обмена не будет, если только один передаёт? Будет, так как обмен конфигурируется как тебе надо: одностронний/двухсторонний, сразу всю область передавать/забирать или по отдельным входам/выходам. Всё зависит от задачи. В коплере прописываются лишь 2 односторонних "окна" для обмена. Что ты будешь с ними делать дальше в программе - зависит от скилла и фантазии.

5. Если под синхронизацией подразумевается гарантированный приём и передача данных по кабелю - то это обеспечивается на железном уровне. А если рассматривать только факт получения и отправки данных, то этот способ вообще-то асинхронный. Один контроллер отправил данные, дальше голова не болит. Второй получит их в начале следующего цикла, а когда их заберёт программа - зависит от программиста.
6. Контроля обмена нет.

7. Может. Главное не вылазить за пределы размеченного в коплере пространства в/в.

8. Если одного из участников нет в сети - у второго в диагностическом буфере будут сыпаться ошибки доступа к периферийным входам/выходам из области коплера. Не смертельно. Какая информация остаётся у живого участника - не знаю, за все годы работы проектов этот вопрос никогда не волновал.
Oll Bell
Posts: 118
Joined: Sun Apr 17, 2011 9:49 pm

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Oll Bell »

Спасибо, Rex2701.

по 4 пункту, речь о использовании слов, оборотов речи.
можно и слова "передача информации" применять, но с уточнением.
а правильнее "обмен информацией". второй вариант уже подразумевает двух и более участников обмена.
это так, о чувстве языка. на русский коряво перевели, английский не чувствую оттенков.
в немецком austauschen и как замена и как обмен можно переводить, зависит от контекста.
опять же, на немецкий с английского переводят, тот же сименс.
а на английском документацию работники со всего мира составляют.

слово austauschen и то встретил в мануле на чисто немецкого производства коплер, забыл уже, какое то теплое дерево, в переводе фирма называется.

по синхронизации, я так и рад был думать, что передал и передает следующую партию, если обработка ошибок позволяет
Обмена не будет, если только один передаёт?
это когда знаешь ))
по началу так же полагал, что один контролер без участия второго может туда сюда данные копировать.
когда не знаешь, да еще забудешь.
8. Если одного из участников нет в сети - у второго в диагностическом буфере будут сыпаться ошибки доступа к периферийным входам/выходам из области коплера.
а от куда и как берутся 26 байтов диагностики?
если не секрет, в какую сторону читать?
за все годы работы проектов этот вопрос никогда не волновал.
меня как то сразу напряг вопрос, как контролировать.
в моем случае, моя сторона получает долговременные сигналы start, release, которые реально могут годами не изменяться.
так как диагностику еще не постиг, буду комбинацию битов засылать на ту сторону, а другая будет эту комбинацию назад пересылать. комбинация всегда отличная от предыдущей.


еще раз спасибо.

плохо когда железа нет под рукой, железо под проект будет браться, когда уже на изучение нет времени.
Rex2701
Posts: 374
Joined: Wed Oct 13, 2010 8:44 am
Location: Russian Federation

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Rex2701 »

Какие-такие 26 байт диагностики?

Если есть необходимость в актуальности получаемых данных - можно гонять между контроллерами clock byte. После каждого чтения сравнивать с предыдущим.
Но опять же, проще сделать через специализированные OB8x: "IO FAULT" даст контроль над чтением/записью слов обмена коплера, а "RACK FAULT"ом можно отслеживать наличие связи с сетевыми компаньонами.
Oll Bell
Posts: 118
Joined: Sun Apr 17, 2011 9:49 pm

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Oll Bell »

Какие-такие 26 байт диагностики?
это был мой вопрос, где и откуда.
из мануала вступление
4.4 Diagnostics
There are extensive diagnostic functions in the PROFIBUS DP. The
slave diagnostics complies withIEC 61784-1:2002 Ed1 CP 3/1. It
can be queried from the DP slave at any time by a DP master and
evaluated using a configuration tool, such as STEP 7.
и сама сермяжная правда
The diagnostic blocks consist of several parts. The first 6 bytes and
their meanings are defined by the standard. This is followed by
one or more diagnostics block parts that can have a different
format.
The diagnostic blocks in the DPV1 or S7 protocol are 26 bytes
long:
Diagnostic block
и далее описание каждого диагностического байта, бита.

Если есть необходимость в актуальности получаемых данных - можно гонять между контроллерами clock byte.
есть конечно необходимость, про clock byte еще не в курсе, на досуге почитаю.
чего мой способ никто не одобряет. не нравится два бита переставлять, можно randomize число генерировать.
но это уже детали
Oll Bell
Posts: 118
Joined: Sun Apr 17, 2011 9:49 pm

Кокос не растет от чего то

Post by Oll Bell »

Не получается dpdp-coupler в режиме симуляции проверить.
в проекте два 300 х, у каждого по базе "priem" DB1, DB2 и "оtpravka" DB11, DB21
в симуляторе лезет что то в базу, соответственно процесс обмена не наблюдается, а хотелось бы.

ниже проект, версия софта 5.5 sp 4

посмотрите, кому не лень, в чем ошибка может быть, хотя бы пару намеков.
второй день умираю.
в симуляторе, народ говорит, dpdp-coupler тестируется, от сего верю, что косячки у меня.

в таблицах VAT пометил желтным поля, тоесть первый байт. туда чего то пришется, точнее нули, так как кратковременно блынькает переменная если ее изменять в VAT.
числа интересные можно видеть. Отчегото в базах ""отправка.
Остальные байты побитно не стал выводить, по байтно ума не хватило. смотреть изменения можно и прямо в DB.
ТО, что числа в DB отправка, мне не ясно. Полагал, что не верно "перекрестил" пути. Но другого варианта не нашлось.

не понтятно еще отчего, в VAT данные не совподают с данными в DB? Не верное VAT настроил?
До этого боролся с другим, ошибки SFC выдавали, так в меркерах в VAT так же другая информация была, чем в редакторе.
Возможно и работает чего-то, но VAT не отображает.

спасибо авансом.

Code: Select all

http://турбобит.файлообменник.рф/37fdt7c70ttu.html
или
http://ska4ay.com/-6Hq
ниже картинки
screenshot 1_config
screenshot 2_editor
Yury
Posts: 65
Joined: Thu Nov 01, 2007 9:41 pm
Location: Belarus

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Yury »

В DB1,2 будут постоянно записываться 0, это правильно и логично т.к. это состояние вашей периферии (куплера), ваших входов начиная с адреса 256. Числа в DB отправки - так вы их сами туда записываете. Если ваш DB 21 посмотреть в режиме data view то в графе аctual value есть значения, которые вы грузите в контроллер они благополучно попадают в область выходов начиная с адреса 256 (видно в симуляторе). В программе всё написано верно.
Plcsim симулирует контроллер c входами и выходами своей периферии, один пишет и читае данные со своего куплера, второй со своего. Вы по идее нигде не можете указать что те куплеры которые используются в разных проектах являются одним и тем же устройством, и следовательно они никак не могут знать что "должны" обмениваться областями входов выходов. Не думаю что обмен через куплер можно тестировать на симуляторе.
Oll Bell
Posts: 118
Joined: Sun Apr 17, 2011 9:49 pm

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Oll Bell »

Yury wrote:В DB1,2 будут постоянно записываться 0, это правильно и логично т.к. это состояние вашей периферии (куплера), ваших входов начиная с адреса 256. Числа в DB отправки - так вы их сами туда записываете. Если ваш DB 21 посмотреть в режиме data view то в графе аctual value есть значения, которые вы грузите в контроллер они благополучно попадают в область выходов начиная с адреса 256 (видно в симуляторе). В программе всё написано верно.
Plcsim симулирует контроллер c входами и выходами своей периферии, один пишет и читае данные со своего куплера, второй со своего. Вы по идее нигде не можете указать что те куплеры которые используются в разных проектах являются одним и тем же устройством, и следовательно они никак не могут знать что "должны" обмениваться областями входов выходов. Не думаю что обмен через куплер можно тестировать на симуляторе.
спасибо, Yury, другими словами симуляция невозможна. Это логично, так как dpdp coupler блок не позволяет два сети к себе подключить, значит всегда, согласно проекта, будут оба cpu нулями обмениваться, так как для программы это два различных коплера, что и подтверждает ниже написанное
и "свежий" screenshot ...

в этом проекте есть еще ошибка(не изменяющая ситуацию но позволяющая просветлить ситуацию),
по моему мнению, которая объясняет "мусор" в VAT.
когда я посмотрел сеть в конфигураторе сети, то ужаснулся, так как все сидели на одной сети Profibus.
создал другой проект, две различные сети, OB1 не изменял, мусора нет, все нули но и передачи данных не наблюдается.
Будем считать, что симулировать невозможно.

вот скрин второго варианта, Vat не показываю, там нули и на изменение состояния битов, другая сторона обмена не реагирует.
что и нормально, согласно выше написанному.

http://radikall.com/images/2015/04/06/203K.png

осталось на практике проверить

ps
в область выходов начиная с адреса 256 (видно в симуляторе)
на моих скриншотах или вы мой проект запускали?
как посмотреть выхода? Возможно я вижу, но под "другим именем".
Yury
Posts: 65
Joined: Thu Nov 01, 2007 9:41 pm
Location: Belarus

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Yury »

Запускал ваш проект, мусора кроме того что изначально было в аctual value никакого не было, а посмотреть выхода можно если в симуляторе вставить окошко с нужными байтами выходов (соответствующими куплеру) и там будет отображаться то что находиться в db21 и 11. И соответственно если вставить там байты с входами и устанавливать их, то результаты будем видеть в DB1 и 2.
Oll Bell
Posts: 118
Joined: Sun Apr 17, 2011 9:49 pm

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Oll Bell »

Yury wrote: и там будет отображаться то что находиться в db21 и 11. И соответственно если вставить там байты с входами и устанавливать их, то результаты будем видеть в DB1 и 2.
pew 256 paw 256 ? в английской версии PIW, PQW.

пробую, но без эффекта, вставляю окошки ВХОДА, ВЫХОДА
позволяется только PQW 256, с входами непонятно.

ps
как бы входа выхода разрешил PIW PQW, но изменять 0 на что либо вход PQW не дает.
Yury
Posts: 65
Joined: Thu Nov 01, 2007 9:41 pm
Location: Belarus

Re: dp-dp coupler, копплер. принцип обмена информацией

Post by Yury »

Так таки да!
Меняете биты в db21, sfc15 передаёт их в PQBxxx
Взводите входа PIBxxx, sfc14 пересылае их в db2.