이전 판 책에 추가 PDF로 내보내기 목차 Zone Control API 안티패스백 구역 시간 지정 안티패스백 구역 화재 경보 구역 스케줄 잠금/개방 구역 경비 경보 구역 인터락 구역 Ethernet 구역 Lift스케줄 잠금/개방 구역 콜백 함수 OnCheckGlobalAPBViolation OnCheckGlobalAPBViolationByDoorOpen OnUpdateGlobalAPBViolationByDoorOpen 구조체 BS2ZoneStatus BS2ApbMember BS2TimedApbMember BS2FireSensor BS2AntiPassbackZone BS2TimedAntiPassbackZone BS2FireAlarmZone BS2ScheduledLockUnlockZone BS2IntrusionAlarmZone BS2IntrusionAlarmZoneBlob BS2InterlockZone BS2InterlockZoneBlob BS2DeviceZoneEntranceLimitMaster BS2DeviceZoneEntranceLimitMember BS2DeviceZoneFireAlarmMaster BS2DeviceZoneFireAlarmMember BS2DeviceZoneFireAlarmMemberInfo BS2DeviceZoneFireSensor BS2DeviceZone BS2DeviceZoneAGEntranceLimit BS2DeviceZoneMasterConfig BS2LiftFloors BS2LiftLockUnlockZone 책 생성기 내 책으로 이 페이지 추가 책 생성기 내 책에서 이 페이지 제거 책 관리 (0 페이지) 도움말 Zone Control API 하나의 관리 지역을 특정 목적에 맞게 여러 구역으로 나눠 출입을 통제할 수 있습니다. 구역을 설정하면 출입 인증 장치, 출입문의 동작을 제어할 수 있습니다. 안티패스백 구역 사용자가 자신의 카드를 제삼자에게 빌려준다든지 자신의 지문을 이용하여 제삼자를 안으로 들이는 상황을 방지하려면, 이중출입 방지 구역을 사용합니다. 이 구역은 두 가지 종류의 옵션(소프트, 하드)을 지원합니다. 소프트를 선택하면, 안티패스백을 위반해도 출입을 허용하지만 위반 사실을 사용자 로그에 기록합니다. 하드를 선택하면 모든 안티패스백을 허락하지 않으며 위반 사실을 사용자 로그에 기록합니다. BS2_GetAntiPassbackZone: 주어진 안티패스백 구역을 가져옵니다. BS2_GetAllAntiPassbackZone: 모든 안티패스백 구역을 가져옵니다. BS2_GetAntiPassbackZoneStatus: 주어진 안티패스백 구역의 상태 정보를 가져옵니다. BS2_GetAllAntiPassbackZoneStatus: 모든 안티패스백 구역의 상태 정보를 가져옵니다. BS2_SetAntiPassbackZone: 안티패스백 구역을 설정합니다. BS2_SetAntiPassbackZoneAlarm: 안티패스백 구역의 경보 상태를 갱신합니다. BS2_RemoveAntiPassbackZone: 주어진 안티패스백 구역을 제거합니다. BS2_RemoveAllAntiPassbackZone: 모든 안티패스백 구역을 제거합니다. BS2_ClearAntiPassbackZoneStatus: 주어진 사용자를 안티패스백 구역의 규칙을 위반하지 않은 상태로 갱신합니다. BS2_ClearAllAntiPassbackZoneStatus: 모든 사용자를 안티패스백 구역의 규칙을 위반하지 않은 상태로 갱신합니다. BS2_SetCheckGlobalAPBViolationHandler: 안티패스백 경보가 발생했을 때 글로벌 판정을 위해 콜백 함수를 등록합니다. BS2_CheckGlobalAPBViolation: 글로벌 안티패스백 판정 결과를 장치로 전송합니다. BS2_SetGlobalAPBViolationByDoorOpenHandler: [+ 2.7.0] 출입문 센서 기반의 안티패스백 경보가 발생했을 때 글로벌 판정을 위해 콜백 함수를 등록합니다. BS2_CheckGlobalAPBViolationByDoorOpen: [+ 2.7.0] 출입문 센서 기반의 글로벌 안티패스백 판정 결과를 장치로 전송합니다. 시간 지정 안티패스백 구역 사용자가 일정 시간내에 재진입하는 것을 막으려면, 인증 제한 구역을 사용합니다. 이 구역은 안티패스백 구역과 동일하게 두 가지 종류의 옵션(소프트, 하드)을 지원합니다. BS2_GetTimedAntiPassbackZone: 주어진 시간 지정 안티패스백 구역을 가져옵니다. BS2_GetAllTimedAntiPassbackZone: 모든 시간 지정 안티패스백 구역을 가져옵니다. BS2_GetTimedAntiPassbackZoneStatus: 주어진 시간 지정 안티패스백 구역의 상태 정보를 가져옵니다. BS2_GetAllTimedAntiPassbackZoneStatus: 모든 시간 지정 안티패스백 구역의 상태 정보를 가져옵니다. BS2_SetTimedAntiPassbackZone: 시간 지정 안티패스백 구역을 설정합니다. BS2_SetTimedAntiPassbackZoneAlarm: 시간 지정 안티패스백 구역의 경보 상태를 갱신합니다. BS2_RemoveTimedAntiPassbackZone: 주어진 시간 지정 안티패스백 구역을 제거합니다. BS2_RemoveAllTimedAntiPassbackZone: 모든 시간 지정 안티패스백 구역을 제거합니다. BS2_ClearTimedAntiPassbackZoneStatus: 주어진 사용자를 시간 지정 안티패스백 구역의 규칙을 위반하지 않은 상태로 갱신합니다. BS2_ClearAllTimedAntiPassbackZoneStatus: 모든 사용자를 시간 지정 안티패스백 구역의 규칙을 위반하지 않은 상태로 갱신합니다. 화재 경보 구역 출입 통제 구역에서 화재를 감지하고 경보를 제어하려면 화재 경보 구역을 사용합니다. 외부 입력 신호가 BioStar 시스템에 전달되면 BioStar는 자동으로 출입문을 개방하며 미리 정의한 경보를 수행합니다. BS2_GetFireAlarmZone: 주어진 화재 경보 구역을 가져옵니다. BS2_GetAllFireAlarmZone: 모든 화재 경보 구역을 가져옵니다.의 BS2_GetFireAlarmZoneStatus: 주어진 화재 경보 구역의 상태 정보를 가져옵니다. BS2_GetAllFireAlarmZoneStatus: 모든 화재 경보 구역의 상태 정보를 가져옵니다. BS2_SetFireAlarmZone: 화재 경보 구역을 설정합니다. BS2_SetFireAlarmZoneAlarm: 화재 경보 구역의 경보 상태를 갱신합니다. BS2_RemoveFireAlarmZone: 주어진 화재 경보 구역을 제거합니다. BS2_RemoveAllFireAlarmZone: 모든 화재 경보 구역을 제거합니다. 스케줄 잠금/개방 구역 시간에 따라 구역을 개방하거나 폐쇄하려면 스케줄 잠금/개방 구역을 사용합니다. 이 구역은 일정 시간동안 모든 출입문을 개방하는 정시간 개방 상태와, 일정 시간동안 모든 출입문을 폐쇄하는 정시간 폐쇄 상태로 배타적으로 동작합니다. BS2_GetScheduledLockUnlockZone: 주어진 스케줄 잠금/개방 구역을 가져옵니다. BS2_GetAllScheduledLockUnlockZone: 모든 스케줄 잠금/개방 구역을 가져옵니다. BS2_GetScheduledLockUnlockZoneStatus: 주어진 스케줄 잠금/개방 구역의 상태 정보를 가져옵니다. BS2_GetAllScheduledLockUnlockZoneStatus: 모든 스케줄 잠금/개방 구역의 상태 정보를 가져옵니다. BS2_SetScheduledLockUnlockZone: 스케줄 잠금/개방 구역을 설정합니다. BS2_SetScheduledLockUnlockZoneAlarm: 스케줄 잠금/개방 구역의 경보 상태를 갱신합니다. BS2_RemoveScheduledLockUnlockZone: 주어진 스케줄 잠금/개방 구역을 제거합니다. BS2_RemoveAllScheduledLockUnlockZone: 모든 스케줄 잠금/개방 구역을 제거합니다. 경비 경보 구역 경비 구역에서 침입이나 이상 신호가 발생할 경우 신호를 수신하여 대처하는 시스템으로 사용합니다. 외부 입력 신호가 BioStar 시스템에 전달되면 BioStar는 자동으로 미리 정의한 경보를 수행합니다. BS2_GetIntrusionAlarmZone: 주어진 경비 경보 구역을 가져옵니다. BS2_GetIntrusionAlarmZoneStatus: 주어진 경비 경보 구역의 상태 정보를 가져옵니다. BS2_GetAllIntrusionAlarmZoneStatus: 모든 경비 경보 구역의 상태 정보를 가져옵니다. BS2_SetIntrusionAlarmZone: 경비 경보 구역을 설정합니다. BS2_SetIntrusionAlarmZoneAlarm: 경비 경보 구역의 경보 상태를 갱신합니다. BS2_RemoveIntrusionAlarmZone: 주어진 경비 경보 구역을 제거합니다. BS2_RemoveAllIntrusionAlarmZone: 모든 경비 경보 구역을 제거합니다. BS2_SetIntrusionAlarmZoneArm: 경비 경보 구역 상태를 경비/경비해제를 설정합니다. 인터락 구역 [CoreStation] 이중 문으로 구성되어 다른 한 쪽 문을 통과하기 전에 반드시 반대 쪽이 닫혀 있어야 하는 경우 사용됩니다. 현재 CoreStation 만 이 기능을 지원하고 있습니다. BS2_GetInterlockZone: 주어진 인터락 구역을 가져옵니다. BS2_GetInterlockZoneStatus: 주어진 인터락 구역의 상태 정보를 가져옵니다. BS2_GetAllInterlockZoneStatus: 모든 인터락 구역의 상태 정보를 가져옵니다. BS2_SetInterlockZone: 인터락 구역을 설정합니다. BS2_SetInterlockZoneAlarm: 인터락 구역의 경보 상태를 갱신합니다. BS2_RemoveInterlockZone: 주어진 인터락 구역을 제거합니다. BS2_RemoveAllInterlockZone: 모든 인터락 구역을 제거합니다. Ethernet 구역 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이상)에서 지원합니다. BS2_GetDeviceZone: 주어진 Ethernet 구역을 가져옵니다. BS2_GetAllDeviceZone: 모든 Ethernet을 가져옵니다. BS2_SetDeviceZone: Ethernet 구역을 설정합니다. BS2_RemoveDeviceZone: 주어진 Ethernet 구역을 제거합니다. BS2_RemoveAllDeviceZone: 모든 Ethernet 구역을 제거합니다. BS2_SetDeviceZoneAlarm: Ethernet 구역의 경보 상태를 갱신합니다. BS2_ClearDeviceZoneAccessRecord: 주어진 사용자를 Ethernet 구역의 규칙을 위반하지 않은 상태로 갱신합니다. BS2_ClearAllDeviceZoneAccessRecord: 모든 사용자를 Ethernet 구역의 규칙을 위반하지 않은 상태로 갱신합니다. BS2_GetDeviceZoneAGEntranceLimit: 주어진 Ethernet Access Group 인증 제한 구역을 가져옵니다. BS2_GetAllDeviceZoneAGEntranceLimit: 모든 Ethernet Access Group 인증 제한 구역을 가져옵니다. BS2_SetDeviceZoneAGEntranceLimit: Ethernet Access Group 인증 제한 구역을 설정합니다. BS2_RemoveDeviceZoneAGEntranceLimit: 주어진 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스케줄 잠금/개방 구역을 제거합니다. 콜백 함수 OnCheckGlobalAPBViolation 안티패스백 경보가 발생했을 때 글로벌 판정을 위한 콜백 함수입니다. typedef void (*OnCheckGlobalAPBViolation)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth); 1. deviceId 장치 식별자입니다. 2. seq 패킷 일련번호입니다. 3. userID_1 첫 번째 사용자 ID 입니다. 4. userID_2 두 번째 사용자 ID 입니다. 5. isDualAuth 이중인증 여부를 의미합니다. OnCheckGlobalAPBViolationByDoorOpen 출입문 센서 기반의 안티패스백 경보가 발생했을 때, 인증정보를 바탕으로 글로벌 판정을 요청하는 1차 콜백 함수입니다. typedef void (*OnCheckGlobalAPBViolationByDoorOpen)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth); 1. deviceId 장치 식별자입니다. 2. seq 패킷 일련번호입니다. 3. userID_1 첫 번째 사용자 ID 입니다. 4. userID_2 두 번째 사용자 ID 입니다. 5. isDualAuth 이중인증 여부를 의미합니다. OnUpdateGlobalAPBViolationByDoorOpen 출입문 센서 기반의 안티패스백 경보가 발생했을 때, 최종 사용자 출입 상태의 업데이트를 요청하는 2차 콜백 함수입니다. typedef void (*OnUpdateGlobalAPBViolationByDoorOpen)(uint32_t deviceId, uint16_t seq, const char* userID_1, const char* userID_2, bool isDualAuth); 1. deviceId 장치 식별자입니다. 2. seq 패킷 일련번호입니다. 3. userID_1 첫 번째 사용자 ID 입니다. 4. userID_2 두 번째 사용자 ID 입니다. 5. isDualAuth 이중인증 여부를 의미합니다. 구조체 BS2ZoneStatus typedef struct { uint32_t id; uint8_t status; uint8_t disabled; uint8_t reserved[6]; } BS2ZoneStatus; 1. id 구역 식별자입니다. 2. status 구역의 현재 상태 값으로 여러 상태값으로 조합될 수 있습니다. 값 설명 0 정상, 경비해제 1 알람 발생 2 Scheduled locked, Lift locked 4 Scheduled unlocked, Lift unlocked 8 경비 3. disabled 비활성화 상태인지를 나타내는 flag 값입니다. 4. reserved 예약된 공간입니다. BS2ApbMember typedef struct { uint32_t deviceID; uint8_t type; uint8_t reserved[3]; } BS2ApbMember; 1. deviceID 장치 식별자입니다. 2. type APB reader 유형입니다. 값 설명 -1 정의되지 않음 0 입구 리더 1 출구 리더 3. reserved 예약된 공간입니다. BS2TimedApbMember typedef struct { uint32_t deviceID; uint8_t reserved[4]; } BS2TimedApbMember; 1. deviceID 장치 식별자입니다. 2. reserved 예약된 공간입니다. BS2FireSensor typedef struct { uint32_t deviceID; uint8_t port; uint8_t switchType; uint8_t duration; } BS2FireSensor ; 1. deviceID 장치 식별자입니다. 2. port 장치의 입력 포트입니다. 3. switchType 입력 신호 유형입니다. 값 설명 0 대기 상태에서 열림 상태로 유지 1 대기 상태에서 닫힘 상태로 유지 4. duration 입력 신호를 화재 경보 상태로 판단하기까지 걸리는 시간으로 millisecond 단위입니다. BS2AntiPassbackZone typedef struct { uint32_t zoneID; char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t type; uint8_t numReaders; uint8_t numBypassGroups; uint8_t disabled; uint8_t alarmed; uint8_t reserved[3]; uint32_t resetDuration; BS2Action alarm[BS2_MAX_APB_ALARM_ACTION]; BS2ApbMember readers[BS2_MAX_READERS_PER_APB_ZONE]; uint8_t reserved2[512]; uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_PER_APB_ZONE]; } BS2AntiPassbackZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 주의 이중 출입 구역의 식별자와 출입문 식별자가 같을 경우 출입문 기반 이중 출입 구역으로 간주하기 때문에 해당 출입문이 제거될 때 구역 정보도 같이 제거될 수 있습니다. 2. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 3. type 안티패스백 구역의 유형입니다. 값 설명 0 Hard APB(규칙 위반시 출입이 불가능하고 로그에 기록됨) 1 Soft APB(규칙 위반시 출입은 허용하고 로그에 기록됨) 4. numReaders APB reader의 총 개수입니다. 5. numBypassGroups APB 규칙을 적용하지 않는 출입 그룹 식별자의 총 개수입니다 . 6. disabled 활성화 여부 flag값입니다 . 7. alarmed 현재 구역의 경보 상태입니다. 8. reserved 예약된 공간입니다. 9. resetDuration APB 위반 상황이 초기화(해제) 될 때까지의 시간을 의미하며, 초 단위로 설정 합니다. 이때 초기화에 소요되는 시간은 마지막 인증이 성공한 시간을 기준으로 계산됩니다. 만일 이 값이 0으로 설정되었다면 초기화하지 않는 것을 의미하며, BS2_ClearAntiPassbackZoneStatus로 초기화 할 수 있습니다. 10. alarm 사용자가 APB 규칙을 위반했을때 동작할 경보로 최대 5개까지 설정할 수 있습니다. 11. readers 안티패스백 구역에 속한 장치들을 나열한 리스트로 최대 64개까지 지정할 수 있습니다. 12. reserved2 예약된 공간입니다. 13. bypassGroupIDs APB 규칙을 적용하지 않는 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다. BS2TimedAntiPassbackZone typedef struct { uint32_t zoneID; char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t type; uint8_t numReaders; uint8_t numBypassGroups; uint8_t disabled; uint8_t alarmed; uint8_t reserved[3]; uint32_t resetDuration; BS2Action alarm[BS2_MAX_TIMED_APB_ALARM_ACTION]; BS2TimedApbMember readers[BS2_MAX_READERS_PER_TIMED_APB_ZONE]; uint8_t reserved2[320]; uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_PER_TIMED_APB_ZONE]; } BS2TimedAntiPassbackZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 3. type 시간 지정 안티패스백 구역의 유형입니다. 값 설명 0 Hard APB(규칙 위반시 출입이 불가능하고 로그에 기록됨) 1 Soft APB(규칙 위반시 출입은 허용하고 로그에 기록됨) 4. numReaders 시간 지정 안티패스백 reader의 총 개수입니다. 5. numBypassGroups 시간 지정 안티패스백 규칙을 적용하지 않는 출입 그룹 식별자의 총 개수입니다 . 6. disabled 활성화 여부 flag값입니다 . 7. alarmed 현재 구역의 경보 상태입니다. 8. reserved 예약된 공간입니다. 9. resetDuration 사용자가 출입 후 동일 장치에 다시 출입하기 위해 대기해야 하는 시간으로 초 단위로 설정할 수 있습니다. 만약, 이 값이 0으로 설정되었다면 초기화하지 않는것을 의미하며, 오직 BioStar 애플리케이션을 통해서만 초기화될 수 있습니다. 10. alarm 사용자가 시간 지정 안티패스백 규칙을 위반했을때 동작할 경보로 최대 5개까지 설정할 수 있습니다. 11. readers 시간 지정 안티패스백 구역에 속한 장치들을 나열한 리스트로 최대 64개까지 지정할 수 있습니다. 12. reserved2 예약된 공간입니다. 13. bypassGroupIDs 시간 지정 안티패스백 규칙을 적용하지 않는 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다. BS2FireAlarmZone typedef struct { uint32_t zoneID; char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t numSensors; uint8_t numDoors; uint8_t disabled; uint8_t alarmed; uint8_t reserved[8]; BS2FireSensor sensor[BS2_MAX_FIRE_SENSORS_PER_FIRE_ALARM_ZONE]; BS2Action alarm[BS2_MAX_FIRE_ALARM_ACTION]; uint8_t reserved2[32]; uint32_t doorIDs[BS2_MAX_DOORS_PER_FIRE_ALARM_ZONE]; } BS2FireAlarmZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 3. numSensors 화재 경보 센서의 총 개수입니다. 4. numDoors 화재 경보 구역에 속한 총 출입문 개수입니다. 5. alarmed 현재 구역의 경보 상태입니다. 6. disabled 활성화 여부 flag값입니다 . 7. reserved 예약된 공간입니다. 8. sensor 화재 경보 구역에 속한 화재 경보 센서들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다. 9. alarm 화재를 감지했을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다. 10. reserved2 예약된 공간입니다. 11. doorIDs 화재를 감지했을 때 열어야 할 출입문들을 나열한 리스트로 최대 32개까지 지정할 수 있습니다. BS2ScheduledLockUnlockZone typedef struct { uint32_t zoneID; char name[BS2_MAX_ZONE_NAME_LEN]; uint32_t lockScheduleID; uint32_t unlockScheduleID; uint8_t numDoors; uint8_t numBypassGroups; uint8_t numUnlockGroups; uint8_t bidirectionalLock; uint8_t disabled; uint8_t alarmed; uint8_t reserved[6]; BS2Action alarm[BS2_MAX_SCHEDULED_LOCK_UNLOCK_ALARM_ACTION]; uint8_t reserved2[32]; uint32_t doorIDs[BS2_MAX_DOORS_IN_SCHEDULED_LOCK_UNLOCK_ZONE]; uint32_t bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_IN_SCHEDULED_LOCK_UNLOCK_ZONE]; uint32_t unlockGroupIDs[BS2_MAX_UNLOCK_GROUPS_IN_SCHEDULED_LOCK_UNLOCK_ZONE]; } BS2ScheduledLockUnlockZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 3. lockScheduleID 구역에 속한 출입문이 스케줄 잠금 상태로 동작해야 할 출입 일정 식별자입니다. 4. unlockScheduleID 구역에 속한 출입문이 스케줄 개방 상태로 동작해야 할 출입 일정 식별자입니다. 5. numDoors 구역에 속한 출입문의 총 개수입니다. 6. numBypassGroups 스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹의 총 개수입니다. 7. numUnlockGroups 스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹의 총 개수입니다. 8. bidirectionalLock 강제 잠금 상태에서 출입문의 입구 장치와 출구 장치에서 모두 출입을 막아야 하는지 여부입니다. 9. disabled 활성화 여부 flag값입니다 . 10. alarmed 현재 구역의 경보 상태입니다. 11. reserved 예약된 공간입니다. 12. alarm 구역 규칙을 위반하였을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다. 13. reserved2 예약된 공간입니다. 14. doorIDs 구역에 속한 출입문 식별자를 나열한 리스트로 최대 32개까지 설정할 수 있습니다. 15. bypassGroupIDs 스케줄 잠금 상태에서도 출입을 허용하는 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다. 16. unlockGroupIDs 스케줄 개방 일정에서 모든 출입문을 열 수 있는 권한을 가진 출입 그룹 식별자를 나열한 리스트로 최대 16개까지 설정할 수 있습니다. BS2IntrusionAlarmZone typedef struct { uint32_t zoneID; char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t armDelay; uint8_t alarmDelay; uint8_t disabled; uint8_t reserved[1]; uint8_t numReaders; uint8_t numInputs; uint8_t numOutputs; uint8_t numCards; uint8_t numDoors; uint8_t numGroups; uint8_t reserved2[10]; } BS2IntrusionAlarmZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 3. armDelay 경비 수행 지연시간입니다. 4. alarmDelay 경비 해제 수행 지연시간입니다. 5. disabled 활성화 여부 flag값입니다 . 6. reserved[1] 예약된 공간입니다. 7. numReaders 경비 경보 구역에 속한 장치들의 총 개수입니다. 8. numInputs 경비 경보 구역에 속한 침입감지센서 입력의 총 개수입니다. 9. numOutputs 경비 경보 구역에 속한 출력의 총 개수입니다. 10. numCards 경비 경보 구역에 속한 카드의 총 개수입니다. 11. numDoors 경비 경보 구역에 속한 출입문의 총 개수입니다. 12. numGroups 경비 경보 구역에 속한 출입그룹의 총 개수입니다. 13. reserved 예약된 공간입니다. BS2IntrusionAlarmZoneBlob typedef struct { BS2IntrusionAlarmZone IntrusionAlarmZone; BS2AlarmZoneMember* memberObjs; BS2AlarmZoneInput* inputObjs; BS2AlarmZoneOutput* outputObjs; BS2CSNCard* cardObjs; BS2_DOOR_ID* doorIDs; BS2_ACCESS_GROUP_ID* groupIDs; } BS2IntrusionAlarmZoneBlob; 1. IntrusionAlarmZone 경비 경보 구역의 기본 정보를 정의한 구조체입니다. 2. memberObjs 경비 경보 구역에 속한 장치들을 나열한 리스트로 반드시 IntrusionAlarmZone.numReaders만큼 존재해야 합니다. 3. inputObjs 경비 경보 구역에 속한 입력들을 나열한 리스트로 반드시 IntrusionAlarmZone.numInputs만큼 존재해야 합니다. 4. outputObjs 경비 경보 구역에 속한 출력들을 나열한 리스트로 반드시 IntrusionAlarmZone.numOutputs만큼 존재해야 합니다. 데이터 형식은 5. cardObjs 경비 경보 구역에 속한 카드들을 나열한 리스트로 반드시 IntrusionAlarmZone.numCards만큼 존재해야 합니다. 데이터 형식은 Smartcard API를 참고하십시오. 6. doorIDs 경비 경보 구역에 속한 출입문 식별자를 나열한 리스트로 반드시 IntrusionAlarmZone.numDoors만큼 존재해야 합니다. 7. groupIDs 경비 경보 구역을 위한 출입 그룹 식별자를 나열한 리스트로 반드시 IntrusionAlarmZone.numGroups만큼 존재해야 합니다. BS2InterlockZone typedef struct { uint32_t zoneID; char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t disabled; uint8_t numInputs; uint8_t numOutputs; uint8_t numDoors; uint8_t reserved[8]; } BS2InterlockZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 3. disabled 활성화 여부 flag값입니다 . 4. numInputs 인터락 구역에 속한 출입문 센서 입력의 총 개수입니다. 5. numOutputs 인터락 구역에 속한 출력의 총 개수입니다. 6. numDoors 인터락 구역에 속한 출입문의 총 개수입니다. 7. reserved 예약된 공간입니다. BS2InterlockZoneBlob typedef struct { BS2InterlockZone InterlockZone; BS2InterlockZoneInput* inputObjs; BS2InterlockZoneOutput* outputObjs; BS2_DOOR_ID* doorIDs; } BS2InterlockZoneBlob; 1. InterlockZone 인터락 구역의 기본 정보를 정의한 구조체입니다. 2. inputObjs 인터락 구역에 속한 입력들을 나열한 리스트로 반드시 InterlockZone.numInputs만큼 존재해야 합니다. 3. outputObjs 인터락 구역에 속한 출력들을 나열한 리스트로 반드시 InterlockZone.numOutputs만큼 존재해야 합니다. 4. doorIDs 인터락 구역에 속한 출입문 식별자를 나열한 리스트로 반드시 InterlockZone.numDoors만큼 존재해야 합니다. BS2DeviceZoneEntranceLimitMaster typedef struct { char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t type; uint8_t reserved1[3]; uint32_t entryLimitInterval_s; uint8_t numEntranceLimit; uint8_t numReaders; uint8_t numAlarm; uint8_t numBypassGroups; uint8_t maxEntry[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE]; uint32_t periodStart_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE]; uint32_t periodEnd_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE]; BS2DeviceZoneEntranceLimitMemberInfo readers[BS2_MAX_READERS_PER_DEVICE_ZONE_ENTRANCE_LIMIT]; BS2Action alarm[BS2_MAX_DEVICE_ZONE_ENTRANCE_LIMIT_ALARM_ACTION]; BS2_ACCESS_GROUP_ID bypassGroupIDs[BS2_MAX_BYPASS_GROUPS_PER_DEVICE_ZONE_ENTRANCE_LIMIT]; uint8_t reserved3[8 * 4]; } BS2DeviceZoneEntranceLimitMaster; 1. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 2. type 인증 제한 구역의 유형입니다 값 설명 1 Soft EntranceLimit(규칙 위반시 출입이 불가능하고 로그에 기록됨) 2 Hard EntranceLimit(규칙 위반시 출입은 허용하고 로그에 기록됨) 3. reserved1[3] 예약된 공간입니다. 4. entryLimitInterval_s 인증 출입간의 간격입니다. 5. numEntranceLimit 인증 제한 총 개수입니다. 6. numReaders 인증 제한 구역 reader의 총 개수입니다. 7. numAlarm 인증 제한 구역 경보의 총 개수입니다. 8. numBypassGroups 인증 제한 구역 규칙을 적용하지 않는 출입 그룹 식별자의 총 개수입니다. 9. maxEntry 출입 지정 최대 횟수입니다. 10. periodStart_s 출입 가능한 시작 시간입니다. (초단위) 11. periodEnd_s 출입 가능한 종료 시간입니다. (초단위) 12. readers 인증 제한 구역에 속한 장치들을 나열한 리스트로 최대 64개까지 지정할 수 있습니다. 13. alarm 구역 규칙을 위반하였을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다. 14. bypassGroupIDs 인증 제한 규칙을 적용하지 않는 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다. 15. reserved3 예약된 공간입니다. BS2DeviceZoneEntranceLimitMember typedef struct { uint16_t masterPort; BS2_DEVICE_ZONE_ENTRANCE_LIMIT_DISCONNECTED_ACTION_TYPE actionInDisconnect; uint8_t reserved1[1]; BS2_IPV4_ADDR masterIP; } BS2DeviceZoneEntranceLimitMember; 1. masterPort master 장치의 port입니다. 2. actionInDisconnect Disconnect일때의 액션입니다 . 값 설명 1 Soft EntranceLimit Disconnected action(규칙 위반시 출입이 불가능하고 로그에 기록됨) 2 Hard EntranceLimit Disconnected action(규칙 위반시 출입은 허용하고 로그에 기록됨) 3. reserved1[3] 예약된 공간입니다. 4. masterIP master 장치의 IP입니다. BS2DeviceZoneFireAlarmMaster typedef struct { char name[BS2_MAX_ZONE_NAME_LEN]; uint8_t numReaders; uint8_t numAlarm; uint8_t reserved1[2]; BS2DeviceZoneFireAlarmMemberInfo readers[BS2_MAX_READERS_PER_DEVICE_ZONE_FIRE_ALARM]; BS2Action alarm[BS2_MAX_DEVICE_ZONE_FIRE_ALARM_ALARM_ACTION]; uint8_t reserved2[8 * 40]; } BS2DeviceZoneFireAlarmMaster; 1. name BioStar 애플리케이션에서 보여줄 구역 이름입니다. 2. numReaders 화재 경보 구역에 속한 장치의 총 개수입니다. 3. reserved1 예약된 공간입니다. 4. readers 화재 경보 구역에 속한 장치입니다. 5. alarm 화재를 감지했을 때 동작할 경보로 최대 5개까지 설정할 수 있습니다 6. reserved2 예약된 공간입니다. BS2DeviceZoneFireAlarmMember typedef struct { BS2_PORT masterPort; uint8_t reserved1[2]; BS2_IPV4_ADDR masterIP; uint8_t numSensors; uint8_t numDoors; uint8_t reserved2[2]; BS2DeviceZoneFireSensor sensor[BS2_MAX_FIRE_SENSORS_PER_DEVICE_ZONE_FIRE_ALARM_MEMBER]; union { BS2_DOOR_ID doorIDs[BS2_MAX_DOORS_PER_DEVICE_ZONE_FIRE_ALARM_MEMBER]; BS2_LIFT_ID liftIDs[BS2_MAX_DOORS_PER_DEVICE_ZONE_FIRE_ALARM_MEMBER]; }; } BS2DeviceZoneFireAlarmMember; 1. masterPort master 장치의 port입니다. 2. reserved1 예약된 공간입니다. 3. masterIP master 장치의 IP입니다. 4. numSensors 화재 경보 센서의 총 개수입니다. 5. numDoors 화재 경보 구역에 속한 총 출입문 개수입니다. 6. reserved2 예약된 공간입니다. 7. sensor 화재 경보 구역에 속한 화재 경보 센서들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다. 8. doorIDs 화재를 감지했을 때 열어야 할 출입문들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다. 9. liftIDs 화재를 감지했을 때 열어야 할 Lift들을 나열한 리스트로 최대 8개까지 지정할 수 있습니다. BS2DeviceZoneFireAlarmMemberInfo typedef struct { uint32_t readerID; } BS2DeviceZoneFireAlarmMemberInfo; 1. readerID 화재 경보에 속한 장치입니다. BS2DeviceZoneFireSensor typedef struct { uint32_t deviceID; uint8_t port; uint8_t switchType; uint16_t duration; } BS2DeviceZoneFireSensor; 1. deviceID 장치 식별자입니다. 2. port 장치의 입력 포트입니다. 3. switchType 입력 신호 유형입니다. 값 설명 0 대기 상태에서 열림 상태로 유지 1 대기 상태에서 닫힘 상태로 유지 4. duration 입력 신호를 화재 경보 상태로 판단하기까지 걸리는 시간으로 millisecond 단위입니다. BS2DeviceZone typedef struct { uint32_t zoneID; uint8_t zoneType; uint8_t nodeType; uint8_t enable; uint8_t reserved[1]; union { BS2DeviceZoneEntranceLimitMaster entranceLimitMaster; BS2DeviceZoneEntranceLimitMember entranceLimitMember; BS2DeviceZoneFireAlarmMaster fireAlarmMaster; BS2DeviceZoneFireAlarmMember fireAlarmMember; }; } BS2DeviceZone; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. zoneType 경비 수행 지연시간입니다. 3. nodeType 경비 해제 수행 지연시간입니다. 4. enable 활성화 여부 flag값입니다 . 5. reserved[1] 예약된 공간입니다. BS2DeviceZoneAGEntranceLimit typedef struct { uint32_t zoneID; uint16_t numAGEntranceLimit; uint16_t reserved1; uint32_t periodStart_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE]; uint32_t periodEnd_s[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE]; uint16_t numEntry[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE]; uint16_t maxEntry[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE][BS2_MAX_ACCESS_GROUP_ENTRANCE_LIMIT_PER_ENTRACE_LIMIT]; uint32_t accessGroupID[BS2_MAX_ENTRANCE_LIMIT_PER_ZONE][BS2_MAX_ACCESS_GROUP_ENTRANCE_LIMIT_PER_ENTRACE_LIMIT]; } BS2DeviceZoneAGEntranceLimit; 1. zoneID 구역 식별자로 항상 1이상의 값을 가져야 합니다. 2. numAGEntranceLimit 출입그룹 인증 제한 총 개수입니다. 3. reserved1 예약된 공간입니다. 4. periodStart_s 출입 가능한 시작 시간입니다. 5. periodEnd_s 출입 가능한 종료 시간입니다. 6. numEntry 출입 총 개수입니다. 7. maxEntry 출입 지정 최대 횟수입니다. 8. accessGroupID 출입 그룹 식별자 리스트로 최대 16개까지 지정할 수 있습니다 BS2DeviceZoneMasterConfig typedef struct { bool enable; uint8_t reserved1[1]; uint16_t listenPort; uint8_t reserved[4]; } BS2DeviceZoneMasterConfig; 1. enable 활성화 여부 flag값입니다. 2. reserved1 예약된 공간입니다. 3. listenPort Slave 장치들로부터 연결되어질 TCP/IP port 정보입니다. 4. reserved 예약된 공간입니다. BS2LiftFloors typedef struct { uint32_t liftID; uint16_t numFloors; uint16_t reserved; uint8_t floorIndices[256]; } BS2LiftFloors; 1. liftID lift 식별자로 항상 1이상의 값을 가져야 합니다. 2. numFloors floorIndices의 개수입니다. 3. reserved 예약된 공간입니다. 4. floorIndices BS2Lift의 BS2LiftFloor 255개 배열에서 원하는 floor 정보의 인덱스 값을 이곳에서 순서대로 나열합니다. 예를들어, 1, 3, 5, 9번째 BS2LiftFloor 정보로 scheduled lock/unlock 구역의 멤버 floor를 구성하고 싶다면, floorIndices[0]부터 순서대로 1, 3, 5, 9로 지정되어야 합니다. BS2LiftLockUnlockZone 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; 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개까지 설정할 수 있습니다.