Die Deklarationstabelle



Ähnliche Dokumente
Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL B4 Datenbausteine

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL B5

Daten senden und empfangen an eine nicht parametrierte CPU. Datenkommunikation. Inhaltsübersicht

Ausbildungsunterlage für die durchgängige Automatisierungslösung Totally Integrated Automation (T I A) MODUL B4 Datenbausteine

Abschlusstest SPS Basis Kurs

Technische Fachhochschule Berlin Fachbereich VIII

5 Beispiel 2 Wasseraufbereitung

MOBILHYDRAULISCHE SYSTEME PROF. BERND JOHANNING, JENS MEYER. Einführung in die Programmierung des Controllers CR7032 mit Hilfe von CoDeSys V2.

8. Einsatz von Funktionen

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Deckblatt. S7-Kommunikation mit S FB14 GET und FB15 PUT. FAQ April Service & Support. Answers for industry.

BIP-MANAGER V4. zum Datenmanagement der Netzüberwachungsbausteine. UBN/UPM/MFT, Zähler BZi40 PK1, MDVH und anderen Modbus Geräten

Service & Support. Übertragung von Daten mit variabler Telegrammlänge über das TCP- Protokoll mit S FB103 AG_RECV_TCP_xVAR.

BATT Auslesen des Batteriestatus CLOCK Setzen/Auslesen des Uhren- und Datumwertes... 4

Service & Support. S7-Programm zur Erkennung von Änderungen in Anwenderprogramm und Hardware-Projektierung SIMATIC S7-300/400 CPU.

Beschreibung der Funktionsbausteine zur Modemkopplung über CP 340 / 341

Arbeiten mit der Software STEP 7 und den Laborarbeitsplätzen SIMATIC S7-313C

STEP 7-Crashkurs. Einführung in die STEP 7-Programmiersprache. Dipl.-Ing. (FH) Matthias Habermann Dipl.-Ing. (FH) Torsten Weiß

5. Programmierung SPS - FC, FB und DB

Automatisierungstechnik nach internationaler Norm programmieren (3) Folge 3: Einführung in die Handhabung von POE s und Bibliotheken

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

LCD-Verwaltungssoftware LCD-VSW

Inhaltsverzeichnis. Inhaltsverzeichnis 1.1

Deckblatt. S7-Kommunikation mit S PUT und GET. FAQ November Service & Support. Answers for industry.

FAQ 02/2017. Offene Benutzerkommunikation. TSEND_C und TRCV_C SIMATIC S CPU.

Vorkurs Informatik WiSe 16/17

SPS-Aufbaukurs mit SIMATIC S7

SPS-FACHKRAFT Aufbaukurs I

Testfragen erstellen. Lernplattform Testfragen erstellen

Programmierkurs C++ Variablen und Datentypen

Projekt 3 Variablen und Operatoren

Inca_01.lib. WAGO-I/O-PRO CAA Bibliothek

Service & Support. Diagnosedaten eines DP-Slaves mit der SIMATIC S lesen. SIMATIC S und ET 200S. FAQ November Answers for industry.

1. Erläutern Sie die Aufgaben von Datentypen in der imperativen Programmierung.

Grundlagen der OO- Programmierung in C#

Konfigurationsfehler eines ASi-Slaves

Vorkurs Informatik WiSe 17/18

Bedienmodule OM 2032 und OM 2008

zusammengestellt von DI Michael Steiner

Informatik Vorkurs - Vorlesung 2

Objektorientierte Programmierung OOP Programmieren mit Java

FIFO. Inhalt / Contents. Standard Software for Simatic S7. Standard-Software für Simatic S7. A. Beschreibung (deutsch)

Link-Status der PROFINETSchnittstelle auslesen

RTC_640_01.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek

Java I Vorlesung Imperatives Programmieren

WS2017/ Oktober 2017

GI Vektoren

SPS-Beispiele mit SIMATIC S7

Inhaltsverzeichnis. TIA-Portal kompakt mit SIMATIC S KAFTAN-media

Grundlagen der Programmierung

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Die Excel-Datei kann beliebig viele Arbeitsblätter beinhalten. Jedoch gibt es Namen für Arbeitsblätter, die speziell für S7ToExcel reserviert sind:

Modbus Kopplung Simatic 1200

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

WS2018/ Oktober 2018

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Modbus Kopplung Simatic S7 PN

Variablen, Konstanten und Datentypen

S7-Hantierungsbausteine für R355, R6000 und R2700

Programmhandbuch Ergänzung. Kommunikation zwischen Multicode Reader O2I1xx und Siemens Simatic S / / 2009

Am Anfang werden die Attribute deklariert public class Kreis {

1. Wie verhält sich das AG wenn im OB 1 ein Baustein aufgerufen wird und dieser im AG nicht vorhanden ist?

Tool zur Steuerung & Regelung

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Was ist neu in SIMATIC imap V2.0 SP1?

Modbus Kopplung Simatic S7 TIA

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

SMS_01.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek

WagoLib_IPT_FP_01.lib

SPS-Aufbaukurs mit SIMATIC S7

Standard.lib. Inhalt. WAGO-I/O-PRO 32 Bibliothek


2.1 Fundamentale Typen

Einstieg in die Informatik mit Java

MODBUS-TCP mit den Anweisungen MB_CLIENT und MB_SERVER

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Bearbeiten von Zeichenketten in S7-SCL

Software-Beschreibung Elektronische Identifikations-Systeme BIS Softwarekopplung PROFIBUS DP mit BIS C-60_2-...an S7

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

S7-Kommunikation zwischen SIMATIC S und SIMATIC S STEP 7 V13 (TIA Portal) / STEP 7 V5.5 SP3 FAQ 05/2014

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Hello World! Eine Einführung in das Programmieren Variablen

5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!

8. Referenzen und Zeiger

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Schnittstellen. Mehr Informationen zum Titel. 4.1 Die Peripherie

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Unified-E Modbus Adapter

IPC_Serial_Interface_01.lib

7. Arithmetische Operatoren und Befehle zur Programmorganisation

Transkript:

Die Deklarationstabelle Struktur des Programms Wir wollen in diesem Programm nur zwei Bausteine verwenden und zwar einen Funktionsbaustein FB1 und eine Funktion FC1. Der FB1 braucht noch einen Datenbaustein DB1. Natürlich muss der Organisationsbaustein OB1 erstellt werden. Bei der Programmierung in der inkrementellen* Eingabe wird die Variablendeklaration der Codebausteine in Form einer Tabelle dargestellt. Die Variablen sind nur in diesem Baustein gültig, darum nennt man sie (baustein-) lokale Variablen, d.h. der gleiche Variablenname kann in einem anderen Baustein in anderer Bedeutung verwendet werden. Variablendeklarationstabelle Adresse Deklaration Name Typ Anfangswert Kommentar FC: in out in_out stat temp Nur im Funktionsbaustein vorhanden FB: Ronald Kleißler Seite 1 31.05.2015

Variablen- Beschreibung Variable in out in-out stat temp Beschreibung Eingangsparameter, dessen Wert vom Baustein, der den Codebaustein aufruft, bereitgestellt wird Parameter, dessen Wert vom Baustein, der den Codebaustein aufruft, ausgegeben wird Ausgangsparameter, dessen Wert vom aufrufenden Baustein bereitgestellt, vom aufgerufenen Baustein verändert und an den aufrufenden Baustein als Codebaustein zurückgegeben wird Statische Variable, die in einem Instanz-DB gespeichert wird Temporäre Variable, die in einem L-Stack gespeichert wird. Der Wert wird nach der Bearbeitung des Bausteins nicht gespeichert In STEP7 ist die Deklaration von der Bausteinart abhängig Deklarationstyp Syntax in Tabelle OB FB FC Eingang in Unzul. Ja Ja Ausgang out Unzul. Ja Ja Durchgang in_out Unzul. Ja Ja Statisch stat Unzul. Ja Unzul. Temporär temp Ja Ja Ja Unzul. = Unzulässig Variablen, die in einem Programm verwendet werden, muss ein Datentyp zugeordnet werden. Es sind folgende elementare Datentypen zugelassen: Datentyp Bitgröße Beschreibung BOOL 1 Bit-Werte wahr oder falsch BYTE 8 Byte-Wert 0 bis 255 WORD 16 Wort- Wert 0 bis 65535 DWORD 32 Doppelwort-Werte 0 bis (2 32 1) CHAR 8 ASCII-Code INT 16 Ganzzahl (16 Bit) von -32768 bis +32767 DINT 32 Ganzzahl (32 Bit) von 2 31 bis (2 31 1) REAL 32 IEEE-Gleitpunktzahl TIME 32 IEC-Zeit in Intervallen von 1 ms DATE 32 IEC-Datum in Intervallen von 1 Tag TIME_OF_DAY 32 Zeit in 1ms-Raster: Std. (0-23), Min. (0-59), TOD Sekunde (0-59), ms (0-999) S5TIME 32 Voreingestellte Zeitwert für Zeiten Bereich:0H_0M_0S_0MS bis 2H_46M_30S_0MS Ronald Kleißler Seite 2 31.05.2015

Neben den elementaren Datentypen sind zusammengesetzte Datentypen erlaubt: Datentyp Beschreibung DATE_AND_TIME Der Bereich wird mit 8 Bytes definiert. In binärcodiertem DT Dezimalformat wird Datum und Zeit dargestellt: Jahr in Byte 0, Monat in Byte 1, Tag in Byte 2, Stunde in Byte 3, Minuten in Byte 4, Sekunden in Byte 5, Milisekunden in Byte 6 und der Hälfte von Byte 7, Wochentag in der anderen Hälfte von Byte 7 STRING Definiert eine Sequenz von bis zu 254 Zeichen (Datentyp CHAR) ARRAY Dient der Gruppierung eines Datentyps; z.b. ARRAY[1..3,1..2] OF INT bedeutet ein Feld im Forma 3x2 aus Ganzzahlen STRUCT Dient der Gruppierung von beliebig kombinierten Datentypen Es gibt eine definierte Schreibweise für die Werte der einzelnen Datentypen. Schreibweise von Zeitwerten Schreibweise Datentyp Beispiel T#, Time# TIME T#1D_2H_10M23S0MS D#, Date# DATE D#1997-3-20 TOD#, Time-of_day# TIME_OF-DAY TOD#13:23:32.444 S5T#, S5Time# S5TIME S5T#12M_22S_100MS DT#, Date_and_time# DATE_AND_TIME DT#1997-3-20-17:11:3.433 Schreibweise von numerischen Werten Schreibweise Datentyp Beispiel 2# WORD, 2#0001_0110_1100_0011 -Binär 16 Bit DWORD 2#0001_0110_1100_0011_1111_0101_0011_1111 - Binär 32 Bits True/False BOOL TRUE bzw. FALSE B#(...), Byte#(...) WORD, B#(10,20) - 16 Bits DWORD B#(1,15,100,112) - 32 Bits B#16#, Byte#16# BYTE B#16#2A : 8 Bits Hexadezimal W#16#, Word#16# WORD W#16#AA11 :16 Bits Hexadezimal DW#16#, Dword#16# DWORD DW#16#08A1_AA11 :32 Bits Hexadezimal Ganzzahl INT 615 L# DINT L#44520 Realzahl REAL 1.23e+13 c# WORD c#500 Ronald Kleißler Seite 3 31.05.2015

Der Organisationsbaustein OB1 Das Betriebssystem der S7 CPU bearbeitet den OB1 zyklisch. Ist die Bearbeitung von OB1 beendet, beginnt das Betriebssystem erneut, den OB1 zu bearbeiten. Die zyklische Bearbeitung des OB1 wird nach Beendigung des Anlaufs begonnen. Sie können in OB1 Funktionsbausteine (FBs) oder Funktionen (FCs, SFCs) aufrufen. Beim Anlegen eines neuen Organisationsbausteins wird die Deklarationstabelle mit den Lokaldaten vorbelegt, die für den jeweiligen Organisationsbaustein vorgesehen sind. Diese 20 Bytes beinhalten eine vom Betriebssystem zur Verfügung gestellte, systemeinheitliche Startinformation. Diese Information beinhaltet sowohl Einstellungen für das Verhalten der Organsiationsbausteine, als auch Informationen wie z.b. Prioritätsklasse, Nummer des OBs, Kennungen für verursachende Ereignisse usw. Diese Informationen werden zur Laufzeit des OBs eingetragen und können z.b. zu Diagnosezwecken ausgelesen werden. Deklarationstabelle des OB1 Adresse Deklaration Name Typ Anfangswert Kommentar 0.0 temp OB1_EV_CLASS BYTE Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1) 1.0 temp OB1_SCAN_1 BYTE 1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1) 2.0 temp OB1_PRIORITY BYTE 1 (Priority of 1 is lowest) 3.0 temp OB1_OB_NUMBR BYTE 1 (Organization block 1, OB1) 4.0 temp OB1_RESERVED_ 1 5.0 temp OB1_RESERVED_ 2 6.0 temp OB1_PREV_CYCL E BYTE BYTE INT Reserved for system Reserved for system Cycle time of previous OB1 scan (milliseconds) 8.0 temp OB1_NIM_CYCLE INT Minimum cycle time of OB1 (milliseconds) 10.0 temp OB1_MAX_CYCLE INT Maximum cycle time of OB1 (milliseconds) 12.0 temp OB1_DATE_TIME DATE_AND_TIME Date and time OB1 started Ronald Kleißler Seite 4 31.05.2015

Die Variablentabelle (VAT) Variablen beobachten oder steuern Das Programm ist jetzt fertig. Leider hat der Fehlerteufel zugeschlagen. Um den Fehler besser einzugrenzen, sollen ausgewählte Variablen mit definiertem Trigger beobachtet werden. Bevor Sie Variablen beobachten oder steuern können, müssen Sie eine Variablentabelle (VAT) erstellen und die gewünschten Variablen eintragen. Sie können diese Variablentabelle abspeichern, so daß sie beim erneuten Test Ihres Programms wieder zum Beobachten und Steuern verwendet werden kann. Gehen Sie folgendermaßen vor: 1. Erzeugen Sie eine neue Variablentabelle, indem Sie den Menübefehl Menübefehl Einfügen > S7-Baustein > Variablentabelle wählen. 2. Bestimmen Sie die Variablen, deren Werte Sie vorgeben oder beobachten wollen und tragen Sie diese in die Variablentabelle ein. Gehen Sie dabei von "außen" nach "innen" vor, d.h. wählen Sie zuerst die Eingänge und danach die Variablen, die von den Eingängen beeinflusst werden bzw. die die Ausgänge beeinflussen und zum Schluss die Ausgänge. Wenn Sie z.b. das Eingangsbit 4.2, das Eingangsbit 4.3 und das Ausgangsbit 8.1 beobachten möchten, geben Sie in der Operandenspalte folgendes ein: SIMATIC S7_Kurs\S7-Programm(1)\AP-off\VAT1 Operand Symbol Statusformat Statuswert Steuerwert E 4.2 Vollmeldung 2 BOOL false E 4.3 Leermeldung 2 BOOL true A 8.1 Einlass-Ventil 2 BOOL false 3. Speichern Sie die Variablentabelle mit dem Menübefehl Tabelle > Speichern. Haben Sie mit der unbenannten Variablentabelle gearbeitet, müssen Sie nun eine Nummer für die Variablentabelle angeben, z.b. VAT1. 4. Stellen Sie über den Menübefehl Zielsystem > Verbindung herstellen zu eine Verbindung zur gewünschten CPU her, damit Sie die Variablen der aktiven Variablentabelle beobachten können. 5. Definieren Sie für das Beobachten der Variablen Triggerpunkt und Triggerbedingung über den Menübefehl Variable > Trigger. 6. Starten Sie das Beobachten mit dem Menübefehl Variable > Beobachten. Mit einem Haken wird gekennzeichnet, dass das Beobachten gestartet worden ist. 7. Beenden können Sie das Beobachten durch wiederholtes Anwählen des Menübefehls Variable > Beobachten. Wollen Sie einen neuen Trigger definieren, beginnen Sie bei Schritt 5. Ronald Kleißler Seite 5 31.05.2015