PDA

Просмотр полной версии : for для выходов?



a_l_e_x
25.08.2010, 12:32
Здоровья и удачи, форумчане!!!
подскажите
мне нужно нечто вроде этого:

FOR i:=1 TO 5
DO
%QB6.i.0:=g;
END_FOR;

т.е. обращаться к выходам в цикле:) .
это возможно?
а как?

Gans
25.08.2010, 13:45
Здоровья и удачи, форумчане!!!
подскажите
мне нужно нечто вроде этого:

FOR i:=1 TO 5
DO
%QB6.i.0:=g;
END_FOR;

т.е. обращаться к выходам в цикле:) .
это возможно?
а как?Иногда дискретные выхода в "ПЛК-конфигурации" сгруппированы в байты и работать можно с байтом, а там и циклы можно прикрутить :-)

a_l_e_x
25.08.2010, 13:47
спасибо за ответ.и как это я сам не догадался....
а по другому никак?а то вдруг можно, интересно....
просто я хотел это применить и для переменных модбаса, а там много может быть и разных всяких....

Gans
25.08.2010, 14:33
иногда и входа/выхода опрашиваемые по внешним интерфейсам можно читать/записывать «масками»
а что из оборудования есть? что бы в предметную плоскость перевести разговор :-)

a_l_e_x
25.08.2010, 14:37
а что такое читать масками?
есть 5 плк 110-60, 12 мва8 и ип320.
по плк все готово. счас "рисую" в скаде.
на будущее просто решил узнать, как бы в цикл это загнать...

lara197a
25.08.2010, 15:08
к примеру в мдвв пегистр 50(16 бит) и 51 отображают состояния входов и выходов.
1-8-бит и 1-12 принимают значения выходов и входов, соответсвующее их состоянию.

Валенок
25.08.2010, 23:30
Ну и как вариант, если нужен именно цикл к переменным из разных мест, то можно сделать массив из указателей.

Цикл для битов :

IF i:=0 TO .. DO
IF EXTRACT( MASK, i ) THEN ... ELSE ... END_IF
END_FOR

А какие там биты в МВА8 ? У Вас часть входов как дискретные настроена ?

a_l_e_x
26.08.2010, 09:26
перефразирую вопрос.
как сделать массив из входов/выходов или переменных модбаса, те которые %...., просто там цифорки идут через точки, а как было бы хорошо прям по этим цифоркам с ними и работать))))))))))))))))))))

например: %QB6.[i].[j]

a_l_e_x
27.08.2010, 11:44
спасибо за ответы