Herunterladen Inhalt Inhalt Diese Seite drucken
Vorschau ausblenden Andere Handbücher für ML70B:

Werbung

Bibliotheks-Referenz:
Stand:
ab Firmware-Version:
Inhalt
ActivateSignals ....................................................... 2
Can_close............................................................... 3
Can_init................................................................... 4
Can_GetErrStatus................................................... 5
Can_GetStatus ....................................................... 6
Can_SetFilter.......................................................... 7
Can_write................................................................ 8
ClearParList ............................................................ 8
CloseCom ............................................................... 9
CreateBytePar ...................................................... 10
CreateDintPar ....................................................... 11
CreateIntPar ......................................................... 15
CreateKey ............................................................. 17
CreateMenuePar................................................... 19
CreateNode .......................................................... 21
CreateRealPar ...................................................... 23
CreateTextPar....................................................... 25
GetChannelInfo..................................................... 26
GetConnectionBoardType .................................... 28
GetDisplayLanguage ............................................ 29
GetInputAp75........................................................ 30
GetMeasValInt ...................................................... 31
GetMeasValRaw ................................................... 32
GetMeasValReal................................................... 33
GetMeasStatus ..................................................... 34
GetMgcAnswer ..................................................... 35
GetML70ChanAdr ................................................. 36
InstallChaninfoTask .............................................. 37
InstallInterruptTask ............................................... 38
InstallParTask ....................................................... 39
InstallTddTask ...................................................... 40
OpenCom ............................................................. 41
OutputSignal ......................................................... 43
OutputSignalRaw .................................................. 44
OutputStatus ......................................................... 45
OutputText ............................................................ 46
ReadCom.............................................................. 47
ReadCts ................................................................ 49
ReadReady ........................................................... 50
ReadTimeStamp ................................................... 51
RemovePar ........................................................... 52
RequestSignal ...................................................... 53
SendMgcCommand .............................................. 54
SerGetChar........................................................... 55
SerPutChar ........................................................... 57
SetAnalogOutputInt .............................................. 58
SetAnalogOutputReal ........................................... 59
SetOutputAp75 ..................................................... 61
SetRTS ................................................................. 62
SetScaling............................................................. 63
SetSubchanDescriptor.......................................... 65
SetUccString......................................................... 66
WaitMgcAnswer.................................................... 67
WriteCom.............................................................. 68
WriteReady........................................................... 70
ML70B
05.01.05
P5.12 oder neuer
Library-Referenz MGCcan.lib ....................................72
InitCanDriver..........................................................72
ReadCanMsg .........................................................73
ReadSDO ..............................................................74
WriteCanMsg .........................................................75
WriteSDO ..............................................................76
Library-Referenz MGCprofi.lib ...................................78
ActualizeProfibusData ...........................................79
CopyProfibusData..................................................80
RequestProfibusData.............................................81
Systemvariablen ........................................................83
Schlagwortregister .....................................................84

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für HBM ML70B

  • Seite 1: Inhaltsverzeichnis

    Library-Referenz MGCcan.lib ........72 ML70B Bibliotheks-Referenz: InitCanDriver............72 Stand: 05.01.05 ReadCanMsg ............73 ab Firmware-Version: P5.12 oder neuer ReadSDO ..............74 WriteCanMsg ............75 WriteSDO ..............76 Library-Referenz MGCprofi.lib ........78 ActualizeProfibusData ...........79 CopyProfibusData..........80 Inhalt RequestProfibusData..........81 Systemvariablen ............83 Schlagwortregister .............84 Referenz Bibliotheksfunktionen MGCplus.lib....2 ActivateSignals ............2 Can_close...............
  • Seite 2: Referenz Bibliotheksfunktionen Mgcplus.lib

    Einführung in die Programmierung des ML70 Seite 2 Referenz Bibliotheksfunktionen MGCplus_ML70B.lib Die Bibliothek MGCplus_ML70B.lib enthält wesentliche ƒ Funktionen zum Ansprechen der unterstützen Anschlussplatten ƒ Funktionen für den Zugriff auf Messwerte im MGCplus ƒ Funktionen und Funktionsblöcke zur Erstellung von Menüs, um Parameter über die Anzeige- /Bedieneinheiten oder die Setup-Software MGCplus-Assistent zu ändern ƒ...
  • Seite 3: Can_Close

    Einführung in die Programmierung des ML70 Seite 3 Can_close Typ: FUNCTION Mit der Funktion Can_close() wird eine geöffnete CAN-Schnittstelle geschlossen. Eingabe Parameter: Parametername Werte- Bedeutung bereich NCANDRVNR BYTE Nummer des CAN-Ports, der geöffnet werden soll Ausgabe Parameter: Parametername Bedeutung BOOL TRUE: Schnittstelle wurde gerschlossen FALSE: Falsche SchnittstellenNummer Beispiel:...
  • Seite 4: Can_Init

    Einführung in die Programmierung des ML70 Seite 4 Can_init Typ: FUNCTION Can_init() öffnet eine CAN-Schnittstelle, initialisiert den CAN-Controller. Zum Starten der CAN- Kommunikation ist der alleinige Aufruf dieser Funktion nicht ausreichend! Für Low-Level-Betrieb sollte zum Öffnen der CAN-Schnittstelle die Funktion InitCanDriver(), die die Funktion CA_init() aufruft, aus der MGCcan.lib verwendet werden.
  • Seite 5: Can_Geterrstatus

    Einführung in die Programmierung des ML70 Seite 5 Can_GetErrStatus Typ: FUNCTION Can_GetErrStatus() liest den Fehlerstatus einer CAN-Schnittstelle. Eingabe Parameter: Parametername Wertebereich Bedeutung NCANDRVNR BYTE Nummer des CAN-Ports, dessen Fehlerstatus gelesen werden soll Ausgabe Parameter: Parametername Bedeutung DWORD 16#FFFFFFFF: falsche Portnummer übergeben, sonst: Bit 0: Receive-Buffer Overrun des CAN-Controllers (wird mit Can_init() gelöscht) Bit 1: CAN-Controller ist im Zustand „BUSOFF“...
  • Seite 6: Can_Getstatus

    Einführung in die Programmierung des ML70 Seite 6 Can_GetStatus Typ: FUNCTION Die Funktion liefert den Status des CAN-Treibers als DWORD zurück. Als Parameter erhält die Funktion die Nummer des Treibers. Wenn die Hardware nur über einen CAN-Kanal ver- fügt, kann der Parameter ignoriert werden. Eingabe Parameter: Parametername Wertebereich...
  • Seite 7: Can_Setfilter

    Einführung in die Programmierung des ML70 Seite 7 Can_SetFilter Typ: FUNCTION Die Funktion dient zum setzen von Akzeptanz-Filter für den CAN-Treiber. Als Parameter erhält die Funktion neben der Treibernummer, die Maske der Bits innerhalb der CAN-ID’s die den Filter passieren können und die Bits für die der Filter ausgewertet wird. Beispiel: dwMask = 0xFFF0 bedeutet, dass nur das untere Nibble mit der Akzeptanzmaske geprüft wird.
  • Seite 8: Can_Write

    Einführung in die Programmierung des ML70 Seite 8 Can_write Typ: FUNCTION Can_write() startet den Sendevorgang eines CAN-Protokolls. Eingabe Parameter: Parametername Wertebereich Bedeutung NCANDRVNR BYTE Nummer des CAN-Ports, der geöffnet werden soll Ausgabe Parameter: Parametername Bedeutung BOOL FALSE: Fehler aufgetreten TRUE: ok Beispiel: Error := Can_write(1);...
  • Seite 9: Closecom

    Einführung in die Programmierung des ML70 Seite 9 CloseCom Typ: FUNCTION CloseCom() schließt einer bereits geöffneten seriellen Schnittstelle. Die Schnittstellen 1 und 2 liegen auf der AP72 auf dem Steckplatz AP-A, Die Schnittstellen 3 und 4 liegen auf dem Steckplatz AB-B. Eingabe Parameter: Parametername Wertebereich...
  • Seite 10: Createbytepar

    Einführung in die Programmierung des ML70 Seite 10 CreateBytePar FUNCTION_BLOCK CreateBytePar() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ BYTE. Auf dem Anzei- ger (Assistent oder AB22A) erscheint ein Editierbares Feld. Durch editieren des Feldes am Anzeiger wird die Variable, auf die der Pointer pValue zeigt, auf den gewünschten Wert gesetzt. Eingabe Parameter: Parameter- Werte-...
  • Seite 11: Createdintpar

    Einführung in die Programmierung des ML70 Seite 11 CreateDintPar Typ: FUNCTION_BLOCK CreateDintPar() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ DINT. Auf dem Anzeiger (Assistent oder AB22A) erscheint ein Editierbares Feld. Durch editieren des Feldes am Anzeiger wird die Variable, auf die der Pointer pValue zeigt, auf den gewünschten Wert gesetzt.
  • Seite 12 Einführung in die Programmierung des ML70 Seite 12...
  • Seite 13 Einführung in die Programmierung des ML70 Seite 13 Beispiel 1: Es soll ein Parameter vom Typ DINT erzeugt werden, der einen Wertebereich von 0...100000 hat und die Einheit ‚ms‘. Im Deklarationsteil ist der Funktionsblock zu deklarieren: AttrTime: CreateDintPar; Um den Parameter in der Parameterliste anzulegen ist folgende Code-Sequenz nötig: AttrTime.pValue := ADR(TimeVal);...
  • Seite 14: Attributflags Für Allgemeine Parametrierung

    Einführung in die Programmierung des ML70 Seite 14 Attributflags für Allgemeine Parametrierung Die Attributflags sind in einer Struktur vom Typ PARFLAGS untergebracht: TYPE PARFLAGS : STRUCT NoFocus : BOOL; (* nicht editierbarer Parameter ModVal : BOOL; (* modifiziert andere Werte im selben Dialog ModList : BOOL;(* Aendert die Aufzaehlungslisten innerhalb des Dialogs *) ModStruct : BOOL;...
  • Seite 15: Createintpar

    Einführung in die Programmierung des ML70 Seite 15 CreateIntPar FUNCTION_BLOCK CreateIntPar() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ INT. Auf dem Anzeiger (Assistent oder AB22A) erscheint ein Editierbares Feld. Durch editieren des Feldes am Anzeiger wird die Variable, auf die der Pointer pValue zeigt, auf den gewünschten Wert gesetzt.
  • Seite 16 Einführung in die Programmierung des ML70 Seite 16 Beispiel 1: Es soll ein Parameter vom Typ INT erzeugt werden, der einen Wertebereich von 0...2000 hat und die Einheit ‚N‘. Im Deklarationsteil ist der Funktionsblock zu deklarieren: AttrF: CreateIntPar; Um den Parameter in der Parameterliste anzulegen ist folgende Code-Sequenz nötig: AttrF.pValue := ADR(Force);...
  • Seite 17: Createkey

    Einführung in die Programmierung des ML70 Seite 17 CreateKey Typ: FUNCTION_BLOCK CreateKey() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ INT. Auf dem Anzeiger (As- sistent oder AB22A) erscheint eine Schaltfläche. Durch Betätigung der Schaltfläche wird die Variable, auf die der Pointer pValue zeigt, hochgezählt.
  • Seite 18 Einführung in die Programmierung des ML70 Seite 18 Beispiel 2: Es soll eine Schaltfläche mit der Beschriftung ‚Start‘ erzeugt werden, die im Messbetrieb auf dem AB22 benutzt werden kann. Im Deklarationsteil ist folgende Funktionsblöcke zu deklarieren: AttrN1: CreateNode; AttrCl: CreateKey; Node1;...
  • Seite 19: Createmenuepar

    Einführung in die Programmierung des ML70 Seite 19 CreateMenuePar Typ: FUNCTION_BLOCK CreateMenuePar() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ MENUE. Auf dem Anzeiger (Assistent oder AB22A) erscheint ein Editierfeld vom Typ MENUE. Durch Auswahl eines Ein- trags in der angebotenen Liste wird die Variable, auf die der Pointer pValue zeigt, geändert. Jeder Eintrag im Auswahlmenü...
  • Seite 20 Einführung in die Programmierung des ML70 Seite 20 Beispiel 1: Es soll ein Auswahlmenü mit dem Namen ‚Ausgaberate‘ erzeugt werden. Es soll 4 Ausgaberaten geben: 2400 Hz, 1200Hz, 600 Hz, und 300 Hz. Diese Ausgaberaten werden durch die Teilerfaktoren 1,2,4 und 8 repräsentiert.
  • Seite 21: Createnode

    Einführung in die Programmierung des ML70 Seite 21 CreateNode Typ: FUNCTION_BLOCK CreateNode() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ NODE. Auf dem Anzeiger (Assistent oder AB22A) erscheint ein zusätzlicher Dialog. Durch Betätigung der Schaltfläche wird die Variable, auf die der Pointer pValue zeigt, geändert. Achtung: Der Knoten mit der Nummer 1 (Mutterknoten) muß...
  • Seite 22 Einführung in die Programmierung des ML70 Seite 22 Beispiel: Es soll ein Dialog mit dem Namen ‚Schnittstelle‘ erzeugt werden. Im Deklarationsteil ist der Funktionsblock zu deklarieren: AttrD: CreateNode; Um den Parameter in der Parameterliste anzulegen ist folgende Code-Sequenz nötig: AttrD.pValue := ADR(Node12); (* Zeiger auf die zu verändernde Variable *) AttrD.ParId := 12;...
  • Seite 23: Createrealpar

    Einführung in die Programmierung des ML70 Seite 23 CreateRealPar FUNCTION_BLOCK CreateRealPar() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ REAL. Auf dem Anzei- ger (Assistent oder AB22A) erscheint ein Editierbares Feld. Durch editieren des Feldes am Anzeiger wird die Variable, auf die der Pointer pValue zeigt, auf den gewünschten Wert gesetzt. Eingabe Parameter: Parame- Werte-...
  • Seite 24 Einführung in die Programmierung des ML70 Seite 24 Beispiel : Es soll ein Parameter vom Typ REAL erzeugt werden, der einen Wertebereich von -44.5...+88.0 hat und die Einheit ‚Pas‘. Im Deklarationsteil ist der Funktionsblock zu deklarieren: AttrP: CreateRealPar; Um den Parameter in der Parameterliste anzulegen ist folgende Code-Sequenz nötig: AttrP.pValue := ADR(Force);...
  • Seite 25: Createtextpar

    Einführung in die Programmierung des ML70 Seite 25 CreateTextPar Typ: FUNCTION_BLOCK CreateTextPar() erzeugt einen Eintrag in der Parameterliste des ML70 vom Typ STRING. Auf dem An- zeiger (Assistent oder AB22A) erscheint ein editierbares Textfeld. Durch editieren des Textfeldes wird die Variable, auf die der Pointer pValue zeigt, auf den gewünschten Wert gesetzt. Die Länge des Textparameters darf max.
  • Seite 26: Getchannelinfo

    Einführung in die Programmierung des ML70 Seite 26 GetChannelInfo Typ: FUNCTION Mit der Funktion GetChannelInfo() können Informationen über Verstärkerkanäle im MGCplus eingelesen werden. Achtung: Die Informationen über die Einstellungen der Verstärker im System werden bei der Initialisierung des MGCplus einmal eingelesen. Die Einstellungen der Skalierung (EndScale, ZeroOffset und Unit) können sich durch Einstellungen von außen (Assisten, catman oder AB22) verändern.
  • Seite 27 Einführung in die Programmierung des ML70 Seite 27 Struktur-Element Wertebereich Bedeutung ChanNum 1..16 Kanalnummer des Kanals, von dem die Ver- stärkerinformationen geholt werden soll. SubChan 1..128 Unterkanalnummer Exists BOOL TRUE, FALSE TRUE: Kanal, Unterkanal sind vorhanden AmpCode Verstärker-Code: ML01 = 3; ML10 = 8 ML30/B =1;...
  • Seite 28: Getconnectionboardtype

    Einführung in die Programmierung des ML70 Seite 28 GetConnectionBoardType Typ: FUNCTION ab Firmware-Version P1.14 Mit der Funktion GetConnectionBoardType() kann der Typ der am ML70 angeschlossenen Anschluß- platten ermittelt werden. Eingabe-Parameter: Parametername Wertebereich Bedeutung ApNr 1..2 Nummer der Anschlußplatte, deren Typ ermittelt werden soll Ausgabe-Parameter: Parametername...
  • Seite 29: Getdisplaylanguage

    Einführung in die Programmierung des ML70 Seite 29 GetDisplayLanguage Typ: FUNCTION Mit der Funktion GetDisplayLanguage() kann die Display-Sprache abgefragt werden, die momentan im ML70 bzw. AB22 eingestellt ist. Eingabe-Parameter: Parametername Wertebereich Bedeutung Dummy Dummy-Parameter Ausgabe-Parameter: Parametername Bedeutung 1500: Deutsch 1501: Englisch 1502: Französisch 1503: Italienisch 1504: Spanisch...
  • Seite 30: Getinputap75

    Einführung in die Programmierung des ML70 Seite 30 GetInputAp75 Typ: FUNCTION Mit der Funktion GetInputAp75() können die logischen Pegel der Eingänge der AP75 gelesen werden. Eingabe-Parameter: Parametername Wertebereich Bedeutung 1...16 1= Input 1 auf Ap75, Steckplatz AP-A 2= Input 2 auf Ap75, Steckplatz AP-A 8= Input 8 auf Ap75, Steckplatz AP-A 9= Input 1 auf Ap75, Steckplatz AP-B 10= Input 2 auf Ap75, Steckplatz AP-B...
  • Seite 31: Getmeasvalint

    Einführung in die Programmierung des ML70 Seite 31 GetMeasValInt Typ: FUNCTION Mit der Funktion GetMeasValInt() kann der Messwert eines Mgc-Verstärkers als physikalisch skalierter Messwert eingelesen werden. Der Zugriff auf den Messwert erfolgt über ein Handle, das von der Funkti- on RequestSignal() zugewiesen wird. Eingabe-Parameter: Parametername Wertebereich...
  • Seite 32: Getmeasvalraw

    Einführung in die Programmierung des ML70 Seite 32 GetMeasValRaw Typ: FUNCTION Mit der Funktion GetMeasValRawl() kann der Messwert eines Mgc-Verstärkers als unskalierter Rohwert in ADU-Einheiten eingelesen werden. Der Zugriff auf den Messwert erfolgt über ein Handle, das von der Funktion RequestSignal() zugewiesen wird. Eingabe-Parameter: Parametername Wertebereich...
  • Seite 33: Getmeasvalreal

    Einführung in die Programmierung des ML70 Seite 33 GetMeasValReal Typ: FUNCTION Mit der Funktion GetMeasValReal() kann der Messwert eines Mgc-Verstärkers als physikalisch skalierter Messwert eingelesen werden. Der Zugriff auf den Messwert erfolgt über ein Handle, das von der Funkti- on RequestSignal() zugewiesen wird. Eingabe-Parameter: Parametername Wertebereich...
  • Seite 34: Getmeasstatus

    Einführung in die Programmierung des ML70 Seite 34 GetMeasStatus Typ: FUNCTION Mit der Funktion GetMeasStatus() kann das Statuswort zu einem Messwert eines Mgc-Verstärkers ein- gelesen werden. Der Zugriff auf den Messwert erfolgt über ein Handle, das von der Funktion RequestSi- gnal() zugewiesen wird.
  • Seite 35: Getmgcanswer

    Einführung in die Programmierung des ML70 Seite 35 GetMgcAnswer Typ: FUNCTION Mit der Funktion GetMgcAnswer() kann die Antwort auf einen Befehl auf der internen seriellen an einen Einschub im MGCplus gelesen werden. Eingabe-Parameter: Parametername Wertebereich Bedeutung Dummy - (Dummy - Parameter) Ausgabe-Parameter: Parametername Bedeutung...
  • Seite 36: Getml70Chanadr

    Einführung in die Programmierung des ML70 Seite 36 GetML70ChanAdr Typ: FUNCTION Mit der Funktion GetML70ChanAdr() kann die interne Adresse des ML70 im MGCplus ausgelesen wer- den. Eingabe-Parameter: Parametername Wertebereich Bedeutung Dummy - (Dummy - Parameter) Ausgabe-Parameter: Parametername Bedeutung interne MGC-Kanaladresse (1..16) Beispiel: ChanAdr := GetML70ChanAdr(0);...
  • Seite 37: Installchaninfotask

    Einführung in die Programmierung des ML70 Seite 37 InstallChaninfoTask Typ: FUNCTION Mit der Funktion InstallChaninfoTask() kann eine Task installiert werden, die aufgerufen wird, wenn die Einstellung irgend eines Verstärkers im MGCplus von außen (Assistent oder AB) verändert wird. Eingabe-Parameter: Parametername Wertebereich Bedeutung pTask...
  • Seite 38: Installinterrupttask

    Einführung in die Programmierung des ML70 Seite 38 InstallInterruptTask Typ: FUNCTION Mit der Funktion InstallInterruptTask() kann eine schnelle Interrupt-Task installiert werden. Normalerweise wird das IEC-Programm mit einem festen Zeitraster von 2400 Hz aufgerufen. Durch Aufruf von InstallInterruptTask() wird eine eine frei wählbare Funktion bestimmt, die im festen Zeitraster von 2400 Hz synchron zur Messwerterfassung abgearbeitet wird.
  • Seite 39: Installpartask

    Einführung in die Programmierung des ML70 Seite 39 InstallParTask Typ: FUNCTION Mit der Funktion InstallParTask() kann eine Task installiert werden, die aufgerufen wird, wenn ein Befehl PAR oder PAR? an den ML70/ML85B geschickt wird. Eingabe-Parameter: Parametername Wertebereich Bedeutung pTask POU-Index, der gewünschten Funktion Ausgabe-Parameter: Parametername Bedeutung...
  • Seite 40: Installtddtask

    Einführung in die Programmierung des ML70 Seite 40 InstallTddTask Typ: FUNCTION Mit der Funktion InstallTddTask() kann eine Task installiert werden, die aufgerufen wird, wenn ein Befehl TDD oder TDD? an den ML70/ML85B geschickt wird. Eingabe-Parameter: Parametername Wertebereich Bedeutung pTask POU-Index, der gewünschten Funktion Ausgabe-Parameter: Parametername Bedeutung...
  • Seite 41: Opencom

    Diese Betriebsart ist besonders geeignet, wenn Daten im Frage/Antwortverfahren von externen Ge- räten geholt und verarbeitet werden. 2. Streamorientiert: (ML70: ab P2.12, ML70B ab P5.12) In dieser Betriebsart werden die Botschaften über interne Ringpuffer empfangen und gesendet. Bei Empfang eines Zeichens wird das Zeichen in einen 1 kByte großen Ringpuffer gespeichert. Mit der Funktion SerGetChar() kann das älteste Zeichen aus dem Ringpuffer gelesen werden.
  • Seite 42 Parametername Wertebereich Bedeutung COMPORT BYTE Port-Nr, die geöffnet werden soll 1..4 öffnen der Schnittstelle in der Betriebs- art: „Messageorientiert“ 11..14 öffnen der Schnittstelle in der Betriebs- (ML70:ab P2.12), (ML70B:ab „Streamorientiert“ P5.12) BAUDRATE TBAUDRATE BAUD_300, Baudrate: BAUD_600, BAUD_1200, BAUD_2400, BAUD_4800, BAUD_9600,...
  • Seite 43: Outputsignal

    Einführung in die Programmierung des ML70 Seite 43 OutputSignal Typ: FUNCTION Mit der Funktion OutputSignal() kann ein berechneter Wert als Messwert in das MGCplus eingespeist werden. Voraussetzung zur Benutzung der Funktion ist, daß für den Unterkanal, der verwendet werden soll, eine Skalierung festgelegt wurde (siehe auch Kapitel 0 SetScaling). Eingabe-Parameter: Parametername Wertebereich...
  • Seite 44: Outputsignalraw

    Einführung in die Programmierung des ML70 Seite 44 OutputSignalRaw Typ: FUNCTION Mit der Funktion OutputSignalRaw() kann ein berechneter Wert als Messwert in das MGCplus einge- speist werden. Der Wert wird unskaliert direkt auf der internen Link ausgegeben. Diese Funktion ist für zeitkritische Anwendungen gedacht.
  • Seite 45: Outputstatus

    Einführung in die Programmierung des ML70 Seite 45 OutputStatus Typ: FUNCTION Mit der Funktion OutputStatus() kann der Messwertstatus des gewünschten Unterkanals gesetzt wer- den. Eingabe-Parameter: Parametername Wertebereich Bedeutung SubChan 1..128 Unterkanal des ML70, auf dem der Wert aus- gegeben werden soll Status BYTE 0..128...
  • Seite 46: Outputtext

    Einführung in die Programmierung des ML70 Seite 46 OutputText Typ: FUNCTION Mit der Funktion OutputText() kann ein Displaytext für den gewünschten Unterkanal des ML70 auf dem AB22 dargestellt werdeneingespeist werden. ACHTUNG: Jeder Unterkanal des ML70 kann entweder einen Text oder einen Messwert darstellen. Durch Aufruf der Funktion OutputText() wird der betroffene Unterkanal in den Modus „Textdarstellung“...
  • Seite 47: Readcom

    Einführung in die Programmierung des ML70 Seite 47 ReadCom Typ: FUNCTION Mit der Funktion ReadCom() kann über eine serielle Schnittstelle auf der AP72 eine Anzahl von Zeichen eingelesen werden. Es gibt zwei Betriebsarten: 1. Lesen einer festen Anzahl von Zeichen: Die Anzahl der zu lesenden Zeichen wird als positive Zahl eingegeben, der Parameter EndChar hat keine Bedeutung 2.
  • Seite 48 Einführung in die Programmierung des ML70 Seite 48 Beispiel: Zum Empfang von Daten sind die Funktionen OpenCom(), ReadCom() und ReadReady() erforder- lich. Der Datenempfang erfolgt in drei Schritten. 1. Schnittstelle öffnen (siehe Beispiel unten Zustand Init) 2. Empfang anstoßen (s.u. Zustand RECEIVE) 3.
  • Seite 49: Readcts

    Einführung in die Programmierung des ML70 Seite 49 ReadCts Typ: FUNCTION Mit der Funktion ReadCTS() kann das CTS-Signal der RS-Schnittstellen auf der AP72 eingelesen wer- den. Parametername Wertebereich Bedeutung Comport BYTE 1...4 serielle Schnittstelle, von der gelesen werden soll: 1.,2: AP72 auf Steckplatz AP-A 3,4: AP72 auf Steckplatz AP-B Ausgabe-Parameter: Parametername...
  • Seite 50: Readready

    Einführung in die Programmierung des ML70 Seite 50 ReadReady Typ: FUNCTION Mit der Funktion ReadReady() kann geprüft werden, ob das mit ReadCom() gestartete Einlesen von Zeichen über eine serielle Schnittstelle auf der AP72 abgeschlossen ist. Parametername Wertebereich Bedeutung Comport BYTE 1...4 serielle Schnittstelle, von der gelesen werden soll:...
  • Seite 51: Readtimestamp

    Einführung in die Programmierung des ML70 Seite 51 ReadTimeStamp Typ: FUNCTION Mit der Funktion ReadTimeStamp() kann die interne Zeitbasis des MGCplus gelesen werden. Die inter- ne Zeitbasis wird nach dem Einschalten des MGCplus mit einer Frequenz von 76,8 kHz hochgezählt. Der Zähler hat eine Breite von 48 Bit.
  • Seite 52: Removepar

    Einführung in die Programmierung des ML70 Seite 52 RemovePar Typ: FUNCTION Mit der Funktion RemovePar() kann ein Eintrag in der Parameterliste des ML70 gelöscht werden Eingabe-Parameter: Parametername Wertebereich Bedeutung ParId 2..999 Nummer des Parameters, der aus der Liste gelöscht werden soll Ausgabe-Parameter: Parametername Bedeutung...
  • Seite 53: Requestsignal

    Einführung in die Programmierung des ML70 Seite 53 RequestSignal Typ: FUNCTION Mit der Funktion RequestSignal() kann ein Handle angefordert werden, über das ein Zugriff mit den Funktionen GetMeasValReal(), GetMeasValInt() und GetMeasValRaw() auf ein Mess-Signal von einem bestimmten MGCplus-Kanal möglich wird. Eingabe-Parameter: Parametername Typ Wertebereich...
  • Seite 54: Sendmgccommand

    Einführung in die Programmierung des ML70 Seite 54 SendMgcCommand Typ: FUNCTION Mit der Funktion SendMgcCommand() kann ein Befehl auf der internen seriellen Befehlsschnittstelle an einen Einschub im MGCplus geschickt werden. Eingabe-Parameter: Parametername Wertebereich Bedeutung Channel Kanalnummer des Einschubs, an den der Be- fehl geschickt werden soll 1..16 Verstärker-Einschub, Steckplatz 1..16...
  • Seite 55: Sergetchar

    Einführung in die Programmierung des ML70 Seite 55 SerGetChar (ML70: ab P2.12, ML70B ab P5.12) Typ: FUNCTION Mit der Funktion SerGetChar kann ein Zeichen von der seriellen Schnittstelle gelesen werden, wenn die Schnittstelle in der Betriebsart „streamorientiert“ geöffnet ist. Eingabe-Parameter:...
  • Seite 56 Einführung in die Programmierung des ML70 Seite 56 Beispiel: Gegeben sei ein Messgerät, das in einen kontinuierlichen Datenstrom zwei Messwerte auf einer seriel- len Schnittstelle sendet. Die Messwerte sind in einem ASCII-String mit der Länge von 21 Zeichen im folgenden Format codiert: Startzeichen Messwert1 Messwert 2...
  • Seite 57: Serputchar

    Einführung in die Programmierung des ML70 Seite 57 SerPutChar (ML70: ab P2.12, ML70B ab P5.12) Typ: FUNCTION Mit der Funktion SerPutChar() kann ein Zeichen auf der seriellen Schnittstelle ausgegeben werden, wenn die Schnittstelle in der Betriebsart „Ringpuffer“ geöffnet ist. Eingabe-Parameter:...
  • Seite 58: Setanalogoutputint

    Einführung in die Programmierung des ML70 Seite 58 SetAnalogOutputInt Typ: FUNCTION SetAnalogOutputInt() setzt einen Analogausgang des ML70 auf die gewünschte Ausgangsspannung. Die Spannung wird als Binärwert übergeben. -30000 entsprechen dabei -10V, 30000 entsprechen +10V Eingabe-Parameter: Parametername Wertebereich Bedeutung OutputNr 1..2 (10) Ausgang, der gesetzt werden soll: 1..2 ohne AP78, 1..10 mit AP78 1 = VO1 (BNC-Buchse auf Frontplatte,...
  • Seite 59: Setanalogoutputreal

    Einführung in die Programmierung des ML70 Seite 59 SetAnalogOutputReal Typ: FUNCTION SetAnalogOutputReal() setzt einen Analogausgang des ML70 auf die gewünschte Ausgangsspannung. Die Spannung wird direkt als REAL-Wert in Volt übergeben. Eingabe-Parameter: Parametername Wertebereich Bedeutung OutputNr 1..2 (10) Ausgang, der gesetzt werden soll: 1..2 ohne AP78, 1..10 mit AP78 1 = VO1 (BNC-Buchse auf Frontplatte, oder AP75, AP78)
  • Seite 60: Setled

    Einführung in die Programmierung des ML70 Seite 60 SetLed Typ: FUNCTION Mit der Funktion SetLed() können die LEDs auf der Frontplatte des ML70 an- bzw. ausgeschaltet wer- den. Eingabe-Parameter: Parametername Wertebereich Bedeutung LedNr 1...7 1 = L1 auf ML70-Frontplatte, 2 = L2 auf ML70-Frontplatte, 7 = L7 auf ML70-Frontplatte Color 0,1,2...
  • Seite 61: Setoutputap75

    Einführung in die Programmierung des ML70 Seite 61 SetOutputAp75 Typ: FUNCTION Mit der Funktion SetOutputAp75()können die Ausgänge der AP75 auf 24V-Pegel oder auf 0V-Pegel geschaltet werden. Eingabe-Parameter: Parametername Wertebereich Bedeutung 1...16 1= Output 1 auf Ap75, Steckplatz AP-A 2= Output 2 auf Ap75, Steckplatz AP-A 8= Output 8 auf Ap75, Steckplatz AP-A 9= Output 1 auf Ap75, Steckplatz AP-B 10= Output 2 auf Ap75, Steckplatz AP-B...
  • Seite 62: Setrts

    Einführung in die Programmierung des ML70 Seite 62 SetRTS Typ: FUNCTION Mit der Funktion SetRTS() kann das RTS-Signal der RS-Schnittstellen auf der AP72 gesetzt werden. Parametername Wertebereich Bedeutung Comport BYTE 1...4 serielle Schnittstelle, von der gelesen werden soll: 1.,2: AP72 auf Steckplatz AP-A 3,4: AP72 auf Steckplatz AP-B Level BOOL...
  • Seite 63: Setscaling

    Einführung in die Programmierung des ML70 Seite 63 SetScaling Typ: FUNCTION SetScaling() legt die Skalierung fest, mit der ein berechneter Wert vom ML70 in das MGCplus einge- speist werden soll. Um über catman bzw. das AB22A eine korrekte Darstellung der Werte zu erhalten muß...
  • Seite 64 Einführung in die Programmierung des ML70 Seite 64 Beispiel 1: Es soll aus einem Drehmoment und einer Drehzahl die Leistung berechnet werden. Das Ergebnis wird auf dem Unterkanal 1 des ML70 ausgegeben. Drehmoment: 0..500Nm Drehzahl: 0...10000Umin ω • π 10000 Endwert Leistung 523599...
  • Seite 65: Setsubchandescriptor

    Einführung in die Programmierung des ML70 Seite 65 SetSubchanDescriptor Typ: FUNCTION Mit der Funktion SetSubChanDescriptor() kann für jeden einzelnen Unterkanal des ML70 ein Beschrei- bungstext hinterlegt werden, der im Assistenten angezeigt wird. Eingabe-Parameter: Parametername Typ Wertebereich Bedeutung SubChan 1..128 Unterkanal des ML70, auf dem der Wert aus- gegeben werden soll Descriptor STRING[40]...
  • Seite 66: Setuccstring

    Einführung in die Programmierung des ML70 Seite 66 SetUccString Typ: FUNCTION Mit der Funktion SetUccString() kann für jeden einzelnen Unterkanal des ML70 ein Kanalkommentar hinterlegt werden, der im Assistenten und am AB22A angezeigt wird. Eingabe-Parameter: Parametername Typ Wertebereich Bedeutung SubChan 1..128 Unterkanal des ML70, auf dem der Wert aus- gegeben werden soll...
  • Seite 67: Waitmgcanswer

    Einführung in die Programmierung des ML70 Seite 67 WaitMgcAnswer Typ: FUNCTION Mit der Funktion WaitMgcAnswer() kann auf die Antwort auf einen Befehl auf der internen seriellen an einen Einschub im MGCplus gewartet werden. Eingabe-Parameter: Parametername Wertebereich Bedeutung Dummy - (Dummy - Parameter) Ausgabe-Parameter: Parametername Bedeutung...
  • Seite 68: Writecom

    Einführung in die Programmierung des ML70 Seite 68 WriteCom Typ: FUNCTION Mit der Funktion WriteCom() kann über eine serielle Schnittstelle auf der AP72 eine Anzahl von Zeichen ausgegeben werden. Parametername Wertebereich Bedeutung Comport BYTE 1...4 serielle Schnittstelle, von der gelesen werden soll: 1.,2: AP72 auf Steckplatz AP-A 3,4: AP72 auf Steckplatz AP-B...
  • Seite 69 Einführung in die Programmierung des ML70 Seite 69 Beispiel: Das Senden der Daten erfolgt in drei Schritten: 1. Schnittstelle öffnen (siehe Beispiel unten Zustand Init) 2. Daten bereitstellen und Sendevorgang anstoßen (s.u. Zustand SEND) 3. Warten bis der Sendevorgang abgeschlossen ist (s.u. Zustand WAIT)
  • Seite 70: Writeready

    Einführung in die Programmierung des ML70 Seite 70 WriteReady Typ: FUNCTION Mit der Funktion WriteReady() kann geprüft werden, ob die mit WriteCom() gestartete Ausgabe von Zeichen über eine serielle Schnittstelle auf der AP72 abgeschlossen ist. Parametername Wertebereich Bedeutung Comport BYTE 1...4 serielle Schnittstelle, von der gelesen werden soll:...
  • Seite 72: Library-Referenz Mgccan.lib

    Einführung in die Programmierung des ML70 Seite 72 Library-Referenz MGCcan.lib Mit der MGCcan.Lib wird der Zugriff auf CAN-Protokolle vereinfacht. Mit den Funktionen Read- CanMsg() und WriteCanMsg() können CAN-Protokolle im Binärformat empfangen bzw. gesendet wer- den. Mit ReadSDO() und WriteSDO() können SDOs in einem CANopen-Netzwerk gelesen und geschrieben werden.
  • Seite 73: Readcanmsg

    Einführung in die Programmierung des ML70 Seite 73 ReadCanMsg Typ: FUNCTION Die Funktion ReadCanMsg() liest eine CAN-Botschaft von der gewünschten CAN-Schnittstelle. Die CAN-Schnittstelle muß vorher mit InitCanDriver() initialisiert worden sein. Wenn die Funktion den Wert 0 zurückgibt, ist eine CAN-Botschaft empfangen worden, die in den in pMsg angebenen Buffer kopiert wurde.
  • Seite 74: Readsdo

    Einführung in die Programmierung des ML70 Seite 74 ReadSDO Typ: FUNCTION Die Funktion ReadSDO() liest ein SDO (Service Data Object) in einem CANopen-Netwerk. von der gewünschten CAN-Schnittstelle. Die CAN-Schnittstelle muß vorher mit InitCanDriver() initialisiert wor- den sein. Wenn die Funktion den Wert 0 zurückgibt, ist ein SDO empfangen worden, die in den in pMsg ange- benen Buffer kopiert wurde.
  • Seite 75: Writecanmsg

    Einführung in die Programmierung des ML70 Seite 75 WriteCanMsg Typ: FUNCTION Die Funktion WriteCanMsg() schreibt eine CAN-Botschaft auf der gewünschten CAN-Schnittstelle. Die CAN-Schnittstelle muß vorher mit InitCanDriver() initialisiert worden sein. Wenn die Funktion den Wert 0 zurückgibt, ist eine CAN-Botschaft in den Ausgabepuffer kopiert wor- den.
  • Seite 76: Writesdo

    Einführung in die Programmierung des ML70 Seite 76 WriteSDO Typ: FUNCTION Die Funktion WriteSDO() schreibt eine SDO (Service Data Object) an einen CANopen-Slave auf der gewünschten CAN-Schnittstelle. Die CAN-Schnittstelle muß vorher mit InitCanDriver() initialisiert wor- den sein. Wenn die Funktion den Wert 0 zurückgibt, ist das SDO erfolgreich geschrieben worden. Parametername Werte-bereich Bedeutung...
  • Seite 77 MGCplus.lib Bibliotheks-Referenz: Stand: 23.08.02 ab Firmware-Version ML70: P1.15...
  • Seite 78: Library-Referenz Mgcprofi.lib

    Einführung in die Programmierung des ML70 Seite 78 Library-Referenz MGCprofi.lib Mit der Library MGCprofi.lib ist es auf relativ komfortable Weise möglich Profibusdaten vom Profibus- Master (z.B. eine SPS oder ein PC mit Profibus-Karte) in den ML70 einzulesen. Der ML70 muß dazu in einem MGCplus betrieben werden, das mindestens einen ML77 (Profibus-Schnittstelle) mit AP77 ent- hält.
  • Seite 79: Actualizeprofibusdata

    Einführung in die Programmierung des ML70 Seite 79 ActualizeProfibusData Typ: FUNCTION Die Funktion ActualizeProfibusData() aktualisiert die internen Datenpuffer im ML70 für die Profibusda- ten. Diese Funktion mup vor dem Aufruf von CopyProfibusData() aufgerufen werden. ML77Adr: INT; (* channel adress of ML77 *) Parametername Werte-bereich Bedeutung...
  • Seite 80: Copyprofibusdata

    Einführung in die Programmierung des ML70 Seite 80 CopyProfibusData Typ: FUNCTION Die Funktion CopyProfibusData() kopiert Profibusdaten vom Profibus-Master zur Weiterverarbeitung in eine beliebige Variable. Vor Aufruf von CopyProfibusData() müssen die Profibusdaten im ML77 mit der Funktion ActualizeProfibusData() aktualisiert werden. Parameterna- Werte- Bedeutung bereich...
  • Seite 81: Requestprofibusdata

    Einführung in die Programmierung des ML70 Seite 81 RequestProfibusData Typ: FUNCTION Die Funktion RequestProfibusData () muß einmal zur Initialisierung der Profibuskommunikation vom Profibus-Master zum ML70 aufgerufen werden. Als Parameter wird die im Profibus-Master eingestellte Konfiguration und die Einschub-Adresse des ML77 übergeben. Parametername Typ Werte- Bedeutung...
  • Seite 82 Einführung in die Programmierung des ML70 Seite 82...
  • Seite 83: Systemvariablen

    MGCplus.lib Bibliotheks-Referenz: Stand: 23.08.02 ab Firmware-Version ML70: P1.15 Systemvariablen Die Systemvariablen dienen zum schnellen Informationsaustausch zwischen IEC-Programm und Betriebs- system des ML70. Variablenname Bedeutung SYSV_ActualExecTime WORD Ausführungszeit des letzten Schrittes gemessen in Zeitin- krementen von 1/2400Hz = 416 µs SYSV_MaxExecTime WORD max.
  • Seite 84: Schlagwortregister

    Einführung in die Programmierung des ML70 Seite 84 Schlagwortregister GetConnectionBoardType() · 29 ReadSDO() · 79 GetDisplayLanguage() · 30 ReadTimeStamp() · 56 GetInputAp75() · 31 RemovePar() · 57 GetMeasStatus() · 37 RequestProfibusData () · 86 GetMeasValInt () · 32 RequestSignal() · 3, 58 ActivateSignals() ·...
  • Seite 85 ML70B Bibliotheks-Referenz: Stand: 05.01.05 ab Firmware-Version: P5.12 oder neuer Inhalt Referenz Bibliotheksfunktionen MGCfiles.lib ....2 CP_FCLOSE............3 CP_FCREATE ............3 CP_FREADY ............3 CP_FWRITE ............4 HEXASC ..............4 MGCFILES_VERSION..........4 Demo Program ............5...
  • Seite 86: Referenz Bibliotheksfunktionen Mgcfiles.lib

    Einführung in die Programmierung des ML70 Seite 2 Referenz Bibliotheksfunktionen MGCfiles.lib Die Bibliothek MGCfiles.lib stellt Funktionen zur Verfügung, damit ML70 für Monitoring- und Aufzeich- nungszwecke eine Datei auf der PC Card Festplatte in der CP42 öffnen, beschreiben und wieder schlie- ssen kann.
  • Seite 87: Cp_Fclose

    Die aktuell geöffnete Datei, die durch den ML70 beschrieben wurde, soll geschlossen werden. CP_FCLOSE(); CP_FCREATE Typ: FUNCTION Mit der Funktion CP_FCREATE() wird eine Datei auf der PC Card Festplatte (optional in dem Kommu- nikationsprozessor CP42 betreibbar) erzeugt, die vom ML70 oder ML70B beschrieben werden kann. Eingabe Parameter: Parametername Bedeutung Name STRING[13]...
  • Seite 88: Cp_Fwrite

    Einführung in die Programmierung des ML70 Seite 4 CP_FWRITE Typ: FUNCTION Mit dieser Funktion werden Zeichen in die bereits durch das Kommando CP_FCREATE erzeugte Datei angehängt. Eingabe Parameter: Parametername Bedeutung STRING(120) Dieser String mit einer maximalen Länge wird in die bereits geöffnete Datei angehängt. Ausgabe Parameter: Parametername Bedeutung...
  • Seite 89: Demo Program

    Einführung in die Programmierung des ML70 Seite 5 Demo Program Nachstehende Grafik zeigt einen Snapshot eines Demoprogramms, mit dem Daten auf die PC Card Festplatte geschrieben werden Im Programmschritt st_write_line wird eine Textzeile in die geöffnete Datei 'test.dat' geschrieben. Ist im String die zeichenfolge $0D$0A enthalten, wird dort ein Zeilenumbruch erzwungen.

Inhaltsverzeichnis