PDA

Просмотр полной версии : СПК107 и частотники ПЧВ1



a_gricaj
07.09.2016, 19:14
Здравствуйте!
Вопрос по проблеме обмена по Модбас - отваливаются частотники.
Мой проект состоит из СПК107, МВ110-8A -2 шт,МВ110-2АС, МУ110-8Р или 16Р, МВ110-16ДН, МУ110-6У, МВ110-224.2АС, 2 шт. частотника ПЧВ101 (вообщем количество и типы модулей зависит от конфигурации объекта)
Терминаторы подключены, длина сети не более 2 метров.
Все каналы всех модулей опрашиваются посредством "RISING EDGE", вот так:
26203

Если отвалились все установленные модули(зависит от конфигурации объекта) использую код:

CASE ResetStep OF
0: IF MV110_8ABoks1=MV110_8A_Addr5.xError AND MV110_8ABoks2=MV110_8A_Addr6.xError AND MV110_2AC=MV110_2AC_Addr7.xError AND
MU110_6U=MU110_6U_Addr8.xError AND MV110_16DN=MV110_16DN_Addr9.xError AND MU110_8RM1=MU110_8R_Addr10.xError AND
MU110_8RM2=MU110_8R_Addr11.xError AND MK110_4DN_4R=MV110_4DN_4R_Addr12.xError AND MU110_16R=MU110_16R_Addr13.xError AND
InverterBoks1=Inverter_Addr21.xError AND InverterBoks2=Inverter_Addr22.xError
THEN ResetStep:=ResetStep+1;
ELSE ResetStep:=0;
END_IF
1: Modbus_Master_COM_Port.xStop:=TRUE;
ResetTon(IN:=TRUE , PT:=T#200MS , Q=> , ET=> );
IF ResetTon.Q THEN
IF MV110_8ABoks1 THEN MV110_8A_Addr5.xReset:=TRUE;END_IF
IF MV110_8ABoks2 THEN MV110_8A_Addr6.xReset:=TRUE;END_IF
IF MV110_2AC THEN MV110_2AC_Addr7.xReset:=TRUE;END_IF
IF MU110_6U THEN MU110_6U_Addr8.xReset:=TRUE;END_IF
IF MV110_16DN THEN MV110_16DN_Addr9.xReset:=TRUE;END_IF
IF MU110_8RM1 THEN MU110_8R_Addr10.xReset:=TRUE;END_IF
IF MU110_8RM2 THEN MU110_8R_Addr11.xReset:=TRUE;END_IF
IF MK110_4DN_4R THEN MV110_4DN_4R_Addr12.xReset:=TRUE;END_IF
IF MU110_16R THEN MU110_16R_Addr13.xReset:=TRUE;END_IF
IF InverterBoks1 THEN Inverter_Addr21.xReset:=TRUE;END_IF
IF InverterBoks2 THEN Inverter_Addr22.xReset:=TRUE;END_IF
ResetTon(IN:=FALSE);
ResetStep:=ResetStep+1;
END_IF
2: ResetTon(IN:=TRUE , PT:=T#200MS , Q=> , ET=> );
IF ResetTon.Q THEN
IF MV110_8ABoks1 THEN MV110_8A_Addr5.xReset:=FALSE;END_IF
IF MV110_8ABoks2 THEN MV110_8A_Addr6.xReset:=FALSE;END_IF
IF MV110_2AC THEN MV110_2AC_Addr7.xReset:=FALSE;END_IF
IF MU110_6U THEN MU110_6U_Addr8.xReset:=FALSE;END_IF
IF MV110_16DN THEN MV110_16DN_Addr9.xReset:=FALSE;END_IF
IF MU110_8RM1 THEN MU110_8R_Addr10.xReset:=FALSE;END_IF
IF MU110_8RM2 THEN MU110_8R_Addr11.xReset:=FALSE;END_IF
IF MK110_4DN_4R THEN MV110_4DN_4R_Addr12.xReset:=FALSE;END_IF
IF MU110_16R THEN MU110_16R_Addr13.xReset:=FALSE;END_IF
IF InverterBoks1 THEN Inverter_Addr21.xReset:=FALSE;END_IF
IF InverterBoks2 THEN Inverter_Addr22.xReset:=FALSE;END_IF
ResetTon(IN:=FALSE);
ResetStep:=ResetStep+1;
END_IF
3: ResetTon(IN:=TRUE , PT:=T#200MS , Q=> , ET=> );
IF ResetTon.Q THEN
Modbus_Master_COM_Port.xResetComPort:=TRUE;
ResetTon(IN:=FALSE);
ResetStep:=ResetStep+1;
END_IF
4: ResetTon(IN:=TRUE , PT:=T#200MS , Q=> , ET=> );
IF ResetTon.Q THEN
Modbus_Master_COM_Port.xResetComPort:=FALSE;
ResetTon(IN:=FALSE);
ResetStep:=ResetStep+1;
END_IF
5: ResetTon(IN:=TRUE , PT:=T#200MS , Q=> , ET=> );
IF ResetTon.Q THEN
Modbus_Master_COM_Port.xStop:=FALSE;
ResetTon(IN:=FALSE);
ResetStep:=ResetStep+1;
END_IF
6: ResetTon(IN:=TRUE , PT:=T#200MS , Q=> , ET=> );
IF ResetTon.Q THEN
ResetTon(IN:=FALSE);
ResetStep:=0;
END_IF
END_CASE


Если какой то один слейв отвалился, тогда такой код (на BLINK):


ResetMV110_8A_Addr5(ENABLE:= MV110_8A_Addr5.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MV110_8A_Addr5.xReset);
ResetMV110_8A_Addr6(ENABLE:= MV110_8A_Addr6.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MV110_8A_Addr6.xReset);
ResetMV110_2AC_Addr7(ENABLE:= MV110_2AC_Addr7.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MV110_2AC_Addr7.xReset);
ResetMU110_6U_Addr8(ENABLE:= MU110_6U_Addr8.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MU110_6U_Addr8.xReset);
ResetMV110_16DN_Addr9(ENABLE:= MV110_16DN_Addr9.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MV110_16DN_Addr9.xReset);
ResetMU110_8R_Addr10(ENABLE:= MU110_8R_Addr10.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MU110_8R_Addr10.xReset);
ResetMU110_8R_Addr11(ENABLE:= MU110_8R_Addr11.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MU110_8R_Addr11.xReset);
ResetMV110_4DN_4R_Addr12(ENABLE:= MV110_4DN_4R_Addr12.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=>МV110_4DN_4R_Addr12.xReset);
ResetMU110_16R_Addr13(ENABLE:= MU110_16R_Addr13.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> MU110_16R_Addr13.xReset);
ResetInverter_Addr21(ENABLE:= Inverter_Addr21.xError, TIMELOW:= T#200MS, TIMEHIGH:= T#1S, OUT=> Inverter_Addr21.xReset);
ResetInverter_Addr22(ENABLE:= Inverter_Addr22.xError, TIMELOW:= T#200ms, TIMEHIGH:= T#1S, OUT=> Inverter_Addr22.xReset);


Измеряли сигналы на RS осциллографом - при подключении частотников сигнал в сети начинает сильно искажаться.
Из выше указанного вопрос: нет ли у меня в коде какие-то ошибки, и как можно победить эти помехи (кабель - витая пара, терминаторы стоят)?

RA.
07.09.2016, 20:38
ПЧ заземлен? проверяли?
экран витой пары куда?
А без ПЧ все нормально работает? отвалов нет?

PS: у самого похожий проект в ближайшем будущем, вот и думаю куда бы соломки заранее подстелить ))

a_gricaj
07.09.2016, 21:40
ПЧ заземлен? проверяли?
экран витой пары куда?
А без ПЧ все нормально работает? отвалов нет?

PS: у самого похожий проект в ближайшем будущем, вот и думаю куда бы соломки заранее подстелить ))

землю на ПЧ не проверял, завтра буду на объекте посмотрю...экран витой пары на землю...
Эта система тестировалась в офисных условиях правда с одним ПЧ - все работало хорошо....
У меня такое впечатление это все при групповом опросе (когда оба ЧП работают), по отдельности все работает нормально, я уже и прошивки модулей поменял.... завтра опять "танцы с бубном"

RA.
07.09.2016, 22:03
землю на ПЧ не проверял, завтра буду на объекте посмотрю...экран витой пары на землю...
Эта система тестировалась в офисных условиях правда с одним ПЧ - все работало хорошо....
У меня такое впечатление это все при групповом опросе (когда оба ЧП работают), по отдельности все работает нормально, я уже и прошивки модулей поменял.... завтра опять "танцы с бубном"

так и при модулях В/в + 1 ПЧ все тоже хорошо?
и только при добавлении 2ого начинаются проблемы?

И вроде у RS485 только в одной точке экран заземляется. (хотя по личному опыту влияние на устойчивость обмена заземления экрана и резисторов не было замечено. да, естественно на нормальных не запредельных длинах)

a_gricaj
07.09.2016, 22:14
так и при модулях В/в + 1 ПЧ все тоже хорошо?
и только при добавлении 2ого начинаются проблемы?

И вроде у RS485 только в одной точке экран заземляется. (хотя по личному опыту влияние на устойчивость обмена заземления экрана и резисторов не было замечено. да, естественно на нормальных не запредельных длинах)

Да, вы правы RS485 только в одной точке экран заземляется
Повторюсь в офисе с одним ПЧ все ок, правда тогда и МВ8а один был, а на объекте их два (со старой прошивкой).....
У меня была проблема (при разработке данного проекта) с опросом пока не перепрошил МВ6у - тогда тоже сеть ложилась...
Вторая проблема была (она решилась с помощью кода - смотрите первый код) при отвале связи с ЧП - не восстанавливалась связь с ЧП и со всеми модулями которые были установлены в опрос - тупо ложилась и все....

a_gricaj
11.09.2016, 11:27
Че ни у кого нет проблем с опросом ЧП, и у всех все ок??

Частично проблема решилась установкой на RS повторителя до ЧП, которые стоят в сети последние, но факт того, что они отваливаются остался, пришлось увеличить задержку на аларм в коде программы - для того что бы не видно было ошибки.

aspeed
02.10.2016, 14:40
3 частотника, полет нормальный, в своих проектах все частотники сажу на отдельный шлейф.

RA.
11.10.2016, 01:41
И я присоединяюсь с похожей проблемой, только частотник оригинальный danfoss FC-051 (те же яйца, что и ПЧВ1)

СПК107 <-> PC COM + ModbusSlave - работает
ПЧ1 <-> PC COM + ModBusPoll (или конфигуратор)- работает

а вот
СПК107 <-> ПЧ1 - не работает.
причем:
на ПЧ диод у клемм RS-485 не гаснет (как положено при правильно собранной линии) а чуть тускнеет
на СПК диод COM вообще не моргает, как отключаюсь от ПЧ - начинает мограть
после долгого (30 - 60 сек) такого коннекта СПК и ПЧ, CDS теряет СПК107 (!!!)

похоже на бред, ... но вчера все работало, кардинально ничего не менял, а сейчас под конец вообще оставил считываться 1 регистр - и ничего ((

PS: осциллографа при себе нет

RA.
11.10.2016, 01:42
UPD
Афигеть просто

Снял питание с ПЧ (он еще сек 10 после снятия работает) - обмен пошел нормально !!!!

ДА КАК ТАК ТО?????