SIEMENS, DF&PD

Предыдущее посещение: Вт июн 28, 2016 2:46 Текущее время: Вт июн 28, 2016 2:46

Часовой пояс: UTC + 3 часа




 [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Обмен по Profibus м/у 2-мя CPU315-2DP
СообщениеДобавлено: Ср фев 01, 2012 13:13 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
Помогите чайнику.
Необходимо наладить межконтроллерный обмен между двумя CPU315-2DP. С конфигурированием железа разобрался.
Не могу понять как адресоваться из программы на мастере к областям на слейве. Обязательно ли нужно использовать функции, и какие? Как, например, получить данные из DB1 слейва в DB1 мастера? Можно ли, и как, получить данные с AI модуля слейва?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 01, 2012 14:05 
Не в сети
Писатель со стажем

Зарегистрирован: Ср мар 03, 2010 12:59
Сообщения: 698
Откуда: Одесса
S7-connection & PUT/GET (FB14/FB15)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 01, 2012 15:31 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5018
Откуда: SIEMENS I IA AS Москва
Ну почему!!!!!!!!!!!!!!!!!! Опять на вопрос, который уже обсосали (можно написать другое слово) всего неделю назад (может быть две)!!!!!!!!!!!!! опять дается неправильный ответ!!!!!!!!
Уважаемый fatman - это к ВАМ!!!!!!!!!!!!!!!!
См. тему http://iadt.siemens.ru/forum/viewtopic.php?t=18526

Не будут работать блоки PUT/GET на CPU315-2DP через встроенные порты. Нужен дополнительный коммуникационный процессор.
Работают только блоки X-PUT/X-GET через MPI интерфейс.

Если разговор идет об обмене данными между двумя CPU315-2DP один из которых мастер, а другой слейв (терминология вопрошающего), то это означает только одно - было организовано подключение по протоколу Profibus-DP этих двух устройств. А в этом случае обмен между устройствами возможен только через виртуальные (не существующие реально) входа-выхода, которые будут сконфигурированы в Step7. А это в свою очередь означает, что для передачи информации из DB1 на одном CPU в DB1 на другом необходимо записать содержимое блока данных (каким-то образом, можно посредством специальных функций переноса) в виртуальные выхода на первом CPU, а на втором CPU считать содержимое виртуальных входов и (опять-же каким-то образом) перенести это содержимое в блок данных.
Прямого обращения к каким-то другим областям памяти (кроме виртуальных входов-выходов) в случае конфигурации мастер-слейв быть не может по определению.
Если все-таки терминология мастер-слейв была упомянута "случайно", то обмен можно организовать через MPI интерфейс посредством стандартных блоков X-Put/X-Get. В этом случае возможно прямое обращение к областям памяти другого CPU - DB, М-области, входам и выходам.
Конфигурирование интеллектуального слейв устройства (именно так будет называться CPU315-2DP, порт Profibus которого переведен в режим слейв) приведена в документации по конфигурированию аппаратной части Step7. На европейских языках эта документация находиться на компьютере со Step7.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 01, 2012 19:24 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7508
Откуда: Украина
Кухаренко Сергей писал(а):
Ну почему!!!!!!!!!!!!!!!!!! Опять на вопрос, который уже обсосали (можно написать другое слово) всего неделю назад (может быть две)!!!!!!!!!!!!! опять дается неправильный ответ!!!!!!!!
Уважаемый fatman - это к ВАМ!!!!!!!!!!!!!!!!

Я дико извиняюсь, но к чему 55 восклицательных знаков? Написали бы просто: "fatman, ты не прав":-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 01, 2012 20:48 
Не в сети
Писатель со стажем

Зарегистрирован: Ср мар 03, 2010 12:59
Сообщения: 698
Откуда: Одесса
ша! а где написано, что речь идет о встроенных портах? а ну как там есть парочка Ср342-5, а? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 02, 2012 7:43 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5018
Откуда: SIEMENS I IA AS Москва
мы гадаем на кофейной гуще или используем ту информацию, которая в явную существует в вопросе??!!
А количество восклицательных знаков соответсвует уровню эмоций по отношению к вроде-бы старым форумчанам, да еще в явную принимавшим участие в обсуждении темы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 02, 2012 8:04 
Не в сети
Новый писатель

Зарегистрирован: Ср сен 29, 2010 15:39
Сообщения: 41
Откуда: г.Новороссийск
[img][img]http://s018.radikal.ru/i524/1202/45/f84d3670338d.png[/img][/img]
[img][img]http://s59.radikal.ru/i163/1202/a1/08a0b6565fb6.jpg[/img][/img]
Вверху конфигурация DPmaster,внизу DPslave
красным выделена область виртуальных входов и выходов
q100-i100 величина 16 byte
Можно организовать общение без всяких функций
L db1.dbw0
T qw100
это со стороны мастера(к примеру)
L iw100
T db1.dbw0
Это со стороны слэйва
Вот так можно передать слово из db1 одного контроллера в db1 другого


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 02, 2012 13:31 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
Спасибо всем огромное! Принципиально разобрался.
В ходе работы, правда, выяснилось, что кабель Profibus был распаян неверно, из-за этого день убил.

Есть еще конечно неясности, например, я так понял, с помощью назначенных в DP\Configuration виртуальных входов\выходов можно передавать не более 4 байт.
Данные размером более 4 байт можно передавать только с помощью SFC14/15.
Или я не прав?
Поэкспериментирую.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 02, 2012 19:31 
Не в сети
Это точно не человек

Зарегистрирован: Чт фев 16, 2006 12:27
Сообщения: 7508
Откуда: Украина
ilazarev писал(а):
В ходе работы, правда, выяснилось, что кабель Profibus был распаян неверно, из-за этого день убил.

Распаян?!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт фев 02, 2012 19:40 
Не в сети
Писатель со стажем

Зарегистрирован: Ср мар 03, 2010 12:59
Сообщения: 698
Откуда: Одесса
видно вместо DP-коннектора и "фиолетового" кабеля там использована витая пара дай б-г экранированная и обычный DB9 разъем


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 03, 2012 15:43 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
Да. Экономят тут у нас...
По существу вопроса, данные объемом 1 и 2 байта передаются без использования функций, а вот объемом 4 байта и более только с SFC14/15. Пробовал без функций - передается как то с искажением, то есть например подаю на виртуальный выход одного CPU
L DB1.DBD1 // = DW#16#FFFF
T Q103

принимаю на другом
L I103
T DB2.DBD1 // = DW#16#00FF

то есть как будто только последний байт.
Я так понял из этого материала http://support.automation.siemens.com/W ... en/6518822
что только начиная с 318-2DP можно обмениваться данными более 4-х байт за раз без использования функций. Да и функции эти не проблема.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 03, 2012 15:53 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5018
Откуда: SIEMENS I IA AS Москва
А что такое T Q103 или L I103!
Таких операндов в Step7 нет!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 03, 2012 16:18 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
T QW103 или L IW103!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 03, 2012 16:20 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
мал мал ошиб дал - вместо УРА, КАРАУЛ кричал


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 03, 2012 16:23 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 5018
Откуда: SIEMENS I IA AS Москва
Я так понимю, что ошибка сама-собою исчезла!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 03, 2012 16:37 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
Нет, я имел ввиду сюда в форум я с ошибкой написал. В программе то я правильно написал.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 06, 2012 7:03 
Не в сети
Известный Писатель

Зарегистрирован: Пн май 16, 2005 9:10
Сообщения: 126
ilazarev писал(а):
Да. Экономят тут у нас...
принимаю на другом
L I103
T DB2.DBD1 // = DW#16#00FF

Цитата:
T QW103 или L IW103!


Вы понимаете, что вы Word (L IW103 - 2 байта) пишете в DWord (DBD2.DBD1 - 4 байта)??? Естественно, у вас 00FF


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 06, 2012 8:53 
Не в сети

Зарегистрирован: Ср фев 01, 2012 11:01
Сообщения: 9
Откуда: Казань
Michon писал(а):
Вы понимаете, что вы Word (L IW103 - 2 байта) пишете в DWord (DBD2.DBD1 - 4 байта)??? Естественно, у вас 00FF


Понял. Спасибо. Конечно, надо же писать L ID103


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн фев 06, 2012 11:06 
Не в сети
Известный Писатель

Зарегистрирован: Пт июн 25, 2010 13:15
Сообщения: 229
Не совсем по теме, но глаза режет:
Правильнее обращаться к WORD(2b) и DWORD(4b) по четным адресам. 0,2,4 и так далее. Это не только правило хорошего тона при программирование на STL, но и существенно уменьшает вероятность ошибок с перекрестными и недоступными адресами.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group