Форум АСУ в Україні

форум з автоматизації для викладачів, студентів та спеціалістів
Сьогодні: 23 лютого 2019, 01:09

Часовий пояс UTC + 2 годин [ DST ]




Створити нову тему Відповісти  [ 20 повідомлень ]  На сторінку 1, 2  Далі
Автор Повідомлення
 Тема повідомлення: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 16:26 
Офлайн
Аватар користувача

З нами з: 07 квітня 2015, 20:16
Повідомлення: 17
Добрый день.
Стоит задача наладить обмен данными по сети ETHERNET два процессорных модулся 1200 серии. Дистанционно связаны через свич, связь проверил - работает. Опираясь на мануал по 1200 https://cache.industry.siemens.com/dl/files/465/36932465/att_106131/v1/s71200_system_manual_ru-RU.pdf серии для обмена данными пользуюсь функциональными блоками TSEND_C, TRCV_C.

Алгоритм передачи налажен так: при срабатывании бита изменения состояния клапана на ПЛК1 активизируется передача данных (состояния 0/1 определеной переменной) параметром REQ=true, параметр CONT всегда true. Спустя 5 секунд передача закрывается(REQ=false). На ПЛК2 порт приема открыт всегда EN_R=1, CONT=1.

То есть связь с обеих сторон налажена всегда, только при активации переменной отвечающей на параметр REQ происходит передача данных. У всех связей свой функциональный блок, индивидуальный connection ID, индивидуальные DB. Когда таких функциональных блока в районе 5-6ти, проблем с обменом нет.

При обмене более 7 потоков у функциональных блоков на ПЛК1 передачи данных устанавливается статус 16#80C4. Обмен идет либо некорректно, либо вообще ПЛК2 не получает данных.

Кто сталкивался с обменном данных в данной модели ПЛК, подскажите, что не так? Есть определенные ограничения в количестве установленных связей одновременно?


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 17:15 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 4942
Проблема в максимальном количестве Connection. Думаю их максимум 8-мь. Любят че-то они это число. Но надо проверить в мануалке. Лучше для передачи различных данных тех же ПЛК пользоваться только одним соединением. Это Ethernet, по этому количество данных можно передавать в достаточном для ПЛК объеме, даже если они сейчас не нужны. Попрьоуйте переиначить задачу, чтобы оставить только одно соединение.
Кстати, при создании соединения T_CONN или TSEND_C, TRCV можно пользовать тоже с тем же соединением. Ведь соединение дуплексное и по нему можно гонять данные и в одну и в другую сторону. Уже как минимум сократите соединений в 2 раза.


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 17:58 
Офлайн
Аватар користувача

З нами з: 07 квітня 2015, 20:16
Повідомлення: 17
Было бы удобно просто привязывать DB со всеми параметрами, но насколько понимаю это невозможно. Если с bool понятно, можно все спрятать в одну передачу. Тогда что можно предпринять в случаях с real? Спасибо за ответ.


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 18:13 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 4942
Одно DB может принимать любую структуру по желанию и передавать его можно. Так что можете в один DB набивать всего столько, сколько нужно. Есть конечно там ограничение, но помоему порядка 1 кб. Думаю, что врят-ли у Вас столько наберется.
Я так и делал. Чтобы было гибче, создал один DB для передачи и еще один для приема. Соединил с такими же на другом конце, только наоборот (ну Вы поняли). Далее в каждом из таких DB создал массив REAL, массив INT, масиив BOOL, в каждом по 255 элементов (мне этого хватало). Дальше просто кидаю их с периодичностью 1 сек. Последний INT в массиве делаю контрольным, он инкрментируется на ПЛК с каждым циклом. Если через 5 сек на приемном конце он не поменялся - либо соседний ПЛК стал, либо связь упала. Все остальные переменные толкаю и принимаю по надобности и ставлю на родные места.
Таким образом два DB обеспечат всю мою коммуникацию, и даже если мне нужно будет что-то добавить - я просто использую уже сущетсвующую незадействунную ячейку. А остальные DB либо получают с них данные, либо наоборот являются источниками.


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 19:42 
Офлайн
Аватар користувача

З нами з: 07 квітня 2015, 20:16
Повідомлення: 17
Суть вроде бы понял, но не понимаю о каком DB идет речь. Пробовал добавить обычный data block созданный мной в программных блоках, но его нельзя присвоить к графе DATA функционального блока TSEND_C.


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 20:11 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 4942
Вот пример. Возможно проблема в присутствии галочки.
Зображення


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 03 червня 2015, 22:34 
Офлайн
Аватар користувача

З нами з: 07 квітня 2015, 20:16
Повідомлення: 17
Да, дело было именно в ней. Все работает, создал массивы и кручу данные как угодно. Александр Николаевич, большое спасибо!


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 21 березня 2017, 22:18 
Офлайн
Аватар користувача

З нами з: 07 квітня 2015, 20:16
Повідомлення: 17
Теперь проблема, когда соединений больше двух. Передача данных происходит слишком долго, либо вообще не происходит. Пробовал развязать все TSEND_C конекшены временными интервалами, то есть каждый блок последовательно один за одним устанавливают связь - не помогло. TRCV_C на всех плк в сети всегда EN_R=1, CONT=1, то есть активны и готовы к приему. Не могу для себя понять в чем причина.


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 21 березня 2017, 22:25 
Офлайн
Викладач

З нами з: 29 листопада 2013, 17:11
Повідомлення: 4942
TSEND_C вроде как может идти в паре с TRECV на том же конце. Т-е для двухтсороннего обмена между ПЛК достаточно одного соединения. На всяк случай сказал.


Догори
 Профіль  
 
 Тема повідомлення: Re: 2 x Siemens-1200 в одной сети ETHERNET.
ПовідомленняДодано: 21 березня 2017, 22:33 
Офлайн
Аватар користувача

З нами з: 07 квітня 2015, 20:16
Повідомлення: 17
А если все блоки TRCV стоят на TRUE, то есть прием и конекшн, их же не обязательно разрывать? Разорвать необходимо саму передачу? То есть TSEND_С конекшены. T_SEND передачу повесил на CLOCK - когда была одна связь, то все ОК. Создал еще два налогично ( уже в сумме три) - все работало. Когда начал накручивать больше пяти - появились проблемы. Сейчас кое что удалил, некоторые обмены сгрупировал, но теперь даже когда 2 и более обмена теряю связь. Я что то делаю не так и не вижу причины.


Догори
 Профіль  
 
Відображати повідомлення за:  Сортувати за  
Створити нову тему Відповісти  [ 20 повідомлень ]  На сторінку 1, 2  Далі

Часовий пояс UTC + 2 годин [ DST ]



Хто зараз онлайн

Зараз переглядають цей форум: Немає зареєстрованих користувачів і 1 гість


Ви не можете створювати нові теми у цьому форумі
Ви не можете відповідати на теми у цьому форумі
Ви не можете редагувати ваші повідомлення у цьому форумі
Ви не можете видаляти ваші повідомлення у цьому форумі
Ви не можете додавати файли у цьому форумі

Знайти:
Вперед:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете бесплатно создать форум PHPBB2 на MyBB2.ru, Также возможно создать форум бесплатно PHPBB3 на Getbb.ru
Український переклад © 2005-2007 Українська підтримка phpBB