• Welcome to Diskuse2 Elektrika.cz. Please login or sign up.
 

Jak obcházíte v CFC nemožnost přiř. polí do vstupních proměnn. funkčního bloku?

Started by Jaroslav Antoš, 31.07.2014, 14:36

previous topic - next topic

Jaroslav Antoš



Jak obcházíte v CFC nemožnost přiřazování polí do vstupních proměnných funkčního bloku?

typicky mám třeba pro jednoduchost definovanou globální proměnnou

weekprog    : ARRAY[1..7] OF BOOL;

a tu chci předat do funkčního bloku. Mohu využít toho, že je globální a použít jí rovnou uvnitř bloku, ale lepší by bylo mít vstupy nějak definované, takže aspoň VAR_INPUT, když už ne VAR_IN_OUT.  Nadefinuji tedy vstupní proměnnou stejně, ale po přiřazení to padá na "Nesoulad typů nebo nepovolena kombinace typů"

Máte někdo nějaké elegantní řešení...?

Jiri Dvorak

Tato sekce je určena pro komunikaci s podporou od výrobce, ale přesto se pokusím napomoci:

Vytvoříte vlastní typ proměnné  ,,STRUCT" , která obsahuje vámi požadované pole,

type
in_out_type : struct
     week_prog : array [1..7] of usint;
end_struct;
end_type



po té vytvoříte vstupní proměnou  vámi požadované funkce/funkčního bloku :
např.:
in : in_out_type;


a globální z nichž budete cucat předvolby ( týdenní programy), téhož typu........

Jaroslav Antoš

Jasně, no beru to tu spíš jako fórum s podporou výrobce...  ;) 

Děkuji za myšlenku, asi to jinak nepůjde. Prostě na každé pole vytvořit obalovou strukturu.

Jak člověk přijde z jiných jazyků, tak si trochu musí zvyknout na omezení, jinou logiku programování, práci s pamětí a daty.

   Ještě jednou díky za nasměrování  8)

Milan Bydžovský

Předání polí vždy vyžaduje definici typu. Nemusí to být struktura, je možné psát.

Code Select
TYPE
  TWeekProg : ARRAY [1..7] OF USINT;
END_TYPE


Takový typ pak umožňuje předání do/z bloku a přiřazení pole do pole.