wie kann man die externe DLLs in "SP PLCWinNT" Maschine einbinden?
Unter Version 2.3 ging es so:
######################
In einen C/C++ Template/Richtlinien eigene C/C++ Rutinen schreiben. Template mit Richtlinien hab ich vom Support bekommen. Daraus resultiert ein DLL. Z.B. "my_C_Library.dll"
my_C_Library.dll in Directory mit der "SP PLCWinNT" Maschine kopieren. Bei neustart von der Maschine sind die im DLL vorhandene Funktionen eingebunden.
########################
Wie gehet es mit der CoDeSys Version 3?
Gruß
Boris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Bibliotheken, die im Laufzeitsystem in ANSI-C implementiert sind, werden als externe Bibliotheken bezeichnet. Wobei in CoDeSys V3 nicht mehr zwischen internen und externen Bibliotheken unterschieden wird.
In CoDeSys V3 gibt es die Möglichkeit alle extern implementierten Funktionen bzw. Methoden
einer Bibliothek automatisch in eine Datei für das Laufzeitsystem zu exportieren. Damit sind
Inkompatibilitäten zwischen der Bibliothek und der Implementierung im Laufzeitsystem
nahezu ausgeschlossen.
In dieser erzeugten Datei (genannt m4-Datei) befinden sich alle extern implementierten
Funktionen und Methoden mit ihrem Namen (entweder wie in CoDeSys definiert oder über
das Attribut „external_name“ festgelegt), ihrer Schnittstelle, der Version der Bibliothek und der
Checksumme der Schnittstelle. Diese Datei muss dann mittels einem m4-Compiler zu einer
ANSI-C Schnittstellen Header Datei übersetzt werden. Zusätzlich besteht die Möglichkeit in
CoDeSys auch einen C-Source Rahmen für die Implementierung erzeugen zu lassen.
Die Schnittstellen Header Datei (<bibliotheksnamen>Itf.h) und die Source Datei</bibliotheksnamen>
(<bibliotheksnamen>.c) können dann im Laufzeitsystem als Basis für die Implementierung</bibliotheksnamen>
einer Komponente verwendet werden, die die Implementierung der externen Funktionen bzw.
Bausteine enthält. Diese Komponente kann dann ins Laufzeitsystem eingebunden werden.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2009-08-21
Originally created by: thomas_nienstaedt
Super!
Vielleicht gibt es auch ein kleines Bsp!?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Originally created by: plivelic@metaind.de
Hallo,
wie kann man die externe DLLs in "SP PLCWinNT" Maschine einbinden?
Unter Version 2.3 ging es so:
######################
In einen C/C++ Template/Richtlinien eigene C/C++ Rutinen schreiben. Template mit Richtlinien hab ich vom Support bekommen. Daraus resultiert ein DLL. Z.B. "my_C_Library.dll"
Danach in Registy registrieren:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\3S-Smart Software Solutions GmbH\CoDeSys SP\PLC\IODRIVERLIST]
"MODULE0"="my_C_Library"
my_C_Library.dll in Directory mit der "SP PLCWinNT" Maschine kopieren. Bei neustart von der Maschine sind die im DLL vorhandene Funktionen eingebunden.
########################
Wie gehet es mit der CoDeSys Version 3?
Gruß
Boris
Bibliotheken, die im Laufzeitsystem in ANSI-C implementiert sind, werden als externe Bibliotheken bezeichnet. Wobei in CoDeSys V3 nicht mehr zwischen internen und externen Bibliotheken unterschieden wird.
In CoDeSys V3 gibt es die Möglichkeit alle extern implementierten Funktionen bzw. Methoden
einer Bibliothek automatisch in eine Datei für das Laufzeitsystem zu exportieren. Damit sind
Inkompatibilitäten zwischen der Bibliothek und der Implementierung im Laufzeitsystem
nahezu ausgeschlossen.
In dieser erzeugten Datei (genannt m4-Datei) befinden sich alle extern implementierten
Funktionen und Methoden mit ihrem Namen (entweder wie in CoDeSys definiert oder über
das Attribut „external_name“ festgelegt), ihrer Schnittstelle, der Version der Bibliothek und der
Checksumme der Schnittstelle. Diese Datei muss dann mittels einem m4-Compiler zu einer
ANSI-C Schnittstellen Header Datei übersetzt werden. Zusätzlich besteht die Möglichkeit in
CoDeSys auch einen C-Source Rahmen für die Implementierung erzeugen zu lassen.
Die Schnittstellen Header Datei (<bibliotheksnamen>Itf.h) und die Source Datei</bibliotheksnamen>
(<bibliotheksnamen>.c) können dann im Laufzeitsystem als Basis für die Implementierung</bibliotheksnamen>
einer Komponente verwendet werden, die die Implementierung der externen Funktionen bzw.
Bausteine enthält. Diese Komponente kann dann ins Laufzeitsystem eingebunden werden.
Originally created by: thomas_nienstaedt
Super!
Vielleicht gibt es auch ein kleines Bsp!?