Herunterladen Inhalt Inhalt Diese Seite drucken
Inhaltsverzeichnis

Werbung

Programmierbare Systeme
System HIMatrix
COM USER TASK
(CUT)
Handbuch
HIMA Paul Hildebrandt GmbH
Industrie-Automatisierung
HI 800 328 CDA

Werbung

Inhaltsverzeichnis
loading

Inhaltszusammenfassung für HIMA HI 800 328 CDA

  • Seite 1 Programmierbare Systeme System HIMatrix COM USER TASK (CUT) Handbuch HIMA Paul Hildebrandt GmbH Industrie-Automatisierung HI 800 328 CDA...
  • Seite 2 Einschaltung wirksamer Kontrollmaßnahmen zusammengestellt. Trotzdem sind Fehler nicht ganz aus- zuschließen. HIMA sieht sich deshalb veranlasst, darauf hinzuweisen, dass weder eine Garantie noch die juristische Ver- antwortung oder irgend eine Haftung übernommen werden kann für die Folgen, die auf fehlerhafte Angaben zurückgehen.
  • Seite 3: Inhaltsverzeichnis

    HI 800 328 HIMatrix COM User Task Inhaltsverzeichnis COM User Task (CUT) ................5 Voraussetzungen ................5 1.1.1 ELOP II Factory................5 1.1.2 Entwicklungsumgebung ..............5 1.1.3 Verwendbare Steuerungen ............5 Abkürzungen ..................6 CUT-Schnittstelle in ELOP II Factory ..........7 Schedule-Intervall [ms] ..............7 Scheduling-Vorbereitung ..............7 Scheduling-Nachbereitung..............7 STOP_INVALID_CONFIG ..............8 Signale der CUT-Schnittstelle (CPU<->CUT)........8 2.5.1...
  • Seite 4 HI 800 328 HIMatrix COM User Task 3.11.3 CUL_SemaTry................34 3.12 COM-IO-IF (Nur MHS31A)............. 35 3.12.1 CUL_IORead................35 3.12.2 CUL_IOWrite ................35 3.12.3 CUL_IOConfigure..............36 3.13 Diagnose ..................36 Installation der Entwicklungsumgebung ........37 Installation der Cygwin-Umgebung..........37 Installation des GNU Compilers............. 40 Neues CUT-Projekt anlegen .............
  • Seite 5: Com User Task (Cut)

    HI 800 328 HIMatrix COM User Task COM User Task (CUT) Neben dem Anwenderprogramm, das mit ELOP II Factory erstellt wird, hat der Anwender zusätzlich die Möglichkeit ein C-Programm auf der Steuerung zu betreiben. Dieses nicht sichere C-Programm läuft als COM User Task rückwirkungsfrei zur sicheren CPU auf dem COM-Modul der Steuerung.
  • Seite 6: Abkürzungen

    HI 800 328 HIMatrix COM User Task Abkürzungen Abkürzung Bedeutung Zentraler Prozessor der Steuerung Kommunikationsprozessor der Steuerung CUCB COM User Callback (CUCB_ Funktionen werden von der COM aufgerufen) CUIT COM User IRQ Task (Nur für MHS31A) COM User Library (CUL_ Funktionen werden in der CUT aufgerufen) COM User Task GNU Projekt InterFace...
  • Seite 7: Cut-Schnittstelle In Elop Ii Factory

    HI 800 328 HIMatrix COM User Task CUT-Schnittstelle in ELOP II Factory Die Prozessdatenkommunikation der COM User Task läuft zwischen der COM und der CPU Die geladene COM User Task darf keine privilegierten Befehle des COM Prozessors benutzen. Der Code der CUT läuft auf der COM rückwirkungsfrei zur CPU. Damit ist die sichere CPU vor dem Code der CUT geschützt.
  • Seite 8: Stop_Invalid_Config

    HI 800 328 HIMatrix COM User Task STOP_INVALID_CONFIG Befindet sich die COM Im Zustand STOP_INVALID_CONFIG, dann wird die CUT nicht ausgeführt. Wechselt die COM in den Zustand STOP_INVALID_CONFIG und führt die CUT oder die CUIT aus, so werden diese terminiert. Signale der CUT-Schnittstelle (CPU<->CUT) Der Anwender kann eine nicht sicherheitsgerichtete Prozessdatenkommunikation zwischen sicherer CPU und COM (CUT) definieren.
  • Seite 9: Status

    HI 800 328 HIMatrix COM User Task Im Dialog Signal-Zuordnungen der COM User Tasks befinden sich die in den folgenden Abschnitten beschriebenen Register für den Prozessdatenaustausch. Abbildung 2: Kontextmenü der COM User Task 2.5.1 Status Das Register Status enthält die folgenden Systemparameter zur Status-Überwachung der COM (CUT): Name Funktion...
  • Seite 10: Daten-Eingänge (Com->Cpu)

    HI 800 328 HIMatrix COM User Task 2.5.3 Daten-Eingänge (COM->CPU) In das Register Daten-Eingänge werden die Signale eingetragen, die von der COM (CUT) zur CPU übertragen werden sollen (Eingangsbereich der CPU). Hier werden die Datentypen und die Größe der Datenstruktur (des Eingangsbereichs der CPU) konfiguriert. Beachten Sie, dass die nicht sicheren Signale der COM User Task die Sicherheitsfunktionen des CPU Anwenderprogramms nicht behindern dürfen.
  • Seite 11: Daten-Ausgänge (Cpu->Com)

    HI 800 328 HIMatrix COM User Task 2.5.4 Daten-Ausgänge (CPU->COM) In das Register Daten-Ausgänge werden die Signale eingetragen, die von der CPU (Ausgangsbereich der CPU) zur COM (CUT) übertragen werden sollen. Hier werden die Datentypen und die Größe der Datenstruktur (des Ausgangsbereichs der CPU) konfiguriert. Abbildung 4: Register „Daten-Ausgänge“...
  • Seite 12: Cut Funktionen

    Segment und dem Initialdaten-Segment beginnt und mit den Datensegmenten fortgesetzt wird. Im HIMA Linkersteuerfile (makeinc.inc.app und section.dld) ist die beschriebene Reihenfolge der Segmente und die verfügbare Speichermenge festgelegt. Die COM User Task teilt mithilfe des HIMA Linkersteuerfiles den verfügbaren Speicherbereich optimal zwischen dem Code und den Daten auf. Startadresse 0x790000 Länge...
  • Seite 13: Startfunktion Cucb_Taskloop

    HI 800 328 HIMatrix COM User Task Der Stack liegt in einem reservierten Speicherbereich, der zur Laufzeit des COM- Betriebssystems festgelegt wird. Endadresse Dynamisch aus Sicht der CUT Länge 64kByte Startfunktion CUCB_TaskLoop Die Funktion CUCB_TaskLoop() ist die Startfunktion zur COM User Task. Die Programmausführung der COM User Task beginnt mit dem Aufruf dieser Funktion (siehe Schedule-Intervall[ms] Kapitel 2.1).
  • Seite 14 HI 800 328 HIMatrix COM User Task Parameter: Die Funktion hat die folgenden Parameter: Parameter Beschreibung comId Feldbusschnittstelle (RS485, RS 232) 1 = FB1 2 = FB2 3 = FB3 4 = FB4_SERVICE duplex 0 = Full-Duplex (nur für FB4 falls RS232 erlaubt) 1 = Halb-Duplex baudRate 1200 Bit...
  • Seite 15: Cul_Ascclose

    HI 800 328 HIMatrix COM User Task 3.6.2 CUL_AscClose Die Funktion CUL_AscClose()schließt die in comId eingetragene serielle Schnittstelle. Dabei werden die bereits empfangenen, aber noch nicht mit der Funktion CUL_AscRcv()ausgelesenen Daten im FIFO gelöscht. Funktionsprototyp : Udword CUL_AscClose(udword comId) Parameter: Die Funktion hat den folgenden Parameter: Parameter Beschreibung...
  • Seite 16 HI 800 328 HIMatrix COM User Task Funktionsprototyp: Udword CUL_AscRcv(udword comId, CUCB_ASC_BUFFER *pBuf) typedef struct CUCB_AscBuffer { bool bAscState; // zur Verwendung durch CUT/CUCB bool bError; // zur Verwendung durch CUT/CUCB uword align; // COM ist 4 aligned, long's sind performanter udword mDataIdx;...
  • Seite 17: Cucb_Ascrcvready

    HI 800 328 HIMatrix COM User Task 3.6.4 CUCB_AscRcvReady Wenn die COM die Funktion CUCB_AscRcvReady() aufruft, dann liegt die angeforderte Datenmenge im FIFO bereit (Daten von der im Parameter comId definierten seriellen Schnittstelle). Die Daten wurde zuvor mit der Funktion CUL_AscRcv()angefordert. Der Aufruf der Funktion CUCB_AscRcvReady() kann außerhalb und während des Aufrufs der Funktion CUL_AscRcv() erfolgen.
  • Seite 18: Cul_Ascsend

    HI 800 328 HIMatrix COM User Task 3.6.5 CUL_AscSend Die Funktion CUCB_AscSend sendet die durch den Parameter pBuf definierte Datenmenge über die serielle Schnittstelle comId. Die definierte Datenmenge muss ≥ 1 Byte und ≤ 1kByte sein. Nach erfolgtem Senden wird die Funktion CUCB_AscSendReady()aufgerufen. Im Fehlerfall wird nicht gesendet und die Funktion CUCB_AscSendReady() wird nicht aufgerufen.
  • Seite 19: Cucb_Ascsendready

    HI 800 328 HIMatrix COM User Task 3.6.6 CUCB_AscSendReady Wenn die COM die Funktion CUCB_AscSendReady() aufruft, dann ist das Senden der Daten mit der Funktion CUCB_AscSend() über die serielle Schnittstelle abgeschlossen. Der Task-Kontext ist immer der der CUT. Die Funktion CUCB_AscSendReady() darf alle CUT-Library-Funktionen aufrufen.
  • Seite 20: Udp/Tcp-Socket-If

    HI 800 328 HIMatrix COM User Task UDP/TCP-Socket-IF Maximal 8 Sockets stehen unabhängig vom verwendeten Protokoll zur gleichzeitigen Nutzung zur Verfügung. Die physikalische Verbindung erfolgt über die 10/100BaseT Ethernet Schnittstellen der Steuerung. 3.7.1 CUL_SocketOpenUdpBind Die Funktion CUL_SocketOpenUdpBind() erzeugt einen Socket vom Typ UDP und bindet den Socket an den ausgewählten Port.
  • Seite 21: Cul_Socketopenudp

    HI 800 328 HIMatrix COM User Task 3.7.2 CUL_SocketOpenUdp Die Funktion CUL_SocketOpenUdp() erzeugt einen Socket vom Typ UDP ohne Anbindung an einen Port. Danach können die Nachrichten über den Socket nur versendet werden, kein Empfang. Funktionsprototyp: dword CUL_SocketOpenUdp ( void ) Parameter: Keine Rückgabewert:...
  • Seite 22: Cul_Socketsendto

    HI 800 328 HIMatrix COM User Task 3.7.4 CUL_SocketSendTo Die Funktion CUL_SocketSendTo() versendet die zuvor mit CUL_NetMessageAlloc() allozierte und gefüllte Nachricht als UDP Paket an die Zieladresse destIp/destPort. Nach der Sendung wird der Messagespeicher pMsg wieder automatisch freigegeben. Bei jeder Sendung muss mit der Funktion CULMessageAlloc()zuerst Messagespeicher alloziert werden.
  • Seite 23: Cucb_Socketudprcv

    HI 800 328 HIMatrix COM User Task 3.7.5 CUCB_SocketUdpRcv Die COM ruft die Funktion CUCB_SocketUdpRcv() auf, wenn Daten vom Socket bereit liegen.. Im Callback müssen die Daten bei Bedarf aus *pMsg nach CUT-Data kopiert werden. Nach dem return der Funktion darf auf *pMsg nicht mehr zugegriffen werden. Funktionsprototyp: void CUCB_SocketUdpRcv( dword socket, void *pMsg,...
  • Seite 24: Cul_Socketopentcpserver

    HI 800 328 HIMatrix COM User Task 3.7.7 CUL_SocketOpenTcpServer Die Funktion CUL_SocketOpenServer() erzeugt einen Socket vom Typ TCP und bindet den Socket an den ausgewählten Port. Die Adresse für das Binden ist immer INADDR_ANY. Zusätzlich wird die COM beauftragt auf dem Stream-Socket ein listen auszuführen.
  • Seite 25: Cucb_Sockettryaccept

    HI 800 328 HIMatrix COM User Task 3.7.8 CUCB_SocketTryAccept Die COM ruft die Funktion CUL_SocketTryAccept() auf, wenn eine TCP-Verbindungs- anfrage ansteht. Mit dieser Anfrage kann dann mit der Funktion CUL_SocketAccept() ein Socket angelegt werden. Funktionsprototyp: void CUCB_SocketTryAccept(dword serverSocket) Parameter: Die Funktion hat den folgenden Parameter: Parameter Beschreibung serverSocket zuvor mit CUL_SocketOpenTcpServer() erzeugter Socket.
  • Seite 26: Cul_Socketopentcpclient

    HI 800 328 HIMatrix COM User Task 3.7.10 CUL_SocketOpenTcpClient Die Funktion CUL_SocketOpenTcpClient() erzeugt einen Socket vom Typ TCP mit freiem lokalem Port und beauftragt eine Verbindung zu destIp und destPort. Sockets werden immer im non-blocking Mode betrieben; d.h. diese Funktion blockiert nicht. Sobald die Verbindung hergestellt wurde, wird CUCB_SocketConnected() aufgerufen.
  • Seite 27: Cul_Socketsend

    HI 800 328 HIMatrix COM User Task 3.7.12 CUL_SocketSend Die Funktion CUL_SocketSend() versendet die zuvor mit CUL_NetMessageAlloc() allozierte und gefüllte Nachricht als TCP Paket. Nach der Sendung wird der Messagespeicher pMsg wieder automatisch freigegeben. Bei jeder Sendung muss mit der Funktion CULMessageAlloc()zuerst Messagespeicher alloziert werden.
  • Seite 28: Cucb_Sockettcprcv

    HI 800 328 HIMatrix COM User Task 3.7.13 CUCB_SocketTcpRcv Die Funktion CUCB_SocketTcpRcv() wird von der COM aufgerufen, wenn die Nutzdaten vom Socket bereit liegen. Nach dem Verlassen der Funktion CUCB_SocketTcpRcv() darf auf *pMsg nicht mehr zugegriffen werden. Werden die Nutzdaten auch außerhalb der Funktion CUCB_SocketTcpRcv() benötigt, müssen die Nutzdaten aus *pMsg in einen dafür angelegten Bereich kopiert werden.
  • Seite 29: Timer-If

    HI 800 328 HIMatrix COM User Task Timer-IF 3.8.1 CUL_GetTimeStampMS Die Funktion CUL_GetTimeStampMS() liefert einen Millisekunden-Tick. Dieser ist geeignet in der CUT/CUIT eigene Timer zu implementieren. Der Zähler wird vom Quarz des COM- Prozessors abgeleitet und hat damit dieselbe Genauigkeit. Funktionsprototyp: u dword CUL_GetTimeStampMS(void) 3.8.2...
  • Seite 30: Com-User-Irq-Task (Nur Für Mhs31A)

    HI 800 328 HIMatrix COM User Task COM-User-IRQ-Task (Nur für MHS31A) Die COM-User-IRQ-Task (CUIT) muss sich den Code- und Datenspeicher mit der CUT teilen. Sie hat einen eigenen Stack und wird wie bei der CUT-Stack durch das COM-BS (aus Sicht der CUIT dynamisch) festgelegt und ist 8kByte groß. Es gibt nur eine CUIT in der COM.
  • Seite 31: Cul_Irqservicedisable

    HI 800 328 HIMatrix COM User Task 3.9.3 CUL_IrqServiceDisable Die Funktion CUL_IrqServiceDisable() sperrt den COM-IRQ-Kanal für den CAN Controller devNo. Ab jetzt lösen CAN-IRQs nicht mehr den Aufruf der CUT-IRQ-Task aus. Noch nicht vollständig verarbeitete IRQ Behandlungen werden jedoch noch durchgeführt. Funktionsprototyp: void CUL_IrqServiceDisable(udword devNo) Parameter:...
  • Seite 32: Nvram-If (Nur Für Mhs31A)

    HI 800 328 HIMatrix COM User Task 3.10 NVRam-IF (Nur für MHS31A) Die CUT und die CUIT können den verfügbaren Bereich schreiben und lesen. Das für diese Funktionen verfügbare NVRam ist 9kBytes groß. Die COM sorgt nicht für die Konsistenz der Daten bei Ausfall der Hinweis Betriebsspannung während eines Zugriffs und auch nicht während gleichzeitigen Zugriffen aus zwei Tasks.
  • Seite 33: Semaphore-If (Nur Für Mhs31A)

    HI 800 328 HIMatrix COM User Task 3.11 Semaphore-IF (Nur für MHS31A) Die CUT und die CUIT haben zur Prozesssynchronisation zusammen einen Semaphor. Die Daten der CUCB- und CUL- Funktionen, die gemeinsam mit der Funktion CUCB_IrqService() verwendet werden, müssen über einen Semaphor geschützt werden. Damit wird die Konsistenz der gemeinsam mit der Funktion CUCB_IrqService() verwendeten Daten sichergestellt.
  • Seite 34: Cul_Sematry

    HI 800 328 HIMatrix COM User Task 3.11.3 CUL_SemaTry Die Funktion CUL_SemaTry() versucht die Semaphore der CUT/CUIT anzufordern. Ist die Semaphore frei, so kehrt die Funktion mit TRUE zurück und belegt die Semaphore. nicht frei, so kehrt die Funktion mit FALSE zurück und belegt die Semaphore nicht. Das udword, das durch pContext referenziert wird, wird nur von der CUL für die aufrufende Task genutzt und darf zwischen Request/Release nicht verändert werden.
  • Seite 35: Com-Io-If (Nur Mhs31A)

    HI 800 328 HIMatrix COM User Task 3.12 COM-IO-IF (Nur MHS31A) Schnittstelle zur Bedienung der Standard-IO der COM. Die Filterung der DI Kanäle ist nicht parametrierbar; vielmehr sind immer gefilterte und nicht gefilterte Werte verfügbar. struct CUL_IoBufferIn { uword mDIRaw; //ungefilterte DI Werte, //mit Bit[0]=DI[1]..Bit[11]=DI[12] //Bit[12]=DI[13]/DO[1]..Bit[15]=DI[16]/DO[4]...
  • Seite 36: Cul_Ioconfigure

    HI 800 328 HIMatrix COM User Task 3.12.3 CUL_IOConfigure Die Funktion CUL_IOConfigure() konfiguriert die Ein-/Ausgänge. Bevor CUL_IOConfigure() erstmalig aufgerufen wird, sind die DI/DO-Kanäle als Eingang parametriert. CUL_IOConfigure() darf zum Rekonfigurieren der DI/DO-Kanäle mehrmals aufgerufen werden. DI/DO-Kanäle, deren Parametrierung von Ausgang auf Eingang wechselt, geben keine Energie mehr nach außen, Eingang auf Ausgang wechselt, geben den zuvor mit CUL_IOWrite() definierten Wert aus.
  • Seite 37: Installation Der Entwicklungsumgebung

    HI 800 328 HIMatrix COM User Task Installation der Entwicklungsumgebung In diesem Kapitel wird die Installation der Entwicklungsumgebung und die Erstellung einer COM User Task beschrieben. Die Entwicklungsumgebung befindet sich auf der Installations-CD (siehe auch Kapitel 1.1.2). Installation der Cygwin-Umgebung Die Cygwin-Umgebung ist erforderlich, da die GNU C Compiler Tools nur unter der Cygwin- Umgebung lauffähig sind.
  • Seite 38 HI 800 328 HIMatrix COM User Task Der Dialog Disable Virus Scanner erscheint, wenn der Virusscanner nicht deaktiviert Schritt 2: wurde. Führen Sie diesen Schritt aus, um den Virusscanner für die Installation von Cygwin zu deaktivieren. Deaktivieren Sie den Virusscanner vor der Cygwin-Installation, da es Hinweis abhängig vom verwendeten Virusscanner vorkommen kann, dass dieses Fenster nicht erscheint, obwohl der Virusscanner läuft.
  • Seite 39 HI 800 328 HIMatrix COM User Task Wählen Sie Dialog Select Packages alle Packages zur Installation aus: Schritt 6: Wählen Sie den radio button Curr. Klicken Sie im Anzeigefeld mehrmals langsam auf die Installationsoption neben All, bis Install für eine vollständige Installation aller packages angezeigt wird (ca. 1,86 GB Speicherbedarf).
  • Seite 40: Installation Des Gnu Compilers

    HI 800 328 HIMatrix COM User Task Installation des GNU Compilers Führen Sie die folgenden Schritte aus, um den GNU Compiler zu installieren: Öffnen Sie im Windows-Explorer das Verzeichnis der Installations CD. Doppelklicken Sie auf das zip-File gcc-ppc-v3.3.2_binutils-v2.15.zip. Extrahieren Sie alle Dateien in das Cygwin-Verzeichnis (z.B. C:\cygwin\…). Der GNU Compiler wird im Cygwin-Verzeichnis in den Ordner gcc-ppc entpackt.
  • Seite 41: Neues Cut-Projekt Anlegen

    HI 800 328 HIMatrix COM User Task Neues CUT-Projekt anlegen Dieses Kapitel zeigt, wie ein neues CUT-Projekt angelegt wird und welche Dateien angepasst werden müssen. Das CUT-Projekt example_cut befindet sich fertig angepasst auf der Hinweis Installations-CD. Beim Anlegen weiterer neuer CUT-Projekte wird empfohlen, für jedes CUT-Projekt ein neues Verzeichnis unterhalb ...\cut_src\ einzurichten.
  • Seite 42: Cut-Makefiles

    HI 800 328 HIMatrix COM User Task CUT-Makefiles Konfiguration der CUT-Makefiles für unterschiedliche Sourcefiles und ldb-Dateien Insgesamt müssen drei Makefiles, wie in den folgenden Absätzen beschrieben, angepasst werden. 5.1.1 Makefile mit der Erweiterung „.mke“ Die mke-Datei finden Sie im jeweiligen Quellcode-Verzeichnis z.B.
  • Seite 43: Makefile

    HI 800 328 HIMatrix COM User Task 5.1.2 Makefile Die makefile-Datei finden Sie im jeweiligen Quellcode-Verzeichnis. z.B. cut_src\example_cut\makefile Abbildung 13: makefile im Ordner example_cut Führen Sie in der makefile-Datei die folgenden Änderungen durch: Ziehen Sie die Include-Zeile für die mke-Datei nach oben und ändern Sie die .mke Datei auf den aktuellen Namen.
  • Seite 44: Makefile Mit Der Erweiterung „Makeinc.inc.app

    HI 800 328 HIMatrix COM User Task 5.1.3 Makefile mit der Erweiterung „makeinc.inc.app“ Als einmalige Änderung für dieses und alle weiteren CUT-Projekte wird der Name des CUT- Loadable über eine Make-Variable änderbar gemacht. Die makeinc.inc.app-Datei finden Sie im cut_src-Verzeichnis z.B. cut_src\makeinc.inc.app. Abbildung 15: makeinc.inc.app Datei im Ordner example_cut Führen Sie in der makeinc.inc.app-Datei die folgenden Änderungen durch: Erweitern Sie die Datei mit der Variablen CUT_NAME.
  • Seite 45: C-Quellcode Bearbeiten

    HI 800 328 HIMatrix COM User Task C-Quellcode bearbeiten Führen Sie die folgenden Schritte aus, um die Quellcodedatei zu öffnen: Öffnen Sie das Projektverzeichnis cut_src\example_cut, das Sie in den vorangegangenen Schritten erstellt und konfiguriert haben. Öffnen Sie mit einem Editor (z.B. Notepad) die C-Quellcodedatei mit der Erweiterung .c.
  • Seite 46 HI 800 328 HIMatrix COM User Task Abbildung 17: C-Code example_cut.c 46 von 52...
  • Seite 47: Erstellung Des Ausführbaren Code (Ldb-Datei)

    HI 800 328 HIMatrix COM User Task 5.2.4 Erstellung des Ausführbaren Code (ldb-Datei) Führen Sie die folgenden Schritte zur Erstellung des ausführbaren Codes (ldb-Datei) aus: Starten Sie die Cygwin Bash Shell. Wechseln Sie in das Verzeichnis /cut_src/example_cut/. Starten Sie die Codegenerierung mit der Eingabe make cut. Das Binärfile cut.ldb wird im Verzeichnis /cut_src/make/ automatisch erzeugt.
  • Seite 48: Com User Task In Das Projekt Einbinden

    HI 800 328 HIMatrix COM User Task COM User Task in das Projekt einbinden Führen Sie in ELOP II Factory die folgenden Schritte aus, um den COM User Task in das Projekt einzubinden: 5.3.1 COM User Task anlegen Wählen Sie im ELOP II Factory Hardware-Management die Ressource, in welcher die CUT angelegt werden soll.
  • Seite 49: Signale Mit Dem Cut Verbinden

    HI 800 328 HIMatrix COM User Task 5.3.3 Signale mit dem CUT verbinden Der Anwender kann eine nicht sicherheitsgerichtete Prozessdatenkommunikation zwischen der sicheren CPU und der nicht sicheren COM (CUT) definieren. Dabei können in jeder Richtung maximal 16kByte Daten ausgetauscht werden. 5.3.3.1 Signale im Signaleditor erstellen Erstellen Sie die beiden folgenden Signale im Signaleditor: Signal...
  • Seite 50: Konfigurieren Der Ausgangssignale (Cpu->Com)

    HI 800 328 HIMatrix COM User Task 5.3.3.4 Konfigurieren der Ausgangssignale (CPU->COM) In das Register Daten-Ausgänge werden die Signale eingetragen, die von der CPU zur COM übertragen werden sollen (Daten-Ausgänge). Wählen Sie das Register Daten-Ausgänge. Klicken Sie im Signaleditor auf den Namen des Signals und ziehen Sie das Signal per Drag &...
  • Seite 51: Konfigurieren Sie Das Schedule-Intervall [Ms]

    HI 800 328 HIMatrix COM User Task 5.3.5 Konfigurieren Sie das Schedule-Intervall [ms] Wählen Sie im Kontextmenü des COM User Task den Menüpunkt Eigenschaften, um den Dialog Eigenschaften zu öffnen. Tragen Sie in das Eingabefeld Schedule-Intervall [ms] ein, in welchen Intervallen die COM User Task aufgerufen werden soll.
  • Seite 52: Tipps Und Tricks

    HI 800 328 HIMatrix COM User Task Tipps und Tricks 5.4.1 Fehler beim Laden einer Konfiguration mit CUT Laufzeitprobleme (z.B. COM-User-Task in endlos-Schleife): Ursache für Laufzeitprobleme: Wenn in dem betreffenden CUT-Quellcode eine Schleife programmiert wurde, die sehr lange läuft kann dies zu einer „Verklemmung“ des COM-Prozessors führen. Das hat zur Folge, dass zur Steuerung keine Verbindung mehr hergestellt werden kann und das Löschen der Ressourcenkonfiguration nicht mehr möglich ist.
  • Seite 53 HIMA ...die sichere Entscheidung. HIMA Paul Hildebrandt GmbH Industrie-Automatisierung Postfach 1261 • 68777 Brühl Telefon: (06202) 709-0 • Telefax: (06202) 709-107 (0637) E-mail: info@hima.com • Internet: www.hima.de...

Inhaltsverzeichnis