Sottosezione: Dispositivo
IL Device la sottosezione definisce i dispositivi che devono essere aggiunti dal generatore di dispositivi. Esistono diversi tipi di dispositivi generati definiti con le diverse sottosezioni Identification, Wildcard, E FlexibleWildcard .
Sintassi:
SEC DeviceGenerator //optional: yes, modifier: [UPDATE]
SEC Device : <target ID> //optional: yes, modifier [UPDATE]
Parent := <target ID>; //optional: yes, type: ID
ParentSlotIndex := <slot number>; //optional: yes, type: literal/integer
SEC Identification //optional: yes, modifier: [UPDATE]
Type := <type number>; //optional: no, type: literal/string
ID := <ID mumber>; //optional: no, type: literal/string
ModuleID := <module ID>; //optional: yes, type: literal/string
Version := <version mumber>; //optional: no, type: literal/string
SEC SetChildName //optional: yes, modifier: [UPDATE]
Value := <child name>; //optional: no, type: literal/string
ChildIndex := <index number>; //optional: no, type: literal/string
END_SEC
END_SEC
END_SEC
SEC ExportDevice //optional: yes, modifier: [UPDATE, HIDE]
Files :=[<filename1>, <filename2>, ...]; //optional: no, type: string
END_SEC
END_SECIL
Devicesezione ha un ID di destinazione che la identifica in modo univoco tra gli altri dispositivi generati di un modulo. Questo ID può essere utilizzato per fare riferimento a questo dispositivo. Ciò avviene principalmente nella definizioneParentdi altri dispositivi creati o I/O collegati.IL
Parentdefinizione specifica il dispositivo genitore desiderato sotto il quale deve essere montato il dispositivo creato.Il dispositivo genitore non può essere identificato affatto (la definizione è facoltativa), tramite il suo ID o tramite un parametro.
Nel dettaglio, il dispositivo genitore viene poi determinato nel seguente modo:
Se no
Parentè definito, viene sempre utilizzato il primo genitore disponibile corrispondente e per un vuotoParentla definizione cerca solo a partire dal primo modulo genitore. Se nessun dispositivo è definito nel modulo genitore diretto stesso, la cronologia dei moduli genitori viene tracciata fino a quando non viene finalmente trovato un dispositivo che corrisponde o viene raggiunto il modulo di livello superiore. In questo caso, se possibile, viene utilizzato il relativo dispositivo di applicazione.Se inoltre viene specificato un ID dispositivo o un parametro come a
Parent, la cronologia dei dispositivi principali viene scansionata allo stesso modo, per cui ora vengono presi in considerazione anche i dispositivi del modulo di uscita stesso e anche un possibile dispositivo principale deve avere l'ID corrispondente.Se secondo le regole sopra descritte non viene trovato nessun possibile dispositivo genitore, durante il controllo della generazione viene emesso un errore.
ParentSlotIndex: specifica l'indice dello slot (numero) del dispositivo principale in cui è inserito il dispositivo. Ciò è utile quando è necessario il collegamento.
IL
Identificationla sottosezione include la descrizione univoca di un dispositivo da aggiungere. Questo crea un riferimento univoco a questoDevicetipo.Le definizioni
Type,ID,ModuleID, EVersiondelIdentificationsezione identifica in modo univoco un tipo di dispositivo di una versione specifica. Ad esempio, un Master EtherCAT ha la seguente definizione:Type := '64';ID := '000 0001';Version := '3.5.1.0';Se
*è definita come la versione, viene sempre utilizzata la versione più recente del dispositivo. Se laModuleIDnon viene utilizzata la definizione, nel sistema vengono cercati i dispositivi con DeviceIdentification, altrimenti vengono cercati i dispositivi con identificativo modulo.Se il dispositivo definito non esiste nell'archivio dispositivi, durante il processo di scansione viene già emesso un messaggio di errore corrispondente.
Sottosezione:
SetChildNamecon le definizioni diValueEChildIndexQueste opzioni permettono di specificare il nome che dovrà avere un dispositivo inserito automaticamente. Se lo stesso nome viene utilizzato più di una volta, il nome risultante viene reso univoco aggiungendo un carattere di sottolineatura e un numero.
Value: nome desiderato del dispositivoChildIndex: Indice del dispositivo inserito automaticamente da rinominare
Questa sezione offre la possibilità di compilare i campi con l'aiuto dell'Input Assistant. Per fare ciò, posiziona il cursore alla fine della riga successiva
Identificatione premere Ritorno. Successivamente, l'Assistente di input si apre e offre i canali disponibili. Dopo aver scelto un dispositivo, i parametri corrispondenti vengono trasferiti nella dichiarazione del modulo. Tieni presente che questa funzione è disponibile solo alla fine della sottosezione (END_SEC) non è stato ancora inserito.La definizione File contiene un elenco di dispositivi che verranno aggiunti al progetto. Questi dispositivi sono stati configurati manualmente ed esportati in una libreria.
SEC Device : Buskoppler2
SEC Identification
Type := '65';
ID := '2_044C2C5200110000';
Version := '*';
END_SEC
END_SEC
SEC Device : KlemmeDigitalOutput
Parent := Buskoppler2;
SEC Wildcard : KlemmeTyp
Desc := TL.WildDesc;
END_SEC
SEC ExportDevices
Files := [ExtFile.BK5120_1SDO, ExtFile.BK5120_2SDO];
END_SEC
END_SECSEC std.DeviceGenerator
SEC Device : CANopen_Manager
Parent := CurrentCAN;
SEC FlexibleIdentification
Type := '16';
ID := '181016';
Version := '*';
Maximum := 1;
END_SEC
END_SEC
END_SEC
SEC std.Parameters
SEC Param : CurrentCAN
Name := TL.CurrentCAN_Name;
Desc := TL.CurrentCAN_Desc;
VariableType := wSTRING;
Default := 'CANBus_0';
END_SEC
END_SECSEC std.DeviceGenerator
SEC Device : EcoVario
Parent := CanManager;
SEC Identification
Type := '18';
ID := '1619 0001';
Version := '*';
SEC SetChildName : ChildDevice
Value := 'ChildName';
ChildIndex := 0;
END_SEC
END_SEC
END_SEC
SEC Parameters : EcoVario
SEC AddParameter : BoolParamAdd
ParameterID := '150';
ParameterName := 'BoolParam';
ParameterType := 'std:BOOL';
ChildIndex := 0;
END_SEC
SEC SetParameter : BoolParamAdd
ParameterID := '150';
ElemPath := '';
Value := 'TRUE';
ChildIndex := 0;
END_SEC
SEC SetParameter : bVirtual
ParameterID := '1040';
ElemPath := '';
ConnectorID := '0';
Value := 'TRUE';
ChildIndex := 0;
END_SEC
END_SEC
SEC InstRefMapping : Axis
SEC Demand
Desc := TL.DescAxis;
Properties := [SM_DRIVE_CAN];
END_SEC
END_SEC
END_SEC