PDA

Просмотр полной версии : ПЛК304 под MasterSCADA и не функционирующий ФБ на ST



a_lesha
30.06.2013, 10:01
Не смог найти в описаниях ограничений работы ФБ. То есть - подпрограмма исполняется в контроллере в случае, если задействованы входные и выходные параметры с внешними условиями, НО как только необходимо произвести какие-либо дополнительные преобразования, использовать локальные переменные - ФБ выдает 0.
Например, работает конструкция:

PROGRAM MAIN_PROGRAM
VAR_INPUT
in:word;
END_VAR
VAR_OUTPUT
out:word;
END_VAR
VAR
i:word;
END_VAR

i:=in;
out:=Mul(in,i)
END_PROGRAM

а такая же с константой уже не работает:

....
i:=in;
out:=Mul(2,i)

при этом ошибок не генерится, предупреждений не выводится. При отладке, к слову, все работает.

из хелпа на ST: ST стандарта МЭК-61131-3. Функциональный блок может исполняться как в компьютере, так и в контроллере (применимость для конкретных контроллеров нужно уточнять в службе технической поддержки).

P.S.: На 2013-07-02 проблема зафиксирована в техподдержке InSat и подтверждена. будут разбираться. отпишусь.

capzap
30.06.2013, 10:55
Тип константы не определен видимо, попробуйте W#16#2, как то так

a_lesha
30.06.2013, 11:26
я тоже думаю, что дело в представлении константы... однако, можно поподробнее или пример синтаксиса, как использовать преобразование вида W#16#2 ??
буду пробовать конечно, но если есть пример написания, приму с благодарностью

a_lesha
30.06.2013, 11:56
плохо, что при отладке всё работает, как надо. ограничение какого элемента это, интересно ?

если указывать режим выполнения - к компьютере - тоже всё адекватно написанию.
как только ставится выполнение в ПЛК - всё, тишина ! как будто нет констант !