FLEXSCHE Version 23
FLEXSCHE version 23.0 was released on March 25, 2024. Numerous feature enhancements have been made. Here are some of the main ones. (Differences between version 22.0 and version 23.0)
FLEXSCHE AutoCalibrator
In addition to the FLEXSCHE DataTuner feature that tunes process capacity values based on operation result information, a feature has been added to build a machine learning model from operation result information and use that model to estimate setup and manufacturing times during planning without master settings.
Combining these two featuresFLEXSCHE AutoCalibratorwill be released under the name.
The manufacturing field is changing daily due to the diversification of products and the shortening of product life cycles.
To respond to this, it is necessary to accurately estimate the operation time during planning to create a highly accurate plan.
In general, the operation time required during manufacturing varies due to various factors.
For example, the setup time required when switching what is being manufactured can vary due to factors such as material, color, width, thickness, the jigs used, and the machines used.
Accurate estimation requires hearing from the field, and it is clear that continuously doing this to match the ever-changing manufacturing field involves a lot of effort.
FLEXSCHE AutoCalibrator can eliminate that effort.
FLEXSCHE AutoCalibrator can estimate operation time without master maintenance by learning from operation result information from the field to build a machine learning model.
By providing the conditions and the operation time taken when the operation was actually performed to the machine learning model, it learns how the operation time changes depending on the conditions.
Once the learning is complete and the machine learning model is built, it becomes possible to accurately estimate the operation time by providing various conditions for the operations to be performed during planning.
This allows planners to be freed from the complexity of daily master maintenance and focus on planning, enabling the creation of higher-quality plans.
DataTuner's Generic Process Support

In DataTuner's tuning, there was previously a restriction that excluded generic processes, but this restriction has been removed. Based on the delegation settings of resources, operations are now included in a broader "generic process," allowing DataTuner to tune the entire generic process. For example, operations in processes "Assembly A," "Assembly B," and "Assembly C" are grouped into a single generic process called "Assembly," which becomes the target for tuning.
FLEXSCHE WebViewer
Milestone Display
Milestones can now be displayed on the Order Gantt Chart and Job Gantt Chart.
It also supports user-defined milestone images.
Progress Display on Job Gantt Chart
The progress of operations is now displayed on the Job Gantt Chart.
The color of the bars on the Job Gantt Chart changes partially according to the progress time of the operation results, displaying the same as in FLEXSCHE GP.
Selectable Display Targets and Positions on Order Gantt Chart Rows
It is now possible to set not only the operations of that order but also the operations of related separate orders connected by pegging, etc., as display targets. Additionally, you can specify how to expand each operation and related separate order operations in cases of merging or branching.
This allows for even broader expressions.
Inheriting Holiday Settings
Holiday settings such as weekends and public holidays in the FLEXSCHE GUI are now inherited in the charts of the WebViewer.
User-Defined Pages
It is now possible to display any page on the WebViewer, not limited to timeline charts.
For example,DashboardBy preparing a screen like the newly added sample "Dashboard," it can be viewed as one of the charts in the WebViewer.
Open by Specifying Chart Name
When there are multiple charts for one data, it is now possible to open the screen by specifying the chart in the URL query parameter.
For example,
Open Resource Gantt Chart、
Open Order Gantt Chart、
can be used in this way.
FLEXSCHE Optimizer
Slitter Planning
FLEXSCHE's slitter planning function provides optimized planning that considers both time and space. By using this function, it is possible to reduce waste of raw materials while adhering to slitter processing constraints and create efficient plans. It also eliminates personalization and allows for planning that considers required priorities and due dates. Furthermore, it integrates with existing FLEXSCHE functions, allowing for comprehensive scheduling over time, greatly contributing to efficiency and cost reduction in the manufacturing site.
Flow When Using

First, select the product you want to create (required candidate) and the raw materials (mother material) to be used. Next, activate the "Optimizer.SlitterPlanning" function to create an initial slitter plan concerning space. Once the spatial plan is made, use FLEXSCHE's standard functions to create a time-based plan. Here, refer to the created drawings, use the takt expression to generate production orders step by step, and assign each operation.
Using the drawings generated by the web application and FLEXSCHE's Gantt chart, confirm the order and assignment of processing operations. Here, you can also adjust the plan as needed.
Once all plans (concerning space and time) are confirmed, move on to creating plans for the next raw materials. This process is repeated until all products are produced as planned.
Introduction of Sample "Slitter Planning"
This sample introduces a two-stage slitting process. In the first stage, slitting of raw materials is performed only in the vertical direction, and in the secondary processing, both vertical slitting and horizontal cutting are possible.
The created drawings show the process progressing in order: "Installation of raw material roll," "First slitting," "Installation of small-sized roll," and "Second slitting." By using multiple slitting machines, part of the work can be carried out simultaneously, and this flow can be confirmed in the drawings.

The assignment of processing operations to each slitting machine can be clearly confirmed through the Gantt chart. Furthermore, it is visually understandable how the mother material is cut, whether the second slitting with the same requirements is performed simultaneously with cross-cutting or, if not possible, planned sequentially.

Please refer to the sample for detailed introductions, procedures, and operations.
Slitter Planning Considering Defects
In the real manufacturing site, it is common for defects to occur in the mother material during the manufacturing process. There are situations where slitter planning that considers these defects is necessary. By inputting defect information into the SlitterPlanning function, a plan that avoids these can be automatically created.
Even if there are hundreds of defects, it is possible to effectively handle them through settings and minimize material waste by avoiding areas where defects are concentrated.
FLEXSCHE CarryOut
API Release
The API for CarryOut has been released.

Using the HTTP API, you can not only fetch and update data on CarryOut at any time but also receive notifications when any data is updated on CarryOut using the WebSocket API.
This allows for more flexible collaboration with various clients than before.
Removal of Restrictions on Executable Scheduling Methods
Previously, there were functional restrictions such as some advanced scheduling methods not being executable on CarryOut, but these restrictions have been removed.
Container Support
A Docker image has been released to launch the CarryOut server as an official version.

If you want to operate multiple projects on CarryOut, previously multiple Windows Server OSs were required, but now it is possible to handle multiple projects on a single Windows Server OS.
Specify Evaluation Version in Configuration Utility

CarryOut and Communicator can now be specified to start in the evaluation version in the configuration utility. This eliminates the need to directly edit XML files.
Getting Started Guide

An introductory guide for FLEXSCHE CarryOut has been added. It is designed to allow you to experience the cycle of planning → instruction → execution in conjunction with FLEXSCHE GP.
FLEXSCHE Communicator
Check-out of Shared Files

It is now possible to check who is checking out shared files from the management console. This makes it easier to understand who is editing when multiple people are editing.
Workshop Planning
Workshop Planning for Multiple Tasks
It is now possible to plan the placement of workshop resources for multiple tasks of a single operation.
For example, it is easy to plan the placement while moving the workpiece for each part such as setup → manufacturing → teardown.

Scheduling
Assignment with Actual Resources Not in BOR
In the operation result table, you can specify actual resources, but previously it was not possible to assign resources not registered in the BOR as a master.
In the new version, resources can be assigned even if they are not in the BOR, improving the accuracy of reflecting results.
Distribute Pegging during Operation Split
When splitting pegged operations, it is now possible to distribute each pegging to the generated split operations.
Conversely, when merging split operations, the pegging can be inherited to the original operation.

[Before Split]

[After Split]
Unit Quantity Split in Order Splitting
It is now possible to perform splits by arbitrary unit quantities not only in operation splitting but also in order splitting. The due dates of each split order will be distributed according to the quantity ratio of each order.
Breakpoints in Resource-driven Dispatching

Added "After Evaluating Assignment Permission Conditions". Resource-driven dispatching already has several breakpoints, and now it is possible to observe the state during the evaluation of assignment permission conditions.
Breakpoints in Replenishment Order Generation Method

For the Replenishment Order Generation Method, it is now possible to temporarily pause processing during execution and check the status on the GUI.
You can observe the process of replenishment orders being generated in detail.
Modeling
Dynamic Changeover
It is now possible to update the dynamic changeover for preceding/following operations already assigned on sub-resources of the operation to be assigned. (*Some restrictions apply)

As shown in the above diagram, when operations 0001 to 0004 are assigned, and an operation with Resource 1 as the primary resource and Resource 2 as the sub-resource is assigned in between.

When the orange operation is assigned between 0001 and 0002 and between 0003 and 0004, the changeover of the preceding operation 0001 and the following operation 0002 on the primary resource, Resource 1, was updated as shown in the above diagram.

In the future, depending on the settings, it will also be possible to update the changeover of the preceding operation 0003 and the following operation 0004 on the sub-resource, Resource 2. (It is also possible to target only the primary resource as before.)
Link Resource Quantity with Multiple Squad Resources
When using variable capacity squad resources for multiple tasks of a single operation, it is now possible to link the task resource quantity for each squad resource.
For example, if the number of workers involved in a process varies by time period and each worker requires one tool, you can constrain the number of workers and tools to match for each time period.

Spec/Num-Spec Constraints between Task Resources
It is now possible to constrain the spec or num-spec of another task resource of the same operation using resource spec constraints/num-spec constraints.
For example, it is convenient for uniformly restricting the combination of resources for all operations.

Concatenated Indirect Reference Key
It is now possible to concatenate and specify multiple indirect reference keys.
In FLEXSCHE, you can specify "skills" to express differences in capabilities, such as when each worker has different abilities.
The skill key, which represents what skill it is, has been indirectly referable for some time. For example, you can refer to an order's comment and use its value as a skill key.
It is now possible to concatenate and specify this indirectly referenced key. This allows for more flexible key specification.
For example, when skills are determined by the combination of order items and sub-resources, you can concatenate the order item code and the resource code of the sub-resource task as an indirect reference key.
Apply Location to Raw Material Candidates
In "Raw Material Candidates," which dynamically generates multiple input/output links during operation assignment, locations can now be applied to the generated linked items.
FLEXSCHE EDIF
Expansion of Updatable Items in Operation Update
The following four items have been added to the items that can be imported during the operation (update) import.
- Operation Period Restriction
- Protection of Operation Period Restriction
- Resource Limitation
- Protection of Resource Limitation
This allows for more detailed setting of information related to operation assignment when linking data from external systems to FLEXSCHE.
For example, by incorporating the planned subcontractor registered in an external system into the resource limitation, it is possible to plan using the same subcontractor in FLEXSCHE.
Context of Exporting BOR Usable Section to BOR Usable Section
In the export settings of the BOR usable section, it is now possible to use the "BOR Usable Section" context for the expressions and conditions to be exported, making it easier to export or set conditions that previously required complex expressions.
User Interface
Sample "Dashboard"
In FLEXSCHE, web components can be embedded as views or panels, and a sample "Dashboard" utilizing this has been added.
It displays the number of overdue deliveries and the operating status of machines as a result of scheduling. The board display changes according to the schedule results. Graphs and other displays are also possible.
The sample is from FLEXSCHE GP, but it can also be displayed similarly in FLEXSCHE Viewer.

Configuration of Columns in Operation Sequence Chart
It is now possible to specify the configuration of columns in the operation sequence chart using expressions.
For example, you can select operations or orders on the Gantt chart and create an operation sequence chart with the related resources as columns.
Milestones in Keyed Time of Orders
It is now possible to display order milestones at the positions set in the keyed time of orders.
Improvement of Window List Dialog

The "Window List" dialog has been improved.
It is now possible to rearrange the order within a tab group. Multiple items can be rearranged at once.
Also, the protection status can be toggled with a checkbox.
Pegging Information in Connection Type
In the input/output view of the operation viewer, it is now possible to identify whether the displayed connection is based on a pegging relationship.
Target Audienceis引当てに基づいたものである場合に「接続先Type」に接頭文字"*"is付与されます。
Drag & Drop of Operations from Operation Viewer
It is now possible to assign operations by dragging and dropping operation boxes from the operation viewer to the timeline chart.

Hide Divider Lines on Signboard

It is now possible to hide the divider lines on the signboard.
When setting content calculation expressions for arbitrary intervals such as daily or displaying data cubes, the boundary lines with each element are displayed.
For example, in cases where you want to display information only on specific days like milestones, it is cumbersome to have divider lines drawn on all days when most have no display content.
In such cases, hiding the boundary lines improves visibility.
Gridlines of Operation Sequence Chart when Exported to Excel
When exporting the operation sequence chart to Excel, the gridlines that were previously not reproduced as they were drawn in FLEXSCHE are now displayed in the new version, making it easier to read.
High DPI support, adjust the close and pin buttons, and the checkboxes in the tree control to match the text size
When the system text size is increased, the pin button, close button, and checkboxes in the tree control are also enlarged, making it easier to operate.
Operation
Connection test with License Key Updater

It is now possible to perform a connection test for the license key using the License Key Updater. You can check for any issues with the connection to the license server, such as when activating an alternative license.
Support for various datasets in permissions
Permissions can now be applied to all datasets and custom datasets. This allows for more detailed control of permissions when editing with multiple people.

Expression
Added object types related to BOR
As types that can be handled in Takt Expression, BOR, BOR Task, Usable Section, and Using Timespan have been added. You can now refer to related BOR from processes and operations, and from BOR, you can refer to BOR Task, and from BOR Task, you can refer to Usable Section. Naturally, you can also refer to the properties held by each object, and in some cases, assignment is possible.
The number of functions available in expressions has increased, further expanding what you can do.
Example (Context: Process)
$borTask := .BOR.Task(0), $usable := $borTask.Usable(1), $usingTime := $usable.UsingTime(TaskPart.Manufacture, 0), $usingTime.Capacity //Capacity Value
<定数>.Name/FullName/ShortDescription
It is now possible to obtain the meaning or description of constants as values.
For example, regarding the order type in an order, you can obtain the following strings:
.OrderType.Name ⇒ "Production" .OrderType.FullName ⇒ "OrderType.Production" .OrderType.ShortDescription ⇒ "生産オーダー"
Display a dialog to select from a list in an expression

With the function UI.SelectFromList, you can display a dialog and select an item from a specified list.
You can easily achieve this with just an expression without developing an add-in.
List of Added Functions
The number of functions available in expressions has increased, further expanding what you can do.
For Developers
Add-in with Python
It is now possible to write FLEXSCHE add-ins in Python.
You can use input assistance with type definition files and implement add-ins using Python's rich libraries.
(Code Example)
def show_operation_code(key_entity: AIM.KeyEntity): time_chart: GUI.TimeChart = Script.Cast( key_entity.get_ParamObject(int(GUI.ParamIDType.ParamIDTimeChart)), GUI.TimeChart ) task: SData.SDTaskRec = Script.Cast( key_entity.get_ParamObject(int(GUI.ParamIDType.ParamIDTaskRec)), SData.SDTaskRec ) if task.IsBound: time_chart.Project.Panels.MessagePanel.AddLine("general", task.OperationRec.Code) return False
Arguments for IView.Print can now include file paths, titles, and printer settings
When printing using a printer that supports standardized file output, it is now possible to specify the output path.
Previously, the output destination was a predetermined path and file name, but now you can output with any path and file name.
Specifically,
BOOL IView.Print ( BOOL Auto, IDispatch* Direction)
Provide a standard XMLDOM as the second argument.
* Currently, this feature is limited to Views held by the GUI