Untersektion: Parameter
Die Sektion Parameter
mit den Untersektionen SetParameter
und AddParameter
dient dazu, Parameter von Geräten editieren oder hinzufügen zu können. Damit soll es ermöglicht werden, gewisse Einstellungen von Geräten (beispielsweise Zykluszeiten) durch den Gerätegenerator mit zu erzeugen.
SEC DeviceGenerator //optional: yes, modifier: [UPDATE] SEC Parameters : <parameter name> //optional: yes, modifier: [UPDATE] SEC SetParameter : <parameter name> //optional: yes, modifier: [UPDATE] ParameterID := <parameterID name>; //optional: no, type: literal/string ElemPath := <elempath name>; //optional: no, type: literal/string ConnectorID := <connector ID>; //optional: yes, type: literal/string Value := <value name>; //optional: no, type: literal/string ChildIndex := <device ID>; Download := <boolean value> // opional: yes, type: boolean END_SEC SEC AddParameter : <parameter name> //optional: yes, modifier: [UPDATE] ParameterID := <parameterID name>; //optional: no, type: literal/string ParameterName := <parameter name>; //optional: no, type: literal/string ParameterType := <parameter type>; //optional: no, type: literal/string ChannelType := <channel type>; //optional: yes, type: enum ConnectorID := <connector ID>; //optional: yes, type: literal/string ChildIndex := <device ID>; END_SEC END_SEC END_SEC
Der Abschnitt
Parameters
besitzt ein Target, mit dem dieDeviceID
des Zielgeräts angegeben wird, dessen Parameter editiert werden sollen. Das Zielgerät wird zunächst in den moduleigenen Geräten und dann in deren Elternhistorie gesucht. Ziel können auch Wildcard-Geräte oder andere Geräte sein, wobei davon ausgegangen wird, dass diese die entsprechenden Parameter besitzen und zu ihnen die entsprechenden Parameter hinzugefügt werden können. Wenn das Ziel nicht gefunden werden kann, wird bei den Generierungs-Checks eine Warnung ausgegeben.Die Targets der Abschnitte
SetParameter
undAddParameter
geben die ID der jeweiligen Sektion an, haben sonst aber keine weitere Verwendung.
SetParameter
:ParameterID
gibt dieParameterID
des Parameters des Gerätes an, der modifiziert werden soll.ElemPath
gibt das genaue Element des Parameters an, das dann tatsächlich verändert wird.ConnectorID
gibt optional den Connector des Gerätes an, unter dessen HostParameterSet die Parameter-ID zu suchen ist. Wenn keineConnectorID
angegeben wird, dann wird dieParameterID
unter dem DeviceParameterSet gesucht.Value
gibt den Wert an, der dem Element des spezifizierten Parameters zugewiesen werden soll. Dieser Wert muss zum Typ des Elements passen. Dieser Wert kann auch ein Ausdruck der Form[paramID] + 2*MODULE_SLOT_INDEX
sein. Dabei entspricht[paramID]
einer Target-ID eines Parameters, so dass[paramID]
durch den Wert eines Parameters ersetzt wird. Das SchlüsselwortMODULE_SLOT_INDEX
wird durch den Slot-Index ersetzt, den eine Modulinstanz des definierten Modultyps nach dem Einfügen hätte.Wenn der Parameter im entsprechenden Zielgerät nicht gefunden werden kann, werden beim Generierungs-Check entsprechende Warnungen ausgegeben.
ChildIndex
definiert das untergeordnete Gerät, unter dem der Parameter hinzugefügt oder gesetzt wird. Gibt es dieses untergeordnetes Gerät mit dem spezifischen Index nicht, wird während des Generatorlaufs eine Warnung erzeugt.Download
: Optionaler Eintrag. Wenn dieser Eintrag den WertFALSE
hat, wird der Parameter nicht auf das Gerät heruntergeladen. Das ist beispielsweise für die Deaktivierung vonCheckVendorId
bei CAN-Geräten sinnvoll.
AddParameter
:ParameterID
enthält die neue ID des hinzuzufügenden Parameters. Diese muss eindeutig unter den anderen ParameterIDs des Ziel-Gerätes sein.ConnectorID
gibt optional den Connector des Devices an, unter dessen HostParameterSet die Parameter-ID hinzugefügt werden soll. Wenn keine Connector-ID angegeben wird, wird die Parameter-ID unter dem DeviceParameterSet hinzugefügt.ParameterName
gibt den Namen an unter dem der Parameter zum Zielgerät hinzugefügt werden soll.ParameterType
definiert den Typen des Parameters, der zum Zielgerät hinzugefügt werden soll. Dieser Typ wird als IEC-Typ-Bezeichnung mit Typ-Präfix angegeben, so dass beispielsweisestd:bool
einen booleschen Parameter erzeugen würde.Wenn der Parameter nicht hinzugefügt werden kann, wird beim Generierungs-Check eine entsprechende Warnung ausgegeben.
ChannelType
definiert den Typ des Kanals. Mögliche Werte sindNONE
,INPUT
,OUTPUT
undOUTPUTREADONLY
.ChildIndex
definiert das untergeordnete Gerät, unter dem der Parameter hinzugefügt oder gesetzt wird. Gibt es dieses untergeordnetes Gerät mit dem spezifischen Index nicht, wird während des Generatorlaufs eine Warnung erzeugt.
Die beiden Sektionen AddParameter
und SetParameter
können kombiniert werden um beispielsweise einen Parameter zu einem Gerät hinzuzufügen und ihm gleichzeitig einen Wert zuzuweisen.
SEC Parameters : Buskoppler1 SEC AddParameter : ExpertSettings ParameterID := '805306368'; ConnectorID := '1'; ParameterName := 'ExpertSettings'; ParameterType := 'std:int'; ChannelType := OUTPUT; END_SEC SEC SetParameter : ExpertSettings ParameterID := '805306368'; ElemPath := ''; ConnectorID := '1'; Value := dwParameterOffset + 2 * MODULE_SLOT_INDEX; END_SEC END_SEC