Jak obcházíte v CFC nemožnost přiř. polí do vstupních proměnn. funkčního bloku?
(1/1)
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... ;)
(poklona) 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.
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.
Navigace
[0] Index zpráv