Wientek(мастер)+2устройства slave. по ethernet

Работа с панелями оператора Weintek - подключение, программирование, совмещение с ПЛК

Модераторы: kiv, 8bit, VanMo

Wientek(мастер)+2устройства slave. по ethernet

Сообщение Liza » 19 янв 2016, 14:02

Здравствуйте!
Вопрос – как настроить работу панели Wientek-мастер с двумя slave устройствами по протоколу Modbus tcp/ip интерфейс Ethernet.
Панель wientek MT8070iH (является мастером)
ПО: EasyBuilder8000.

Описание:

IP адрес панели wientek «168.192.0.197», порт 502.
Создаю в проекте 2 устройства.

1. Устройство Slave с именем «MODBUS TCP/IP 2»
Тип «Modbus tcp/ip»
Ip адрес «168.192.0.198», порт 502

2. Устройство Slave с именем «MODBUS TCP/IP 1»
Тип «Modbus tcp/ip»
Ip адрес «168.192.0.119», порт 502

2 устройства созданы:
«MODBUS TCP/IP 2»
«MODBUS TCP/IP 1»

Далее, пишу макрос в котором опрашиваю 2 устройства по очереди;
Период выполнения макроса 7 секунд.
macro_command main()
unsigned short ushortt
float floatt

//опрос 192.168.0.198 устройство "MODBUS TCP/IP 2" ***********************************************
//считываю регистры
//1
GetData(ushortt, "MODBUS TCP/IP 2", 4x, 2, 1)
SetData(ushortt, "Local HMI", "ushort2", 1)
//2,3
GetData(floatt, "MODBUS TCP/IP 2", 5x, 3, 1)
SetData(floatt, "Local HMI", "float2", 1)

//прибавляю 1
ushortt =ushortt +1
floatt=floatt +1

//записываю новое значение
SetData(ushortt, "MODBUS TCP/IP 2", 3x, 2, 1) //1
SetData(floatt, "MODBUS TCP/IP 2", 5x, 3, 1) //2,3

//опрос 192.168.0.119 устройство "MODBUS TCP/IP 1" ***********************
//считываю значения
//1
GetData(ushortt, "MODBUS TCP/IP 1", 4x, 2, 1)
SetData(ushortt, "Local HMI", "ushort1", 1)
//2,3
GetData(floatt, "MODBUS TCP/IP 1", 5x, 3, 1)
SetData(floatt, "Local HMI", "float1", 1)

//прибавляю 1
ushortt =ushortt +1
floatt=floatt +1

//записываю новое значение
SetData(ushortt, "MODBUS TCP/IP 1", 3x, 2, 1)
SetData(floatt, "MODBUS TCP/IP 1", 5x, 3, 1)

end macro_command

В результате Wientek отправляет все запросы на 1 устройство с адресом «192.168.0.198» ("MODBUS TCP/IP 2")
Запросы которые приходят от панели wientek :

14 : 43 : 22 : 720 : 0 40 0 0 0 6 2 3 0 1 0 1 ;
14 : 43 : 22 : 752 : 0 41 0 0 0 6 2 3 0 2 0 2 ;
14 : 43 : 22 : 767 : 0 42 0 0 0 9 2 16 0 1 0 1 2 0 184 ;
14 : 43 : 22 : 783 : 0 43 0 0 0 11 2 16 0 2 0 2 4 67 57 0 0 ;
14 : 43 : 22 : 830 : 0 44 0 0 0 6 1 3 0 1 0 1 ;
14 : 43 : 22 : 845 : 0 45 0 0 0 6 1 3 0 2 0 2 ;
14 : 43 : 22 : 877 : 0 46 0 0 0 9 1 16 0 1 0 1 2 0 185 ;
14 : 43 : 22 : 892 : 0 47 0 0 0 11 1 16 0 2 0 2 4 67 58 0 0 ;

Как сделать чтобы первые 4 запроса были отправлены на адрес «192.168.0.198», а вторые четыре на адрес «192.168.0.119».
Причем если устройства поменять местами в настройках.

Список устройств:
«MODBUS TCP/IP 1»
«MODBUS TCP/IP 2»

То все запросы будут приходить на устройство «192.168.0.119» ( т е на первое устройство modbas tcp/ip в списке ).
Что делать? Ничего не могу найти в документации.
Причем ошибок компилятор не выдает никаких, все нормально загружается.
Liza
 
Сообщения: 4
Зарегистрирован: 19 янв 2016, 13:02

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение den_po » 19 янв 2016, 15:24

Какую версию EB8000 вы используете?
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение Liza » 19 янв 2016, 15:32

EasyBuilder8000 V.4.66.01.006 build 2015.10.29
Liza
 
Сообщения: 4
Зарегистрирован: 19 янв 2016, 13:02

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение den_po » 19 янв 2016, 16:00

Проблему подтверждаю, как минимум в последних двух версиях баг присутствует. Сообщим разработчикам.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение Liza » 19 янв 2016, 16:10

Спасибо за ответ
Liza
 
Сообщения: 4
Зарегистрирован: 19 янв 2016, 13:02

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение den_po » 21 янв 2016, 12:56

den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение Serjo » 04 апр 2016, 16:11

Добрый день! Стоит задача считывать данные с одно из контроллеров в зависимости в каком состоянии находится входная дискретная переменная ВД1 контроллеров(ВД1=1 Основной, ВД=0 Резервный. С Основного и считываем).
Подключили два контроллера DevLink c1000 к панели Wientek 8070iE по Ethernet через хаб. Связываемся с панелькой по Modbus TCP/IP. Объявил в проекте в EasyBuilder Pro (версия V5.0.03.02.033) два контроллера MODBUS TCP/IP2 и MODBUS TCP/IP1, соответственно задали адреса 196.92.201.2, 196.92.201.1 и порт 502. Данные забирает только с одного контроллера "MODBUS TCP/IP1". Со вторым просто нет связи.
Попытались реализовать через макрос эту задачу. Но панель второй контроллер (MODBUS TCP/IP2) не видит.
Вот текст макроса.
macro_command main()

unsigned short ushortt,ushortt2
short floatt,floatt2
int k

//опрос устройство "MODBUS TCP/IP 2" ***********************************************
//считываю регистры

GetData(k,"MODBUS TCP/IP2", 1x, 1, 1)
if k == 1 then
GetDataEx(floatt, "MODBUS TCP/IP2", 4x, 3, 10)
end if
GetData(k,"MODBUS TCP/IP1", 1x, 1, 1)
if k == 1 then
GetDataEx(floatt2, "MODBUS TCP/IP1", 4x, 3, 10)
end if


end macro_command

Что делаем не так?
Serjo
 
Сообщения: 2
Зарегистрирован: 04 апр 2016, 14:47

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение den_po » 04 апр 2016, 17:06

Попробуйте не 1x, а 1x_single_Bit. Либо в настройках линка нажмите "добавить диапазон адресов" и задайте границы доступных диапазонов регистров для 1x.
den_po
 
Сообщения: 436
Зарегистрирован: 04 фев 2013, 12:25

Re: Wientek(мастер)+2устройства slave. по ethernet

Сообщение Serjo » 19 апр 2016, 12:41

den_po писал(а):Попробуйте не 1x, а 1x_single_Bit. Либо в настройках линка нажмите "добавить диапазон адресов" и задайте границы доступных диапазонов регистров для 1x.
Панель стала принимать данные от двух контроллеров, только после того как в параметрах устройства ПЛК, №ПЛК по умолчанию нужно указать для обоих контроллеров 1 (один). т.е. если присваиваешь одному контроллеру 1 другому 2, или одному 0 другому 1 - не работает! Именно нужно указывать для обоих - 1(один).
Serjo
 
Сообщения: 2
Зарегистрирован: 04 апр 2016, 14:47


Вернуться в Weintek

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

Сейчас этот форум просматривают: АЛМ, Bing [Bot] и гости: 18