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

Aus CANopen-Lift
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
K (Hba verschob Seite Access Control nach Access Control (RSbySCHAEFER-2009): Es gibt einen neuen Vorschlag.)
 
(12 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
==Integration der Zutrittskontrolle in die CiA-417==
==Integration der Zutrittskontrolle in die CiA-417==


Auch als PDF:
Beitrag von RSbySCHÄFER
[[media:Access Control.pdf|Access Control]]
 


Ein Vorgang der Zutrittskontrolle besteht aus 3 bzw. 4 Schritten:
Ein Vorgang der Zutrittskontrolle besteht aus 3 bzw. 4 Schritten:
Zeile 12: Zeile 10:
# Optional: Auswerteeinheit schaltet im Lesegerät entsprechende Inputs frei (SDO)
# Optional: Auswerteeinheit schaltet im Lesegerät entsprechende Inputs frei (SDO)
# Auswerteeinheit sendet Upload Acknowledgement (PDO)
# Auswerteeinheit sendet Upload Acknowledgement (PDO)
# Sonstige Funktionen (PDO)
<br />
<br />
'''1. Upload Request Telegramm'''
'''1. Upload Request Telegramm'''
Zeile 155: Zeile 154:
Lestertyp identifiziert.
Lestertyp identifiziert.
Eine Verifizierung aus dem "Access Control Upload Request" und dem Objekt "Card Tag ID" Daten (Zugangscode) kann hierbei noch vorgenommen werden.<br />
Eine Verifizierung aus dem "Access Control Upload Request" und dem Objekt "Card Tag ID" Daten (Zugangscode) kann hierbei noch vorgenommen werden.<br />
Wenn die Daten (Zugangscode) im Subindes 01h hinterlegt werden, ist es möglich in den weiteren  
Wenn die Daten (Zugangscode) im Subindex 01h hinterlegt werden, ist es möglich in den weiteren  
Subindizes noch weitere Information zu hinterlegen.
Subindizes noch weitere Information zu hinterlegen.
<br />
<br />
Zeile 314: Zeile 313:


'''3. Inputs frei schalten'''
'''3. Inputs frei schalten'''
<br />


Es sollte eine differenzierte Zugangskontrolle möglich sein. Nicht alle User dürfen, z.B. in der Kabine, in alle Etagen fahren. Es besteht die Möglichkeit alle die der Freischaltung zugelassenen Virtuellen Eingänge mittel einem schreibenden SDO Zugriffs auf das Objekt „Input release control (XX00h – XX1Fh)“ für eine definierbare Zeit frei zuschalten. Diese Freischaltung erfolgt über eine Bitmaske bis max. 32 Virtuelle Eingänge. Sind mehr als 32 Virtuelle Eingänge vorhanden, so sind mehre Einträge in diesem Objekt vorzunehmen.
Der Zugriff auf diese Objekt ist nur einmal pro Übertragungsvorgang für einen parametrierbaren Zeitraum  möglich.<br />


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:
Die Auswahl, welche Eingänge gesperrt und freigeschaltet werden dürfen sind über weitere Objekte und zwar „Input acceptance mask“ (Siehe 3.2) und „Input evacuate mask“ gesteuert (Siehe 3.3). <br />
 
<br />
Hierzu zwei Möglichkeiten
<br />


'''3.1 Freischaltung der Virtuellen Eingänge:'''
'''3.1 Freischaltung der Virtuellen Eingänge:'''
 
'''3.1.1 Freischaltung der Virtuellen Eingänge per Enable Bit:'''
<br />
<br />
Im Objekt Input Parameter 1 (6120h – 613F) ist bereits ein Bit (Enable) definiert. Hier kann die Auswerteeinheit eintragen, ob der virtuelle Input freigeschaltet wird oder nicht.
Im Objekt Input Parameter 1 (6120h – 613F) ist bereits ein Bit (Enable) definiert. Hier kann die Auswerteeinheit eintragen, ob der virtuelle Input freigeschaltet wird oder nicht.
Zeile 351: Zeile 355:


<br />
<br />
'''3.2 Neues Objekt: (XX00<small>h</small> bis XX21<small>h</small> Input release'''<br />
'''3.1.2 Freischaltung der Virtuellen Eingänge per Freigabemaske:'''<br />
'''Neues Objekt: (XX00<small>h</small> bis XX21<small>h</small> Input release control'''<br />


Dieses Objekt enthält die Bitmasken über die Freischaltung der Virtuellen Eingänge. Ist ein betreffendes Bit in der Maske gesetzt so kann der betreffende Virtuelle Input für ein bestimmtes Zeitfenster freigeschaltet werden.
Dieses Objekt enthält die Bitmasken über die Freischaltung der Virtuellen Eingänge. Ist ein bestimmtes Bit in der Maske gesetzt so kann der betreffende Virtuelle Input für ein bestimmtes Zeitfenster freigeschaltet werden.
Dieses Objekt wird nicht gespeichert und hat deshalb nach einem Reset keine gültigen Inhalte mehr.
Dieses Objekt wird nicht gespeichert und hat deshalb nach einem Reset keine gültigen Inhalte mehr.
Dieses Objekt ist vorhanden ortogonal zu den Virtuellen Eingangsgruppen 1 – 32. Die Objekte in Lift 2 bis 8 sind mit einem Offset von 800h versehen. <br />
Dieses Objekt ist ortogonal zu den Virtuellen Eingangsgruppen 1 – 32 vorhanden. Die Objekte in Lift 2 bis 8 sind mit einem Offset von 800h versehen. <br />
<br />
<br />


Zeile 453: Zeile 458:
|}
|}
<br />
<br />
Wertedefinition von Subindex 1 bis 8 (Beispiel Subindex 1)<br />
Wertedefinition von Subindex 1 bis 8<br />


{|border="2" cellspacing="1" cellpadding="0" width="100%"
{|border="2" cellspacing="1" cellpadding="0" width="100%"
|colspan="7" | Release mask 0X<small>h</small>
|colspan="7" | Release mask 01<small>h</small>
|-
|-
|align = "center"|MSB
|align = "center"|MSB
Zeile 464: Zeile 469:
|align = "center"|Bit 2
|align = "center"|Bit 2
|align = "center"|Bit 1
|align = "center"|Bit 1
|align = "center"|Bit 0
|align = "center"|LSB
|-
|-
|align = "center"|Virtueller Eingang 32
|align = "center"|Virtueller Eingang 32
Zeile 473: Zeile 478:
|align = "center"|Virtueller Eingang 2
|align = "center"|Virtueller Eingang 2
|align = "center"|Virtueller Eingang 1
|align = "center"|Virtueller Eingang 1
|}
. <br />
. <br />
. <br />
{|border="2" cellspacing="1" cellpadding="0" width="100%"
|colspan="7" | Release mask 08<small>h</small>
|-
|align = "center"|MSB
|align = "center"|Bit 30
|align = "center"|Bit n
|align = "center"|Bit n
|align = "center"|Bit 2
|align = "center"|Bit 1
|align = "center"|LSB
|-
|align = "center"|Virtueller Eingang 256
|align = "center"|Virtueller Eingang 255
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang 227
|align = "center"|Virtueller Eingang 226
|align = "center"|Virtueller Eingang 225
|}
|}




<br />
'''3.2 Neues Objekt: (XX00<small>h</small> bis XX21<small>h</small> Input acceptance mask'''<br />
Parallel zum Objekt "Input release control" soll das Objekt "Input acceptance mask" geführt werden. Darin soll definiert werden, welche Virtuellen Eingänge freigeschaltet werden dürfen.<br />
:Dieses Objekt enthält die Bitmasken über die Freischaltung der Virtuellen Eingänge. Ist ein betreffendes Bit in der Maske gesetzt so kann der betreffende Virtuelle Input für ein bestimmtes Zeitfenster freigeschaltet werden.<br />
Diese Virtuellen Eingänge werden nach einem Power on reset oder nach einem CAN Kommando Reset node gesperrt. Ausgenommen sind die virtuellen Eingänge die einer Evakuierungsebene zugeordnet sind oder bei denen die Funktion „Zuganskontrolle“ konfiguriert ist.
Dieses Objekt wird in den Nichtflüchtigen Speicher gelegt.
Die Definition der Wertebereiche ist pallel zum Objekt „Input release control“
Die Objekte in Lift 2 bis 8 sind mit einem Offset von 800h versehen. <br />


'''4. Upload Acknowledgement'''
Objekt Beschreibung<br />
 
{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Index
|align = "left"|XX00<small>h</small> to XX21<small>h</small>


|-
|align = "left"|Name
|align = "left"|Objekt '''Input Acceptance mask'''


'''4.1 Auswerteeinheit sendet positive Bestätigung'''
|-
|align = "left"|Objekt Code
|align = "left"|Array
|-
|align = "left"|Data Type of entry
|align = "left"|Unsigned 32
|-
|align = "left"|Category
|align = "left"|Mandatory
|}




{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindex
|align = "left"|00<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Number of entries'''
|-
|align = "left"|Data Type
|align = "left"|Array
|-
|align = "left"|Value Range
|align = "left"|01<small>h</small> to 08<small>h</small>
|-
|align = "left"|Default value
|align = "left"|01<small>h</small>
|}


{| class="prettytable"
| <center>'''Byte 0'''</center>
| <center>'''Byte 1'''</center>
| <center>'''Byte 2'''</center>
| <center>'''Byte 3'''</center>
| <center>'''Byte 4'''</center>
| <center>'''Byte 5'''</center>


{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindes
|align = "left"|01<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Acceptance mask of virtual input 1 to 32'''
|-
|align = "left"|Data Type
|align = "left"|Unsigned 32
|-
|-
| <center>Basic Fct</center>
|align = "left"|Value Range
| <center>Sub Fct</center>
|align = "left"|0000<small>h</small> to FFFF<small>h</small>
| <center>Lift</center>
|-
| <center>Floor</center>
|align = "left"|Default value
| <center>Door</center>
|align = "left"|0000<small>h</small>
| <center>Data</center>
|}


{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindes
|align = "left"|02<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Acceptance mask of virtual input 33 to 65'''
|-
|align = "left"|Data Type
|align = "left"|Unsigned 32
|-
|align = "left"|Value Range
|align = "left"|0000<small>h</small> to FFFF<small>h</small>
|-
|align = "left"|Default value
|align = "left"|0000<small>h</small>
|}
. <br />
. <br />
. <br />
{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindes
|align = "left"|08<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Acceptance mask of virtual input 225 to 256'''
|-
|align = "left"|Data Type
|align = "left"|Unsigned 32
|-
|align = "left"|Value Range
|align = "left"|0000<small>h</small> to FFFF<small>h</small>
|-
|-
| <center>0x0F</center>
|align = "left"|Default value
| <center>reserved</center>
|align = "left"|0000<small>h</small>
| <center>Lift</center>
|}
| <center>Floor</center>
<br />
| <center>Door</center>
Wertedefinition von Subindex 1 bis 8<br />
| <center>Bit7 = 1</center>


{|border="2" cellspacing="1" cellpadding="0" width="100%"
|colspan="7" | Acceptance mask 01<small>h</small>
|-
|align = "center"|MSB
|align = "center"|Bit 30
|align = "center"|Bit n
|align = "center"|Bit n
|align = "center"|Bit 2
|align = "center"|Bit 1
|align = "center"|LSB
|-
|align = "center"|Virtueller Eingang 32
|align = "center"|Virtueller Eingang 31
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang 3
|align = "center"|Virtueller Eingang 2
|align = "center"|Virtueller Eingang 1
|}
. <br />
. <br />
. <br />
{|border="2" cellspacing="1" cellpadding="0" width="100%"
|colspan="7" | Acceptance mask 08<small>h</small>
|-
|align = "center"|MSB
|align = "center"|Bit 30
|align = "center"|Bit n
|align = "center"|Bit n
|align = "center"|Bit 2
|align = "center"|Bit 1
|align = "center"|LSB
|-
|align = "center"|Virtueller Eingang 256
|align = "center"|Virtueller Eingang 255
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang 227
|align = "center"|Virtueller Eingang 226
|align = "center"|Virtueller Eingang 225
|}
|}
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'''


<br />
'''3.3 Neues Objekt: (XX00<small>h</small> bis XX21<small>h</small> Input evacuate mask'''<br />
Parallel zum Objekt "Input release control" sollte das Objekt "Input acceptance mask" geführt werden.<br />
In diesem Objekt wird parametriert welche Virtuellen Eingänge einer Evakuierungsebene zugeordnet sind. Diese Virtuellen Eingänge können nach einem Power on reset oder Reset Kommando nicht gesperrt werden.
Die Definition der Wertebereiche ist parallel zum Objekt „Input release control“.
Dieses Objekt wird in den Nichtflüchtigen Speicher gelegt.<br />
Objekt Beschreibung<br />




{| class="prettytable"
{|border="1" cellspacing="1" cellpadding="0" width="50%"
| <center>'''Byte 0'''</center>
|align = "left"|Index
| <center>'''Byte 1'''</center>
|align = "left"|XX00<small>h</small> to XX21<small>h</small>
| <center>'''Byte 2'''</center>
| <center>'''Byte 3'''</center>
| <center>'''Byte 4'''</center>
| <center>'''Byte 5'''</center>


|-
|-
| <center>Basic Fct</center>
|align = "left"|Name
| <center>Sub Fct</center>
|align = "left"|Objekt '''Input evacuate mask'''
| <center>Lift</center>
| <center>Floor</center>
| <center>Door</center>
| <center>Data</center>


|-
|-
| <center>0x0F</center>
|align = "left"|Objekt Code
| <center>Error Code</center>
|align = "left"|Array
| <center>Lift</center>
|-
| <center>Floor</center>
|align = "left"|Data Type of entry
| <center>Door</center>
|align = "left"|Unsigned 32
| <center>Bit7 = 0</center>
|-
|align = "left"|Category
|align = "left"|Mandatory
|}


{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindex
|align = "left"|00<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Number of entries'''
|-
|align = "left"|Data Type
|align = "left"|Array
|-
|align = "left"|Value Range
|align = "left"|01<small>h</small> to 08<small>h</small>
|-
|align = "left"|Default value
|align = "left"|01<small>h</small>
|}
|}
Mit dem Data Byte hat die Auswerteeinheit zusätzlich die Möglichkeit die Lesgeräte ein- oder auszuschalten.




{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindes
|align = "left"|01<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Evacuate mask of virtual input 1 to 32'''
|-
|align = "left"|Data Type
|align = "left"|Unsigned 32
|-
|align = "left"|Value Range
|align = "left"|0000<small>h</small> to FFFF<small>h</small>
|-
|align = "left"|Default value
|align = "left"|0000<small>h</small>
|}


{| class="prettytable"
| <center>'''Value (Bit 0)'''</center>
| <center>'''Description'''</center>


{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindes
|align = "left"|02<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Evacuate mask of virtual input 33 to 65'''
|-
|align = "left"|Data Type
|align = "left"|Unsigned 32
|-
|align = "left"|Value Range
|align = "left"|0000<small>h</small> to FFFF<small>h</small>
|-
|align = "left"|Default value
|align = "left"|0000<small>h</small>
|}
. <br />
. <br />
. <br />
{|border="1" cellspacing="1" cellpadding="0" width="50%"
|align = "left"|Subindes
|align = "left"|08<small>h</small>
|-
|align = "left"|Description
|align = "left"|Objekt '''Evacuate mask of virtual input 225 to 256'''
|-
|align = "left"|Data Type
|align = "left"|Unsigned 32
|-
|-
| <center>0</center>
|align = "left"|Value Range
| <center>Leser Aus</center>
|align = "left"|0000<small>h</small> to FFFF<small>h</small>
|-
|align = "left"|Default value
|align = "left"|0000<small>h</small>
|}
<br />
Wertedefinition von Subindex 1 bis 8<br />


{|border="2" cellspacing="1" cellpadding="0" width="100%"
|colspan="7" | Evacuate mask 01<small>h</small>
|-
|align = "center"|MSB
|align = "center"|Bit 30
|align = "center"|Bit n
|align = "center"|Bit n
|align = "center"|Bit 2
|align = "center"|Bit 1
|align = "center"|LSB
|-
|align = "center"|Virtueller Eingang 32
|align = "center"|Virtueller Eingang 31
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang 3
|align = "center"|Virtueller Eingang 2
|align = "center"|Virtueller Eingang 1
|}
. <br />
. <br />
. <br />
{|border="2" cellspacing="1" cellpadding="0" width="100%"
|colspan="7" | Evacuate mask 08<small>h</small>
|-
|align = "center"|MSB
|align = "center"|Bit 30
|align = "center"|Bit n
|align = "center"|Bit n
|align = "center"|Bit 2
|align = "center"|Bit 1
|align = "center"|LSB
|-
|-
| <center>1</center>
|align = "center"|Virtueller Eingang 256
| <center>Leser Ein</center>
|align = "center"|Virtueller Eingang 255
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang n
|align = "center"|Virtueller Eingang 227
|align = "center"|Virtueller Eingang 226
|align = "center"|Virtueller Eingang 225
|}
 
 
 
 
'''4. Upload Acknowledgement'''
 
 
'''4.1 Auswerteeinheit sendet positive Bestätigung'''
<br />


{|border="2" cellspacing="1" cellpadding="0" width="100%"
|align = "center"|'''Byte 0'''
|align = "center"|'''Byte 1'''
|align = "center"|'''Byte 2'''
|align = "center"|'''Byte 3'''
|align = "center"|'''Byte 4'''
|align = "center"|'''Byte 5'''
|-
|align = "center"|Basic function
|align = "center"|Sub function
|align = "center"|Lift
|align = "center"|Panel
|align = "center"|Door
|align = "center"|Data
|-
|align = "center"|0x0F
|align = "center"|Type of Reader
|align = "center"|Value of Lift
|align = "center"|Value of Panel
|align = "center"|Value of Door
|align = "center"|Bit7 = 1
|}
|}
'''4.3 Weitere benötigte Objekte'''


<br />
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 ausgelesen hat.<br />
Hiermit werden die virtuellen Eingäng freigeschaltet. Diese geschieht durch Setzten der Bits „Enable“ im Objekt 6120h – 613Fh „Parameter 1. Nach Ablauf einer definierten Zeit werden die Enable Bits wieder gelöscht. Nach Ablauf einer definierten Zeit (s. Objekt: ReleaseTime) werden die enable Bits wieder gesperrt.




{| class="prettytable"
'''4.2 Auswerteeinheit sendet negative Bestätigung'''
| Index
| xxxx


{|border="2" cellspacing="1" cellpadding="0" width="100%"
|align = "center"|'''Byte 0'''
|align = "center"|'''Byte 1'''
|align = "center"|'''Byte 2'''
|align = "center"|'''Byte 3'''
|align = "center"|'''Byte 4'''
|align = "center"|'''Byte 5'''
|-
|align = "center"|Basic function
|align = "center"|Sub function
|align = "center"|Lift
|align = "center"|Panel
|align = "center"|Door
|align = "center"|Data
|-
|-
| Name
|align = "center"|0x0F
| Release Time
|align = "center"|Type of Reader
|align = "center"|Value of Lift
|align = "center"|Value of Panel
|align = "center"|Value of Door
|align = "center"|Bit7 = 0
|}
<br />
Hiermit wird der Abbruch eines Übertragungsvorganges signalisiert. D.h. die Übertragung der Zugangsdaten war fehlerhaft oder die Zugangsdaten sind nicht gültig. Die Wartzeit die im Objekt „ACC Protocol Control / Upload confirm timeout wird bei Empfang dieses Telegramms beendet. Das Schreiben auf das Objekt "Input release control" wird gesperrt.
<br /><br /><br />
 
'''5. Sonstige Funktionen<br />
'''5.1 Steuerung des Lesegerätes<br />
<br />
Mit dem Data Byte hat die Auswerteeinheit zusätzlich die Möglichkeit die Lesgeräte ein- oder auszuschalten.<br />
 
{|border="2" cellspacing="1" cellpadding="0" width="50%"
|align = "center"|'''Value (Bit 0)'''
|align = "center"|'''Description'''


|-
|-
| Object Code
|align = "center"|0
| Var
|align = "center"|Leser EIN


|-
|-
| Data Type
|align = "center"|1
| Unsigned 8
|align = "center"|Leser AUS
|}
 
<br /><br />
'''5.2 Neues Virtuelles Gerät<br />
<br />
'''5.2.1 Neues Virtuelles Gerät für Zutrittkontrollsystem<br />
Es ist zu überlegen ob ein Zutrittcontollsystem einem separatem virtuellen Gerät zugeordnet werden soll.
Hierbei ist eine Definition der Kommunikationsobjekte erforderlich.<br />
Ein vollständiges Prozessabbild gegenüber Funktionalitäten aus dem Virtuellen Gerät "Input Panel Unit" und "Output Panel Unit" ist nicht mehr möglich. Dies wäre aber wünschenswert, wenn ein Visualisierung des Prozessabbildes gebraucht würde.<br />
 
<br />
'''5.2.2 Zutrittkontrolle im Input Panel Unit und Output Panel Unit<br />
Da ein Zutrittkontrollsystem höchstwahrscheinlich an einem Panel im/am Aufzug installiert ist, stellt es  keinen Nachteil dar, das Zutrittkontrollsystem dem Viruellen Gerät "Input Panel Unit" und "Output Panel Unit" zuzuordnen.<br />
Zudem wir unmittelbar auf die Parametergruppen des Virtuellen Gerätes "Input Panel Unit" und "Output Panel Unit" zugegriffen (Input parameter Obj 6120<small>h</small> bis 613F<small>h</small>).
 
<br />
<br />
<br />


|-
| Category
| Optional


|}


[[Kategorie:Erweiterungen des Profils]]
[[Kategorie:Erweiterungen des Profils]]

Aktuelle Version vom 2. Juli 2012, 11:05 Uhr

Integration der Zutrittskontrolle in die CiA-417

Beitrag von RSbySCHÄFER

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)
  5. Sonstige Funktionen (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 Subindex 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
Der Lesezugriff ist der Auswerteeinheit nur während eines parametrierbaren Zeitfensters gewährt und beginnt bei Eintreffen des Telegramms (PDO) Upload Request mit Data 0. Erfolgt das Telegramm Upload Acknowledge, so wird die Zugriffszeit auf das Objekt beendet.

2.1.1 (ACC Protocol Control) Dieses Objekt steuert die Protokolllaufzeiten.
1. Eintrag für Request Timeout

Dieser Eintrag definiert die Zeit zwischen den PDOs Upload Request mit Data 1 und Upload Request mit Data 0. Die Werte sind in ms Schritten festgelegt. Definition in ms.


2. Eintrag für Confirm Timeout

Dieser Eintrag definiert die maximale Wartezeit auf ein Upload Acnowledge PDO. Trifft dieses während dieser Zeit nicht ein, so wird der Lesezugriff auf die Daten (Zugangscode) und der Schreibzugriff auf das Freigabe Objekt gesperrt. Alle vorhanden Daten der Leseeinheit werden gelöscht. Definition in ms.


3. Eintrag für Protocol Cycle Timeout

Dieser Eintrag definiert die maximale Zeit für den Einlesevorgang einer Leseeinheit. Ist der Einlesevorgang nach dieser Zeit nicht fertiggestellt, so wird der Einlesevorgang unterbrochen und die vorhandenen Daten der Leseeinheit gelöscht. Definition in ms.


4. Eintrag für Data Send Max Time

Dieser Eintrag definiert intern die maximale Zeit für die Übertragung des Upload Requests. Diese verhindert die Freischaltung der Zugangsdaten beim Auftreten eines internen Fehlers. Definition in ms.



2.1.2 (ACC Function Control) Dieses Objekt steuert die Zeitfenster der Ein-/Ausgänge
1. Eintrag für Release IN Time

Dieser Eintrag definiert die maximale Dauer der Freischaltung virtueller Eingänge. Dieses Zeitfenster startet unmittelbar nach eintreffen eines Upload Acknowledge mit Data 80h und endet nach der parametrierten Zeit. Definition in ms.


2. Eintrag für Release OUT Time

Ortogonal zu Release IN Time ist ein Objekt erforderlich in dem vereinbart wir, wie sich die Quittierung des freigeschalteten Inputs verhalten soll.
Dauer der Quittierung
Verhalten der Quittierung



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. Es besteht die Möglichkeit alle die der Freischaltung zugelassenen Virtuellen Eingänge mittel einem schreibenden SDO Zugriffs auf das Objekt „Input release control (XX00h – XX1Fh)“ für eine definierbare Zeit frei zuschalten. Diese Freischaltung erfolgt über eine Bitmaske bis max. 32 Virtuelle Eingänge. Sind mehr als 32 Virtuelle Eingänge vorhanden, so sind mehre Einträge in diesem Objekt vorzunehmen. Der Zugriff auf diese Objekt ist nur einmal pro Übertragungsvorgang für einen parametrierbaren Zeitraum möglich.

Die Auswahl, welche Eingänge gesperrt und freigeschaltet werden dürfen sind über weitere Objekte und zwar „Input acceptance mask“ (Siehe 3.2) und „Input evacuate mask“ gesteuert (Siehe 3.3).

Hierzu zwei Möglichkeiten

3.1 Freischaltung der Virtuellen Eingänge: 3.1.1 Freischaltung der Virtuellen Eingänge per Enable Bit:
Im Objekt Input Parameter 1 (6120h – 613F) ist bereits ein Bit (Enable) definiert. Hier kann die Auswerteeinheit eintragen, ob der virtuelle Input freigeschaltet wird oder nicht.

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

Byte 3 Byte 2 Byte 1 Byte 0
reserved(FFFFh) Error code Enable


Wertebedefinition

Bit7
Bit1
Bit0
reserved enable


3.1.2 Freischaltung der Virtuellen Eingänge per Freigabemaske:
Neues Objekt: (XX00h bis XX21h Input release control

Dieses Objekt enthält die Bitmasken über die Freischaltung der Virtuellen Eingänge. Ist ein bestimmtes Bit in der Maske gesetzt so kann der betreffende Virtuelle Input für ein bestimmtes Zeitfenster freigeschaltet werden. Dieses Objekt wird nicht gespeichert und hat deshalb nach einem Reset keine gültigen Inhalte mehr. Dieses Objekt ist ortogonal zu den Virtuellen Eingangsgruppen 1 – 32 vorhanden. Die Objekte in Lift 2 bis 8 sind mit einem Offset von 800h versehen.

Objekt Beschreibung


Index XX00h to XX21h
Name Objekt Input release control
Objekt Code Array
Data Type of entry Unsigned 32
Category Mandatory


Subindex 00h
Description Objekt Number of entries
Data Type Array
Value Range 01h to 08h
Default value 01h


Subindes 01h
Description Objekt Release mask of virtual input 1 to 32
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h


Subindes 02h
Description Objekt Release mask of virtual input 33 to 65
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h

.
.
.

Subindes 08h
Description Objekt Release mask of virtual input 225 to 256
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h


Wertedefinition von Subindex 1 bis 8

Release mask 01h
MSB Bit 30 Bit n Bit n Bit 2 Bit 1 LSB
Virtueller Eingang 32 Virtueller Eingang 31 Virtueller Eingang n Virtueller Eingang n Virtueller Eingang 3 Virtueller Eingang 2 Virtueller Eingang 1

.
.
.

Release mask 08h
MSB Bit 30 Bit n Bit n Bit 2 Bit 1 LSB
Virtueller Eingang 256 Virtueller Eingang 255 Virtueller Eingang n Virtueller Eingang n Virtueller Eingang 227 Virtueller Eingang 226 Virtueller Eingang 225



3.2 Neues Objekt: (XX00h bis XX21h Input acceptance mask
Parallel zum Objekt "Input release control" soll das Objekt "Input acceptance mask" geführt werden. Darin soll definiert werden, welche Virtuellen Eingänge freigeschaltet werden dürfen.

Dieses Objekt enthält die Bitmasken über die Freischaltung der Virtuellen Eingänge. Ist ein betreffendes Bit in der Maske gesetzt so kann der betreffende Virtuelle Input für ein bestimmtes Zeitfenster freigeschaltet werden.

Diese Virtuellen Eingänge werden nach einem Power on reset oder nach einem CAN Kommando Reset node gesperrt. Ausgenommen sind die virtuellen Eingänge die einer Evakuierungsebene zugeordnet sind oder bei denen die Funktion „Zuganskontrolle“ konfiguriert ist. Dieses Objekt wird in den Nichtflüchtigen Speicher gelegt. Die Definition der Wertebereiche ist pallel zum Objekt „Input release control“ Die Objekte in Lift 2 bis 8 sind mit einem Offset von 800h versehen.

Objekt Beschreibung

Index XX00h to XX21h
Name Objekt Input Acceptance mask
Objekt Code Array
Data Type of entry Unsigned 32
Category Mandatory


Subindex 00h
Description Objekt Number of entries
Data Type Array
Value Range 01h to 08h
Default value 01h


Subindes 01h
Description Objekt Acceptance mask of virtual input 1 to 32
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h


Subindes 02h
Description Objekt Acceptance mask of virtual input 33 to 65
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h

.
.
.

Subindes 08h
Description Objekt Acceptance mask of virtual input 225 to 256
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h


Wertedefinition von Subindex 1 bis 8

Acceptance mask 01h
MSB Bit 30 Bit n Bit n Bit 2 Bit 1 LSB
Virtueller Eingang 32 Virtueller Eingang 31 Virtueller Eingang n Virtueller Eingang n Virtueller Eingang 3 Virtueller Eingang 2 Virtueller Eingang 1

.
.
.

Acceptance mask 08h
MSB Bit 30 Bit n Bit n Bit 2 Bit 1 LSB
Virtueller Eingang 256 Virtueller Eingang 255 Virtueller Eingang n Virtueller Eingang n Virtueller Eingang 227 Virtueller Eingang 226 Virtueller Eingang 225



3.3 Neues Objekt: (XX00h bis XX21h Input evacuate mask
Parallel zum Objekt "Input release control" sollte das Objekt "Input acceptance mask" geführt werden.
In diesem Objekt wird parametriert welche Virtuellen Eingänge einer Evakuierungsebene zugeordnet sind. Diese Virtuellen Eingänge können nach einem Power on reset oder Reset Kommando nicht gesperrt werden. Die Definition der Wertebereiche ist parallel zum Objekt „Input release control“. Dieses Objekt wird in den Nichtflüchtigen Speicher gelegt.

Objekt Beschreibung


Index XX00h to XX21h
Name Objekt Input evacuate mask
Objekt Code Array
Data Type of entry Unsigned 32
Category Mandatory


Subindex 00h
Description Objekt Number of entries
Data Type Array
Value Range 01h to 08h
Default value 01h


Subindes 01h
Description Objekt Evacuate mask of virtual input 1 to 32
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h


Subindes 02h
Description Objekt Evacuate mask of virtual input 33 to 65
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h

.
.
.

Subindes 08h
Description Objekt Evacuate mask of virtual input 225 to 256
Data Type Unsigned 32
Value Range 0000h to FFFFh
Default value 0000h


Wertedefinition von Subindex 1 bis 8

Evacuate mask 01h
MSB Bit 30 Bit n Bit n Bit 2 Bit 1 LSB
Virtueller Eingang 32 Virtueller Eingang 31 Virtueller Eingang n Virtueller Eingang n Virtueller Eingang 3 Virtueller Eingang 2 Virtueller Eingang 1

.
.
.

Evacuate mask 08h
MSB Bit 30 Bit n Bit n Bit 2 Bit 1 LSB
Virtueller Eingang 256 Virtueller Eingang 255 Virtueller Eingang n Virtueller Eingang n Virtueller Eingang 227 Virtueller Eingang 226 Virtueller Eingang 225



4. Upload Acknowledgement


4.1 Auswerteeinheit sendet positive Bestätigung

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 Bit7 = 1


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 ausgelesen hat.
Hiermit werden die virtuellen Eingäng freigeschaltet. Diese geschieht durch Setzten der Bits „Enable“ im Objekt 6120h – 613Fh „Parameter 1. Nach Ablauf einer definierten Zeit werden die Enable Bits wieder gelöscht. 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 function Sub function Lift Panel Door Data
0x0F Type of Reader Value of Lift Value of Panel Value of Door Bit7 = 0


Hiermit wird der Abbruch eines Übertragungsvorganges signalisiert. D.h. die Übertragung der Zugangsdaten war fehlerhaft oder die Zugangsdaten sind nicht gültig. Die Wartzeit die im Objekt „ACC Protocol Control / Upload confirm timeout wird bei Empfang dieses Telegramms beendet. Das Schreiben auf das Objekt "Input release control" wird gesperrt.


5. Sonstige Funktionen
5.1 Steuerung des Lesegerätes

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

Value (Bit 0) Description
0 Leser EIN
1 Leser AUS



5.2 Neues Virtuelles Gerät

5.2.1 Neues Virtuelles Gerät für Zutrittkontrollsystem
Es ist zu überlegen ob ein Zutrittcontollsystem einem separatem virtuellen Gerät zugeordnet werden soll. Hierbei ist eine Definition der Kommunikationsobjekte erforderlich.
Ein vollständiges Prozessabbild gegenüber Funktionalitäten aus dem Virtuellen Gerät "Input Panel Unit" und "Output Panel Unit" ist nicht mehr möglich. Dies wäre aber wünschenswert, wenn ein Visualisierung des Prozessabbildes gebraucht würde.


5.2.2 Zutrittkontrolle im Input Panel Unit und Output Panel Unit
Da ein Zutrittkontrollsystem höchstwahrscheinlich an einem Panel im/am Aufzug installiert ist, stellt es keinen Nachteil dar, das Zutrittkontrollsystem dem Viruellen Gerät "Input Panel Unit" und "Output Panel Unit" zuzuordnen.
Zudem wir unmittelbar auf die Parametergruppen des Virtuellen Gerätes "Input Panel Unit" und "Output Panel Unit" zugegriffen (Input parameter Obj 6120h bis 613Fh).