Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
11.10.2020
Размер:
3.04 Mб
Скачать

Handbuch für

SPS Programmierung mit

CoDeSys 2.3

Copyright 1994, 1997, 1999, 2001, 2002, 2003, 2004 by 3S - Smart Software Solutions GmbH Alle Rechte vorbehalten.

Es wurden alle erdenklichen Maßnahmen getroffen, um die Richtigkeit und Vollständigkeit der vorliegenden Dokumentation zu gewährleisten. Da sich Fehler, trotz aller Sorgfalt, nie vollständig vermeiden lassen, sind wir für Hinweise und Anregungen jederzeit dankbar.

Warenzeichen

Intel ist ein eingetragenes Warenzeichen und 80286, 80386, 80486, Pentium sind Warenzeichen der Intel Corporation.

Microsoft, MS und MS-DOS sind eingetragene Warenzeichen, Windows sind Warenzeichen der Microsoft Corporation.

Herausgeber:

3S - Smart Software Solutions GmbH

Memminger Straße 151

D-87439 Kempten

Tel.

+49/

831/

5 40 31

- 0

Fax

+49/

831/

5 40 31

– 50

Stand 24.06.2004

Dokument Version 3.1, ab CoDeSys V.2.3.3.3

Inhalt

Inhalt

1 Kurzer Einblick in CoDeSys

1-1

 

1.1

Was ist CoDeSys ...................................................................................................

1-1

1.2

Überblick über die Funktionalität von CoDeSys.....................................................

1-1

1.3

Übersicht der Anwender-Dokumentation zu CoDeSys ..........................................

1-3

2 Was ist was in CoDeSys

2-1

 

 

 

 

 

 

 

2.1

Bestandteile eines Projekts....................................................................................

2-1

2.2

Die Sprachen..........................................................................................................

2-8

2.2.1

Anweisungsliste (AWL).....................................................................................

2-8

2.2.2

Strukturierter Text (ST)... ..................................................................................

2-10

2.2.3

Ablaufsprache (AS)...........................................................................................

2-16

2.2.4

Funktionsplan (FUP).........................................................................................

2-21

 

2.2.5 Der freigraphische Funktionsplaneditor (CFC)... ..............................................

2-21

2.2.6

Kontaktplan (KOP)............................................................................................

2-22

2.3

Debugging, Onlinefunktionalitäten... ......................................................................

2-23

2.4

Die Norm... .............................................................................................................

2-26

3 Wir schreiben ein kleines Programm

3-1

 

 

 

 

 

 

 

 

 

3.1

Die Steuerung einer Ampelanlage... ......................................................................

3-1

3.2

Die Visualisierung einer Ampelanlage....................................................................

3-11

4 Die Komponenten im Einzelnen

4-1

 

 

4.1

Hauptfenster...........................................................................................................

4-1

 

4.2

Projekt Optionen.....................................................................................................

4-3

4.3

Projekte verwalten..................................................................................................

4-11

4.4

Objekte verwalten...................................................................................................

4-43

4.5

Allgemeine Editierfunktionen..................................................................................

4-51

4.6

Allgemeine Online Funktionen... ............................................................................

4-58

4.7

Fenster ... ...............................................................................................................

4-74

4.8

Die rettende Hilfe....................................................................................................

4-75

5 Die Editoren

5-1

 

 

 

 

 

 

 

 

5.1

Das gilt für alle Editoren... ......................................................................................

5-1

5.2

Der Deklarationseditor............................................................................................

5-2

5.2.1

Arbeiten im Deklarationseditor..........................................................................

5-2

 

5.2.2 Deklarationseditoren im Online Modus .............................................................

5-10

5.2.3

Pragma-Anweisungen im Deklarationseditor....................................................

5-11

5.3

Editoren der textuellen Programmiersprachen.......................................................

5-17

 

5.3.1 Arbeiten in den Texteditoren.............................................................................

5-17

5.3.2

Der Anweisungslisteneditor... ...........................................................................

5-20

 

5.3.3 Der Editor für Strukturierten Text......................................................................

5-22

5.4

Editoren der grafischen Programmiersprachen......................................................

5-22

 

5.4.1 Arbeiten in den grafischen Editoren..................................................................

5-22

5.4.2

Der Funktionsplaneditor....................................................................................

5-24

5.4.3

Der Kontaktplaneditor... ....................................................................................

5-30

5.4.4

Der Ablaufspracheneditor... ..............................................................................

5-36

 

5.4.5 Der freigraphische Funktionsplaneditor (CFC)... ..............................................

5-44

CoDeSys V2.3

i

Inhalt

6 Die Ressourcen

6-1

 

 

 

 

 

 

 

6.1

Übersicht Ressourcen ............................................................................................

6-1

 

6.2 Globale Variablen, Variablenkonfiguration, Dokumentvorlage ...............................

6-2

6.2.1

 

Globale Variablen..............................................................................................

6-3

6.2.2

 

Variablenkonfiguration... ...................................................................................

6-7

6.2.3

 

Dokumentvorlage ..............................................................................................

6-8

6.3

Alarmkonfiguration..................................................................................................

6-9

6.3.1

 

Überblick ...........................................................................................................

6-9

6.3.2

 

Alarmsystem, Begriffe .......................................................................................

6-10

6.3.3

 

Alarmklassen.....................................................................................................

6-11

6.3.4

 

Alarmgruppen....................................................................................................

6-14

6.3.5

 

Alarmspeicherung .............................................................................................

6-15

6.3.6

 

Menü Extras: Einstellungen ..............................................................................

6-17

6.4

Bibliotheksverwaltung.............................................................................................

6-17

6.5

Logbuch..................................................................................................................

6-19

6.6

Steuerungskonfiguration.........................................................................................

6-21

6.6.1

 

Überblick ...........................................................................................................

6-21

6.6.2

 

Arbeiten im CoDeSys Steuerungskonfigurator..................................................

6-22

6.6.3

 

Allgemeine Einstellungen in der Steuerungskonfiguration................................

6-24

6.6.4

 

Anwendungsspezifischer Parameterdialog .......................................................

6-25

6.6.5

 

Konfiguration eines I/O Moduls.........................................................................

6-26

6.6.6

 

Konfiguration eines Kanals ...............................................................................

6-28

6.6.7

 

Konfiguration von Profibus Modulen... ..............................................................

6-29

6.6.8

 

Konfiguration von CAN Modulen.......................................................................

6-37

6.6.9

 

Konfiguration eines CanDevice (CANopen Slave)............................................

6-42

6.6.10

Steuerungskonfiguration im Online Modus .......................................................

6-45

6.6.11

Hardware Scan/Status/Diagnose aus dem Zielsystem .....................................

6-45

6.7

Taskkonfiguration... ................................................................................................

6-46

6.7.1

 

Arbeiten im Taskkonfigurator ............................................................................

6-47

6.7.2

 

System-Ereignisse ............................................................................................

6-49

6.7.3

 

Taskkonfiguration im Online Modus..................................................................

6-50

6.8

Watchund Rezepturverwalter...............................................................................

6-52

6.8.1

 

Überblick ...........................................................................................................

6-52

6.8.2

 

Watchund Rezepturverwalter im Offline Modus..............................................

6-53

6.8.3

 

Watchund Rezepturverwalter im Online Modus..............................................

6-54

6.9

Traceaufzeichnung.................................................................................................

6-55

6.9.1

 

Überblick und Konfiguration ..............................................................................

6-55

6.9.2

 

Darstellung der Traceaufzeichnung ..................................................................

6-58

6.9.3

 

'Extras' 'Tracewerte speichern'..........................................................................

6-60

6.9.4

 

'Extras' 'Externe Tracekonfigurationen' .............................................................

6-61

6.10

 

Arbeitsbereich.....................................................................................................

6-62

6.11

 

Parameter Manager ...........................................................................................

6-62

6.11.1

Aktivieren des Parameter Managers.................................................................

6-63

6.11.2

Der Parameter Manager Editor, Overview ........................................................

6-63

6.11.3

Parameterlisten: Typen und Attribute................................................................

6-64

6.11.4

Parameterlisten verwalten.................................................................................

6-67

6.11.5

Parameterlisten editieren ..................................................................................

6-68

6.11.6

Parameter Manager im Online Modus ..............................................................

6-69

6.11.7

Export / Import von Parameterlisten..................................................................

6-70

6.12

 

Zielsystemeinstellungen .....................................................................................

6-71

6.13

 

PLC Browser.......................................................................................................

6-72

6.13.1

Allgemeines zur PLC-Browser- Bedienung.......................................................

6-72

6.13.2

Kommandoeingabe im PLC-Browser................................................................

6-73

6.13.3

Verwendung von Makros bei der Kommandoeingabe im PLC-Browser ...........

6-74

ii

CoDeSys V2.3

Inhalt

 

6.13.4

Weitere PLC-Browser-Optionen .......................................................................

6-75

 

6.14

Tools...................................................................................................................

6-75

 

6.14.1 Eigenschaften der bestehenden Verknüpfungen (Objekt Eigenschaften) ........

6-76

 

 

6.14.2

Verwalten von Verknüpfungen..........................................................................

6-79

 

6.14.3 Die wichtigsten Fragen zu Tools.......................................................................

6-80

7

ENI Versionsverwaltung

7-1

 

 

 

7.1.1

Was ist ENI .......................................................................................................

7-1

 

 

7.1.2 Voraussetzungen für das Arbeiten mit einer ENI Projektdatenbank.................

7-1

 

 

 

7.1.3 Arbeiten in CoDeSys mit der Projektdatenbank................................................

7-2

 

 

7.1.4 Kategorien innerhalb der Projektdatenbank......................................................

7-2

 

8

DDE Kommunikation

8-1

 

 

 

8.1 DDE Schnittstelle des CoDeSys Programmiersystems... ......................................

8-1

 

 

8.2 DDE Kommunikation über den GatewayDDE-Server... .........................................

8-2

 

9

Lizenzmanagement in CoDeSys

9-1

 

 

 

9.1 Der 3S Licensing Manager.....................................................................................

9-1

 

 

9.1.1 Erstellen einer lizenzpflichtigen Bibliothek........................................................

9-1

 

10 ANHANG

 

10-1

 

 

 

 

 

 

Anhang A

IEC Operatoren und zusätzliche normerweiternde Funktionen

10-1

 

 

10.1

Arithmetische Operatoren... ...............................................................................

10-1

 

10.2

Bitstring Operatoren... ........................................................................................

10-4

 

10.3

Bit-Shift Operatoren............................................................................................

10-6

 

10.4

Auswahloperatoren... .........................................................................................

10-9

 

10.5

Vergleichsoperatoren... ......................................................................................

10-11

 

10.6

Adressoperatoren...............................................................................................

10-13

 

10.7

Aufrufoperator... .................................................................................................

10-14

 

10.8

Typkonvertierungen............................................................................................

10-14

 

10.9

Numerische Operatoren... ..................................................................................

10-20

Anhang B

Operanden in CoDeSys

10-25

 

10.10

Konstanten... ......................................................................................................

10-25

 

10.11

Variablen... .........................................................................................................

10-27

 

10.12

Adressen... .........................................................................................................

10-30

 

10.13

Funktionen..........................................................................................................

10-31

Anhang C

Datentypen in CoDeSys

10-33

 

10.14

Standard Datentypen .........................................................................................

10-33

 

10.15

Definierte Datentypen.........................................................................................

10-35

Anhang D

CoDeSys Bibliotheken

10-41

 

10.16

Die Bibliothek Standard.lib .................................................................................

10-41

 

10.16.1

String Funktionen..............................................................................................

10-41

 

10.16.2

Bistabile Funktionsblöcke... ..............................................................................

10-44

 

10.16.3 Flankenerkennung... .........................................................................................

10-46

 

10.16.4 Zähler................................................................................................................

10-47

 

10.16.5 Timer.................................................................................................................

10-49

 

10.17

Die Bibliothek Util.lib...........................................................................................

10-52

 

10.17.1 BCD-Konvertierung...........................................................................................

10-52

CoDeSys V2.3

iii

 

 

 

Inhalt

 

 

 

 

 

10.17.2 Bit-/Byte-Funktionen..........................................................................................

10-53

10.17.3

Mathematische Hilfsfunktionen... ......................................................................

10-53

 

10.17.4 Regler................................................................................................................

10-55

 

10.17.5 Signalgeneratoren.............................................................................................

10-56

 

10.17.6 Funktionsmanipulatoren....................................................................................

10-58

 

10.17.7 Analogwertverarbeitung... .................................................................................

10-59

10.18

 

Die Bibliothek AnalyzationNew.lib ......................................................................

10-60

10.19

 

Die CoDeSys Systembibliotheken......................................................................

10-61

Anhang E

Übersicht: Operatoren und Bibliotheksbausteine

10-63

 

10.20

 

Operatoren in CoDeSys:.....................................................................................

10-63

10.21

 

Bibliotheksbausteine der Standard.lib: ...............................................................

10-66

10.22

 

Bibliotheksbausteine der Util.lib:.........................................................................

10-67

Anhang F

Kommandozeilen-/Kommandodatei-Befehle

10-69

 

 

10.23

 

Kommandozeilen-Befehle...................................................................................

10-69

10.24

 

Kommandodatei (Cmdfile)-Befehle.....................................................................

10-70

Anhang G

Siemens Import

10-77

 

 

10.25

 

SEQ-Symbolikdatei importieren..........................................................................

10-77

10.26

 

S5-Datei importieren...........................................................................................

10-78

10.27

 

Konvertierung S5 nach IEC 1131-3....................................................................

10-78

Anhang H

Dialoge der Zielsystemeinstellungen

10-83

 

10.28

 

Einstellungen in Kategorie Zielplattform .............................................................

10-84

10.28.1

Zielsystem Motorola 68K, Kategorie Zielplattform ............................................

10-85

10.28.2

Zielsystem Infineon C16x, Kategorie Zielplattform............................................

10-86

 

10.28.3 Zielsysteme Intel StrongARM und Power PC, Kategorie Zielplattform .............

10-87

 

 

10.28.4

Zielsystem MIPS III ISA, Kategorie Zielplattform ..............................................

10-88

10.28.5

Zielsystem Hitachi SH, Kategorie Zielplattform.................................................

10-89

10.28.6

Zielsystem 8051 compatible, Kategorie Zielplattform .......................................

10-90

10.29

 

Einstellungen in Kategorie Speicheraufteilung ...................................................

10-91

 

10.30

 

Einstellungen in Kategorie Allgemein .................................................................

10-93

10.31

 

Einstellungen in Kategorie Netzfunktionen.........................................................

10-95

10.32

 

Einstellungen in Kategorie Visualisierung...........................................................

10-96

Anhang I Tastaturbedienung

10-99

 

 

 

 

 

 

 

 

 

10.33

 

Tastaturbedienung..............................................................................................

10-99

10.34

 

Tastenkombinationen .........................................................................................

10-99

Anhang J

Übersetzungsfehler und -warnungen

10-103

10.35

 

Warnungen... ......................................................................................................

10-103

10.36

 

Übersetzungsfehler.............................................................................................

10-107

11 Index

 

I

 

 

 

 

 

 

 

 

iv

CoDeSys V2.3

1 - Kurzer Einblick in CoDeSys

1 Kurzer Einblick in CoDeSys

1.1 Was ist CoDeSys

CoDeSys steht für Controller Development System. Es ist eine Entwicklungsumgebung für Steuerungen.

CoDeSys ermöglicht dem SPS-Programmierer einen einfachen Einstieg in die mächtigen Sprachmittel der IEC. Die Benutzung der Editoren und der Debugging-Funktionen hat die ausgereiften Entwicklungsumgebungen höherer Programmiersprachen zum Vorbild (wie etwa Visual C++).

1.2 Überblick über die Funktionalität von CoDeSys...

Wie ist ein Projekt strukturiert?

Ein Projekt, das das Steuerungsprogramm umfaßt, wird in einer Datei abgelegt, die den Namen des Projekts trägt. Ein Projekt enthält verschiedene Arten von Objekten: Bausteine, DatentypenDefinitionen, Darstellungselemente (Visualisierung) und Ressourcen.

Der erste Baustein, der in einem neuen Projekt angelegt wird, trägt automatisch den Namen PLC_PRG. Dort startet die Ausführung (entsprechend der main-Funktion in einem C-Programm), und von hier aus können andere Bausteine aufgerufen werden (Programme, Funktionsblöcke und Funktionen).

Wenn Sie eine Taskkonfiguration (Ressourcen) definiert haben, muss kein Programm mit Namen PLC_PRG angelegt werden. Näheres hierzu finden Sie im Kapitel 6.7,Taskkonfiguration.

Im Object Organizer finden Sie alle Objekte Ihres Projekts aufgelistet.

Wie erstelle ich mein Projekt?

Zunächst müssen die Zielsystemeinstellungen für Ihre Steuerung eingestellt und gegebenenfalls angepaßt werden.

Dann sollten Sie Ihre Steuerung konfigurieren, um die im Projekt ver wendeten Einund Ausgangsadressen auf Korrektheit überprüfen zu können.

Anschließend können Sie die notwendigen Bausteine an legen und in den gewünschten Sprachen programmieren.

Nach Abschluß der Programmierung können Sie das Projekt übersetzen, und eventuell angezeigte Fehler beseitigen.

Wie kann ich mein Projekt testen?

Sind alle Fehler beseitigt, aktivieren Sie die Simulation, loggen sich in der simulierten Steuerung ein und 'laden' Ihr Projekt in die Steuerung. Sie befinden sich nun im Onlinebetrieb.

Sie können nun das Fenster mit Ihrer Steuerungskonfiguration öffnen und Ihr Projekt auf korrekten Ablauf testen. Belegen Sie hierzu manuell die Eingänge, und beobachten Sie, ob die Ausgänge wie gewünscht gesetzt werden. Desweiteren können Sie in den Bausteinen den Werteverlauf der lokalen Variablen beobachten. Im Watchund Rezepturverwalter können Sie die Datensätze konfigurieren, deren Werte Sie betrachten wollen.

Debugging

Im Falle eines Programmierfehlers können Sie Breakpoints (Haltepunkte) setzen. Stoppt die Ausführung in einem solchen Breakpoint, so können Sie die Werte sämtlicher Projektvariablen zu diesem Zeitpunkt einsehen. Durch schritt weises Abarbeiten (Einzelschritt), können Sie die logische Korrektheit Ihres Programms überprüfen.

CoDeSys V2.3

1-1

Überblick über die Funktionalität von CoDeSys...

Weitere Online-Funktionalitäten

Weitere Debugging-Funktionen:

Sie können Programmvariablen und Ein/Ausgänge auf bestimmte Werte setzen.

Mit der Ablaufkontrolle können Sie überprüfen, welche Programmzeilen durchlaufen wurden.

Ein Logbuch zeichnet Vorgänge bzw. Benutzeraktionen und interne Vorgänge während der OnlineSessions chronologisch auf.

Die Traceaufzeichnung bietet Ihnen die Möglichkeit, den Verlauf von Variablen zyklusecht über einen längeren Zeitraum aufzuzeichnen und darzustellen. Diese Funktion muss in den Zielsystemeinstellungen aktiviert sein.

Ebenso abhängig von den Zielsystemeinstellungen steht optional ein PLC-Browser zur Abfrage bestimmter Informationen aus der Steuerung zur Verfügung.

Ist das Projekt erstellt und getestet, so kann es in die Hardware geladen und auch hier getestet werden. Es stehen Ihnen die gleichen Onlinefunktionen wie bei der Simulation zur Verfügung.

Weitere Möglichkeiten von CoDeSys

Das gesamte Projekt kann jederzeit dokumentiert werden, in eine Textdatei exportiert und in eine andere Sprache übersetzt werden.

Zur Kommunikation verfügt CoDeSys über eine Symboleine DDEsowie eine COM-Schnittstelle. Ein Gateway-Server plus OPC-Server und DDE-Server sind Bestandteil der CoDeSysStandardinstallation.

Das Verwenden des entsprechenden Satzes von Zielsystemeinstellungen, die über eine Target Datei (Target Support Package) geladen werden, ermöglicht es, dasselbe CoDeSys Projekt auf verschiedenen Zielsystemen anzuwenden.

Netzwerkglobale Variablen und ein Parameter Manager (Objektverzeichnis) können optional (abhängig von den Zielsystemeinstellungen) für den Datenaustausch in einem Netzwerk mit anderen Steuerungen genützt werden.

ENI: Die Schnittstelle 'Engineering Interface' kann benützt werden, um über den eigenständigen ENI Server auf eine externe Datenbank zuzugreifen, in der CoDeSys Bausteine bzw. Übersetzungsdateien verwaltet werden. Diese stehen damit auch anderen Clients des ENI Servers zur Verfügung, was z.B. einen Multi-User-Betrieb bei der Erstellung von CoDeSys Projekten, einen gemeinsamen Datenpool für verschiedene Tools neben CoDeSys, sowie eine Versionsverwaltung erlaubt.

Tools: Der Tool-Mechanismus dient dazu, zielsystemspezifische Exe-Dateien in CoDeSys einzubinden. Außerdem können Dateien festgelegt werden, die auf die Steuerung geladen werden sollen. Man kann Tool-Verknüpfungen für ein Zielsystem in der Target-Datei vordefinieren oder auch im Projekt individuell im Ressourcen-Baum einfügen. Die Verfügbarkeit der Tools-Funktion ist zielsystemabhängig.

Eine CoDeSys Visualisierung kann mit CoDeSys HMI als pure Bedienoberfläche eingesetzt werden oder zielsystemabhängig als Web-Visualisierung und/oder Target-Visualisierung aufbereitet werden. Letztere ermöglichen ein Aufrufen der die Daten der laufenden Steuerung anzeigenden Visualisierung über das Internet bzw. direkt auf einem Monitor am Steuerungsrechner. Sehen Sie zur CoDeSys Visualisierung das separate Benutzerhandbuch.

Bibliotheken, die in CoDeSys erstellt werden, können mit Lizenzinformation versehen werden, die ihre Verwendung lizenzabhängig macht.

1-2

CoDeSys V2.3

1 - Kurzer Einblick in CoDeSys

1.3 Übersicht der Anwender-Dokumentation zu CoDeSys

Modul

Inhalt der Doku

 

 

 

Name der Datei

 

 

 

 

 

CoDeSys

vorliegendes Handbuch

sowie

Online

CoDeSys_V23_D.pdf

Programmiersystem

Hilfe

über

Hilfe-Menü

des

 

 

Programmiersystems

 

 

Erste Schritte mit CoDeSys

 

 

 

 

 

 

 

Erste Schritte mit dem CoDeSys

V23.pdf

 

Programmiersystem

 

 

 

 

 

 

 

 

 

Gateway Server

Konzept,

Installation

und

User

Gateway Manual.pdf

 

Interface; sowie Online Hilfe zum User

 

 

Interface über Gateway Menü, das

 

 

durch Mausklick auf Gateway-Symbol

 

 

in der Systemleiste geöffnet wird

 

 

 

(nur in Englisch verfügbar)

 

 

 

 

 

OPC Server

OPC-Server V2.0, Installation und

OPC_20_How_to_use_D.pdf

 

Benutzung

 

 

 

 

 

 

 

CoDeSys

Handbuch zur CoDeSys Visualisierung

CoDeSys_Visu_D.pdf

Visualisierung

incl. CoDeSys HMI, Targetund Web-

 

 

Visualisierung

 

 

 

 

 

 

 

 

SoftMotion

Handbuch zur

Bedienung, partielle

SoftMotion_Handbuch_V23_D.pdf

 

Beschreibung

der

SoftMotion-

 

 

Bibliotheken

 

 

 

 

 

 

 

Bibliotheken

Standard.lib und Util.lib sind im

<SysLib-Name>.pdf

 

vorliegenden Handbuch beschrieben.

CoDeSys_V23_D.pdf

 

Für die

CoDeSys Systembibliotheken

 

 

 

gibt es je ein separates Dokument das

 

 

den Namen der Bibliothek trägt.

 

 

 

(SoftMotion-Bibliotheken:

 

siehe

 

 

SoftMotion-Dokumenation.)

 

 

 

 

 

ENI Server

Installation und Konfiguration des ENI

EniServerQuickstart_D.pdf

 

Servers im Hinblick auf die Verwaltung

CoDeSys_V23_D.pdf

 

eines CoDeSys-Projekts in einer

 

externen Datenbank.

 

 

 

 

Zur Konfiguration in CoDeSys siehe

 

 

vorliegendes Handbuch.

 

 

 

 

Zu ENI Admin, ENI Control und ENI

 

 

Explorer siehe jeweilige Online Hilfe.

 

 

 

 

 

 

 

 

CoDeSys V2.3

1-3

Übersicht der Anwender-Dokumentation zu CoDeSys

1-4

CoDeSys V2.3

Соседние файлы в папке 759-333