- AUTO DEMO
FLEXSCHE 버전 17.0을 2017 년 7 월 24 일에 발표했습니다. 약 190 항목에 이르는 기능의 확장이 있습니다. 그 중 주요했던 것을 소개합니다.
마른 수건을 더 짰습니다.
대량 데이터 스케줄링 처리, 화면 처리, 입출력 처리 등은 CPU에 막대한 부하를 가합니다. 그래서 실제 데이터를 처리했을 때 반복적으로 실행되는 코드를 통계적으로 파악하고 그 부분에 걸리는 부하를 종합적으로 제거하고 또 세부적인 부분을 꼼꼼하게 튜닝함으로써 추가적인 고속화를 실현했습니다. 많은 데이터에서 1~20% 정도 이상의 개선이 인정될 것입니다.
예를 들면 샘플 데이터 [10만 작업]의 스케줄 처리의 평균시간은 버전16의 4.0초에서 버전17의 2.8초로 단축했습니다(30%의 고속화). 또 다른 크고 복잡한 데이터에서는 62초가 53초가 되었습니다(15%의 고속화). 스케줄링 이외의 처리도 고속화하고 있습니다.
이 실측치는 CPU로 Intel Corei7-6700K를 탑재한 PC에서 계측한 것입니다.
게다가 간트 차트에서 방대한 작업이 그려지는 경우에는 표시 내용을 간략화하여 리스폰스를 향상시켰습니다. 간트 차트의 확대, 축소, 스크롤 등이 눈에 띄게 향상되고 있습니다.
"작업장 계획 옵션"은 작업장에 배치하는 제조물 간의 간섭을 제약으로 한 스케줄링을 하기 위한 제품입니다. 버전17에서는 이 작업장 계획을 대폭으로 기능을 강화하였습니다.
작업마다 작업장 내의 특정 영역 내에 배치해야 한다는 제약이나 반대로 특정 영역 내에 배치해서는 안 된다는 제약 등을 설정할 수 있게 되었습니다. 예를 들어 작업장 내 특정범위의 천장이 낮기 때문에 키가 큰 워크는 거기에 배치해서는 안 되는 실정에 맞는 치밀한 계획을 수립할 수 있습니다.
워크 주위에 일정 크기의 틈새를 두도록 계획할 수 있게 되었습니다. 워크 형상을 CAD에서 임포트하고 있어 작업공간을 포함하지 않을 경우나 워크주위에 작업자가 지나갈 공간을 확보하고 싶은 경우 등에 유용합니다.
워크 주위에 일정 크기의 틈새를 두도록 계획할 수 있게 되었습니다. 워크 형상을 CAD에서 임포트하고 있어 작업공간을 포함하지 않을 경우나 워크주위에 작업자가 지나갈 공간을 확보하고 싶은 경우 등에 유용합니다.
작업장의 배경에 이미지를 표시할 수 있게 되었습니다. 실제 작업장의 이미지와 겹쳐 표시하여 작업의 위치를 보다 쉽게 파악할 수 있게 됩니다.
형상이나 배치의 이상을 데이터 검증 메소드로 검출할 수 있게 되었습니다. 또한 작업 실적 테이블에서 배치 장소의 실적 정보를 입력할 수 있게 되었습니다.
FLEXSCHE Carry Out은, 제조 현장에서의 계획 수행을 지원하는 구조입니다. 버전17에서는 더욱 기능이 강화되었습니다.
작업 지시를 실행 가능한 상태로 유지할 수 있게 되었습니다. 기존에는 상류 공정의 지연이나 돌발적인 트러블의 영향을 파악하는 것이 어렵고, 제조 현장에서의 임기 응변적인 판단에 의지하지 않을 수 없는 경우도 많았을 것입니다. 작업의 지연이나 트러블을 반영한 실행 가능한 계획을 얻기 위해서는 일단 계획담당자까지 다시 리스케줄링할 필요가 있어 현실적으로는 어려울 것입니다. 특히 계획 입안의 빈도가 하루에 1회, 일주일에 1회로 한정되어 있는 경우는 더욱 그렇습니다. 버전 17에서는 CarryOut 서버에서 현재 상황을 반영해 언제든지 계획을 갱신할 수 있기 때문에 언제든지 실행 가능한 최신 지침을 얻을 수 있게 되었습니다. 계획 갱신을 위한 스케줄링 규칙은 FLEXSCHE GP와 마찬가지로 자유롭게 구축할 수 있습니다.
표시에 많은 개량을 실시하여 보다 유연하고 편리하게 되었습니다.
간트 차트를 바람직하게 보여주는 방법은 사람마다 각자의 취향이나 목적에 따라 다양할 것입니다. 버전17에서는 자원 간트 차트와 오더 간트 차트의 작업 바 및 문자를 보여주는 방법의 종류가 크게 늘었습니다. 또한 한정된 공간에 많은 문자 정보를 효율적이고 보기 쉽게 묘사하기 위한 로직도 포함되어 있습니다.
간트 차트를 바람직하게 보여주는 방법은 사람마다 각자의 취향이나 목적에 따라 다양할 것입니다. 버전17에서는 자원 간트 차트와 오더 간트 차트의 작업 바 및 문자를 보여주는 방법의 종류가 크게 늘었습니다. 또한 한정된 공간에 많은 문자 정보를 효율적이고 보기 쉽게 묘사하기 위한 로직도 포함되어 있습니다.
간트 차트를 바람직하게 보여주는 방법은 사람마다 각자의 취향이나 목적에 따라 다양할 것입니다. 버전17에서는 자원 간트 차트와 오더 간트 차트의 작업 바 및 문자를 보여주는 방법의 종류가 크게 늘었습니다. 또한 한정된 공간에 많은 문자 정보를 효율적이고 보기 쉽게 묘사하기 위한 로직도 포함되어 있습니다.
심볼의 커스터마이즈
마일스톤의 심볼 이미지를 자유롭게 줄 수 있게 되었어요. 임의의 이미지 파일을 마일스톤 심볼로서 이용할 수 있습니다.
오더 간트 차트에 표시
주문 차트에도 마일스톤을 표시할 수 있게 되었습니다.
특정의 작업 간트의 특정의 일시 등에 보다 자유롭게 마일스톤을 표시할 수 있게 되었습니다. 또, 표시 처리의 재검토에 의해 퍼포먼스가 향상했습니다. 대량의 마일스톤 이미지를 표시했을 때 종래보다 표시가 고속으로 되었습니다.
이용할 수 있는 사인보드행의 종류가 증가했습니다. 사인보드에서 이용할 수 있는 것의 종류가 증가했습니다. 새로 추가된 것은 작업, 작업 그래프, 공정 그래프, 공정 계층, 사양에 대한 사인 보드입니다. 그 어느 때보다 더 유연하게 차트를 구성해서 보고 싶은 정보를 직접 표시할 수 있게 됩니다.
일반적으로 1개의 order 간트 차트행이 복수의 단으로 구성되는 일이 있지만 그 경우에, 차트 행 왼쪽부의 표시 내용을 단 마다 바꿀 수 있게 되었습니다. 이를 이용해 예를 들어 그림과 같은 [품목공정별 간트 차트]를 구현할 수도 있습니다. ※여러 컬럼일 경우에만 유효합니다.
필드 내에 체크 박스
체크 박스로 함으로써 문자열로 표시하는
것보다 보기 쉽고 조작도 체크만 하면
되기 때문에 간단합니다.
테이블 윈도우에서 스냅샷의 데이터를 읽기전용으로 표시할 수 있게 되었습니다. 어느 시점에서의 계획 데이터를 간트 차트가 아닌 마스터 데이터의 시점에서 비교해 볼 수 있게 됩니다.
사양과 품목, 자원 등을 지정하는 필드에 정식 명칭을 표시할 수 있게 되었습니다. 기계적으로 붙여진 코드가 아니라 알기 쉽게 명명한 정식명칭을 표시함으로써 보다 데이터를 확인하기 쉬워집니다.
MPS 에디터에 사용자 정의 행 추가 월별/일별 값을 계산식으로 정의한 행을 추가할 수 있습니다. 예를 들어 어떤 시점에서의 MPS 계획을 스냅샷에 저장하고, 예정 생산량과 현시점의 생산량을 비교해 보는 것도 가능해집니다.
작업 지연 등이 미리 준 공정간의 버퍼를 잡아먹는 모습을 쉽게 모델화할 수 있게 되었습니다.
공장내에 병목 공정이 있는 경우에, 공장 전체의 스루풋을 최대화하기 위해서 병목 공정을 최대한 가동시켜야 합니다. 그 때 보틀 넥 공정이 이전 공정에서 발생한 갑작스런 트러블(설비의 고장등)이나 통계적인 변동(사이클 타임의 불균형등)에 의해 멈추거나 속도를 떨어뜨리는 일이 없도록 보틀 넥 공정 전에 미리 시간적 여유를 두어 계획하는 방법이 널리 알려져 있습니다. 그 여유 시간을 '버퍼 시간'이라고 합니다.
적응시간 제약 구조를 이용함으로써 이러한 계획방법에 대응한 계획 시에는 '버퍼 시간'을 포함하여 계획하고 실행 단계에 들어가면 지연된 것을 버퍼로 흡수하는 모델링과 스케줄링을 간단하게 할 수 있게 되었습니다.
대체 원료가 있는 경우 등 스케줄링 시에 상황에 따라 선택시킬 수 있게 되었습니다.
원료의 후보가 여러 개 있을 때, 기존에는 「이 오더에서는 이쪽을 사용한다」와 같이 사람이 미리 정해 둘 필요가 있었습니다(셀렉터를 사용하는 방법).
선택을 스케줄에 맡기고 품목을 동적으로 바꾸는 방법도 있었지만 '이 자원(설비)으로 작업한다면 이쪽을 사용한다'와 같이 한정적이었습니다(품목선택을 사용하는 방법).
버전17에서는 후보 자원과 품목의 모든 조합에서 어느 것을 선택하면 좋을지 스케줄링 룰을 통해 평가할 수 있게 되었습니다. 예를 들어 '원료 A를 우선적으로 사용하되 부족하면 원료 B를 사용해도 좋다'와 같은 규칙을 정하여 각 오더에 대해 어떤 자원, 어떤 품목을 사용할지를 스케줄러가 상황에 따라 판단하게 됩니다.
페깅 상대의 선택을 보다 유연하게 실시할 수 있게 되었습니다. 예를 들어 「가능한 한 나머지 수량과 딱 맞는 상대와 페깅한다」라고 하는 것을 실현할 수 있습니다.
기존에도 갑작스럽게 발생할지도 모르는 수요로 인해 안전 재고량 만큼을 충당하지 않고 남겨둘 수 있었으나 나아가 안전 재고량이 시기에 따라 변화하는 경우에도 시기에 따라 양을 남길 수 있게 되었습니다.
FLEXSCHE EDIF는 외부 데이터 원본(데이터베이스 및 CSV 파일)과 FLEXSCHE 간에 유연하게 데이터를 교환하기 위한 구조입니다.레이아웃을 자유롭게 정의할 수 있는 Excel 장표를 출력하는 기능도 갖추고 있습니다. 버전17에서는 FLEXSCHE EDIF의 기능을 더욱 강화했습니다.
ADO.NET 프로바이더에 대응함으로써 EDIF 차분 export에서는 최대 60배의 고속화를 실현했습니다(Oracle 20만 작업의 차분 export의 경우).다시 새롭게 MySQL, DB2, PostgreSQL과 같은 ADO.NET 프로바이더를 지원하는 데이터베이스에서 EDIF를 실행할 수 있게 되었습니다.
레코드 순서를 계산식으로 지정할 수 있게 되었습니다. 기존에는 FLEXSCHE 내부 레코드 순으로 고정이었으나 납기 순, 수량 순 등 임의의 순서로 출력이 가능합니다.
코멘트 등의 일부 특정 항목에 한하여 기존 작업에 대해 차분 Import가 가능하게 되었습니다. 외부 데이터의 정보를 기존의 작업에 정리해 쓸 수 있습니다.
함수를 호출 할 때의 인수를 본래의 순서에 관계없이 인수명과 값의 조로 지정할 수 있게 되었습니다.특히 함수에 많은 생략 가능 인수가 있을 경우에 편리합니다.
기존의 기법:
. NeighborOperations ( LinkType . In , , , true )
새롭게 사용할 수 있게 된 기법:
. NeighborOperations ( LinkType . In , overConnection : true )
조합 문제 중 하나인 '배낭 문제'를 푸는 함수 List. Solve Knapsack을 이용할 수 있게 되었습니다. 예를 들면 이것을 자동 로트 페깅 메소드에서 이용하여 복수의 공급 로트에 걸쳐 페깅하는 경우에 가능한 한 낭비가 적어지는 조합을 선택할 수 있습니다.
작업 주도 디스패칭에서 자원 선택 등의 조건 내용을 복사 & 붙여넣기 할 수 있게 되었습니다.
기존에는 여러 줄의 계산식을 입력하기 위해서는 이를 위한 대화상자를 따로 열어야 했는데, 계산식 입력란에 직접 여러 줄을 입력할 수 있게 되었습니다. 또한 가변 크기가 되었기 때문에 계산식 란을 더 크게 사용할 수 있습니다.
가독성을 위한 들여쓰기 조작이 가능하게 되었습니다. 여러 줄을 선택하여 정리하여 Tab나 Space의 들여쓰기를 삽입하거나 Shift+Tab으로 들여쓰기를 줄일 수 있습니다.
스킬 에디터에서 스킬 이름을 입력할 때 탭 키로 열을 이동하여 스킬 이름을 키보드에서 입력하여 빠르고 연속적으로 사용할 수 있게 되었습니다.
Excel에서의 복사 & 붙여넣기로 데이터의 형태를 고려한 입력이 가능해 졌습니다. 서식 설정 등에서 예를 들어 날짜와 같은 포맷이 다른 경우에도 자동으로 틀을 고려하여 붙여 넣을 수 있습니다.
차트 상의 작업 선택 상태를 작업 데이터 편집 화면에서 변경할 수 있도록 했습니다. 마스터 화면의 필터나 소트 기능을 사용하여 추출한 작업의 선택 상태를 바꾸어 차트상에서 조작할 수 있습니다.
전체 화면 모드를 추가하여 해당 뷰만을 화면 전체에 표시할 수 있게 되었습니다.
기존에 사이즈 고정이었던 일부의 다이얼로그가 가변 사이즈 화면이 되었습니다. 리스트나 EditBox 등의 사이즈가 화면 크기와 연동되기 때문에 사이즈를 크게하면 많은 정보를 표시할 수 있습니다.
스케줄링 패널 상에서 룰 이름/메소드 개요 설명의 편집, 룰/메소드 복사 & 붙여넣기를 할 수 있게 되었습니다. 또한 구조화 기술 내 메소드도 표시되기 때문에 중간 대화상자를 생략하고 메소드 편집 대화상자를 직접 열게 되었습니다.
적용하고 싶은 스킬이 복잡한 경우에도 간단히 지정할 수 있게 되었습니다.
작업자마다 능력이 달라서 같은 품목을 제조하는 경우에도 시간이 달라지거나 원래 사람에 따라 작업이 불가능한 모델을 실현하기 위해 FLEXSCHE에서는 작업자별로 <스킬>을 지정할 수 있습니다. 기존에는 같은 품목이라도 사양이 바뀌는 등 경우에 따라 적용하고 싶은 스킬이 달라질 때 복잡한 계산식을 기술해야 했으나 새로운 버전에서는 계산식 없이도 쉽게 이러한 모델을 표현할 수 있게 되었습니다.
작업을 하는 기계, 공구, 사람의 조합을 보다 유연하게 한정할 수 있게 되었습니다.
예를 들어 어떤 작업은 기계 A든 기계 B든 가능하지만 기계 A를 사용한다면 공구 A를 동시에 사용하고 기계 B를 사용한다면 공구 B를 동시에 사용하는 식으로 이용하는 자원의 조합이 정해져있는 경우가 있습니다. 이러한 조합은 「콤보키」를 사용해 간단하게 지정할 수 있지만, 기존에는 품목마다 고정적인 조합만 주어졌습니다. 새로운 버전에서는 보다 유연하게 같은 품목이라도 경우에 따라 다른 조합을 지정할 수 있게 되었습니다.
공정간의 버퍼 시간을 상황에 따라 바꿀 수 있게 되었습니다. 실행시의 흔들림에 대응하기 위해서 미리 공정 간에 버퍼 시간을 마련해 계획할 수 있지만, 그 버퍼를 계산식없이 파라미터화할 수 있게 되었습니다. 이를 통해 작업 시작 전에는 넉넉하게 버퍼 시간을 잡고 있어도 작업 진척에 따라 흔들림이 적어졌다고 판단되는 경우에는 버퍼 시간을 줄여가는 일을 쉽게 할 수 있게 됩니다.
수율을 유연하게 지정할 수 있게 되었습니다. 기존에는 제품별 공정별 고정값 밖에 지정할 수 없었지만 동적으로 설정할 수 있게 되었습니다. 이를 통해 예를 들어 같은 품목이라도 사용하는 자원에 따라 수율이 다를 수 있는 모델을 표현하기 쉬워집니다.
작업실적으로 새로운 작업을 생성하고 차트 상에 할당할 수 있게 되었습니다.
통상, 작업을 생성하고 계획을 세우기 위해서는 공정·자원·능력 등의 데이터가 필요하지만, 이러한 데이터가 없어도 언제(몇 시부터 몇 시까지) 어디에서(어느 기계·사람이) 작업했는가 하는 실적 정보를 이용하여 그대로 작업을 생성해 차트상에 할당할 수 있게 되었습니다.
예를 들어 마스터에서 관리되지 않는 계획 외의 작업에 대해서도 부하 등을 고려하거나 계획을 세울 수 있게 되었습니다.
품목 그룹을 세분화할 수 있게 되었습니다.
품목 그룹에 소속된 각 품목의 재고량을 로케이션별로 집계할 수 있습니다. 예를 들면, 여러 품목을 합한 재고량이 공장별로 허용되는 최대 양을 초과하고 있는지를 재고량 차트에서 확인하거나 초과하지 않는 계획을 세울 수도 있게 됩니다.
사용자 정의 필드(사용자 정의 형식의 필드)에 기본값을 설정할 수 있게 되었습니다. EDIF 및 Add-In 등의 레코드를 추가할 때 기본값을 사용하는 경우 설정을 생략할 수 있습니다.
제조물의 장소를 제약으로 하면서 자동 스케줄링과 수정에 의한 계획 수립을 할 수 있는 「작업장 계획 옵션」을 대폭으로 기능 확장했습니다.
작업장 계획 기능을 병렬 처리할 수 있게 되었습니다. 멀티코어 CPU 환경에서 스케줄링 시간을 단축할 수 있습니다.
작업장 배치는 자동으로 결정되었으나, 각 배치 후보를 평가하기 위한 계산식을 지정할 수 있게 되었습니다. 예를 들어 '가급적 통로 측에 우선적으로 배치하고 싶다'와 같은 상세한 지정을 계획에 반영할 수 있습니다.
작업 주도 디스패칭 메소드의 자원 선택 및 재탐색 기점에서 작업장 배치 예정을 참조할 수 있게 되었습니다. 이로 인해 예정되어 있는 배치가 바람직하지 않은 경우에는 다음 시간대에 진행하거나 다른 작업장 자원이 있으면 그 쪽을 우선할 수 있습니다.
적용하고 싶은 스킬이 복잡한 경우에도 간단히 지정할 수 있게 되었습니다.
작업자마다 능력이 달라서 같은 품목을 제조하는 경우에도 시간이 달라지거나 원래 사람에 따라 작업이 불가능한 모델을 실현하기 위해 FLEXSCHE에서는 작업자별로 <스킬>을 지정할 수 있습니다. 기존에는 같은 품목이라도 사양이 바뀌는 등 경우에 따라 적용하고 싶은 스킬이 달라질 때 복잡한 계산식을 기술해야 했으나 새로운 버전에서는 계산식 없이도 쉽게 이러한 모델을 표현할 수 있게 되었습니다.
작업을 하는 기계, 공구, 사람의 조합을 보다 유연하게 한정할 수 있게 되었습니다.
예를 들어 어떤 작업은 기계 A든 기계 B든 가능하지만 기계 A를 사용한다면 공구 A를 동시에 사용하고 기계 B를 사용한다면 공구 B를 동시에 사용하는 식으로 이용하는 자원의 조합이 정해져있는 경우가 있습니다. 이러한 조합은 「콤보키」를 사용해 간단하게 지정할 수 있지만, 기존에는 품목마다 고정적인 조합만 주어졌습니다. 새로운 버전에서는 보다 유연하게 같은 품목이라도 경우에 따라 다른 조합을 지정할 수 있게 되었습니다.
공정간의 버퍼 시간을 상황에 따라 바꿀 수 있게 되었습니다.
실행시의 흔들림에 대응하기 위해서 미리 공정 간에 버퍼 시간을 마련해 계획할 수 있지만, 그 버퍼를 계산식없이 파라미터화할 수 있게 되었습니다. 이를 통해 작업 시작 전에는 넉넉하게 버퍼 시간을 잡고 있어도 작업 진척에 따라 흔들림이 적어졌다고 판단되는 경우에는 버퍼 시간을 줄여가는 일을 쉽게 할 수 있게 됩니다.
종래에는 작업장과 공간 제약 제한 영역의 모양에 다각형이 지정되어 있어도 배치 계획할 때는 그들이 직사각형으로 간주했지만 다각형으로 배치되게 되었습니다.
배치 위치의 메시 사이즈를 지정할 수 있게 되었습니다. 예를 들어 배치 장소가 동일한 크기의 구획으로 구분되어 있는 경우에 구획에 맞게 배치할 수 있습니다.
작업장 패널에 배치된 각 작업에 대해 별도의 이미지를 겹쳐서 표시할 수 있게 되었습니다. 워크의 윤곽 뿐만 아니라 내부의 상황도 리얼하게 볼 수 있습니다.
마우스 커서 위치의 작업장에서의 좌표를 작업장 패널의 상태 표시줄에 표시할 수 있게 되었습니다. 작업장에서 좌표를 확인할 수 있습니다.
EDIF로 작업장을 EMF 파일(Enhanced Metafile)이나 SVG 파일(Scalable Vector Graphics)에 내보낼 때 배경도 출력하게 되었습니다. 적절한 배경을 설정하여 작업 지시 등에서의 시인성을 향상시킬 수 있습니다.
작업장 패널에 작업 패널이나 프로젝트에서 작업을 드래그 앤 드롭하여 배치를 변경할 수 있게 되었습니다. 다른 작업장에 배치되어 있는 작업을 이동하여 배치를 지정하는 작업을 원활하게 실현할 수 있습니다.
작업장 패널에서 표시 시간대를 전후로 전환할 때 휴일 등의 비가동 시간대를 건너 뛸 수 있게 되었습니다.
Communicator에 등록되어 있는 프로젝트 별로 다른 상급 옵션을 설정할 수 있게 되었습니다. 보유하고 있는 상급 옵션 수에 따라 요건이 다른 복수의 프로젝트를 같은 라이센스로 나누어 사용할 수 있습니다.
서버상의 스케줄링에서 병렬 처리를 유효 화하여 고속화 할 수 있게 되었습니다.
Communicator상에서 스크립트 애드인을 실행할 수 있게 되었습니다. 본격적인 개발 환경을 준비하여 DLL을 생성하지 않고도 간편하게 다양한 기능을 구현할 수 있습니다.
새롭게 SAP HANA와의 연계가 가능하게 되었습니다. HANA는 ERP나 MRP 등에도 채용되기 시작한 새로운 RDBMS입니다. FLEXSCHE도 HANA에 대응하여 HANA를 채택한 기간 시스템과도 직접적으로 연계가 가능해 졌습니다.
JSON 형식을 통한 파일 I/O도 지원하였습니다. json 파일은 스크립트 등에서 접근할 때 편리하므로 EDIF를 통해 얻어진 데이터를 한 쿠션 처리하여 사용할 수 있습니다.
1건 이전에 import한 레코드를 참조할 수 있게 되었습니다. 예를 들어 정렬된 데이터를 순서대로 읽어 특정 열 값의 변화를 검출했을 때 동작을 바꾸는 제어가 쉬워질 것입니다.
1건 이전에 import한 레코드를 참조할 수 있게 되었습니다. 예를 들어 정렬된 데이터를 순서대로 읽어 특정 열 값의 변화를 검출했을 때 동작을 바꾸는 제어가 쉬워질 것입니다.
기존에는 전체 공통 설정으로 오류 시 롤백 '한다/하지 않는다'와 같은 지정만 했으나 Import그룹별로 지정할 수 있게 되었습니다.
Math.Random 함수를 확장하여 난수 발생 방식을 지정할 수 있도록 하였습니다. 원하는 속도나 품질에 따라 선택할 수 있습니다. 또한, 정규 분포나 푸아송 분포의 난수를 발생하는 함수도 추가되어 있습니다. 시뮬레이션 등의 용도로 사용할 수 있습니다.
변수에 람다식과 같이 함수형의 값을 대입할 수 있게 되었습니다. 지금까지와 같이 계산식 라이브러리를 사용하지 않아도 공통의 루틴을 계산식내에 정리하여 정의할 수 있어 가독성이나 보수성을 향상시킬 수 있습니다. 분할 형제 작업의 조기 착수 일시 비교
$ earliestStart := Operation()[
.SplitBase.SplitOperations
.Select([.IsAssigned])
.Min([.ManufactureStartTime])] ,
.PrecedingOperation.$earliestStart() < .$earliestStart()
또한 반복적인 함수나 상호 참조 함수도 계산식 라이브러리를 사용하지 않고 기술할 수 있습니다. 예)피보나치 수
$fib : = ( Long n) [$n <= 1 ? $n : $fib($n - 2) + $fib($n - 1)] ->Long , $fib(10)
레코드를 생성하는 함수를 추가했습니다. 임의의 작업, Order, 자유 캘린더, 작업실적, 작업연결 레코드를 생성할 수 있습니다. 예를 들면 재고에 따라 그것을 소비하는 오더를 생성하거나 하나의 오더를 생성해서 여러 개의 오더를 정리할 수 있습니다. 이러한 함수는 속성 생성 메소드 내에서만 이용이 가능합니다.
계산식에 리터럴이 아닌 변수 값을 가져오는 Variable 함수를 추가하였습니다. 취득하는 변수명을 상황에 따라서 바꾸고 싶은 경우나 장표에서 EDIF 의 파라미터를 동적으로 참조하는 경우에 이용할 수 있습니다.
계산식에서 사용할 수 있는 함수를 더 늘려서 할 수 있는 일이 더 확장되었습니다.
FLEXSCHE Scripting forms는 스크립트 언어(JavaScript/VBScript)만으로 Modal 폼을 포함하는 Modeless폼(뷰/패널)을 간편하게 작성하기 위한 기본틀입니다. 버전 18.0에서는 다음과 같은 기능 확장이 이루어졌습니다.
Modal form(Yes/No 또는 Yes/No/Cancel)에서 Enter키를 눌렀을 때 눌러진 것으로 간주되는 버튼(기본버튼)을 지정할 수 있게 되었습니다.
구현 예)
Sub SampleForm_Initialize( form )
...
form.Property( "form", "default_button")="no“
...
End Sub
Modal form에서의 Enter 키와 Escape 키를 비활성화 시킬 수 있게 되었습니다.
구현 예)
Sub SampleForm_Initialize( form )
...
form.Property( "form", "accept_enter")=false
form.Property( "form", "accept_escape")=false
...
End Sub
Modal form에서 임의의 이벤트 처리 내에서 특정 버튼(OK/Cancel/Yes/No)이 눌러진 것으로 간주하고 폼을 닫을 수 있게 되었습니다.
구현 예)
Function SampleForm_Event( form, ctrl, evnt, param ) 리스트 항목의 더블클릭은 「OK」클릭과 동일
...
if ctrl = "list1" then
if evnt = "double_clicked“ then
form.Done "ok“
end if
end if
...
End Function
기존에는 "2018/11/23"처럼, 년도가 4자리인 날짜밖에 해석할 수 없었지만, "18/11/23"처럼 2자리수로도 인식할 수 있게 되었습니다.
Version 19.0 Release |
Version 18.0 Release |
Version 17.0 Release |
2016-08-01 Released FLEXSCHE ver.16.1_Windows .. |