SIEMENS, DF&PD

Предыдущее посещение: Ср май 04, 2016 22:50 Текущее время: Ср май 04, 2016 22:50

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




 [ Сообщений: 27 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: HART-модули
СообщениеДобавлено: Пт янв 26, 2007 14:02 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Столкнулся со следующей проблемой:
Есть: CPU-414-3DP (414-3XJ04), к нему по профибасу подцеплена IM153-2 (153-2BA00). В нее вставлен HART-модуль SM 331 AI8 x 16 bit HART (331-7TF00). На нулевой канал модуля повешен уровнемер Sitrans LR400. Первичный аналоговый сигнал с него получаю без всяких проблем и ошибок.
Пытаюсь достучаться до него с PC\PG через Ethernet (на PC\PG - CP 1613, на CPU - CP443-1) и получаю сообщение что CPU не поддерживает роутинг к DP-слейвам.
Если же зацепиться напрямую к профибасу, то IM видится, модуль видится, но выдает Type Mismatch...
Софт - PCS7 v6.1 + SP1, PDM v6.0 + SP1 + HF3, установлен пакет поддержки данных HART-модулей, документация прочитана, все шаги Getting Started тупо выполнены...

Подскажите пожалуйста что ЕЩЕ я должен сделать, чтобы увидеть этот датчик через PDM?


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

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 4947
Откуда: SIEMENS I IA AS Москва
Для того. чтобы такой роутинг программирования работал, необходимо было подключать слефы через модуль СР443-5 Ext. Только он поддерживает роутинг программного обеспечения PDM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 29, 2007 13:01 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Как ни странно все заработало. Но ваш ответ породил еще пару вопросов:
1. Чем отличается роутинг через CP 443-5 от обычного роутинга? Про CP 443-1 и CPU 414-3DP написано что они поддерживают роутинг, а получается что нет... Как впредь избежать таких проблем?
2. Где можно скачать документацию на датчик Sitrans LR 400 с описание HART-посылок, специфичных для него? (сорри за оффтоп, продублирую в соответствующем форуме)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 29, 2007 13:12 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:27
Сообщения: 4947
Откуда: SIEMENS I IA AS Москва
Дело в том, что это проблема не аппаратной части, а программного обеспечения PDM. Существует два типа роутинка - пересылка данных и программирование. В общем случае поддерживается роутинг пересылки данных и программирования через STEP7, а программирование через PDM поддерживает только CP443-5 Ext. Наверное можно было сделать и для всех остальных модулей, но почему не сделано - вопрос к разработчикам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 29, 2007 13:52 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
А информацией по обмену по HART-протоколу не поделитесь? С ног уже сбился в поисках...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 29, 2007 13:53 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
А информацией по обмену по HART-протоколу не поделитесь? С ног уже сбился в поисках...
Блок из вашего примера работать отказывается (видимо из-за того что модуль 8-канальный), а никаих описаний протокола обмена я еще не находил...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 30, 2007 9:46 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
Блок и не будет работать. Там четко написано "для 2-ух канального модуля".
А описание обмена достаточно хорошо описано в документации на этот модуль. Целая глава этому посвящена.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Продолжаем тему!
СообщениеДобавлено: Вт фев 06, 2007 15:51 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Хорошо. Связь я нашел, PDM работает на ура. Но это полдела! Теперь мне надо организовать обмен с датчиком по HART-протоколу. И вот опять проблемы...
Я пытаюсь выполнить HART-команду №0 (Запрос идентификатора ус-ва) и получаю ошибку SFC58 80C4h
Посылка выглядит так:

0 байт: 00h (в соответствии с документацией на модуль)
1 байт: 05h (должно быть число от 5 до 20)
2-6 байты: FFh (HART-преамбула)
7 байт: 82h (длинный фрейм от ведущего к ведомому)
8 байт: 80h (взведен 7й бит как адрес ведущего устройства, остальные 38 битов сброшены, т.к. я не знаю что в них писать и пытаюсь слать широковещательную посылку)
9-11 байты: 00h (см. выше)
12 байт: 00h (номер HART-команды)
13 байт: 00h (кол-во передаваемых данных)
14 байт: контрольная сумма, вычисляется как побайтный XOR байтов с 7 по 13й (в соответствии с документацией на HART-протокол)...

Засылаю я все это счастье с помощью SFC58 в запись с номером 80, а ответа жду в записи 81 (канал 0).

На вид вроде все в порядке, однако не работает... Вопрос к матерым специалистам: что я делаю не так???


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

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
По мылу послал описание протокола
Ошибка №1
В длинном фрейме адрес имеет 5 а не 4 байта
Должно быть
байт 8= 80 h
байты 9-12 = 00h
пробуй если чего пиши


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 9:44 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Это описание у меня уже настольной книгой стало... 8)))
Я исправил эту ошибку, результат тот же.
Появилась мысль, что возможно это связано с тем, что при широковещательном сообщении нужно указать в поле данных адрес устройства, которое должно ответить на этот запрос.
Но фокус в том, что я делаю этот запрос как раз с целью узнать идентификатор устройства, чтобы потом общаться с ним по ХАРТу...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 10:48 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
Я открыл мой проект, который я использовал для этих целей.
Много думал ;-)
Вспомнил...
Вот как состояла моя посылка
0 байт = 0
1 байт = 5
(не надо дальше 5 байт FF преамбулы, он сам ее вставит)
2 байт = 82 (длиный фрейм от главного подчиненному)
3-7 байт = адрес (я его знал и сам составил)
в твоем случае широковещательное должно работать хотя я не пробовал. В принципе ты можешь определить адрес и без команды 0. Это просто вытащив все что нужно из PDM.
байт 8 = 1 (первая команда- самая простая)
байт 9 = 0 (длина данных 0)
байт 10 = CRC байтов 2-9

Так же учти что надо послать посылку и ждать ответа, а не опять посылать.
Вот здесь об этом
http://www.automation-drives.ru/forum/v ... php?t=4241


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 11:38 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
В принципе я так и делаю! Прием\передача в программе взаимно блокируются, в зависимости от того, кто из них сейчас работает (BUSY)

Вынес байты преамбулы, поменял номер команды на 1. Увеличил время цикла ОВ35 до 1000мс. Та же беда.
Я делаю так (код на SCL):

TELEGRAM[0]:=16#00; // Всегда 0
TELEGRAM[1]:=16#05; // Кол-во байтов преамбулы (WTF ???)
// Сформируем длинный фрейм
TELEGRAM[2]:=16#82; // Длинный фрейм от главного устройства
// Адрес: главное устройство - 1, нет пакетного режима, широковещательное сообщение
TELEGRAM[3]:=16#80; // адрес
TELEGRAM[4]:=16#00; // адрес
TELEGRAM[5]:=16#00; // адрес
TELEGRAM[6]:=16#00; // адрес
TELEGRAM[7]:=16#00; // адрес
TELEGRAM[8]:=16#01; // Команда: считать первичную переменную
TELEGRAM[9]:=16#00; // Кол-во передаваемых байт - 0
// Посчитаем контрольную сумму
TELEGRAM[10]:=TELEGRAM[2] XOR
TELEGRAM[3] XOR
TELEGRAM[4] XOR
TELEGRAM[5] XOR
TELEGRAM[6] XOR
TELEGRAM[7] XOR
TELEGRAM[8] XOR
TELEGRAM[9]; // CRC

Размер массива TELEGRAM - 75 байт = размеру записи №80 для обмена...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 11:41 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Так-так-так... Реакция изменилась!
Теперь первое обращение на запись проходит успешно, чтение возвращает 3 в нулевом байте (ожидание, выполнение), а последующие обращения на запись дают ошибку...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 11:58 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
Так уже лучше
А бизи снимается спустя какое-то время?
В ответе на 1 команду должно быть 3 системный байта + 16 байт ответа.
Задавай область ответа сразу 75 байт.
Смотри область ответа
Если не выйдет опять попробует обойти широковещательную посылку и задать адрес вручную.
Какое HART устройство висит на канале (точно скажи)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 12:08 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Сейчас происходит следующее:
Я вызываю функцию записи команды, после ее выполнения, включаю функцию приема. Она так и молотит с периодичностью 1с. Несколько секунд в примном буфере висит циферка 3 в нулевом байте, а потом прилетают 3 байта, расшифровав которые получил: таймаут (07h 52h 84h)...
Устройство - ультразвуковой уровнемер Sitrans LR 400. PDM его прекрасно видит, собака, всю правду рассказывает...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 12:38 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
Ну тогда сформируем адрес сами те самые 5 байт
Изготовитель
Сименс= 42(DEC)/2A(h)
Тип устройства и его серийник можешь взять из PDM
Кажись для LR 400 тип = 7

Попробуй так, должно получиться, только аккуратно заполняй байты (стр 27 доки).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 12:59 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Попробовал так:

TELEGRAM[3]:=16#A8; // адрес - мануфактурер - 42 - Сименс, 88 - Миллтроникс
TELEGRAM[4]:=16#CC; // адрес - тип устройства LR400 - CCh
TELEGRAM[5]:=16#08; // адрес
TELEGRAM[6]:=16#00; // адрес
TELEGRAM[7]:=16#60; // адрес

В TELEGRAM[3] я подумал так: 10b + 42d (101010b) = 10101010b = A8h
Тип устройства все-таки ССh=Sitrans LR400, а 7 - это просто Sitrans LR
Байты 5-7, я так понял это параметр Device ID из PDM. У меня он равен 80060.
Это тоже не работает...
Может быть мне выслать вам мой проект (благо, он тестовый весит немного)? Или может быть вы вышлите мне код своего блока для обмена? 8-\

Такое чувство что на данном этапе я начал уже конкретно тупить...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 13:22 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
Не изготовитель точно Сименс=42
Device ID не нужен
Тип я смотрел опять же в off line PDM
Можно открыть свойтсва PDM tag и открфыть вкладку Device
Нужен Серийник его можно найти в самом низу списка параметров в PDM в разделе Device info/Manuf.identification

У меня был температурный датчик TK-H
Сименс
тип 18
Серийник 1510852

адрес выглядел так в нех
aa ( у тебя должно быть также 10101010b = aah
12 (тип в нех)
Дальше 3 байта тупо серийник в нех
17
0d
с4

Мой телефон 737-24-31


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 13:59 
Не в сети
Новый писатель

Зарегистрирован: Вт янв 11, 2005 12:17
Сообщения: 34
Откуда: Г. Пермь
Не дозвонился второй раз, поэтому пока пишу сюда.

1. Код производителя Milltronics = 88d = 1011000b. Это семь бит, а перед ними нужно вставить еще 2 и впихать все это в 1 байт... Так что первый байт адреса не D8h.
2. PDM показал следующий серийный номер: вкладка Manuf. Identification => Serial No. = PBD/U8080060...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср фев 07, 2007 14:59 
Не в сети
Ведущий специалист

Зарегистрирован: Вт янв 11, 2005 9:28
Сообщения: 560
Откуда: SIEMENS I IA AS Москва
проконсультировался с КИПовцами
В HART посылке в качестве серийника должен быть именно Device ID.
так я ошибался.
Правильный серийник 80060
Я сейчас попробую у себя


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 27 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: Fraeser и гости: 1


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

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