PDA

Просмотр полной версии : ПЛК+СП270 – сообщение о зависании контроллера



martial1
04.02.2011, 16:49
Приветствую всех форумчан!

Будем считать, что нормальная работа контроллера – это работа без сбоев, зависаний, останова и прочих багов которые могут или не могут возникнуть.

Я тоже раньше считал, что полностью отлаженная программа будет работать безупречно, пока не зависла система, бесперебойно отработавшая несколько месяцев.

Самое интересное, контроллер «запомнил» состояния портов, соответственно панель отображала все что требуется, не подозревая о подвохе со стороны компаньона.

Соответственно возникло желание организовать вывод информационного сообщения о перезагрузке системы, хотя бы методом вкл.\вык. питания.

Это конечно не решение проблемы, но и лишним в любом проекте я думаю, не будет.

Конфигурация системы: панель – master, плк – slave.

Какие у кого мысли, рад буду услышать.

Ельцов Андрей
05.02.2011, 23:16
Есть очень большая вероятность, что у Вас произошло срабатывание кнопки "Пуск". Чтобы уйти от этого вынесите кнопку пуск как отдельную кнопку в ПЛК-конфигурацию...

Валенок
06.02.2011, 12:34
Соответственно возникло желание организовать вывод информационного сообщения о перезагрузке системы, хотя бы методом вкл.\вык. питания.

Лехко.

1.В панели делает главный (загрузочный) экран без каких-либо кнопок, с одной единственной надписью :
"ПЛК - завис"

2.Настраиваете в панели переход на этот экран через какое-то кол-во времени.

3.Настраиваете в панели регистры установки/чтения экранов

4.В плк организуете что-то типа :

IF Текущий_экран = ПЛК_завис THEN
Установить_экран := КАКОЙ_ТО_ДРУГОЙ;
END_IF

Хеппи (обычно) энд.

Но как сказал Андрей Е. - это борьба с последствиями, а нужно искать причины зависания.

PS
Правда при желании еще и выключать подсветку ..
Чапай думать будет...

Валенок
06.02.2011, 12:42
Но это всего лишь сообщение..
А вот автовключение - выключение ПЛК сделать :

Метод японский (для сильных духом)

Питаете панель и ПЛК через н.з. собственный дискр. выход ПЛК.
Можно еще н.з. выход внешнего механического TOF использовать. Для подстраховки (для 1ХХ серий, с уставкой 5-10мин)

PS
:cool: :eek: :D

martial1
06.02.2011, 13:38
Все так, да не совсем. ПЛК зависает и запоминает (в моем случае) состояния выходов, и поэтому он не сбросит свой дискр. выход и не будет осуществлена авто перезагрузка. Хотя это и не совсем нужно, думаю подобные процессы должны быть подконтрольны оператору, поэтому ему достаточно сообщить об этом.

И не пойму я Вашего предложения о смене экранов, ведь при останове ПЛК

Установить_экран := КАКОЙ_ТО_ДРУГОЙ;
так и останется := КАКОЙ_ТО_ДРУГОЙ;

На стенде конечно попробую покрутить, но думаю это не увенчается успехом.


Есть очень большая вероятность, что у Вас произошло срабатывание кнопки "Пуск". Чтобы уйти от этого вынесите кнопку пуск как отдельную кнопку в ПЛК-конфигурацию...

Я тоже думаю что именно так и произошло.
И если я повешу кнопочку «Button Start/Stop» вечный «True» и контроллер ни когда не будет уходить в режим «Стоп»?

Валенок
06.02.2011, 14:46
ПЛК зависает и запоминает
Если именно зависает – то ничего не запоминает, а устанавливает выходы в аварийное состояние (все примеры для – FALSE) И японский метод – для (от :) ) зависания.

А если все-таки останавливается - см. ниже про кнопку


И не пойму я Вашего предложения о смене экранов, ведь при останове ПЛК
Установить_экран := КАКОЙ_ТО_ДРУГОЙ;
так и останется := КАКОЙ_ТО_ДРУГОЙ;
См. пост 3. пункт 2


На стенде конечно попробую покрутить, но думаю это не увенчается успехом.
Не парьтесь – увенчается. Только не забывайте, процессы – реалтайм. Т.е. панель может уже встать в нужный экран, а сообщить плк об этом еще не успела.
С этим можно бороться по нашему, по-крестьянски :

Выходим : BOOL;

CASE Текущий_экран OF
Плк_завис : IF NOT Выходим THEN
Выходим := TRUE;
Установить_экран := Какой_то;
END_IF
Какой_то : Выходим := FALSE;
END_CASE


И если я повешу кнопочку «Button Start/Stop» вечный «True»
Просто прилепите модуль Button – и все. Кнопка старт-стоп станет дополнительным дискретным входом свободного назначения.



и контроллер ни когда не будет уходить в режим «Стоп»?
“Никогда не говори никогда”
Скажем так – зна-а-чительно реже ;)

Foxer
08.02.2011, 10:07
Вопрос: можно ли сконнектить ПЛК-150 с СП270 через АС3-М (в описании дан перечень приборов с которыми работает преобразователь).
На ПЛК задействуется RS-232, на СП270 RS-485, соединение через GPRS модемы с RS-485. ???

Илья Кареткин
08.02.2011, 15:56
Ответ: 1) Можно! АС3-М не привязан к приборам подключаемых к нему по RS.
Если преобразуете порт Download СП270: Схема кабеля приведена в прикрепленном документе.
Если преобразуете порт ПЛК150,то нужен наш кабель КС-3 на сайте в разделе ПЛК есть таблица кабелей с распайками.

2) Если используете модемы для подключения..используемые интерфейсы могут быть различные. Главное чтобы модем поддерживал тот интерфейс, по которому вы хотите его подключить. В ваше схеме преобразователи не нужны..только модемы ПМ01.ХХ.АВ

С точки зрения соединения: с одним ПЛК (со стороны панели нет ПЛК), то возможен только GSM режим CSD. Причем инициатор ПЛК, т.е. по команде с контроллера идёт "звонок данных" через модемы на панель, после установки соединения передаются данные заданное время.
Данный режим экономически выгоден, только в случае передачи данных на панель по событию(аварийная сигнализация) или с редким периодом времени. Иначе 2 ПЛК, тогда возможен GPRS.