Access Control (RSbySCHAEFER-2009): Unterschied zwischen den Versionen

Aus CANopen-Lift
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 192: Zeile 192:
des Index die Nummer des Lesertyps.<br />  
des Index die Nummer des Lesertyps.<br />  
Hierbei wären die Objekte z.Bsp.<br />
Hierbei wären die Objekte z.Bsp.<br />
3001h,<br />
 
3002h,<br />
{|border="1" cellspacing="1" cellpadding="0" width="50%"
3003h,<br />
|align = "left"|Index
<br />
|align = "left"|3000h
3021h,<br />
 
<br />
|-
30FFh,<br />
|align = "left"|Name
|align = "left"|Objekt '''reserviert'''
 
|-
|align = "left"|Objekt Code
|align = "left"|Array
|-
|align = "left"|Data Type of entry
|align = "left"|Domain
|-
|align = "left"|Category
|align = "left"|Optional
|}
 
 
{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Index
|align = "left"|3021h
 
|-
|align = "left"|Name
|align = "left"|Objekt '''Card Tag RFID'''
 
|-
|align = "left"|Objekt Code
|align = "left"|Array
|-
|align = "left"|Data Type
|align = "left"|Undsigned 40
|-
|align = "left"|Category
|align = "left"|Optional
|}
 
 
{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Index
|align = "left"|3041h
 
|-
|align = "left"|Name
|align = "left"|Objekt '''Card Tag Tastatur'''
 
|-
|align = "left"|Objekt Code
|align = "left"|Array
|-
|align = "left"|Data Type of entry
|align = "left"|n.d.
|-
|align = "left"|Category
|align = "left"|Optional
|}
 
 
{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Index
|align = "left"|30FFh
 
|-
|align = "left"|Name
|align = "left"|Objekt '''reserviert'''
 
|-
|align = "left"|Objekt Code
|align = "left"|Array
|-
|align = "left"|Data Type of entry
|align = "left"|n.d.
|-
|align = "left"|Category
|align = "left"|Optional
|}
 
erforderlich.<br />
erforderlich.<br />



Version vom 20. Oktober 2008, 15:04 Uhr

Integration der Zutrittskontrolle in die CiA-417

Auch als PDF: Access Control


Ein Vorgang der Zutrittskontrolle besteht aus 3 bzw. 4 Schritten:


  1. Lesegerät sendet Upload Request (PDO)
  2. Auswerteeinheit liest eigentliche Zugangsdaten vom Lesegerät aus (SDO)
  3. Optional: Auswerteeinheit schaltet im Lesegerät entsprechende Inputs frei (SDO)
  4. Auswerteeinheit sendet Upload Acknowledgement (PDO)


1. Upload Request Telegramm

Lesegerät erkennt Karte und sendet:

Byte 0 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
Basic function Sub function Lift Panel Door Data
0x0F Type of Reader Value of Lift Value of Panel Value of Door Value of Data


In der Subfunktion steht entweder der Wert des Lesertyps oder der entsprechenden Wert des niederwertigerem Byte des Objektes „Card Tag ID“ aus dem die Auswerteeinheit die Zugangsdaten auslesen kann.



Wertedefinition von Data (Byte 5)

Value (Bit 0) of Data Description
0 Karte nicht mehr im Lesebereich oder Upload Timeout
1 Lesegerät hat gültige Daten von der Karte gelesen


Zu diesem Zeitpunkt liegen im Objekt "Card Tag ID" die Daten in vordefinierbaren Kodierungen bereit.


Type:
Bit7
Bit5
Bit4
Bit0
Basic Type
Sub Type


Definition des Basic Type:

Value Description
000b reserved
001b RFID
010b Tastatur
011b Fingerabdruck
100b Stimmerkennung
101b Magnet-Karte
... reserved



Wenn Basic Type = 001b (RFID)

Sub Type:

Value Description
0x00 Keine/ unbekannte Karte
0x01 EM4001/4002/4101
0x02 EM V4050
... Fingerabdruck



2. Objekte für die Zugangsdaten

Vorschlag 1 Ein Objekt "Card Tag ID" für alle Lesertypen

Für die Daten (Zugangscode) wird für alle Lesertypen nur ein Objekt bereitgestellt.
D.h. Die aktuell gültigen Zugangsdaten können immer aus dem gleichen Objekt ausgelesen werden, unabhängig vom Lesertyp. Die Objekteinträge sind babei mit variabler Größe definiert. Zusätzlich kann den Daten noch ein weiterer Parameter vorangestellt werden, der z.Bsp. den Lestertyp identifiziert. Eine Verifizierung aus dem "Access Control Upload Request" und dem Objekt "Card Tag ID" Daten (Zugangscode) kann hierbei noch vorgenommen werden.
Wenn die Daten (Zugangscode) im Subindes 01h hinterlegt werden, ist es möglich in den weiteren Subindizes noch weitere Information zu hinterlegen.

Index 3000h
Name Objekt Card Tag ID
Objekt Code Array
Data Type of entry Domain
Category Optional


Wenn Type = 0x21 (Basic: 001 + Sub: 00001 = 00100001b = 0x21)

Die Länge der Daten wird beim Dowload Request vom Server festgelegt. Beim Leser Type 21h sind dies bei einer Kodierung in Hexdump eine Objektlänge von 6 Byte (1 Byte Leser Typ und 5 Byte Nutzdatenlänge).


Vorschlag 2 Ein Objekt für jeden Lesertyp

Für die Daten (Zugangscode) wird für jeden Lesertyp ein Objekt bereitgestellt.
D.h. Es ist erforderlich, bei 255 definierbaren Lesertypen auch 255 Objekte für Daten (Zugangscode) zu definieren. Die Objekte enthalten dann im niederwertigen Bytes des Index die Nummer des Lesertyps.
Hierbei wären die Objekte z.Bsp.

Index 3000h
Name Objekt reserviert
Objekt Code Array
Data Type of entry Domain
Category Optional


Index 3021h
Name Objekt Card Tag RFID
Objekt Code Array
Data Type Undsigned 40
Category Optional


Index 3041h
Name Objekt Card Tag Tastatur
Objekt Code Array
Data Type of entry n.d.
Category Optional


Index 30FFh
Name Objekt reserviert
Objekt Code Array
Data Type of entry n.d.
Category Optional

erforderlich.

Die Auswerteeinheit kann mit dem Wert aus dem Subfunction des "Access Control Upload Request" das betreffende Objekt ermitteln und die Daten (Zugangscode) per SDO Zugriff auslesen.



2.1 Weitere Objekte


Objekt Beschreibung


Index xx00
Name Typen Organisation
Object Code Array
Data Type Unsigned8
Category Mandatory

Eintrag Beschreibung


Sub-Index 00
Beschreibung Anzahl
Wertebereich 4 bis 255
Voreinstellwert Nein


Sub-Index 01
Beschreibung Upload Timeout
Sub-Index 02
Beschreibung Current detected Type
Sub-Index 03
Beschreibung Scan Types
Sub-Index 04
Beschreibung Supportet Types

bis


Sub-Index 255
Beschreibung Supportet Types

3. Inputs frei schalten


Es sollte eine differenzierte Zugangskontrolle möglich sein. Nicht alle User dürfen, z.B. in der Kabine, in alle Etagen fahren. Hierzu zwei Möglichkeiten:


3.1 Zusätzliches Bit: release


Im Objekt Input Parameter 1 (6120h – 613F) wird ein zusätzliches Bit definiert. Hier kann die Auswerteeinheit eintragen, ob der virtuelle Input freigeschaltet wird oder nicht.

Nachteil: Die Auswerteeinheit muss alle release Bits einzeln setzen bzw. löschen.


Byte0
Bit7 Bit2
Bit1
Bit0
reserved
release
enable

3.2 Neues Objekt: Input release


Ein Subindex (32 Bit) beschreibt die release Bits von 32 virtuellen Inputs. Vorteil: 32 Inputs können mit einem SDO freigeschaltet werden.


Objekt Beschreibung


Index xxxx
Name Input release
Object Code Array
Data Type Unsigned 32
Category Optional

Eintrag Beschreibung


Sub-Index 00
Beschreibung Anzahl der Sub indezes
Wertebereich 1 - 8
Voreinstellwert Nein


Sub-Index 1
Beschreibung Release Bits der virtuellen Inputs 1 - 32

bis


Sub-Index 8
Beschreibung Release Bits der virtuellen Inputs 225 - 256

4. Upload Acknowledgement


4.1 Auswerteeinheit sendet positive Bestätigung


Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Basic Fct
Sub Fct
Lift
Floor
Door
Data
0x0F
reserved
Lift
Floor
Door
Bit7 = 1

Hiermit werden die enable Bits freigegeben und damit die entsprechenden Inputs freigeschaltet. Nach Ablauf einer definierten Zeit (s. Objekt: ReleaseTime) werden die enable Bits wieder gesperrt.


4.2 Auswerteeinheit sendet negative Bestätigung


Byte 0
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Basic Fct
Sub Fct
Lift
Floor
Door
Data
0x0F
Error Code
Lift
Floor
Door
Bit7 = 0

Mit dem Data Byte hat die Auswerteeinheit zusätzlich die Möglichkeit die Lesgeräte ein- oder auszuschalten.


Value (Bit 0)
Description
0
Leser Aus
1
Leser Ein

4.3 Weitere benötigte Objekte


Index xxxx
Name Release Time
Object Code Var
Data Type Unsigned 8
Category Optional