Просмотр полной версии : СПК110 Modbus Slave
Mikewolf
26.02.2018, 15:06
Здравствуйте, меня интересует как решить проблему "отваливания" интерфейса Modbus при его реализации через библиотеку Modbus Slave. Интерфейс задействован для связи со скадой и ранее был реализован при помощи стандартных средств Codesys. После того, как переделал на библиотеку Modbus Slave - начала постоянно отваливаться связь по Modbus. Причём в той же сети висят еще 5 контроллеров со старой программой и с ними связь как была стабильной так и остаётся. В чём может быть проблема?
Евгений Кислов
26.02.2018, 15:11
Здравствуйте, меня интересует как решить проблему "отваливания" интерфейса Modbus при его реализации через библиотеку Modbus Slave. Интерфейс задействован для связи со скадой и ранее был реализован при помощи стандартных средств Codesys. После того, как переделал на библиотеку Modbus Slave - начала постоянно отваливаться связь по Modbus. Причём в той же сети висят еще 5 контроллеров со старой программой и с ними связь как была стабильной так и остаётся. В чём может быть проблема?
Добрый день. Без проекта и подробного описания проблемы (в чем проявляется отваливание, с какой частотой наблюдается и т.д.) дать какие-либо комментарии представляется затруднительным.
Mikewolf
26.02.2018, 17:31
Добрый день. Отваливание заключается в том, что контроллер перестает обмениваться данными с OPC-сервером. Статус устройства в OPC-сервере - TimeOut. Проявляется по-разному. Может стабильно держаться двое суток, может пропасть через два часа. Восстанавливается только сбросом питания контроллера. Кусок кода, отвечающий за обмен прилагаю ниже. Если необходим полный проект - могу отправить Вам на почту.
stComSettings.sPort := 2;
stComSettings.byStopBits := 1;
stComSettings.byParity := 0;
CASE sbr OF
0: stComSettings.ulBaudrate := 4800;
1: stComSettings.ulBaudrate := 9600;
2: stComSettings.ulBaudrate := 19200;
3: stComSettings.ulBaudrate := 38400;
4: stComSettings.ulBaudrate := 57600;
5: stComSettings.ulBaudrate := 115200;
END_CASE;
stComSettingsEx.byByteSize := 8;
IF I<200 THEN
fbComService
(
Enable := TRUE,
Settings := stComSettings,
sets_ex := stComSetting****
Task := ComSerice.COM_TSK.OPEN_TSK,
Ready=> ,
handle=>
);
ELSE
fbComService
(
Enable := TRUE,
Settings := stComSettings,
sets_ex := stComSetting****
Task := ComSerice.COM_TSK.RESET_TSK,
Ready=> ,
handle=>
);
j:=j+1;
IF j>10 THEN
J:=0;
I:=0;
END_IF;
END_IF;
IF xSlaveEnable AND fbComService.Ready THEN
fbModbusSlave
(
ComHandle := fbComService.handle,
DevAddr := bySlaveID,
pBuffer := ADR(awSlaveBuffer),
BufSize := SIZEOF(awSlaveBuffer),
NewData=> ,
Error=>
);
END_IF;
IF fbModbusSlave.NewData=FALSE THEN i:=i+1; END_IF;
Евгений Кислов
26.02.2018, 18:46
1. Отправьте проект на support@owen.ru
2. Какой OPC-сервер используете?
3. История с постоянным пересбросом порта при отсутствии записи из OPC - это так и задумано?
Mikewolf
26.02.2018, 19:13
1. Проект отправил.
2. ОPC-сервер ОВЕН версия 1.9.54.11942
3. Да, это была попытка сделать автоматическую перезагрузку интерфейса. Скада раз в секунду перещелкивает один бит в посылке туда-обратно, для того, чтобы данные постоянно обновлялись.
Bigcrash
27.02.2018, 07:25
Добрый день.
Вопрос конкретного новичка. Где можно почитать (или так подскажите) как обмениваться ModBus переменными между и СПК110 и любым другим контроллером. Допустим в Сигнетиксах есть полноценная MB карта. А как такую сделать на СПК?
Евгений Кислов
27.02.2018, 08:39
Добрый день. Ознакомьтесь с документами СПК. Modbus и СПК. Настройка обмена с верхним уровнем.
http://www.owen.ru/catalog/codesys_v3/27661129
Ильнур Гибадуллин
27.02.2018, 14:07
1. Проект отправил.
2. ОPC-сервер ОВЕН версия 1.9.54.11942
3. Да, это была попытка сделать автоматическую перезагрузку интерфейса. Скада раз в секунду перещелкивает один бит в посылке туда-обратно, для того, чтобы данные постоянно обновлялись.
Получил проекты, поставил и через несколько минут контроллер выпал по Watchdog'у, опрос остановился. Я рекомендую для начала отключить сторожевые таймеры в Конфигурации задач - убрать галочки Watchdog и выставить цикл выполнения VISU_TASK 200 мс. Свободное выполнение (freewheeling) не рекомендуем.
1. Проект отправил.
2. ОPC-сервер ОВЕН версия 1.9.54.11942
3. Да, это была попытка сделать автоматическую перезагрузку интерфейса. Скада раз в секунду перещелкивает один бит в посылке туда-обратно, для того, чтобы данные постоянно обновлялись.
Добрый день! Подскажите, как-то удалось решить данную проблему? Столкнулся с аналогичной проблемой. В сети 10 ПЛК, и связь пропадает попеременно, до перезагрузки. Пробовали с 2-мя, ситуация аналогичная, то у одного пропадет, то у второго.
Евгений Кислов
09.08.2023, 11:32
Добрый день! Подскажите, как-то удалось решить данную проблему? Столкнулся с аналогичной проблемой. В сети 10 ПЛК, и связь пропадает попеременно, до перезагрузки. Пробовали с 2-мя, ситуация аналогичная, то у одного пропадет, то у второго.
Добрый день.
Пришлите, пожалуйста, ваш проект и подробное описание проблемы на support@owen.ru (кто мастер, как детектируется пропадание связи, с какой периодичностью оно просходит и т.д.).
Добрый день.
Пришлите, пожалуйста, ваш проект и подробное описание проблемы на support@owen.ru (кто мастер, как детектируется пропадание связи, с какой периодичностью оно просходит и т.д.).
Проект отправил на почту, описал проблему подробнее
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot