차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:zone_control_api [2020/07/21 20:29]
kkshin
ko:zone_control_api [2023/08/31 09:39] (현재)
kkshin [BS2ZoneStatus]
줄 1: 줄 1:
 ====== Zone Control API ====== ====== Zone Control API ======
  
-하나의 관리 지역을 특정 목적에 맞게 여러 구역으로 나눠 출입을 통제할 수 있습니다. 구역을 설정하면 출입 인증 장치, 출입문의 동작을 제어할 수 있으며, BioStart 시스템에서는 4 종류의 구역을 설정할 수 있습니다.\\+하나의 관리 지역을 특정 목적에 맞게 여러 구역으로 나눠 출입을 통제할 수 있습니다. 구역을 설정하면 출입 인증 장치, 출입문의 동작을 제어할 수 있습니다. \\
  
 ---- ----
줄 85: 줄 85:
 ---- ----
 ==== Ethernet 구역 ==== ==== Ethernet 구역 ====
-Zone Master 역할을 BioStar V2.x 서버가 아닌 특정 장치가 하며 장치 사이(Master <-> Member)의 통신 방식으로 Ethernet TCP 통신 방식을 사용하는 Zone다. +Zone Master 역할을 BioStar V2.x 서버가 아닌 특정 장치가 하며 장치 사이(Master <-> Member)의 통신 방식으로 Ethernet TCP 통신 방식을 사용하는 Zone입니다. 
-기존 1.x Entrance Limit, Fire Alarm Zone에 ​상응하는 ​기능만을 ​현재는 ​지원다. A2(FW 1.4.0 이상), BS2(FW 1.5.0 이상) and P2(FW 1.0.0이상)에서 지원합니다. ​+현재는 ​기존 1.x Entrance Limit, Fire Alarm Zone에 기능만을 지원합니다. A2(FW 1.4.0 이상), BS2(FW 1.5.0 이상) and P2(FW 1.0.0이상)에서 지원합니다. ​
   * [[BS2_GetDeviceZone]]:​ 주어진 Ethernet 구역을 가져옵니다.  ​   * [[BS2_GetDeviceZone]]:​ 주어진 Ethernet 구역을 가져옵니다.  ​
   * [[BS2_GetAllDeviceZone]]:​ 모든 Ethernet을 가져옵니다.  ​   * [[BS2_GetAllDeviceZone]]:​ 모든 Ethernet을 가져옵니다.  ​
줄 100: 줄 100:
   * [[BS2_RemoveDeviceZoneAGEntranceLimit]]:​ 주어진 Ethernet Access Group 인증 제한 구역을 제거합니다.   * [[BS2_RemoveDeviceZoneAGEntranceLimit]]:​ 주어진 Ethernet Access Group 인증 제한 구역을 제거합니다.
   * [[BS2_RemoveAllDeviceZoneAGEntranceLimit]]:​ 모든 Ethernet Access Group 인증 제한 구역을 제거합니다.   * [[BS2_RemoveAllDeviceZoneAGEntranceLimit]]:​ 모든 Ethernet Access Group 인증 제한 구역을 제거합니다.
 +  * [[BS2_GetDeviceZoneMasterConfig]]:​ Ethernet 구역의 master 장치 설정을 가져옵니다.
 +  * [[BS2_SetDeviceZoneMasterConfig]]:​ Ethernet 구역의 master 장치 설정을 저장합니다.
 +  * [[BS2_RemoveDeviceZoneMasterConfig]]:​ Ethernet 구역의 master 장치 설정을 제거합니다.
 +\\
 +----
 +==== Lift스케줄 잠금/​개방 구역 ====
 +[+ 2.7.0] Elevator 제어관련,​ 인증권한과 무관하게 시간대를 기반으로 특정 층에 접근할 수 있도록 하는 새로운 함수들을 제공합니다. ​
 +  * [[BS2_GetLiftLockUnlockZone]]:​ 주어진 Lift스케줄 잠금/​개방 구역을 가져옵니다.
 +  * [[BS2_GetAllLiftLockUnlockZone]]:​ 모든 Lift스케줄 잠금/​개방 구역을 가져옵니다.
 +  * [[BS2_GetLiftLockUnlockZoneStatus]]:​ 주어진 Lift스케줄 잠금/​개방 구역의 상태 정보를 가져옵니다.
 +  * [[BS2_GetAllLiftLockUnlockZoneStatus]]:​ 모든 Lift스케줄 잠금/​개방 구역의 상태 정보를 가져옵니다.
 +  * [[BS2_SetLiftLockUnlockZone]]:​ Lift스케줄 잠금/​개방 구역을 설정합니다.
 +  * [[BS2_SetLiftLockUnlockZoneAlarm]]:​ Lift스케줄 잠금/​개방 구역의 경보 상태를 갱신합니다.
 +  * [[BS2_RemoveLiftLockUnlockZone]]:​ 주어진 Lift스케줄 잠금/​개방 구역을 제거합니다.
 +  * [[BS2_RemoveAllLiftLockUnlockZone]]:​ 모든 Lift스케줄 잠금/​개방 구역을 제거합니다.
 \\ \\
 ---- ----
줄 173: 줄 188:
 <WRAP group 50%> <WRAP group 50%>
 ^값  ^설명 ​ ^ ^값  ^설명 ​ ^
-|0 |정상 ​ |+|0 |정상, 경비해제 ​ |
 |1 |알람 발생 ​ | |1 |알람 발생 ​ |
-|2 |scheduled lock  | +|2 |Scheduled locked, Lift locked ​ | 
-|4 |scheduled unlock ​ |+|4 |Scheduled unlocked, Lift unlocked ​ | 
 +|8 |경비 ​ |
 </​WRAP> ​ </​WRAP> ​
  
줄 788: 줄 804:
 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다 ​ \\ \\  출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다 ​ \\ \\ 
  
-==== BS2DoorSensor ​====+==== BS2DeviceZoneMasterConfig ==== 
 +<code cpp> 
 +typedef struct  
 +
 +    bool enable; 
 +    uint8_t reserved1[1];​ 
 +    uint16_t listenPort;​ 
 +    uint8_t reserved[4];​ 
 +} BS2DeviceZoneMasterConfig;​ 
 +</​code>​ 
 +1. //enable// \\  
 +활성화 여부 flag값입니다. \\ \\  
 +2. //​reserved1//​ \\  
 +예약된 공간입니다. ​ \\ \\  
 +3. //​listenPort//​ \\  
 +Slave 장치들로부터 연결되어질 TCP/IP port 정보입니다. \\ \\ 
 +4. //​reserved//​ \\  
 +예약된 공간입니다. ​ \\ \\  
 + 
 +==== BS2LiftFloors ​====
 <code cpp> <code cpp>
 typedef struct { typedef struct {
-    uint32_t ​deviceID+    uint32_t ​liftID
-    ​uint8_t port+    ​uint16_t numFloors
-    ​uint8_t switchType; +    ​uint16_t reserved;     
-    uint8_t apbUseDoorSensor;​ +    uint8_t ​floorIndices[256]; 
-    uint8_t ​reserved[1]; +BS2LiftFloors;
-BS2DoorSensor;+
 </​code>​ </​code>​
-1. //deviceID// \\  +1. //liftID// \\  
-장치 ​식별자니다. \\ \\   +lift 식별자로 항상 1이상의 값을 가져야 합니다.\\ \\   
-2. //port// \\  +2. //numFloors// \\  
-입력 port number입니다. \\ \\ +floorIndices의 개수입니다. \\ \\ 
-3. //​switchType//​ \\  +3. //​reserved//​ \\ 
-입력 신호 유형입니다. \\  +
-<WRAP group 50%> +
-^값  ^설명 ​ ^ +
-|0 |대기 상태에서 열림 상태로 유지 ​ | +
-|1 |대기 상태에서 닫힘 상태로 유지 ​ | +
-</​WRAP>​  +
-4. //​apbUseDoorSensor//​ \\  +
-Global APB 사용 시 door sensor를 사용할지 여부를 설정합니다. \\ +
-[[configuration api#​BS2AuthConfig|BS2AuthConfig]]의 useGlobalAPB 설정과 함께 사용되어야 합니다. \\ \\ +
-5. //​reserved//​ \\ +
 예약된 공간입니다. \\ \\ 예약된 공간입니다. \\ \\
 +4. //​floorIndices//​ \\ 
 +BS2Lift의 BS2LiftFloor 255개 배열에서 원하는 floor 정보의 인덱스 값을 이곳에서 순서대로 나열합니다. \\ 
 +예를들어,​ 1, 3, 5, 9번째 BS2LiftFloor 정보로 scheduled lock/unlock 구역의 멤버 floor를 구성하고 싶다면, \\
 +floorIndices[0]부터 순서대로 1, 3, 5, 9로 지정되어야 합니다. \\ \\
 +
 +==== BS2LiftLockUnlockZone ====
 +<code cpp>
 +typedef struct {
 +    uint32_t zoneID;
 +    char name[BS2_MAX_ZONE_NAME_LEN];​
 +    uint32_t unlockScheduleID; ​   ​
 +    uint32_t lockScheduleID;​
 +
 +    uint8_t numLifts;
 +    uint8_t numBypassGroups;​
 +    uint8_t numUnlockGroups;​
 +    uint8_t unused;
 +
 +    uint8_t disabled;
 +    uint8_t alarmed;
 +    uint8_t reserved[6];​
 +
 +    BS2Action alarm[BS2_MAX_LIFT_LOCK_UNLOCK_ALARM_ACTION];​
 +
 +    uint8_t reserved2[32];​
 +
 +    BS2LiftFloors lifts[BS2_MAX_LIFTS_IN_LIFT_LOCK_UNLOCK_ZONE];​
 +    uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_IN_LIFT_LOCK_UNLOCK_ZONE];​
 +    uint32_t unlockGroupIDs[BS2_MAX_UNLOCK_GROUPS_IN_LIFT_LOCK_UNLOCK_ZONE];​
 +} BS2LiftLockUnlockZone;​
 +</​code>​
 +1. //zoneID// \\ 
 +구역 식별자로 항상 1이상의 값을 가져야 합니다.\\ \\  ​
 +2. //name// \\ 
 +BioStar 애플리케이션에서 보여줄 구역 이름입니다. \\ \\
 +3. //​unlockScheduleID//​ \\ 
 +구역으로 지정한 lift floor들이 스케줄 개방 상태로 동작해야 할 스케줄정보 식별자입니다. \\ \\
 +4. //​lockScheduleID//​ \\ 
 +구역으로 지정한 lift floor들이 스케줄 잠금 상태로 동작해야 할 스케줄정보 식별자입니다. \\ \\
 +5. //​numLifts//​ \\ 
 +lifts로 지정한 정보의 개수입니다. \\ \\
 +6. //​numBypassGroups//​ \\ 
 +lift스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹의 총 개수입니다. \\ \\
 +7. //​numUnlockGroups//​ \\ 
 +lift스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹의 총 개수입니다. \\ \\
 +8. //unused// \\ 
 +사용하지 않는 필드입니다. \\ \\
 +9. //​disabled//​ \\ 
 +활성화 여부 flag값입니다 . \\ \\
 +10. //alarmed// \\ 
 +현재 구역의 경보 상태입니다. \\ \\
 +11. //​reserved//​ \\ 
 +예약된 공간입니다. \\ \\
 +12. //alarm// \\ 
 +구역 규칙을 위반하였을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다. \\ \\
 +13. //​reserved2//​ \\ 
 +예약된 공간입니다. \\ \\
 +14. //lifts// \\ 
 +lift의 floor 정보입니다. \\ \\
 +15. //​bypassGroupIDs//​ \\ 
 +lift스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\
 +16. //​unlockGroupIDs//​ \\ 
 +lift스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다. \\ \\