1
간이스프링클러설비의 화재안전기준(NFSC 103A) 제 8 조
제8조(배관 및 밸브) ① 배관은 다음 각 호의 어느 하나에 해당하는 것을 사용하여야 하며 배관 이음은 각 배관과 동등 이상의 성능에 적합한 배관이음쇠를 사용하고 배관용 스테인리스강관(KS D 3576)의 이음을 용접으로 할 경우에는 알곤용접방식에 따른다. 다만, 상수도직결형에 사용하는 배관 및 밸브는 「수도법」제14조(수도용 자재와 제품의 인증 등)에 적합한 제품을 사용하여야 한다. <개정 2011.11.24, 2013.6.10> 1. 배관 내 사용압력이 1.2 ㎫ 미만일 경우에는 다음 각 목의 어느 하나에 해당하는 것 또는 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10> 가. 배관용 탄소강관(KS D 3507) 나. 이음매 없는 구리 및 구리합금관(KS D 5301). 다만, 습식의 배관에 한한다. 다. 배관용 스테인리스강관(KS D 3576) 또는 일반배관용 스테인리스강관(KS D 3595) 2. 배관 내 사용압력이 1.2 ㎫ 이상일 경우에는 압력배관용탄소강관(KS D 3562) 또는 이와 동등 이상의 강도·내식성 및 내열성을 가진 것<신설 2013.6.10> ② 제1항에도 불구하고 다음 각 호의 어느 하나에 해당하는 장소에는 국민안전처장관이 정하여 고시한 「소방용합성수지배관의 성능인증 및 제품검사의 기술기준」에 적합한 소방용 합성수지배관으로 설치할 수 있다.<개정 2013.6.10, 2015.1.23.> 1. 배관을 지하에 매설하는 경우 2. 다른 부분과 내화구조로 구획된 덕트 또는 피트의 내부에 설치하는 경우 3. 천장(상층이 있는 경우에는 상층바닥의 하단을 포함한다. 이하 같다)과 반자를 불연재료 또는 준불연재료로 설치하고 그 내부에 습식으로 배관을 설치하는 경우 ③ 급수배관은 다음 각 호의 기준에 따라 설치하여야 한다. 1. 전용으로 할 것. 다만, 상수도직결형의 경우에는 수도배관 호칭지름 32㎜ 이상의 배관이어야 하고, 간이헤드가 개방될 경우에는 유수신호 작동과 동시에 다른 용도로 사용하는 배관의 송수를 자동 차단할 수 있도록 하여야 하며, 배관과 연결되는 이음쇠 등의 부속품은 물이 고이는 현상을 방지하는 조치를 하여야 한다. <개정 2011.11.24> ⑤ 연결송수관설비의 배관과 겸용할 경우의 주배관은 구경 100㎜ 이상, 방수구로 연결되는 배관의 구경은 65㎜ 이상의 것으로 하여야 한다. ⑥ 펌프의 성능은 체절운전 시 정격토출압력의 140%를 초과하지 아니하고, 정격토출량의 150%로 운전 시 정격토출압력의 65% 이상이 되어야 하며, 펌프의 성능시험배관은 다음 각호의 기준에 적합하여야 한다. 1. 성능시험배관은 펌프의 토출측에 설치된 개폐밸브 이전에서 분기하여 설치하고, 유량측정장치를 기준으로 전단 직관부에 개폐밸브를 후단 직관부에는 유량조절밸브를 설치할 것 2. 유량측정장치는 성능시험배관의 직관부에 설치하되, 펌프의 정격토출량의 175% 이상 측정할 수 있는 성능이 있을 것 ⑦가압송수장치의 체절운전 시 수온의 상승을 방지하기 위하여 체크밸브와 펌프사이에서 분기한 구경 20㎜ 이상의 배관에 체절압력 미만에서 개방되는 릴리프밸브를 설치하여야 한다. ⑧ 동결방지조치를 하거나 동결의 우려가 없는 장소에 설치하여야 한다. 다만, 보온재를 사용할 경우에는 난연재료 성능 이상의 것으로 하여야 한다.<개정 2015.1.23.> ⑨ 가지배관의 배열은 다음 각 호의 기준에 따른다. 1. 토너먼트(tournament)방식이 아닐 것 2. 교차배관에서 분기되는 지점을 기점으로 한쪽 가지배관에 설치되는 간이헤드의 개수(반자 아래와 반자속의 헤드를 하나의 가지배관 상에 병설하는 경우에는 반자 아래에 설치하는 헤드의 개수)는 8개 이하로 할 것. 다만, 다음 각 목의 어느 하나에 해당하는 경우에는 그러하지 아니하다. 가. 기존의 방호구역 안에서 칸막이 등으로 구획하여 1개의 간이헤드를 증설하는 경우 나. 격자형 배관방식(2 이상의 수평주행배관 사이를 가지배관으로 연결하는 방식을 말한다)을 채택하는 때에는 펌프의 용량, 배관의 구경 등을 수리학적으로 계산한 결과 간이헤드의 방수압 및 방수량이 소화목적을 달성하는 데 충분하다고 인정되는 경우 <개정 2011.11.24> 3. 가지배관과 간이헤드 사이의 배관을 신축배관으로 하는 경우에는 국민안전처장관이 정하여 고시한 「스프링클러설비신축배관 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치할 것. 이 경우 신축배관의 설치길이는 국민안전처장관이 정하여 고시한「스프링클러설비의 화재안전기준」제10조제3항의 거리를 초과하지 아니할 것 [본호 전문개정 2015.1.23.] ⑩ 가지배관에 하향식간이헤드를 설치하는 경우에 가지배관으로부터 간이헤드에 이르는 헤드접속배관은 가지관상부에서 분기할 것. 다만, 소화설비용 수원의 수질이「먹는물관리법」제5조에 따라 먹는물의 수질기준에 적합하고 덮개가 있는 저수조로부터 물을 공급받는 경우에는 가지배관의 측면 또는 하부에서 분기할 수 있다. <개정 2011.11.24> ⑪ 준비작동식유수검지장치를 사용하는 간이스프링클러설비에 있어서 유수검지장치 2차측 배관의 부대설비는 다음 각 호의 기준에 따른다.<신설 2013.6.10> 1. 개폐표시형밸브를 설치할 것 2. 제1호에 따른 밸브와 준비작동식유수검지장치 사이의 배관은 다음 각 목과 같은 구조로 할 것 가. 수직배수배관과 연결하고 동 연결배관상에는 개폐밸브를 설치할 것 나. 자동배수장치 및 압력스위치를 설치할 것 다. 나목에 따른 압력스위치는 수신부에서 준비작동식유수검지장치의 개방여부를 확인할 수 있게 설치할 것 ⑫ 간이스프링클러설비에는 유수검지장치를 시험할 수 있는 시험 장치를 다음 각 호의 기준에 따라 설치하여야 한다. 다만, 준비작동식유수검지장치를 설치하는 부분은 그러하지 아니하다.<개정 2008.12.15, 2011.11.24, 2013.6.10> 1. 유수검지장치에서 가장 먼 가지배관의 끝으로부터 연결·설치할 것 2. 시험장치배관의 구경은 유수검지장치에서 가장 먼 가지배관의 구경과 동일한 구경으로 하고, 그 끝에 개방형간이헤드를 설치할 것. 이 경우 개방형간이헤드는 반사판 및 프레임을 제거한 오리피스만으로 설치할 수 있다. 3. 시험배관의 끝에는 물받이 통 및 배수관을 설치하여 시험 중 방사된 물이 바닥에 흘러내리지 아니하도록 하여야 한다. 다만, 목욕실·화장실 또는 그 밖의 곳으로서 배수처리가 쉬운 장소에 시험배관을 설치한 경우에는 그러하지 아니하다. ⑬ 배관에 설치되는 행가는 다음 각 호의 기준에 따라 설치하여야 한다. 1. 가지배관에는 간이헤드의 설치지점 사이마다 1개 이상의 행가를 설치하되, 간이헤드간의 거리가 3.5m를 초과하는 경우에는 3.5m 이내마다 1개 이상 설치할 것. 이 경우 상향식간이헤드와 행가 사이에는 8㎝ 이상의 간격을 두어야 한다. 2. 교차배관에는 가지배관과 가지배관 사이마다 1개 이상의 행가를 설치하되, 가지배관 사이의 거리가 4.5m를 초과하는 경우에는 4.5m이내마다 1개 이상 설치할 것 3. 제1호 및 제2호의 수평주행배관에는 4.5m 이내마다 1개 이상 설치할 것 ⑭ 급수배관에 설치되어 급수를 차단할 수 있는 개폐밸브에는 그 밸브의 개폐상태를 감시제어반에서 확인할 수 있도록 급수개폐밸브 작동표시 스위치를 다음 각 호의 기준에 따라 설치하여야 한다. 1. 급수개폐밸브가 잠길 경우 탬퍼스위치의 동작으로 인하여 감시제어반 또는 수신기에 표시 되어야 하며 경보음을 발할 것 2. 탬퍼스위치는 감시제어반 또는 수신기에서 동작의 유무확인과 동작시험, 도통시험을 할 수 있을 것 3. 급수개폐밸브의 작동표시 스위치에 사용되는 전기배선은 내화전선 또는 내열전선으로 설치할 것 ⑮ 간이스프링클러설비 배관의 배수를 위한 기울기는 다음 각 호의 기준에 따른다. 2. 급수를 차단할 수 있는 개폐밸브는 개폐표시형으로 할 것. 이 경우 펌프의 흡입측배관에는 버터플라이밸브외의 개폐표시형밸브를 설치하여야 한다. 3. 배관의 구경은 제5조제1항에 적합하도록 수리계산에 의하거나 별표 1의 기준에 따라 설치할 것. 다만, 수리계산에 의하는 경우 가지배관의 유속은 6㎧, 그 밖의 배관의 유속은 10㎧를 초과할 수 없다. ④ 펌프의 흡입측배관은 다음 각 호의 기준에 따라 설치하여야 한다. 1. 공기고임이 생기지 아니하는 구조로 하고 여과장치를 설치할 것 2. 수조가 펌프보다 낮게 설치된 경우에는 각 펌프(충압펌프를 포함한다)마다 수조로부터 별도로 설치할 것 1. 간이스프링클러설비의 배관을 수평으로 할 것. 다만, 배관의 구조상 소화수가 남아 있는 곳에는 배수밸브를 설치하여야 한다.<개정 2011.11.24> 2. 삭제 <2011.11.24> <16> 간이스프링클러설비의 배관 및 밸브 등의 순서는 다음 각 호의 기준에 따라 설치하여야 한다. 1. 상수도직결형은 다음 각 목의 기준에 따라 설치할 것<개정 2011.11.24> 가. 수도용계량기, 급수차단장치, 개폐표시형밸브, 체크밸브, 압력계, 유수검지장치(압력스위치 등 유수검지장치와 동등 이상의 기능과 성능이 있는 것을 포함한다. 이하 같다), 2개의 시험밸브의 순으로 설치할 것 <개정 2011.11.24> 나. 간이스프링클러설비 이외의 배관에는 화재시 배관을 차단할 수 있는 급수차단장치를 설치할 것 <개정 2011.11.24> 2. 펌프 등의 가압송수장치를 이용하여 배관 및 밸브 등을 설치하는 경우에는 수원, 연성계 또는 진공계(수원이 펌프보다 높은 경우를 제외한다. 이하 같다), 펌프 또는 압력수조, 압력계, 체크밸브, 성능시험배관, 개폐표시형밸브, 유수검지장치, 시험밸브의 순으로 설치할 것 <개정 2011.11.24> 가. 삭제 <2011.11.24> 나. 삭제 <2011.11.24> 3. 가압수조를 가압송수장치로 이용하여 배관 및 밸브등을 설치하는 경우에는 수원, 가압수조, 압력계, 체크밸브, 성능시험배관, 개폐표시형밸브, 유수검지장치, 2개의 시험밸브의 순으로 설치할 것 <개정 2011.11.24> 가. 삭제 <2011.11.24> 나. 삭제 <2011.11.24> 4. 캐비닛형의 가압송수장치에 배관 및 밸브 등을 설치하는 경우에는 수원, 연성계 또는 진공계(수원이 펌프보다 높은 경우를 제외한다. 이하 같다), 펌프 또는 압력수조, 압력계, 체크밸브, 개폐표시형밸브, 2개의 시험밸브의 순으로 설치할 것. 다만, 소화용수의 공급은 상수도와 직결된 바이패스관 또는 펌프에서 공급받아야 한다. <신설 2011.11.24, 개정 2013.6.10> <17> 배관은 다른 설비의 배관과 쉽게 구분이 될 수 있는 위치에 설치하거나 그 배관표면 또는 배관 보온재표면은 「한국산업표준(배관계의 식별 표시,KS A 0503)」 또는 적색으로 식별이 가능하도록 소방용설비의 배관임을 표시하여야 한다.<개정 2008.12.15, 2013.6.10> <18> 분기배관을 사용할 경우에는 국민안전처장관이 정하여 고시한「분기배관의 성능인증 및 제품검사의 기술기준」에 적합한 것으로 설치하여야 한다.<개정 2013.6.10, 2015.1.23.>
//간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 Check(NFSC503A_8_1){ getResult(NFSC503A_8_1_1)=TRUE getResult(NFSC503A_8_1_2)=TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호 Check(NFSC503A_8_1_1){ IF CS THEN KS } CS{ isObjectProperty(Pipe.workingPressure) < 1.2 } KS{ getResult(NFSC503A_8_1_1_가)=TRUE getResult(NFSC503A_8_1_1_나)=TRUE getResult(NFSC503A_8_1_1_다)=TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호
Check(NFSC503A_8_1_1_가){
KS
}
KS{
getObjectProperty(Pipe.Material) = "KS_D_3507"
} //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호 Check(NFSC503A_8_1_1_나){ IF CS THEN KS } CS{ isObjectProperty(Pipe.systemType) = "WetPipeSprinklerSystem" } KS{ getObjectProperty(Pipe.Material) = "KS_D_5301" } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 1호 Check(NFSC503A_8_1_1_다){ KS } KS{ getObjectProperty(Pipe.Material) = "KS_D_3595" } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 1항 2호 Check(NFSC503A_8_1_2){ IF CS THEN KS } CS{ isObjectProperty(Pipe.workingPressure) >= 1.2 } KS{ getObjectProperty(Pipe.Material) = "KS D 3562" } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항 Check(NFSC503A_8_2){ IF CS THEN KS1 OR KS2 } CS{ getResult(NFSC503A_8_2_2) = TRUE OR getResult(NFSC503A_8_2_3) = TRUE } KS1{ getResult(NFSC503A_8_1) = TRUE } KS2{ isObjectProperty(Pipe.isSyntheticResinForfirefighting) = TRUE } Check(NFSC103A_8_2_2){ KS } KS{ Duct myDcut{ isFireResistantStructure(Duct) = TRUE } isInstalled(Pipe, Duct) = TRUE OR isInstalled(Pipe, Pit.Inside) = TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 2항 3호 Check(NFSC503A_8_2_3){ KS } KS{ SprinklerSystem mySprinklerSystem{ isObjectProperty(SprinklerSystem.type) = "WetPipeSprinklerSystem" } (isObjectProperty(Ceiling.Material.nonCombustibility)=TRUE OR isObjectProperty(Ceiling.Material.quasiNonCombustibility)=TRUE) (isObjectProperty(CeilingCovering.Material.nonCombustibility)=TRUE OR isObjectProperty(CeilingCovering.Material.quasiNonCombustibility)=TRUE) isInstalled(mySprinklerSystem, Ceiling)=TRUE isInstalled(mySprinklerSystem, CeilingCovering)=TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 Check(NFSC503A_8_3){ getResult(NFSC503A_8_3_2)=TRUE getResult(NFSC503A_8_3_3)=TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 1호 Check(NFSC103A_8_3_1){ IF (CS1 THEN KS1) OR (CS2 THEN KS2) } Pipe myPipe{ getObjectProperty(Pipe.usage) = "WaterSupplyType" isObjectProperty(myPipe.isDirectCoupledType) != TRUE } Pipe myPipe2{ getObjectProperty(Pipe.usage) = "WaterSupplyType" isObjectProperty(myPipe.isDirectCoupledType) = TRUE } CS1{ isExist(myPipe) = TRUE } KS1{ isObjectProperty(myPipe.isShared) = FALSE } CS2{ isExist(myPipe2) = TRUE } KS2{ isObjectProperty(myPipe.isShared) = FALSE getObjectProperty(Pipe.diameter) >= 32mm } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 2호 Check(NFSC503A_8_3_2){ KS2 AND IF CS THEN KS1 } KS2{ Valve myValve{ isObjectProperty(Valve.isShutoffValve)=TRUE } isObjectProperty(myValve.isIndicatingValve) = TRUE } CS{ Pipe myPipe{ isInstalled(Pipe, Pump.Inlet) = TRUE } isInstalled(myValve, myPipe) = TRUE } KS1{ isObjectProperty(myValve.isIndicatingValve) = TRUE isObjectProperty(myValve.isButterflyValve) = TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 3항 3호 Check(NFSC503A_8_3_3){ getResult(NFSC503A_*_1) = TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 Check(NFSC503A_8_4){ IF CS THEN KS } CS{ isInstalled(Pump.Inlet, Pipe) = TRUE } KS{ getResult(NFSC503A_8_4_1) = TRUE getResult(NFSC503A_8_4_2) = TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 1호 Check(NFSC503A_8_4_1){ KS } KS{ Pipe myPipe{ isInstalled(Pump.Inlet, Pipe) = TRUE } isInstalled(myPipe,Filter) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 4항 2호 Check(NFSC103A_8_4_2){ IF CS THEN KS } CS{ getObjectVerticalLocation(Pump, Tank) < 0 } KS{ Pipe myPipe{ isInstalled(Pump.Inlet, Pipe) = TRUE } isInstalled(myPipe, Pump.One) = TRUE } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 5항 Check(NFSC503A_8_5){ IF CS THEN KS } CS{ Pipe myPipe1{ Pipe.systemType = "SimpleSprinklersystem" } Pipe myPipe2{ Pipe.systemType = "FireDepartmentConnectionSystem" } Pipe.isShared(myPipe1, myPipe2) = TRUE } KS{ Pipe myPipe3{ isObjectProperty(Pipe.isRiser) = TRUE } Port myPort{ getObjectProperty(Port.typeForWater) = "Delivery" Pipe myPipe4{ isConnectedTo(Pipe, myPort) = TRUE } isObjectProperty(myPipe3.diameter) >= 100 mm getObjectProperty(myPipe4.diameter) >= 65 mm } //간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 6항
Check(NFSC503A_8_6){
getResult(NFSC503A_8_6_1) = TRUE
getResult(NFSC503A_8_6_2) = TRUE
} // 옥내소화전설비의 화재안전기준(NFSC 102) 6조 (배관 등) 8항 1호
Check(NFSC102_6_8_1){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
Valve myValve{
isObjectProperty(Valve.isShutoffValve) = TRUE
isInstalled(Valve, Pump.Outlet) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isShutoffValve) = TRUE
isInstalled(Valve, Pump.Outlet) = FALSE
}
Valve myValve3{
isObjectProperty(Valve.isFloatControlValve) = TRUE
}
isDiverged(Pump, myPipe) = TRUE
getObjectDistance(StraightPipeLine, myPipe) < getObjectDistance(StraightPipeLine, myValve)
isInstalled(myValve2, myPipe) = TRUE
isInstalled(myValve3, myPipe) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 6항 2호
Check(NFSC103A_8_6_2){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isConnectedTo(myPipe, DischargeMeasuringEquipment) = TRUE
getObjectProperty(DischargeMeasuringEquipment.measurementCapacity) = DME
getObjectProperty(Pump.ratedDischargePressure) = PDP
PDP*1.75 <= DME
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 7항
Check(NFSC503A_8_7){
KS
}
KS{
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
PP = isObjectProperty(Pump.shutoffPressure)
Valve myValve2{
isObjectProperty(Valve.isReliefValve) = TRUE
isObjectProperty(Valve.reliefPressure) < PP
}
isInstalledInOrder(myValve1, Pipe, Pump) = TRUE
isObjectProperty(Pipe.diameter) >= 20mm
isInstalled(myValve2, Pipe) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 Check(NFSC503A_8_9){ KS } KS{ getResult(NFSC503A_8_9_1) = TRUE getResult(NFSC503A_8_9_2) = TRUE getResult(NFSC503A_8_9_3) = TRUE } } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 1호 Check(NFSC103A_8_9_1){ KS } KS{ isObjectProperty(Pipe.isBranchLines) = TRUE isObjectProperty(Pipe.hasTournamentArragement) = FALSE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 9항 2호 Check(NFSC503A_8_9_2){ IF !CS THEN KS } CS{ getResult(NFSC503A_8_9_2_가) = TRUE } KS{ Pipe myPipe{ isObjectProperty(Pipe.isBranchLines) = TRUE } Head myHead{ isIntalled(SimpleSprinkler.Head, myPipe.One) = TRUE getObjectVerticalLocation(CeilingCovering, SimpleSprinkler.Head) < 0 } getObjectCount(myHead) <= 8 } 9항 3호 Check(NFSC503A_8_9_3){ IF CS THEN KS } Pipe myPipe1{ isObjectProperty(Pipe.isBranchLines) = TRUE } Pipe myPipe2{ isObjectProperty(Pipe.isFlexibleTube) = TRUE } CS{ isInstalledInOrder(myPipe1, myPipe2, Head) = TRUE } KS{ getResult(NFSC503_10_3) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 10항
Check(NFSC503A_8_10){
IF CS THEN KS
}
Pipe myPipe1{
isObjectProperty(Pipe.isBranchLines) = TRUE
}
Head myHead{
isObjectProperty(Head.installationDirectionType) = "TopDownType"
}
CS{
isInstalled(myHead, myPipe1) = TRUE
}
KS{
Pipe mypipe2{
isConnectedTo(myPipe1, Pipe) = TRUE
isConnectedTo(myHead, Pipe) = TRUE
}
getObjectVerticalLocation(myPipe1, myPipe1) > 0
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 Check(NFSC503A_8_11_1){ IF (CS1 AND CS2) THEN KS } CS{ isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator" isObjectProperty(WaterflowIndicator.systemType) = "SimpleSprinklerSystem" } KS{ getResult(NFSC503A_8_11_1) = TRUE getResult(NFSC503A_8_11_2) = TRUE } 11항 1호
Check(NFSC503A_8_11_1){
KS
}
KS{
Valve myValve{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Pipe myPipe{
isObjectProperty(Pipe.isSecondaryPipe) = TRUE
}
isInstalled(myValve, myPipe) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 Check(NFSC503A_8_11_2){ IF CS THEN KS } CS{ Valve myValve{ isObjectProperty(Valve.isIndicatingValve) = TRUE } WaterflowIndicator myWaterflowIndicator{isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator" } isInstalledInOrder(myValve, Pipe, myWaterflowIndicator) = TRUE } KS{ getResult(NFSC503A_8_11_2_가) = TRUE getResult(NFSC503A_8_11_2_나) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 가목 Check(NFSC503A_8_11_2_가){ KS } KS{ Pipe myPipe{ isObjectProperty(Pipe.usage) = "WaterDrainPipe" isObjectProperty(Pipe.isRiser) = TRUE } Valve myValve{ isObjectProperty(Valve.isShutoffValve) = TRUE } isConnectedTo(Pipe, myPipe) = TRUE isInstalled(myValve, Pipe) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 11항 2호 나목 Check(NFSC503A_8_11_2_나){ KS } KS{ isInstalled(AutomaticDrainSystem, Pipe) = TRUE isInstalled(PressureSwitch, Pipe) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항
Check(NFSC503A_8_12){
IF !CS THEN KS
}
CS{
WaterflowIndicator myWaterflowIndicator{
isObjectProperty(WaterflowIndicator.type) = "PreactionWaterflowIndicator"
}
isInstalled(myWaterflowIndicator, SimpleSprinklerSystem) = TRUE
}
KS{
getResult(NFSC503A_8_12_1) = TRUE
getResult(NFSC503A_8_12_2) = TRUE
getResult(NFSC503A_8_12_3) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 1호
Check(NFSC503A_8_12_1){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isBranchLines) = TRUE
isFarthestDistance(WaterflowIndicator, Pipe) = TRUE
}
isInstalled(TestingDevice, myPipe.End) = TRUE
isConnectedTo(TestingDevice, myPipe.End) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 2호
Check(NFSC503A_8_12_2){
KS
}
KS{
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
Head myHead{
isObjectProperty(Head.openAndCloseType) = "OpenType"
getObjectProperty(Head.systemType) = "SimpleSprinklerSystem"
}
BD = getObjectDiameter(NFSC503A_8_12_1.myPipe)
getObjectDiameter(myPipe, a) = BD
isInstalled(myHead, myPipe.End) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 12항 3호 Check(NFSC503A_8_12_3){ KS } KS{ Pipe myPipe1{ isObjectProperty(Pipe.isForTest) = TRUE } Pipe myPipe2{ isObjectProperty(Pipe.usage) = "WaterDrainPipe" } isInstalled(myPipe2, myPipe1.End) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 13항 Check(NFSC503A_8_13){ KS } KS{ getResult(NFSC503A_8_13_1) = TRUE getResult(NFSC503A_8_13_2) = TRUE getResult(NFSC503A_8_13_3) = TRUE } // 간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 1호
Check(NFSC103A_8_13_1){
IF(CS1 THEN KS1) OR (CS2 THEN KS2)
}
Pipe myPipe{
isObjectProperty(Pipe.isBranchLines) = TRUE
}
CS1{
getObjectInterval(SimpleSprinkler.Head) <= 3.5m
}
KS1{
getObjectCountInInterval(Hanger, SimpleSprinkler.Head) >= 1
isInstalled(Hanger, myPipe) = TRUE
}
CS2{
getObjectInterval(SimpleSprinkler.Head) > 3.5m
}
KS2{
Head myHead{
isObjectProperty(Head.installationDirectionType) = "BottomUpType"
}
isInstalled(Hanger, myPipe, b, 3.5) = TRUE
getObjectCountInInterval(Hanger, SimpleSprinkler.Head) >= 1
getObjectDistance(myHead, Hanger) >= 8cm
} //간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 2 Check(NFSC103A_8_13_2){ IF(CS1 THEN KS1) OR (CS2 THEN KS2) } Pipe myPipe1{ isObjectProperty(Pipe.isCrossMains) = TRUE } Pipe myPipe2{ isObjectProperty(Pipe.isBranchLines) = TRUE } CS1{ getObjectInterval(myPipe2) <= 4.5m } KS1{ getObjectCountInInterval(Hanger, myPipe2) >= 1 isInstalled(Hanger, myPipe1) = TRUE } CS2{ getObjectInterval(myPipe2) > 4.5m } KS2{ isInstalled(Hanger, myPipe1, b, 4.5) = TRUE getObjectCountInInterval(Hanger, myPipe2) >= 1 } //간이스프링클러설비의 화재안전기준(NFSC 103A) 8조 (배관 및 밸브) 13조 3호 Check(NFSC103A_8_13_3){ KS } KS{ Pipe myPipe{ isObjectProperty(Pipe.isFeedMains) = TRUE } isInstalled(Hanger, myPipe, b, 4.5) = TRUE getObjectCountInInterval(Hanger, myPipe) >= 1 } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 15항 Check(NFSC503A_8_15){ KS } KS{ getResult(NFSC503A_8_15_1) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 15항 1호 Check(NFSC503A_8_15_1){ KS } KS{ Pipe myPipe{ isObjectProperty(Pipe.usage) = "WaterDrainPipe" } isParallel(FloorSlab, myPipe) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 Check(NFSC503A_8_16){ KS } KS{ getResult(NFSC503A_8_16_1) = TRUE getResult(NFSC503A_8_16_2) = TRUE getResult(NFSC503A_8_16_3) = TRUE getResult(NFSC503A_8_16_4) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 Check(NFSC503A_8_16_1){ IF CS THEN KS } CS{ isObjectProperty(SimpleSprinklerSystem.isDirectCoupledType) = TRUE } KS{ getResult(NFSC503A_8_16_1_가) = TRUE getResult(NFSC503A_8_16_1_나) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 가복
Check(NFSC503A_8_16_1_가){
KS
}
KS{
ShutdownEquipment myShutdownEquipment{
isObjectProperty(ShutdownEquipment.type) = "Water"
}
Valve myValve1{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
isInstalledInOrder(WaterGauge, myShutdownEquipment, myValve1, myValve2, PressureGauge, WaterflowIndicator, myValve3) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 1호 나목 Check(NFSC503A_8_16_1_나){ KS } KS{ ShutdownEquipment myShutdownEquipment{ isObjectProperty(ShutdownEquipment.type) = "Water" } Pipe myPipe{ isObjectProperty(Pipe.systemType) != "SimpleSprinklerSystem" } isInstalled(myShutdownEquipment, myPipe) = TRUE } // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 2호
Check(NFSC503A_8_16_2){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{
isObjectProperty(PressurizedWaterSupplySystem.supplyType) != "DirectCoupledType" OR "PressurizedTankType"
}
isInstalled(Pipe, myPressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, myPressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
}
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 3호
Check(NFSC503A_8_16_3){
IF CS THEN KS
}
CS{
PressurizedWaterSupplySystem myPressurizedWaterSupplySystem{
isObjectProperty(PressurizedWaterSupplySystem.supplyType) = "PressurizedTankType"
}
isInstalled(Pipe, myPressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, myPressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "PressurizedTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
Pipe myPipe{
isObjectProperty(Pipe.isForTest) = TRUE
}
isInstalledInOrder(WaterSource, myTank, PressureGauge, myValve1, myPipe, myValve2, WaterflowIndicator, myValve3) = TRUE
} // 간이스프링클러설비의 화재안전기준(nfsc 103a) 8조 (배관 및 밸브) 16항 4호
Check(NFSC503A_8_16_4){
IF (!CS1 AND CS2) THEN KS
}
CS1{
getObjectVerticalLocation(WaterSource, Pump) > 0
}
CS2{
SimpleSprinklerSystem mySimpleSprinklerSystem{
isObjectProperty(SimpleSprinklerSystem.isCabinetType) = TRUE
}
isInstalled(Pipe, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE
OR isInstalled(Valve, mySimpleSprinklerSystem.PressurizedWaterSupplySystem) = TRUE
}
KS{
Tank myTank{
isObjectProperty(Tank.operationType) = "HydropneumaticTank"
}
Valve myValve1{
isObjectProperty(Valve.isCheckValve) = TRUE
}
Valve myValve2{
isObjectProperty(Valve.isIndicatingValve) = TRUE
}
Valve myValve3{
isObjectProperty(Valve.isTestValve) = TRUE
getObjectCount(Valve) = 2
}
isInstalledInOrder(WaterSource, CompoundGauge | VacuumGauge, Pump | myTank, PressureGauge, myValve1, myPipe, myValve2, myValve3) = TRUE
}