PDA

Просмотр полной версии : Самопроизвольная перезагрузка



Дмитрий77
16.12.2008, 08:45
Добрый День Уважаемая поддержка!!!
Вчера контроллер начал периодически самопроизвольно перезагружаться.
У меня есть подозрение что это связано с тем что я неправильно подключил на дискретный вход ПЛК 150 220 В датчик npn запитав его 24 вольтами и как следствие напряжение на всех дискретных входах поднялось до 15 В. Без подключенного датчика там соответственно 10 В.
Раньше такого не происходило даже с неправильно подключенным датчиком.
У меня есть подозрение что это связано с тем ,что в помещении где установлен плк вчера было очень жарко и это выявило мой промах в подключении датчика.
Что Вы думаете по этому поводу. Я в правильном направлении???

Kirill
16.12.2008, 10:52
Добрый День Уважаемая поддержка!!!
Вчера контроллер начал периодически самопроизвольно перезагружаться.
У меня есть подозрение что это связано с тем что я неправильно подключил на дискретный вход ПЛК 150 220 В датчик npn запитав его 24 вольтами и как следствие напряжение на всех дискретных входах поднялось до 15 В. Без подключенного датчика там соответственно 10 В.
Раньше такого не происходило даже с неправильно подключенным датчиком.
У меня есть подозрение что это связано с тем ,что в помещении где установлен плк вчера было очень жарко и это выявило мой промах в подключении датчика.
Что Вы думаете по этому поводу. Я в правильном направлении???

Датчик здесь ни при чем. Проверьте для начала вашу программу. Такое поведение ПЛК может свидетельствовать о том, что в вашем алгоритме при выполнении нескольких условий происходит бесконечный цикл. ПЛК справиться с ним без перезагрузки, естественно, не может. А перезагрузившись - вновь попадает в бесконечный цикл.

Дмитрий77
16.12.2008, 12:36
Не могу определить где в алгоритме программы ошибка преводящаяя к перезагрузке. У и циклов нет вроде.

Может опытному глазу что и видно будет.

PLCInfo
PLC model MODEL PLC 150
Binary VERSION 2.03.0
Need Target version 2.02
Compiled: 12:36:07 Dec 26 2007
MAC 67:77:01:08:4C:39
IP 10.0.6.10
GATE 10.0.6.1
MASK 255.255.255.0
Licence unlimited
Current DAC
PIC version is 09

Филоненко Владислав
16.12.2008, 13:20
Для начала сделайте следующее:
Цикл ПЛК 2 мс.
А задачи внутри PLC_PRG вызывайте по очереди, каждый цикл ПЛК по одной.
Если сбои продолжатся, то по очереди отключайте блоки программы.

Дмитрий77
16.12.2008, 13:59
Спасибо !Хорошо.
Только непонятно почему цикл надо делать 2 мс. Он у меня сейчас 15 мс.
Может я не понимаю но чем больше цикл тем больше времени остается на синхронизацию протоколов различных в моем случае modbus slave и OWEN??

Дмитрий77
16.12.2008, 14:08
А для того чтобы разнести выполнения подпрограмм по циклам мне надо использовать видимо CASE. Если можно то выложите простой примерчик. Как это грамотно делать. Думаю многим типа меня это будет весма полезно!!

Филоненко Владислав
16.12.2008, 14:56
Напишу в псевдокоде:
разбиение 1 задачи на 3 куска.

INT a;

a++;
switch (a)

case 0:
Делаем задачу №0
break;

case 1:
Делаем задачу №1
break;

case 2:
Делаем задачу №2
a=0;
break;

end_switch

Филоненко Владислав
16.12.2008, 14:57
Спасибо !Хорошо.
Только непонятно почему цикл надо делать 2 мс. Он у меня сейчас 15 мс.
Может я не понимаю но чем больше цикл тем больше времени остается на синхронизацию протоколов различных в моем случае modbus slave и OWEN??

15 мс - у Вас отладка уже тормозить станет. Рабочие значения от 1 до 10 мс.

Дмитрий77
16.12.2008, 16:36
Благодарю!