Beiträge anzeigen

Diese Sektion erlaubt es ihnen alle Beiträge dieses Mitglieds zu sehen. Beachten sie, dass sie nur solche Beiträge sehen können, zu denen sie auch Zugriffsrechte haben.


Nachrichten - peewit

Seiten: 1 ... 120 121 [122]
1816
Bestehende Module / Existing Modules / Re: Neue Plattform - wie?
« am: 14. November 2008, 14:24:40 »
Hallo bert

beschreibe doch bitte mal dein system

hersteller, name ... usw... eventuell weiterführende internet-links

hugo hat recht das höchstwahrscheinlich multiprog/pcworx deiner plattform am ehesten entspricht...


1817
wir werden eine network-lib herauszubringen, die auf pcworx, s7 und codesys laufen wird (soweit der plan)
das wird leider noch einige zeit benötigen, bis die lib für alle plattformen verfügbar sein wird (derzeit gibt es nur für pcworx lauffähige bausteine)
dazu werden wir einen wrapper baustein einsetzen, der eine plattformneutrale ethernet-schnittstelle zur verfügung stellt.

weiters arbeite ich gerade auch an modbus tcp/udp client/server bausteinen
das besondere daran wird sein das virtuelle adressräume unterstützt werden

den modbus tcp/udp server baustein habe ich schon am laufen (für pcworx jedoch)


das heisst sowas wird für oscat kommen, jedoch werdet ihr noch eine weile warten müssen
 

1818
Hallo

bei DEG_TO_DIR kann ich es mir noch gar nicht erklären

aber die bausteine
FIFO_16
FIFO_32
FILTER_MAV_DW
FILTER_MAV_W
FILTER_WAV
MESSAGE_4R

haben eines gemeinsam das sie intern die neue function "_INC1" benutzen

hier könnte sich dein system daran stören das in der function kein functionergenis-wert zugewiesen wird , bzw. das die function aufgerufen wird ohne das ein rückgabewert weiterverarbeitet wird,oder was eher unwahrscheinlich ist das du in einer function kein IN_OUT verarbeiten kannst

folgendes könntest du testweise beim _INC1 ändern

FUNCTION _INC1 : INT
VAR_INPUT
   N : UINT;
   X : INT;
END_VAR
VAR
END_VAR

_INC1 := (x + 1) MOD N;

in weiterer folge gehört in den bausteinen

FIFO_16
FIFO_32
FILTER_MAV_DW
FILTER_MAV_W
FILTER_WAV
MESSAGE_4R

der aufruf von _inc1 abgeändert


bespiel für stack_16

IF rst THEN
   (* asynchronous reset for the fifo *)
   NW := NR := 0;
   Dout := 0;
   empty := TRUE;
   full := FALSE;
ELSIF WR AND E AND NOT full THEN
   (* write action *)
   fifo[NW] := Din;
   NW := _INC1(16, NW);
   full := NW = NR;
   empty := FALSE;
ELSIF NOT WR AND E AND NOT empty THEN
   (* read from stack *)
   Dout := fifo[NR];
   NR := _INC1(16, NR);
   empty := NR = NW;
   full := FALSE;
END_IF;



1819
Bestehende Module / Existing Modules / Re: DEC_TO_BYTE problem
« am: 02. Oktober 2008, 19:39:34 »
Ja hier ist leider auch der gleiche Fehler mit drinnen
wird auch mit der release 2.77 behoben

danke..

1820
oscat.lib fuer PC WorX/MULTIPROG / Re: LINEAR_INT
« am: 01. Oktober 2008, 21:15:03 »
hallo ggw11

da hast du als anfänger mit dem baustein "LINEAR_INT" gleich einen glücksgriff gemacht.

bei pcworx funktioniert so manches ein wenig anders als bei codesys (als wie in der doku beschrieben)

1. die datenstruktur für parameter "XY" ist vom typ "OSCAT_XY" und im beispiel als var "XXX" angelegt.

2. In pcworx kannst du nicht ein array of ...  anlegen und gleichzeitig mit initialwerten vorbelegen.

3. die Datenstruktur musst du im sps-programm erst zur Laufzeit mit sinnvollen daten füllen.

4. dazu kommt das es bei pcWorx keine mehrdimensionalen Arrays gibt , sondern nur verschachtelte arrays
    dass heißt der zugriff erfolgt nicht über array[x],[y].zzz sondern array[x][y].zzz
siehe bild im anhang


[gelöscht durch Administrator]

1821
Bestehende Module / Existing Modules / Re: Benutzung von Pointern
« am: 29. September 2008, 15:55:38 »
Hallo

Problem mit  _CLEAR_BUFFER

Du meinst wohl die Function _BUFFER_CLEAR von OSCAT oder ?


Beispiel: _BUFFER_CLEAR(ADR(bigarray), SIZEOF(bigarray))

1822
Ankündigungen / Announcements / Re: bibliothek teilen
« am: 29. September 2008, 15:50:06 »
hallo Rockcrunsher

schau einmal bei deinem system unter "Ressourcen" - > "Zieleinstellungen" -> "Speicheraufteilung"
dort gibst du bei "Maximale Anzahl von Bausteinen" die Zahl 1024 ein.

dann sollte auch die komplette LIB laufen !



1823
Bestehende Module / Existing Modules / Re: LINEAR_INT
« am: 28. Juli 2008, 16:34:59 »
bei den baustein kannst du bis zu max 20 koordinatenwerte angeben
die genaue anzahl ist mittels parameter PTS : INT (Anzahl der Wertepaare) einstellbar

der fehlermeldung nach, hast du koordinaten mit den wert 0 in verwendung

üeberprüfe ob für die vorhandene anzahl an koordinaten auch die richtige anzahl uebergeben wird

der division/0 error kann hier entstehen (wenn nullwerte eingetragen sind wird durch diese dividiert !)
LINEAR_INT := ((XY[i][1] - XY[i2][1]) * X - XY[i][1] * XY[i2][0] + XY[i2][1] * XY[i][0]) / (XY[i][0] - XY[i2][0]);
solltest du den fehler trotzdem nicht entdecken, dann poste bitte dein aktuelles projekt, und ich werde mir dein problem ansehen !

mfg peewit
 

1824
hi Belacqua

beispiel:

VAR
   ar6 : ARRAY[0..6] OF REAL := 3,2,4,7,1,6,-2;
   X: REAL;
END_VAR

X := ARRAY_AVG(ADR(ar6),SIZEOF(ar6));

die summe der 7 real zahlen ergibt 21 und geteilt durch 7 ergibt 3, und genau das gibt die Function auch als ergebnis zurück.
Hast du bei size auch die SIZEOF verwendet !


stop := SHR(size,2)-1;
array_avg := pt^[0];
FOR i := 1 TO stop DO
   array_avg := array_avg + pt^;
END_FOR;
array_avg := array_avg / (stop + 1);

Zur Erklärung
stop := SHR(size,2)-1;

ein REAL wert belegt 4 Bytes und 7 Werte ergeben einen size von 28
damit man die Anzahl der Reals im buffer bestimmen kann, wird die buffersize durch 4 dividiert (SHR x,2) und -1 weil mit index 0 begonnen wird.


1825
Das Problem ist mir bekannt, bislang aber keine zeit gehabt es auf die wunschliste zu bringen
Das betrifft AIN als auch AOUT

Bei Phoenix Contact gibt es auch 12Bit Module wo Bit 0-2 andere bedeutungen haben (AI und AO Module )

Das einfachste wäre wenn wir beim AIN bzw AOUT Baustein noch einen zusätzlichen parameter integrieren der die bitposition angibt.

Beispiel von Phoenix contact Modulen

15 14 13 12 111 10 09 08 07 06 05 04 03 02  01 00
VZ --------------Analogwert ----------- MB DB BÜ

VZ Vorzeichen
MB Messbereich 0 oder 4-20ma
DB Drahtbruch
BÜ Bereichsüberschreitung

oder

Beispiel:

15 14 13 12 111 10 09 08 07 06 05 04 03 02  01 00
VZ --------------Analogwert ----------- XX XX XX

VZ Vorzeichen
xx nicht relevante bits

1826
oscat.lib fuer PC WorX/MULTIPROG / Re: OSCAT 26 auf Multiprog
« am: 09. Januar 2008, 20:41:18 »
Hallo Friedrich-Alexander

Im Prinzip ist jede Bibliothek bei Multiprog einfach nur ein echtes Projekt das in kompilierter Form vorliegt, und in einem anderes Projekt als Bibliothek eingebunden wird. Das Problem ist, das so ein Bibliothek-Projekt vor der ersten Nutzung kompiliert werden muss, und somit wird es Versionsabhängig gemacht. Um diesem Problem mit den Versionen vorab aus dem Weg zu gehen, werden die Bausteine als MULTIPROG IEC 61131 Export zur Verfügung gestellt. Damit sie auch auf deinem System sicher eingebunden werden können.

In der Multiprog-Oscat-Lib ist eine kleine PDF-Datei angehängt, in der erklärt wird wie man aus den einzelnen Bausteinen wieder eine Bibliothek macht (es sind die letzten Kapitel in der Beschreibung). Da ich die PRPOMASTER von Baumüller nicht direkt kenne, diese aber auf MULTIPROG aussetzt, solltest du auch im Menü "Datei" einen "Import"  -> "IEC 61131 Import" haben. Somit kannst du nach Anleitung vorgehen !

Wenn du willst kann ich dir auch die fertige Bibliothek aus Basis MULTIPROG 3.3 mailen , die du dann normalerweise auf deinem System öffnen, kompilieren musst, um sie danach als LIB einbinden zu können (vorausgesetzt das deine MULTIPROG Basis keine niedrigere Version aufweist).

Es ist natürlich auch möglich die einzelnen Bausteine direkt in ein Projekt zu importien, was aber nicht unbedingt von Vorteil ist.


Hier noch einmal ein Auszug aus der Beschreibung
--------------------------------------------------------------------------------------------------------------------------

OSCAT LIB erstellen

Um die OSCAT-Bausteine bzw. OSCAT-LIB in möglichst vielen verschiedenen MULTIPROG Plattformen einbinden und verwenden zu können, wird der Plattform und Versions neutrale IEC 61131 Import von MULTIPROG verwendet.

MULTIPROG (PC WorX oder sonstige MULTIPROG Plattform) starten.
Menü: Datei -> neues Projekt und eine passende Projektvorlage verwenden
Lösche alle Bausteine die sich in „Logische POE’s“ befinden.
Lösche die „sys_flag_types“ unter DATENTYPEN.
Lösche die Configuration in Hardwarestruktur.
Anwählen des Ordners „Datentypen“ im Projektbaum Menü: Datei -> Import -> Erweiterter IEC 61131 Import Datentype „oscat“ importieren
Anwählen des Ordners „Logische POE’s“ im Projektbaum Menü: Datei -> Import -> Erweiterter IEC 61131 Import Alle Bausteine zum Import markieren und übernehmen.
Menü: Projekt -> Bibliothek einfügen -> Firmwarebibliothek Bibliothek „Bit_UTIL.fwl“ einbinden
Menü: Code -> Make ausführen (Projekt wird compiliert)
Menü: Datei -> Projekt speichern unter Projekt (LIB) mit beliebigen Namen an einen beliebigen Ort speichern

OSCAT-Lib in ein anderes Projekt einbinden

Neues Projekt anlegen bzw. bestehendes öffnen Menü: Projekt -> Bibliothek einfügen -> Anwenderbibliothek. Die zuvor erstellte LIB durch Anwahl des Laufwerk-Pfades anwählen Nun stehen alle OSCAT-LIB Bausteine im Projekt zur Verfügung. Wenn an diversen OSCAT-Bausteinen Anpassungen gemacht werden müssen so sollten die Bausteine nicht über eine kompilierte LIB, sondern als einzelne Bausteine ins selbige Projekt eingebunden werden (ansonsten können sie nicht editiert werden). Oder man ändert die Bausteine bevor man die OSCAT-LIB erstellt.

Mfg Peewit

Seiten: 1 ... 120 121 [122]