주요 콘텐츠

hydraulicToIsothermalLiquid

Hydraulic 블록 다이어그램을 Isothermal Liquid 블록을 사용하도록 업그레이드

설명

hydraulicToIsothermalLiquid는 Hydraulic 블록을 Isothermal Liquid 블록으로 변환하고, 원래 파일의 이름에 _converted를 추가하고, 변환된 각 파일을 저장합니다. 변환 툴은 파라미터 값과 블록 간의 연결을 유지하려고 하지만, Isothermal Liquid 라이브러리 블록과 Hydraulic 라이브러리 블록이 항상 일대일로 대응되는 것은 아닙니다. 변환 툴은 변환하는 동안 발생한 문제를 HTML 리포트에 나열합니다.

자세한 내용은 유압 모델에서 Isothermal Liquid 블록을 사용하도록 업그레이드하기 항목을 참조하십시오.

hydraulicToIsothermalLiquid(oldfile)은 블록 다이어그램 시스템 oldfile에 있는 Foundation > Hydraulic 라이브러리의 블록을 동등한 Isothermal Liquid 라이브러리 블록으로 바꾸고 변환된 각 파일을 원래 파일과 동일한 폴더에 저장합니다. Simscape™ Fluids™ 라이선스가 있는 경우 이 툴은 또한 Fluids > Hydraulics (Isothermal) 라이브러리의 블록을 Fluids > Isothermal Liquid 라이브러리 및 Foundation > Isothermal Liquid 라이브러리의 동등한 블록으로 바꿉니다.

예제

hydraulicToIsothermalLiquid(oldfile,newpath)는 지정된 블록 다이어그램 시스템의 블록을 바꾸고 변환된 블록 다이어그램 시스템과 변환 리포트를 newpath로 지정된 위치에 저장합니다.

hydraulicToIsothermalLiquid(oldfiles)는 파일 목록인 oldfiles를 변환합니다. 여기서 각 파일은 모델, 서브시스템 또는 라이브러리일 수 있습니다. 변환 툴은 변환된 파일 간의 링크를 유지합니다. 다른 라이브러리, 모델 또는 서브시스템에 대한 참조나 링크를 포함하는 모델을 변환하려면 이 구문을 사용하십시오.

예제

hydraulicToIsothermalLiquid(toppath)는 폴더 toppath와 그 하위 폴더에 있는 모델, 서브시스템, 라이브러리를 변환합니다. 사용자 지정 라이브러리뿐 아니라 다른 라이브러리, 모델 또는 서브시스템에 대한 참조나 링크를 포함하는 다른 모델들까지 변환하려면 이 구문을 사용하십시오. toppath와 그 하위 폴더가 모두 MATLAB® 경로에 있어야 합니다.

예제

hydraulicToIsothermalLiquid(___,subsystemflag)는 Hydraulic 라이브러리의 블록을 동등한 Isothermal Liquid 라이브러리 블록으로 바꾸고, subsystemflag 파라미터의 값에 따라 newfile 모델의 블록을 구성합니다.

예제

hydraulicToIsothermalLiquid(___,oldcustomblocks,newcustomblocks)oldcustomblocks에 나열된 사용자 지정 Hydraulic 블록을 대응되는 Isothermal Liquid 블록 newcustomblocks로 바꿉니다. 마스크 처리된 라이브러리 블록 또는 Simscape 언어로 작성된 사용자 지정 블록과 같은 사용자 지정된 Hydraulic 블록을 포함하는 모델을 변환하려면 이 구문을 사용하십시오.

사용자 지정된 블록과 동등한 버전의 Isothermal Liquid 블록을 만들려면 다음을 수행하십시오.

  • 사용자 지정 라이브러리 블록 및 Foundation > Hydraulic 라이브러리 또는 Fluids > Hydraulics (Isothermal) 라이브러리의 블록을 포함하고 있는 서브시스템의 경우, 해당 사용자 지정 라이브러리에 대해 변환 툴을 실행합니다.

  • Simscape 언어로 작성된 사용자 지정 Hydraulic 블록의 경우, 이와 동등한 버전의 등온 유체 도메인을 사용하는 블록을 수동으로 만듭니다.

newfiles = hydraulicToIsothermalLiquid(___)는 변환된 파일 이름 목록을 newfiles로 반환합니다. 변환 툴은 원래 파일의 이름에 _converted를 추가하여 각각의 새 파일 이름을 생성합니다.

예제

모두 축소

이 예제는 Hydraulic 블록을 포함하는 모델에 변환 툴을 사용하는 방법을 보여줍니다. 변환 툴은 변환된 모델과 HTML 리포트를 생성합니다.

Analog Position Controller가 있는 Hydraulic Actuator 예제 모델을 엽니다.

openExample('simscape/HydraulicActuatorWithAnalogControlHExample')

이 예제 모델은 Hydraulic 라이브러리에 있는 블록을 포함하고 있습니다.

Hydraulic 라이브러리 블록을 Isothermal Liquid 라이브러리의 동등한 블록으로 바꿉니다.

hydraulicToIsothermalLiquid(bdroot)
ans =

  1×1 cell array

    {'HydraulicActuatorWithAnalogControlH_converted'}

변환 툴은 새 파일 HydraulicActuatorWithAnalogControlH_converted를 만들고 이 파일과 변환 리포트를 현재 폴더에 저장합니다.

HTML 리포트를 검토하고 남은 문제를 수동으로 해결합니다. 이 예제에서 변환된 모델에는 연결이 끊어진 부분이나 제거된 블록은 없지만, 변환 툴에서 주의가 필요한 몇 가지 파라미터 경고가 생성되었습니다.

이 예제에서는 변환 툴을 사용한 후 모델을 정리합니다. 먼저 모델에서 Isothermal Liquid 블록을 사용하도록 변환하기 예제를 완료합니다. 다음 이미지는 변환된 모델과 변환 리포트를 보여줍니다.

변환 메시지 목록과 이를 해결하기 위한 제안 조치는 Conversion Messages After Converting Hydraulic to Isothermal Liquid Models 항목을 참조하십시오. 각 메시지에 대해 블록(Block) 열에 있는 링크를 클릭하면 관련 서브시스템이 열리고 메시지를 생성한 블록이 강조 표시됩니다.

처음 두 메시지는 Hydraulic Actuator 서브시스템의 두 챔버를 가리킵니다. 원래 모델에서는 각 챔버에 Translational Hydro-Mechanical Converter 블록을 사용했습니다. 변환 툴은 해당 블록을 Translational Mechanical Converter (IL) 블록으로 바꾸었습니다.

Translational Hydro-Mechanical Converter 블록에는 비열비 파라미터가 있지만, 등온 유체 도메인에서 모든 유체 물성은 Isothermal Liquid Properties (IL) 블록에 정의됩니다. 변환 리포트는 다음과 같이 원래 블록에 있는 비열비 파라미터의 원래 값을 나열하므로 Isothermal Liquid Properties (IL) 블록에서 유체 속성을 설정할 수 있습니다: Original block had Specific heat ratio of 1.4. Set Air polytropic index to this value in an Isothermal Liquid Properties (IL) block.

변환된 모델에 있는 Isothermal Liquid Properties (IL) 블록을 열고 공기 폴리트로프 지수 파라미터를 1.4로 설정합니다.

처음 두 변환 메시지를 처리한 후, 블록(Block) 열에 있는 세 번째 링크를 클릭합니다.

Spool Valve 서브시스템이 열립니다. 툴은 Orifice PA 블록을 강조 표시합니다.

원래 모델 HydraulicActuatorWithAnalogControlH에서 Spool Valve 서브시스템을 엽니다.

Orifice PA는 밸브를 구성하는 네 개의 Variable Area Hydraulic Orifice 블록 중 하나입니다. Orifice PA 블록을 더블 클릭하여 파라미터를 확인합니다.

변환 툴은 각 Variable Area Hydraulic Orifice 블록을 Local Restriction (IL) 블록으로 바꿨습니다. Orifice PA 블록을 더블 클릭하여 파라미터를 확인합니다.

변환 리포트에서 Orifice PA 블록에 대한 첫 번째 경고 메시지 Critical Reynolds number set to 150이 표시되는 이유는 원래 Variable Area Hydraulic Orifice 블록에서 층류 천이 사양 파라미터가 압력비이기 때문입니다. 대체 Local Restriction (IL) 블록은 임계 레이놀즈 수로만 층류 특성과 난류 특성 간의 천이를 지정할 수 있으며, 변환 툴은 임계 레이놀즈 수 파라미터를 해당 디폴트 값 150으로 설정합니다. 원래 모델에 있는 Variable Area Hydraulic Orifice 블록은 층류 압력비 파라미터에 디폴트 값 0.999를 사용했으므로 아무 조치도 필요하지 않습니다.

다음 경고 Maximum restriction area set to 1e10 m^2가 표시되는 이유는 원래 Variable Area Hydraulic Orifice 블록에서는 무한히 큰 최대 개방 면적을 가정했던 반면 대체 Local Restriction (IL) 블록에서는 제한 유형가변으로 설정되어 있어 최대 제한 면적 파라미터 값이 inf보다 작아야 하기 때문입니다.

변환 툴은 대체 Local Restriction (IL) 블록에서 최대 제한 면적 파라미터를 임의의 큰 값 1e10 m^2로 설정합니다. 아무 조치도 필요하지 않지만 모델의 데이터시트와 일치하도록 이 값을 조정할 수 있습니다.

나머지 변환 메시지는 나머지 세 개의 오리피스를 가리킵니다. 원래 모델에서 이 세 블록을 검사하여 아무 조치도 필요하지 않음을 검증할 수 있습니다.

변환 메시지를 처리한 후 원래 모델과 변환된 모델의 시뮬레이션 결과를 비교하여 두 모델이 동일한지 확인할 수 있습니다. 원한다면 좀 더 보기 좋게 정리할 수도 있습니다. 예를 들어 연결 선의 경로를 수동으로 조정할 수 있습니다.

변환과 정리가 끝난 모델의 예제를 보려면 HydraulicActuatorWithAnalogControlExample 모델을 엽니다.

openExample('simscape/HydraulicActuatorWithAnalogControlExample')

이 모델을 원래 모델 HydraulicActuatorWithAnalogControlH와 변환된 모델 HydraulicActuatorWithAnalogControlH_converted와 비교합니다.

이 예제에서는 모델을 변환할 때 서브시스템을 사용하여 선 라우팅(line routing)을 유지하는 방법을 보여줍니다.

Cavitation Cycle 예제 모델을 엽니다.

openExample('simscape/CavitationCycleExample')

서브시스템을 사용하여 모델을 변환하여 선 라우팅을 유지합니다.

hydraulicToIsothermalLiquid('CavitationCycle.slx','addsubsystems')

Custom Cylinder 서브시스템을 엽니다.

함수는 두 피스톤을 모두 서브시스템에 내에 배치하여 선 라우팅을 유지합니다.

이 예제는 모델과 그 모델의 참조된 모델, 서브시스템, 연결된 라이브러리를 함께 변환하면서 변환된 파일 간의 링크를 유지하는 방법을 보여줍니다.

Hydraulic 블록을 포함하는 modelWithLink라는 모델과, 마찬가지로 Hydraulic 블록을 포함하는 참조된 모델 referenceModel이 있다고 가정해 보겠습니다. referenceModel은 별도의 폴더 Reference Systems에 있으며, 이 폴더는 MATLAB 경로에 있습니다.

셀형 배열에 파일을 지정하여 modelWithLink 모델과 참조된 모델을 변환합니다.

convertedFiles = hydraulicToIsothermalLiquid({'modelWithLink' 'referenceModel'})
convertedFiles =

  2×1 cell array

    {'modelWithLink_converted' }
    {'referenceModel_converted'}

변환 툴은 원래 모델과 동일한 폴더에 modelWithLink_convertedreferenceModel_converted라는 두 개의 모델을 새로 만듭니다.

변환된 모델 modelWithLink_converted는 Isothermal Liquid 블록을 가지고 있으며, 마찬가지로 Isothermal Liquid 블록을 가지고 있는 변환된 참조 모델 referenceModel_converted에 연결됩니다.

변환 툴은 oldfiles 입력 인수의 첫 번째 파일 위치에 변환 리포트 HtoIL_report를 저장합니다.

리포트를 검토하고, 문제를 수동으로 해결하고, 시뮬레이션 결과를 비교한 후 hydraulicToIsothermalLiquidPostProcess 함수를 사용하여 원래 파일 이름을 복원할 수 있습니다.

finalFiles = hydraulicToIsothermalLiquidPostProcess(convertedFiles)

이 함수는 원래 모델 파일을 _converted 모델로 덮어씁니다.

이 예제에서는 최상위 폴더와 그 하위 폴더에 있는 모든 파일을 변환하는 방법을 보여줍니다. 변환 툴은 Hydraulic 블록을 포함하는 모든 파일을 변환하고, 파일 간의 링크를 유지하고, 변환된 파일의 목록을 반환합니다. 파일이 Hydraulic 블록을 포함하지 않으면 변환 툴은 해당 파일을 변경하지 않습니다.

topFolder라는 폴더가 있고, 여기에 사용자 지정 Simulink® 라이브러리, 참조된 모델 및 서브시스템을 포함하는 하위 폴더, 그리고 모델이 있다고 가정해 보겠습니다.

topFolder와 그 하위 폴더가 MATLAB 경로에 있도록 합니다.

addpath(genpath('topFolder'))

topFolder와 그 하위 폴더에 있는 모든 파일을 변환합니다.

convertedFiles = hydraulicToIsothermalLiquid('topFolder')
convertedFiles =

  5×1 cell array

    {'model_converted'             }
    {'custom_Library1_converted'   }
    {'custom_Library2_converted'   }
    {'referenceModel_converted'    }
    {'referenceSubsystem_converted'}

변환 툴은 원래 모델의 이름에 _converted를 추가하여 변환된 파일의 이름을 정합니다. 툴은 변환된 각 모델을 원래 모델과 동일한 폴더에 저장합니다.

이 예제에서 modelWithoutHydraulicBlocks 모델의 경우 Hydraulic 블록을 포함하고 있지 않으므로 툴이 이 모델에 대해서는 _converted 파일을 생성하지 않았습니다.

툴은 topFolder에 변환 리포트를 저장합니다.

리포트를 검토하고, 문제를 수동으로 해결하고, 시뮬레이션 결과를 비교한 후 hydraulicToIsothermalLiquidPostProcess 함수를 사용하여 원래 파일 이름을 복원할 수 있습니다.

finalFiles = hydraulicToIsothermalLiquidPostProcess('topFolder')

이 함수는 파일 이름에서, 그리고 파일 간의 링크에서 _converted 접미사를 제거하여 원래 파일을 덮어씁니다.

입력 인수

모두 축소

변환할 블록 다이어그램 시스템의 이름이나 핸들로, 문자형 벡터, string형 스칼라 또는 핸들로 지정됩니다. oldfile은 모델, 서브시스템 또는 라이브러리일 수 있습니다. 파일은 MATLAB 경로에 있거나 경로로 불러와야 합니다. 파일 이름은 절대 경로 이름이거나 상대 경로 이름일 수 있습니다.

예: 'HydraulicActuator'

예: 'C:\Work\HydraulicActuator.slx'

예: 'subfolder\HydraulicActuator'

변환된 블록 다이어그램 시스템과 리포트의 위치로, 절대 경로 이름이나 상대 경로 이름을 포함하는 문자형 벡터나 string형 스칼라로 지정됩니다.

newpath 인수를 생략할 경우, 변환 툴은 변환된 시스템과 리포트를 현재 작업 폴더에 저장합니다.

예: 'C:\Work'

변환할 블록 다이어그램 시스템의 목록으로, 각 요소가 파일 이름인 문자형 벡터나 string형 스칼라로 구성된 1차원 셀형 배열로 지정됩니다. 셀형 배열은 가로 방향이거나 세로 방향일 수 있습니다. 파일 이름은 절대 또는 상대 경로 이름을 포함할 수 있습니다. 파일은 모델, 서브시스템 또는 라이브러리일 수 있으며 MATLAB 경로에 있거나 경로로 불러와야 합니다. 파일 목록을 변환할 때 변환 툴은 목록 내 변환된 파일 간의 링크를 유지하고, 변환된 각 파일을 원래 파일과 동일한 폴더에 저장하고, 변환 리포트를 oldfiles의 첫 번째 파일 위치에 저장합니다.

예: {'HydraulicActuatorLibrary' 'PumpLibrary'}

예: {'PumpLibrary';'C:\Work\MyPump.slx'}

변환할 블록 다이어그램 시스템을 포함하는 최상위 폴더의 경로 이름으로, 절대 경로 이름이나 상대 경로 이름을 포함하는 문자형 벡터나 string형 스칼라로 지정됩니다. 최상위 폴더는 MATLAB 경로에 있어야 합니다. 최상위 폴더에는 블록 다이어그램 시스템이 들어 있는 하위 폴더가 포함될 수 있습니다. 하위 폴더 역시 MATLAB 경로에 있어야 합니다. 변환 툴은 변환된 파일 간의 링크를 유지하고, 변환된 각 파일을 원래 파일과 동일한 폴더에 저장하고, 변환 리포트를 toppath 폴더에 저장합니다.

예: 'C:\Work\MyLibraries'

대체할 사용자 지정된 Hydraulic 블록의 목록으로, 각 요소가 파일 이름인 문자형 벡터나 string형 스칼라로 구성된 1차원 셀형 배열로 지정됩니다.

두 셀형 배열 oldcustomblocksnewcustomblocks는 요소 개수가 동일해야 하며 각 요소가 블록 이름에 대응해야 합니다. 각 배열에 나열된 개별 블록은 포트 개수가 동일하고 포트 순서가 일치해야 하며 프로그래밍 방식 파라미터 이름이 동일해야 합니다.

oldcustomfiles를 대체하는 데 사용할 사용자 지정된 Isothermal Liquid 블록의 목록으로, 각 요소가 파일 이름인 문자형 벡터나 string형 스칼라로 구성된 1차원 셀형 배열로 지정됩니다.

두 셀형 배열 oldcustomblocksnewcustomblocks는 요소 개수가 동일해야 하며 각 요소가 블록 이름에 대응해야 합니다. 각 배열에 나열된 개별 블록은 포트 개수가 동일하고 포트 순서가 일치해야 하며 프로그래밍 방식 파라미터 이름이 동일해야 합니다.

변환된 블록을 서브시스템에 배치하는 옵션으로, 'omitsubsystems' 또는 'addsubsystems'로 지정됩니다. subsystemflag'omitsubsystems'이면 함수는 툴이 하나의 Hydraulic 블록을 여러 개의 Simscape 블록으로 대체하는 경우에만 서브시스템을 사용합니다. subsystemflag'addsubsystems'로 지정하면 함수는 선 라우팅에 영향을 미치는 블록을 서브시스템 내에 배치하여 Hydraulic 모델 선 라우팅을 유지합니다.

subsystemflag에 값을 지정하는 경우 값은 마지막 입력 인수여야 합니다.

출력 인수

모두 축소

변환된 모델, 서브시스템 또는 라이브러리의 이름으로, 경로 또는 확장자 없이 파일 이름을 포함하는 문자형 벡터의 1차원 열 셀형 배열로 반환됩니다.

변환 툴은 원래 파일의 이름에 _converted를 추가하여 각각의 새 파일 이름을 생성합니다.

버전 내역

R2020a에 개발됨

모두 확장