Diskuse Elektrika.cz

HYBRIDNÍ zóna => Technická podpora výrobce TECO Kolín radí odborníkům => Téma založeno: Jaroslav Antoš 31.07.2014, 14:36



Název: Jak obcházíte v CFC nemožnost přiř. polí do vstupních proměnn. funkčního bloku?
Přispěvatel: Jaroslav Antoš 31.07.2014, 14:36


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í...?


Název: Re: Jak obcházíte v CFC nemožnost přiř. polí do vstupních proměnn. funkčního bloku?
Přispěvatel: Jiri Dvorak 02.08.2014, 21:44
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........


Název: Re: Jak obcházíte v CFC nemožnost přiř. polí do vstupních proměnn. funkčního bloku?
Přispěvatel: Jaroslav Antoš 03.08.2014, 21:54
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)


Název: Re: Jak obcházíte v CFC nemožnost přiř. polí do vstupních proměnn. funkčního bloku?
Přispěvatel: Milan Bydžovský 05.08.2014, 09:24
Předání polí vždy vyžaduje definici typu. Nemusí to být struktura, je možné psát.

Kód:
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.