форум асутп
 На главную                       Здесь может быть Ваша реклама, подробнее...


 Наверх  |  Перейти к теме  |  Поиск  |  Вход  |  Дерево    
 Modbus TCP от Сименса (РАС3200)
Автор: Гайдученко Кирилл Витальевич 
Дата:   11.02.08 10:39

Здравствуйте, asutp.

  Здравствуйте уважаемые коллеги. Я столкнулся с такой задачей ответ
  на которую я не могу найти и по сему прошу помощи у специалистов.
   Для проверки качества напряжения в силовой сети завода попросили провести
  регистрацию в течении относительно непродолжительного промежутка
  времени. Причем из инструментов (то что есть под руками) только
  анализатор сети Siemens Sentron PAC3200. Задача разовая.
   Анализатор сети, согласно описаниям и внешнему осмотру, оборудован
  портом Ethernet по которому есть два протокола: Мodbus TCP и SEAbus
  TCP. Плюс на нем установлен модуль Profibus DP.
   Естественно родилось желание пол\дключится по обычному Мodbus TCP.
  SEAbus отпал по причине отсутствия описания в инете. Profibus DP
  тоже - так как нет в наличии не переходника ни платы адаптера.
   Осталось наиболее тривиальное решение - опрос по Мodbus-у при помощи
  программки написанной на делфи. Анализатор живой - при помощи
  утилитки идущей в комплекте "SENTRON powerconfig" отлично находится
  и настраивается. Только нет возможности переключится программно на
  Мodbus. По видимому поддержка в программе только SEAbus.

   Была написана простенькая прожка которая открывала 502 порт и
  посылала запрос. В ответ - тишина. Он даже не отвечает что запрос
  неправильный, вообще ничего. Пляски с бубном ни к чему не привели,
  молчит как партизан.

  Поэтому хотел попросить - может кто ни будь из более опытных
  подскажет - возможно ли в принципе общаться по этому протоколу с
  этим девайсом?

  Заранее спасибо, Кирилл.


  ЗЫ. Мое чудо программёрской мысли лежит в архиве по адресу:
  http://des-ufo.narod.ru/Siemens_PAC3200_Logger.rar
  был бы очень признателен за анализ протокола или советов по его
  реализации в этом приборе.


--
С уважением,
 Гайдученко Кирилл Витальевич                           mailto:KirSKTS@xxxxxxx.xxxx.xx
-----------------------------------------
attach: <none>
-----------------------------------------
мысль дня: Только в день рожденья узнаешь, сколько в мире ненужных вещей.
-----------------------------------------

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: indian 
Дата:   11.02.08 11:39

Семь потов и куча бабок сойдёт чтоб что-то от Siemens заставить общаться по Modbus. Даже если вы готовы к этому, то в итоге выяснятся некоторые ограничения, например поддержка только одного сокета.

Лучше не мучаться а сразу купить какой-нибудь конвертор типа анибас к ProfibusDP интерфейсу.

Подробнее, с примерами тут: http://dimton.narod.ru/sirec/sirec.htm

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: ois_andrew 
Дата:   11.02.08 11:42

чудо программёрской мысли - не запустилось ;-)

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: ois_andrew 
Дата:   11.02.08 11:44

ЗЫ: запускал под XP SP2, Дельфей ессно нет.
выдало ошибку - что то насчет сокета, мол использовать можно только один бла бла бла...

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: san 
Дата:   11.02.08 12:27

Коргда-то писал для учебного пособия для студентов на ВизуалБейсике с компонентом Винсок. Проверял на Премиум Шнайдере - программа работала. Может пригодится.

  Dim Reg(1 To 10) As Integer ' тут сохраняем значение переменных
Private Sub CloseSocket()
    Winsock1.Close 'окончить соединение
End Sub
Private Sub ConnectSocket() 'соединится с Modbus сервером
    Winsock1.Protocol = sckTCPProtocol 'протокол ТСР
    Winsock1.Connect "192.168.9.17", 502 'ІР и 502 порт
End Sub
Private Sub CommandButton3_Click()
    ReadRegisters 0, 5 ' считать 5 регистров начиная с 0
End Sub
Sub ReadRegisters(StartAddr As Integer, CountAddr As Integer)
    Dim a(1 To 12) As Byte 'посылка в байтах
    If Winsock1.State = sckConnected Then 'если соединение есть
        a(6) = 6 'количество байт
        a(8) = 3 'функция
        a(9) = StartAddr \ 256 'начальный № - старший байт
        a(10) = StartAddr Mod 256 'начальный № - младший байт
        a(11) = CountAddr \ 256 'количество - старший младший байт
        Winsock1.SendData a 'отправить массив байт
    End If
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) 'получили данные
 Dim a As Variant, LoInd As Integer, i As Integer, j As Integer
 Winsock1.GetData a, , bytesTotal 'вынять данные с буфера
 LoInd = LBound(a) 'определить начальный индекс массива
 If a(7 + LoInd) = 3 Then 'если это функция чтения и она обработана без ошибок
    For i = 1 To a(8 + LoInd) \ 2 'перебираем все регистры
        j = 9 + (i - 1) * 2 'номер байта в масиве для регистра і
        If (a(j) And &H80) > 0 Then 'если число отрицательно (старший бит в 1)
            a(j) = a(j) And &H7F 'обнулить старший бит
            Reg(i) = a(j) * 256 + a(j + 1) - 32768 'считать с учитыванием знака
        Else
            Reg(i) = a(j) * 256 + a(j + 1) ' считаем без знака
        End If
    Next
 End If
End Sub

Александр Пупена. Асистент кафедры АКИТ. Национальный университет пищевых технологий. Киев.

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: Oleg Khokhlov 
Дата:   11.02.08 13:46

Здравствуйте, Гайдученко.

Вы писали 11 февраля 2008 г., 09:32:45:

>    Была написана простенькая прожка которая открывала 502 порт и
>   посылала запрос. В ответ - тишина. Он даже не отвечает что запрос
>   неправильный, вообще ничего. Пляски с бубном ни к чему не привели,
>   молчит как партизан.

>   Поэтому хотел попросить - может кто ни будь из более опытных
>   подскажет - возможно ли в принципе общаться по этому протоколу с
>   этим девайсом?

На это ответить не могу, девайса не знаю

>   ЗЫ. Мое чудо программёрской мысли лежит в архиве по адресу:
>   http://des-ufo.narod.ru/Siemens_PAC3200_Logger.rar
>   был бы очень признателен за анализ протокола или советов по его
>   реализации в этом приборе.

У  меня  запустилось,  но  к моему контроллеру не подключилось (хотя я
ввел  его IP-адрес) и соответственно опросить его по MODBUS я не смог.
Видимо, программа еще не функционирует как надо.

Хочу  предложить вам во-первых попробовать MODNET по UDP, а во-вторых,
попробовать  проверить  связь  с  помощью моего MODBUS_Viewer, который
позволяет  запрашивать  и  просматривать  регистры  командами 3 и 4 (а
также  записывать в них командами 6 и 16) по MODBUS(COM), MODNET TCP и
MODNET UDP.
Выложил его тут http://kharkov.fc.org.ua/OlegH/modbusview.zip


--
С уважением,
 Олег Хохлов, Институт транспорта газа, г.Харьков
 mailto:oleg_h.nipi@xxxxxxxx.xxx
 mailto:olegh@xxx.xxx
 ICQ:107308679

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: Vyatcheslav Perevalov 
Дата:   11.02.08 14:31

В сообщении от 11 февраля 2008 Гайдученко Кирилл Витальевич написал(a):
> Была написана простенькая прожка которая открывала 502 порт и
>   посылала запрос. В ответ - тишина. Он даже не отвечает что запрос
>   неправильный, вообще ничего. Пляски с бубном ни к чему не привели,
>   молчит как партизан.

telnet [ip-adress] 502
что говорит?

--
Всего хорошего
/vip

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: ois_andrew 
Дата:   11.02.08 18:15

я обычно ModBus -овские контроллеры проверяю этой тулзой:
http://www.modbustools.com/modbus_poll.asp правда работает она всего 30 дней ;-)
но зато умеет и по COM и по TCP...

Адрес этого сообщения    Ответить на это сообщение
 
 Re[2]: Modbus TCP от Сименса (РАС3200)
Автор: Des 
Дата:   12.02.08 00:47

Здравствуйте, Oleg.
Вы писали 11 февраля 2008 г., 12:46:17:

> Хочу  предложить вам во-первых попробовать MODNET по UDP, а во-вторых,
> попробовать  проверить  связь  с  помощью моего MODBUS_Viewer, который
> позволяет  запрашивать  и  просматривать  регистры  командами 3 и 4 (а
> также  записывать в них командами 6 и 16) по MODBUS(COM), MODNET TCP и
> MODNET UDP.

Про поддержку протоколов MODNET в тех описании ничего не написано.
Поэтому и не смотрел в ту сторону, хотя попробовать интересно.

Самое интересное - при сбросе прибора на заводские уставки он получает
адрес 0.0.0.0 и программа конфигуратор находит его посылая хитрые ЮДП
пакеты из 4х байт. При этом слушает порт 17009 и рассылает с порта
17008. Я так понимаю широковещательные. После инициализации прибора он
начинает слушать порт 17001. Это работает SEAbus. Потомм его в ручную
надо переключить в MODBUS.

> Выложил его тут http://kharkov.fc.org.ua/OlegH/modbusview.zip

Большое спасибо, если удастся увидеть вашей программой этот девайс то
буду менять драйвер ruki.sys :) О результатах обязательно сообщу.


--
С уважением,
 Des                          mailto:KirSKTS@xxxxxxx.xxxx.xx
-----------------------------------------
attach: <none>
-----------------------------------------
мысль дня: Цивилизация - это когда тебя yбивают, но yже не отpезают yши...
-----------------------------------------

прим.модератора: предупреждение за нарушений Правила - следите за кодировкой!

Адрес этого сообщения    Ответить на это сообщение
 
 Re[2]: Modbus TCP от Сименса (РАС3200)
Автор: Гайдученко Кирилл Витальевич 
Дата:   12.02.08 00:47

Здравствуйте, ois_andrew.

Вы писали 11 февраля 2008 г., 10:44:53:

> ЗЫ: запускал под XP SP2, Дельфей ессно нет.
> выдало ошибку - что то насчет сокета, мол использовать можно только один
> бла бла бла...
:) значит открывало открытый уже какой-то софтинкой порт

Я ради интереса запустил это и установил свой адрес (10.10.0.63) - сам
с собой соединился и сам себе посылал пакеты... :-)

--
С уважением,
 Des                          mailto:KirSKTS@xxxxxxx.xxxx.xx
-----------------------------------------
attach: <none>
-----------------------------------------
мысль дня: "Кpовавая Мэpи" по-деpевенски: дояpка Фpося, затоптанная на утpенней дойке.
-----------------------------------------

Адрес этого сообщения    Ответить на это сообщение
 
 Re: Modbus TCP от Сименса (РАС3200)
Автор: Кирилл Виталиевич Гайдученко 
Дата:   12.02.08 18:05

Oleg Khokhlov пишет:
> Здравствуйте, Гайдученко.
>
> Вы писали 11 февраля 2008 г., 09:32:45:
>
> Выложил его тут http://kharkov.fc.org.ua/OlegH/modbusview.zip
>
 Огромное спасибо. Просто огромнейшее :) Отлично все заработало и при
помощи вашей программки и при  помощи моего творения (которое уже
приобрело цивильный вид). Стоило немножко поискать ляпы в собственном
творении и сразу все заработало. :)


С уважением, Кирилл.

Адрес этого сообщения    Ответить на это сообщение
 
 Re[2]: Modbus TCP от Сименса (РАС3200)
Автор: Oleg Khokhlov 
Дата:   13.02.08 09:54

Здравствуйте, Кирилл.

>  Огромное спасибо. Просто огромнейшее :) Отлично все заработало и при
> помощи вашей программки и при  помощи моего творения (которое уже
> приобрело цивильный вид). Стоило немножко поискать ляпы в собственном
> творении и сразу все заработало. :)

Рад помочь :)

--
С уважением,
 Олег Хохлов, Институт Транспорта Газа, г.Харьков
 mailto:oleg_h.nipi@xxxxxxxx.xxx
 mailto:olegh@xxx.xxx
 ICQ:107308679

Адрес этого сообщения    Ответить на это сообщение
 Список форумов    


 Список форумов  |  Нужен логин? Регистрируйтесь здесь 
 Логин пользователя
 Имя пользователя:
 Пароль:
 Помнить пароль:
   
 Забыли ваш пароль?
Введите имя пользователя или e-mail, и новый пароль будет послан на email, указанный в вашем профиле.

Рейтинг@Mail.ru