[?]: дозатор с двумя клапанами

Промышленные Логические Контроллеры SIMATIC S7-200/300/400
panf
Posts: 27
Joined: Sat May 30, 2015 3:44 pm

[?]: дозатор с двумя клапанами

Post by panf »

Всем привет! Не могу написать простую программу (h) .
есть входной и выходной клапан.
Открыли входной клапан наполнили дозатор, закрыли входной клапан, открыли выходной клапан слили и так пока не набрали нужное количество, также необходимо предусмотреть изменение объема дозатора.
Неделю сижу, ну никак не идет (boom) , желательно на scl...
Last edited by panf on Sat Jan 07, 2017 3:50 am, edited 1 time in total.
wiener
Posts: 167
Joined: Tue Jul 20, 2010 1:20 pm

Re: помогите с кодом

Post by wiener »

Опишите проблему нормально,что является дозатором(чем контролируется наполнение),контроль по уровню,обьему,дискретный,аналоговый(непрерывный).Вы сами понимаете суть вашей проблемы?
panf
Posts: 27
Joined: Sat May 30, 2015 3:44 pm

Re: [?]: дозатор с двумя клапанами

Post by panf »

Опишите проблему нормально,что является дозатором(чем контролируется наполнение),контроль по уровню,обьему,дискретный,аналоговый(непрерывный).Вы сами понимаете суть вашей проблемы?

Извините что без конкретики, проблема почти решена, остался один момент :( Написать нужно на SCL (о печатался в начале), на котором ни разу и не писал...
Собственно задача такова :

Если бит_начать_счет=1 то считаем расход
Иначе сохраняем Текущее значение расхода,
Появился бит вновь считаем,
до тех пор пока не станет равный заданному..
Счет расхода идет. а сохранить значение не могу, на Stl Lade давно написал бы, а тут книгу читаю, эксперименты провожу... (h) Помогите кто в теме (oo)
Usver
Posts: 193
Joined: Fri Feb 24, 2012 8:28 am

Re: [?]: дозатор с двумя клапанами

Post by Usver »

Так Вы сами сделали уже все
Если бит_начать_счет=1 то считаем расход
Иначе сохраняем Текущее значение расхода,
Появился бит вновь считаем,
до тех пор пока не станет равный заданному..
Вот и получается примерно:

Code: Select all

IF bBeginCounter = TRUE THEN
    rTekRashod:= ...;
    ...
    ...;
    IF rTekRashod >= rZadanRashod THEN
        bBeginCounter:= FALSE;
        rTekRashod:= 0;
    END_IF;
END_IF;
rTekRashod находится в глобальной DB, тогда не надо использовать ELSE
Ну как-то так и выходит...
panf
Posts: 27
Joined: Sat May 30, 2015 3:44 pm

Re: [?]: дозатор с двумя клапанами

Post by panf »

Спасибо Все получилось:) (oftop)