Vai al contenuto
PLC Forum


Scl - Funzioni Di Comparazione


route86

Messaggi consigliati

Premetto che utilizzo SCL da poco. Vorrei sapere se è possibile e in quale modo compare due "array" o due "strutture di dati". Ho provato ma non sono proprio riuscito, esiste qualche funzione?

Link al commento
Condividi su altri siti


direttamente no ma puoi scriverti una funzione

se invece vuoi farlo normalmente allora fai cosi :

FUNCTION FC10 : INT

VAR_TEMP

a1:ARRAY[1..10] OF INT;

a2:ARRAY[1..10] OF INT;

i:INT;

END_VAR

FOR i:=1 TO 10 DO

IF a1=a2 THEN

m0.0:=true;

ELSE

m0.0:=false;

END_IF;

END_FOR;

;

FC10 := 100;

END_FUNCTION

ciao

walter

p.s. se vuoi scriverti una funzione basta che dichiari gli array come input e al posto di m0.0 metti un output

Modificato: da walterword
Link al commento
Condividi su altri siti

Ciao Walter,

Ti ringrazio per la tempestività della risposta, ma il mio problema è questo:

- Devo poter confrontare (sempre se possibile) due ARRAY o due STUCT interi.

VAR

A1 : ARRAY[0..9] OF BYTE;

A2 : ARRAY[0..9] OF BYTE;

END_VAR

?????????????????

IF A1 = A2 THEN

.............

.............

END_IF

- Mi chiedevo se esisteva già una funzione in grado di confrotare due ARRAY identici.

Ti ringrazio.

Link al commento
Condividi su altri siti

si in visual studio , vc#, vb6 , delphi , c++ esistono

ma in scl no

ho provato adesso per curiosita a compilare il tuo esempio ma non funziona

scl e' un compilatore tendente al Pascal per rendere piu veloce e leggibile

codice che diversamente sarebbe un disastro (in awl)

le strutture , che servono per rendere piu pulita l'organizzazione dei dati , alla fine

non sono altro che una contiguita di dati

prova in step 7 a creare una struttura composta da altre strutture , array ect

alla fine quando clicchi su visualizza dati ti si sviluppa il Db che hai creato come una

"lista di variabili" ,

quindi fai come ti ho detto sopra oppure creati una funzione

dove passi come parametri di input i 2 array , nel begin fai il controllo col ciclo for o while-do

e poi in base ai risultati definisci le tue uscite

non e' difficile , tio ho gia scritto quasi tutto

la funzione poi la potrai richiamare nei diversi linguaggi , kop , awl e fup e fip e fap e fiom :D

all'atto della chiamata ti chiedera i parametri specificnado cosa si aspetterebbe come tipo di dato

e tu glieli passi .

dai lazzarone fai uno sforzo

ciao ;)

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...