본문으로 건너뛰기

Zone Control API

하나의 관리 지역을 특정 목적에 맞게 여러 구역으로 나눠 출입을 통제할 수 있습니다. 구역을 설정하면 출입 인증 장치, 출입문의 동작을 제어할 수 있습니다.



콜백 함수​

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알람 발생
    2Scheduled locked, Lift locked
    4Scheduled 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

    안티패스백 구역의 유형입니다.

    값설명
    0Hard APB(규칙 위반시 출입이 불가능하고 로그에 기록됨)
    1Soft 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

    시간 지정 안티패스백 구역의 유형입니다.

    값설명
    0Hard APB(규칙 위반시 출입이 불가능하고 로그에 기록됨)
    1Soft 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

    인증 제한 구역의 유형입니다

    값설명
    1Soft EntranceLimit(규칙 위반시 출입이 불가능하고 로그에 기록됨)
    2Hard 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일 때의 액션입니다 .

    값설명
    1Soft EntranceLimit Disconnected action(규칙 위반시 출입이 불가능하고 로그에 기록됨)
    2Hard 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개까지 설정할 수 있습니다.

이 페이지가 도움이 되었나요?