Default-Wert bei Parameter in FB

Begonnen von m-obi, 20. Januar 2011, 10:03:42

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

m-obi

Guten Morgen,

wenn ich einen FB erstelle und möchte bei einem Parameter einen Default-Wert eingeben, wenn man dort keine Variable anschließt, das dieser dann genommen wird. Wie mach ich das?

peewit

in der zeile wo du den parameter definierst, gibt es auch eine spalte mit "Anfangswert"
dort schreibst du den gewünschten Wert hinein, und das ist der default-wert
der wird einmalig automatisch auf die variable kopiert

m-obi

Das weiß ich ja, nur ich hatte vergessen zusagen, das es sich um ein Input-Parameter handelt und da geht es nicht.

peewit

das geht bei allen parametern eines fb's

hast du nicht zufällig eine function verwendet ?

kannst du mal eine bildschirmhardcopy deine var-tabelle online stellen

peewit

optischer beweis



[gelöscht durch Administrator]

m-obi

Jetzt gehts, komisch. Naja, danke.

Achja wo ich schonmal hier bin. Ich hab mir einen Taktgeber aus zwei TON's gemacht, der läuft aber ein bisschen unsauber, zwischendurch dauert ein Impuls mal länger, woran kann das liegen, Zykluszeit? Wie bauen die Profis einen Taktgeber?

peewit

die ton,toff zeitglieder benutzen zur zeitberechnung den interen systemtakt
der ist auf 1ms genau, wenn du meinst das die ungenau arbeiten, kann das so nicht stimmen

1. entweder hast du eine sehr hohe zykluszeit
2. oder die online-werte werden nur sehr langsam aktualisiert
3. dein timer wird nicht zyklisch durchlaufen

wenn du den fehler nicht findest, kannst du ja gerne ein sample-projekt online stellen, wo man den fehler sehen kann

in der oscat gibt es einige fertige taktgeber, normal musst du das nicht mehr selber erfinden !

gruss peewit

m-obi

Also wenn ich "Takt" in der Logikanalyse beobachte, sieht es ziemlich unsauber aus, normalerweise müssten die Pulse ja gleich sein.

[gelöscht durch Administrator]

peewit

die ilc 1xx kann keine "zyklus genaue aufzeichnung"
die ist freilaufend, und du siehst sicher nicht alle zyklen....

wieviel ist denn deine "ungenauigkeit" ?

peewit

also du kannst dir sicher sein , das die zwei timer sich richtig verhalten !
die schalten mit einem maximalen fehler von einer Zykluszeit ein/aus

und dass sind beim default-Task und deinem kleinen programm 4ms

du kannst ja an deinem timer-puls einen zähler anhängen, und misst dann wie oft er hochzählt in einer gewissen zeit die du extern misst


anstatt deiner beiden timer kannst du gleich den baustein "GEN_SQ" von oscat nehmen




m-obi

Also kann ich sicher gehen, dass der richtige Takt rauskommt, obwohl es anders dargestellt wird?

Warum können das denn die 100-er nicht?

peewit

weil die leute eine "günstige" steuerung haben wollen, die alles können soll was eine viel teuere auch kann

und irgendwo ist dann ein limit gesetzt....

sps funktion
file-access für anwender
ethernet-access für anwender
ftp-server
web-visu offline aufzeichnung
web-server
onboard-busmaster
onboard-I/O
opc zugriff
pcworx zugriff
variablen im speicher aufzeichnen
interne LOG Daten verarbeiten
usw...

bei so einer ilc 1xx werden  nur ca. 40% der CPU für das SPS-Programm verwendet, der Rest geht für Managment Funktionen drauf !
das alles muss parallel funktionieren, da bleibt halt manchmal keine cpu-zeit für solche sachen übrig

m-obi

Achso versteh ich, dann kann man ruhig auf sowas wie die Logikanalyse weniger acht geben, das stimmt, die ist ja nicht so wichtig wie der Rest.