STEP-NC-Compliant Implementation to Support Mixed-Control Technologies Applied to Stone-Processing Machines Based on Industrial Automation Standards

: STEP-NC (Standard for the Exchange of Product Model Data–Numerical Control) for metal milling and turning is not implemented by industrial computer numerical controllers. Solutions reported are prototypes based on post-processing in G-code. Moreover, minority machining processes, such as stone cutting, have not yet been contemplated in the STEP-NC standard. This article takes that sector as a use case. An extended STEP-NC model for circular saw stone-cutting operations is proposed, and a prototype automation implementation is developed to work with this extended model. This article shows how modern technological resources for coordinated axes control provided by many industrial controllers for the automation of general-purpose machines can speed up the processes of implementing STEP-NC numerical controllers. This article proposes a mixed and ﬂexible approach for STEP-NC-based machine automation, where different strategies can coexist when it comes to executing STEP-NC machining ﬁles, so controllers do not need to implement the standard in an exhaustive way for all the possible features, but only at selected ones when convenient. This is demonstrated in a prototype implementation which is able to process STEP-NC product ﬁles with mixed-feature types: standard milling and non-standard sawblade features for stone processing.


Introduction
Traditional machining equipment (for milling, turning, or laser cutting) has been used for decades when working with different materials, such as metal, wood, or glass.The technology for automating this machinery has essentially remained unchanged since the appearance of CNC (computer numerical control) systems based on toolpath specifications according to the ISO 6983 format [1] (commonly called G-code).More recent processes, such as 3D printing, also employ the same toolpath control technology [2].Even equipment for assembly operations, such as those that follow a toolpath for marking or depositing substances, which have nothing to do with machining, use the same technology [3].This degree of maturity in G-code automation technology makes it relatively easy to add new implementations.Control device manufacturers provide functionalities for the interpretation of toolpath specifications according to this standard for direct transfer to the positioning commands of the different axes (two or more) [4,5] These functionalities are invisible to the programming user, who only needs to be concerned with parametrizing.Even low-cost devices, such as Arduinos, have functionalities for toolpath specification interpretation, such as Marlin or Repetier Host, used in additive manufacturing technologies [6,7].
However, this old technology based on G-code presents serious obstacles when it comes to undertaking complex solutions that require, for example, a conditional, adaptive, or intelligent action in a standard way, which is a key part of modern machinery development.This is because, among other reasons, it is a precompiled technology and does not provide the controller with all the information that it is required to take unexpected decisions [8].
To overcome these limitations and provide the infrastructure for a new generation of more intelligent controllers, the STEP-NC standard (Standard for the Exchange of Product Model Data-Numerical Control) was developed.STEP-NC attempts to equip the CNC controller with more information so it can implement advanced functionalities [9].This additional information is, essentially, but among other things, the geometry of the features that are to be made.STEP-NC technology has undergone major advances in recent years, particularly regarding setting up the CAD-CAM-CAPP-CNC digital chain with this enriched information [10].However, the technology is not fully developed on the controller side (CAM-CNC).Despite the effort put into STEP-NC, various factors ensure that G-code is still used on a massive scale.One such factor is the reluctance of large-scale manufacturers of device controllers to make the effort to standardize and apply the data models defined in STEP-NC [11].One of the motives could be the inherent complexity of implementing the standard and developing the associated software.This, in addition, requires powerful equipment for the implementations.All this is despite the fact that the standard itself defines different implementation levels of increasing complexity.A summary of the three STEP-NC implementation levels is given below [12]: Indirect or interconnected.The STEP-NC machining data are interpreted to generate toolpaths and program the operations.The G-code must be converted using a postprocessor (interpreter) in the CNC to undertake the paths [13].Thus, this machine code becomes completely invisible when used; 2.
Interpreted or with embedded CAM.The axis movement command is executed directly from the STEP-NC file.However, the milling toolpaths cannot be modified during execution [13]; 3.
Adaptive or intelligent.The CNC controller evaluates the process data online during process execution.The results obtained are used to optimize the real-time manufacturing parameters.To adapt itself to the requirements, the controller decides whether modifications are needed in the toolpath or whether more operations should be added to the work plan [14].
The most widespread implementations fall within the first category, particularly those based on the use of a STEP-NC-to-ISO 6983 code interpreter for direct use in CNC machines.To date, there have been few 100% STEP-NC implementations, i.e., type 2, and they have all been laboratory prototypes, as described in [15,16].That is why STEP-NC technology is being used as a CAM-to-CAM mechanism, while in the case of CAM-CNC, the vast majority are based on interpreting and post-processing the file to other already developed formats, such as G-code or other robot programming languages [17,18].
While standards for automation specification of classic machining operations (milling, turning, etc.) are still governed by the old ISO 6983 technology, major advances have been made in the automation of general-purpose machines involving single-axis motion control, synchronous axes, and even interpolated axes operations.New motion control standard resources available in current axis controllers enable machine automations with interpolated axis movements.For example, the PLCopen Motion Control standard defines the possibility of generating the control sequences for undertaking interpolated movements by the numerical controller [19].This enables the machinery to be much more intelligent and flexible.Thus, it is possible to make an online recalculation of the manufacturing process and generate individual toolpaths as the process takes place, instead of the complete post-processing strategies of classic systems based on G-code.Current NC controller architectures, in conjunction with part 4 of the PLCopen Motion Control standard (axis coordination), define function blocks (FBs) that are implemented by current controller devices.Such devices can be seen as programmable logic controller (PLC) devices with numerical control capabilities for managing sets of axes.These FBs make it possible to work with classic or custom kinematics under the concept of the axes group.However, standard blocks for direct processing of machining information in STEP-NC format are not available, which means that new STEP-NC-based machine automation implementations require major and expensive software development.
This article shows how modern technological resources for coordinated axis control provided by many industrial numerical controllers can speed up the processes of implementing STEP-NC numerical controllers.It evaluates this approach with a prototype implementation for a minority machining sector, that is, computerized stone processing, to make architectural parts which, a priori, might seem unsuitable for STEP-NC technology implementation.Machines of this type have their own peculiarities that range from the tools used (mainly diamond disc) to the business environment itself in which they are employed as these are essentially small workshops with a generally low level of technology.This means that there is relatively little capacity for undertaking large technological changes.Another peculiarity of stone-machining equipment is that it is subject to unpredictable alterations in parameters that are relevant during the cutting process (variations in the tool's cutting power, changes in the stone's structure, etc.) [20].The technology must take this aspect into account and if any process optimization is to be achieved in terms of machine automation, the control and/or the operator must be able to make important changes during the process [21].That is why stone-cutting machine software control systems are, in many cases, feature-based.The machine automation systems continuously generate toolpath axis control movements from feature definition (geometry, tolerances, etc.).This is the same approach as the third implementation level of STEP-NC presented above [22].
This article proposes a mixed and flexible approach for STEP-NC-based machine automation, where different strategies can coexist when it comes to executing a STEP-NC machining specification file, so controllers do not need to implement the standard in an exhaustive way for all the possible features and operations, but only at selected ones when convenient.
This article is organized as follows.First, there is a description of the particularities of stone-working processes (Section 2.1), especially the automation requirements for precise stone-processing machines (Section 2.2).Given the peculiarities of the process, which has its own technological challenges, it is employed as a use case to analyze the convenience of using STEP-NC files as the input for machining process automation and the possible strategies for doing this.In Section 3, an overview of STEP-NC technology and standards for toolpath control in machining processes automation are given.Section 4 describes the proposal and the validation implementation developed by the authors.Section 4.1 presents the extended model proposed by the authors to obtain a STEP-NC-compatible model for stone-milling and sawblade-cutting processes.This extension of the model is based on the selection and definition of new features and on the modeling of the machining processes.This model is first validated in a simulation implementation described in Section 4.2.Finally, Section 4.3 presents an implementation prototype machine that shows how the extended STEP-NC model supports CAM-mixed tool machine communication to make a part using disc and mill cutting.The prototype uses current standard automation features provided by motion control devices and proposes implementation strategies in which the STEP-NC files can offer advantages to the sector.These strategies and new automation functionalities can be transferred to other technologies.

Stone-Processing Equipment
Stone processing is a complex task that is influenced by several inter-related factors.Those factors have a direct influence on the quality of the final part and the efficiency of the process.Examples include cooling efficiency during stone cutting, the physical-chemical properties of the stone, and the specific tools used on the stone.
There are several machines for cutting stone, using distinct technologies (diamond wire cutting, sawblade cutting, milling, etc.) and different capacities (stone slicer, precision saw for custom shapes, etc.) [23].Figure 1 shows a classical sequence of processes and machines used to obtain a final construction part.The stone typically comes from quarries in big blocks that are processed by large machines with one or several tools (diamond wire, large-diameter circular saws, blades, etc.).First ("Primary saw" in Figure 1), a blockcutter machine saws the rough block into, on the one hand, intermediate blocks to make a secondary saw, and on the other hand, slabs to directly apply a surface finish (for instance, polish).The next step ("Secondary saw" in Figure 1) is the generation of dimensional ashlars, usually done by large machines.Next, different multi-axis precise machines can be used depending on the type of the final part to be made ("Precise saw" in Figure 1).Furthermore, the same part could be fashioned by different machines.For example, a planar-bounded shape could be created using a water jet or a circular saw.Different machines can also be used to carry out different types of operations for a part.For example, the same part may need some work from a sawblade disc cutter tool to create a molding, while a pocket would require a milling operation.Finally, a good surface finish can be obtained by applying surface treatments, such as polish or a flamer.
For stone parts, such as moldings (Figure 2a) and columns (Figure 2b), which will be used in construction, disc saws are the most popular device [21,24].Stone-cutting machines with circular saws can therefore be highly complex, sometimes having several axes (like the machine in Figure 3), so they can machine such complex parts.Figure 2 also highlights the main geometric parameters of the features involved (for instance, the molding profile line to be extruded along a linear path in Figure 2a).Figure 3 shows a typical configuration of a stone-cutting machine with three axes of movement in the structure (X, Y, Z) and two additional axes for complex operations: one axis is in the table to allow the rotation of the stone part (R) and another in the tool support (M) to perform oblique cuts, where the different cutting tools are mounted.Moreover, discs have limitations when it comes to making other features, such as pocket corners (Figure 2c).For that kind of feature, stone milling is the most suitable option.There are currently mixed-technology stone machines that can carry out these complex operations.They are suitable for plane cutting and turning, although they work with the same tool, which is made of diamond.There are also mixed-tool machines, such as the one in Figure 3, with a milling tool mounted on the disc axis, which can also be used to create features (for instance, Figure 2d,e) using both technologies without having to switch machines.
Mixed tools can be a good choice for improving stone-processing machine production when making architectural surface forms, as long as CAM-CNC communication based on features information provides information to the CNC control to make machining more intelligent, with functionalities, such as online toolpath adaptation (sometimes needed in stone processing, as detailed below).

Automation Requirements for Stone-Processing Machines
A fundamental element in stone processing is the tool used for cutting.The use of a disc limits to two the number of axes that can be interpolated with the sawblade inside the stone, because the disc cannot turn on another plane other than the one for cutting.However, to make complex features, it may be necessary to position more axes, which means that these movements are made with the sawblade outside the stone, with machines sometimes having five or more axes (Figure 3).Specific strategies are implemented for moving the disc into the stone to cut and for moving it out to perform disc-orientation changes.
Cutting and milling become more difficult if the hardness increases in one part of the stone or if the disc loses cutting efficiency.The machine may automatically detect the new operating conditions by means of several variables (the current of the motor, measurements from the encoders of current advance speed, etc.).To overcome cutting difficulties, the disc speed must be changed (an easy operation), but the toolpath must also be recalculated (for example, with a narrower distance between cuts).This will only be possible if the toolpath-generating subsystem has the information during execution that allows it to undertake recalculations and the capacity to use that information to adapt and correct itself while the process is underway.Because of the complexity of the surfaces generated and the path planning, G-code is created offline so it is generated efficiently [11].Thus, CNC machines become machines that do not take into account the geometry of the part being manufactured, limiting themselves to executing one line after another [13].This hinders the intelligence of the manufacturing process, as it does not allow the possibility of correcting problems during machining, it does not close a data feedback flow, and it does not take into account the traceability of real movement or changing situations during the process [25].To be able to perform this more intelligent automation, controllers need more information from the CAM to make control decisions on their own.

New Standards for Machining Processes Automation: Work Specification and Toolpath Control
In CAM-CNC systems, the CAM communicates the machining operations to the CNC controller to make a part.Section 3.1 presents the principles of STEP-NC as a standard specification for that.On the controller side, the work specification is translated into axes commands to perform the required toolpath movements.Standard software resources to perform this control that are available in commercial motion controllers are presented in Section 3.2.

STEP-NC: Feature-Based Machining Specifications
Since it began in 1999, STEP-NC has been developed to provide a data model for a new generation of intelligent CNC controllers.In 2007, it became an international standard.STEP-NC comprises two versions: ISO 14649 [26] and ISO 10303-238 [27].The former defines the requirements for the detailed machining information in ARM (application reference model) format, and the latter expresses the ARM data but in the form of generic, integrated, defined STEP resources (geometry, topology, and tolerances) in the AIM format (application interpreted model), enabling communication with other STEP models.Both models (ARM and AIM) are defined in EXPRESS language with representation in a physical ISO 10303-21 format file.
ISO 14649 contains the definition of the detailed information requirements that must be met for standardized CNC programming.This standard has several parts.Part 1 gives an introduction and overview of a data model for working with CNC machines.Part 10 specifies the process data that are generally needed for CNC machining and which, therefore, are common to several machining technologies.For each machining technology, one standard is defined for the process data and another for the specific tools for that technology.Part 11 deals with milling data and part 111 with milling machine tools.Likewise, Parts 12 and 112 deal with machine turning.
To cover more manufacturing technologies, new extensions to the STEP-NC data model are defined for other technologies, such as Part 13 for wire-EDM, Part 14 for sink-EDM, Parts 15 and 16, which define wood and glass processing and the process of touch probing inspection, respectively [28], and the recently included 3D-printing data model in Part 17.On other occasions, the extension or technological adaptation is limited to working with the already existing features, but using new tools, new materials, or working in new manufacturing environments, such as the footwear industry [29].
Stone processing has not yet been considered in the STEP-NC standard.Regarding stone milling, although this could be considered as an adaptation of the milling technology implementation that is already defined for metal, the inclusion of the new sawblade tool involves the need for new features and new associated technological parameters.Features are the core element in the CAD-CAM-CNC digital STEP chain of classical metal processes [30].Features are also the link between STEP and other engineering environments, such as the building information model (BIM).BIM systems address digital formalization and standardization of construction resources during the whole life cycle of architectural resources (geometry, materials, structures, hierarchy among elements, etc.)The BIM defines data models, including distinct constructive components, as features [31].Therefore, a direct digital chain can be established from BIM-CAM-CNC through the "standard" architectural features [32][33][34].Section 4.1 details the extension of the STEP-NC model for stone processing proposed by the authors of this article.

Industrial Automation Standards for Motion Control and Resources for Interpolated Toolpath Automation in Industrial Numerical Controllers
Given the particularity of stone-processing technology in terms of the heterogeneity of the raw material and the advantages offered by path recalculation halfway through the process, some stone-processing machine manufacturers developed specific control systems that allow this.
Toolpath regeneration can be done segment by segment; that is, if the complete toolpath is made up of a set of segments, generation is done independently for each one and the final path is the merging of those segments.The development technology supplied by current controllers provides a set of resources that facilitate implementation of such solutions.However, it tends to require a major development effort to achieve the final automation application.
To simplify development, specification 4 for motion control in PLCopen defines the existence of a data structure, MC_PathRef, and two reusable function blocks: MC_PathSelect to prepare all the data according to a trajectory and generate the positioning profiles and MC_MovePath.With this solution, the paths to run can be specified and, once that is done, control returned to the application.This solution is most advantageous for an implementation that carries out a process that is not subject to changes; however, it does not permit online adaptation.Distinct manufacturers implement the MC_MovePath philosophy with models that are similar to the one given in the PLCopen standard.These can be seen in Table 1, which specifies the ones that can work with the G-code standard and with user-defined paths.
In the MC_MovePath implementation in Table 1, on triggering the execution block of the path, control over it is lost because this function block contains the planning of the advanced movement that the controller carries out.In general, and in an easily implementable way, it does not allow access to the setpoint to send to the servodrive, so it can be modified online.In turn, it has the great advantage of easily implementing paths in which, for example, no line adaptations are needed beyond tool offset, which is just like most current machine tools.This can be seen in the column Runtime Adaptation in Table 1.
However, these limitations are overcome by the manufacturers Omron and Beckhoff, among others, in different ways.Both use path programming from scratch as a basis, having to carry out the trajectory profile calculation and generate setpoints within the limits imposed by speed, acceleration, and jerk, which is a highly demanding task for programmers, although they do have less diffuse flexibility and adaptive control than earlier implementations.With all these resources, classic CNC machines can be developed that receive the manufacturing toolpath specifications in G-code format, which is normally interpreted and executed directly by the resources supplied by the manufacturers [4,43] (Figure 4, route A), or more specific environments can be developed that allow more adaptive control and supervision during the machining process, as seen earlier, on the basis of the feature [44,45].Here, particularly depending on the level of complexity of the desired paths, it is possible to opt to use FBs that are already defined and implemented by the manufacturers [46], such as MC_Circle or MC_Line (Figure 4, route B).In this case, the post-processing carried out by the implementer is restricted to converting the machining specification to a called sequence of those blocks [47,48].The second case (Figure 4, route C), which allows more continual intervention, employs FIFO axes technology, a motion control functionality for feeding the NC with external position or velocity values cyclically in a first-in, first-out order [15,49].On routes A and B in Figure 4, it is still the controller that is in charge of interpolation between specific points.In route C, however, the interpolation is precalculated in the application program, and the NC control system simply has the job of implementing it.The cycle times range from highly demanding values in the numerical control tasks, such as the FIFO axes case, to less-demanding values, such as typical cases of I/O management programs, automatic cycles, and PLC logic.This final architecture, route C in Figure 4, is the one that was implemented in the prototype application, as described in Section 4.2.
Another common requirement for equipment like this is the need for simplicity in use, given that it will typically provide service in the setting of a small-or medium-sized business.Furthermore, this tends to lead to simplification or limitation in terms of the type of work undertaken with a limited set of features.

Feature-Based Mixed-Technology Automation Proposal for Stone-Processing Machines
This section describes a prototype STEP-NC-compliant implementation for stoneprocessing technology.A new extended STEP-NC model was proposed by the authors to include information on the new technology.Through this extended model (presented in Section 4.1), information for stone-cutting processes is communicated from a STEP-NC CAM system to a compliant STEP-NC controller.Sections 4.2 and 4.3 describe the basis of the STEP-NC-compliant automation developed by the authors using standard motion control resources available in industrial controllers, and having as input, designs that follow the extended model in Section 4.1.

STEP-NC Model Extension for Stone Processing
As mentioned previously, one of the fundamental elements in stone processing is the tool used for cutting.Sawblade-cutting technology for stone parts has several specific parameters with no clear equivalents in technologies, such as milling or turning.These parameters must be considered as new technological entities to be included in a STEP-NC model, as mentioned previously.
Thus, the proposed model for representing the stone-cutting process in STEP-NC is based on the ARM model defined in ISO 14649-10 [50] and the machining operations, features, and tools comply with the parts for milling and turning.
Figure 5 shows a comparison between the ARM models for the milling and turning technologies and the proposal for disc cutting.The work information is organized in a general workplan, which in turn contains a sequence of workingsteps that depend on each technology, "disc_cutting_workingstep", in the proposed case.This also enables the possibility of having mixed-technology machines, responding to the type of workingstep to be carried out.These workingsteps associate a specific operation with a feature on the part to be machined, and each operation describes the strategies to be followed, the parameters to be used, and what has to be done to carry out manufacture of the feature.Below are the details of the features and operations defined in the proposed model.The features describe the areas for material elimination in a worked part and the desired end result of a machining process.Thus, the features inform the controller of "what" is going to be done, so it can decide "how" to do it.The basic feature in the basic model for stone cutting with a sawblade is the "cut-out", which can be described with the "slot" feature already defined in ISO 14649-10 [50], ISO 10303 AP-224 [51], and as "cut_in" in the specific turning standard, with the particularity of allowing cuts to be made with different angles.
Two types of complex features are considered: planar features ("molding", Figure 5) for moldings, such as the ones in Figure 2a,d, and turning features ("turning_feature", Figure 5) for columns, spheres, and revolution parts (Figure 2b).Furthermore, the model includes "replication_features", which are repetition patterns of previous features.
As mentioned previously, the features are related to a specific operation or set of operations and for a specific manufacturing technology.To understand the operations, it is best to describe the process.The cutting process basically comprises three stages (cutting, removal of slides, and finish).For the first operation, cutting is carried out by means of progressive cuts at a specified depth following the outline or profile of the final part.A specified distance is left between these cuts (forming slices).The sawblade makes a complete longitudinal cut and descends step by step, making several parallel cuts at different depths (passes).Once the desired depth is reached, the saw disc comes out of the stone and moves to initiate another parallel cut at a specific distance from the previous one.The second stage, removal of slides, requires manual intervention, typically by using chisels, mallets, and other tools for working with stone.Finally, after removing the slides, the definitive surface is obtained in the third stage, when the rough terraced profile resulting from stage two is smoothed with overlapping cuts.These operations are represented by the "sawblade_machining_operation" label in Figure 5, and they can be of the new type (surface operation), involving cutting, finishing, or slotting operations, or a legacy type from turning technologies.
The sawblade-cutting process is associated with different strategies for carrying out each operation ("sawblade_machining_strategy" in Figure 5), from which it also inherits those that exist for the case of turning with the particularity that they are done on a stone machine with a saw disc tool.In the specific strategies for the stone-cutting process, cuts can be made with the disc totally parallel to the part (used for creating a molding, for example) or perpendicular to the part (for example, in the initial slices of the stone).Another specific cutting strategy to make slots comply with the direction to carry out the cuts: unidirectional (material is only removed in one direction, lifting the disc, going back, and resuming) or bidirectional (material is removed in both directions).
Figure 6 illustrates a detailed AIM-format model of the cutting strategies to perform a sawblade cut and the representation of the corresponding exchange file in a STEP-NC Part 21 program (Figure 6a). Figure 6b shows a schematic depiction of the complete bidirectional strategy process on a molding surface.
Finally, the disc saw machining operation also includes parameters associated with the technology itself (feedrate value, sawblade speed value, override enabling variables, etc.), and the parameters of the tool to be used (for example, sawblade diameter, maximum allowed blade depth in the stone, etc.).

STEP-NC Prototype for Stone-Processing Automation: Simulation Implementation
To validate the model described earlier, a simulated STEP-NC CC2 system implementation was developed.This system takes a STEP-NC AP238 file that includes the geometry and toolpaths associated with specific features, although this feature information is at a parametric level and has no associated geometry.
A screenshot of the developed simulation tool is given in Figure 7, in which the sawblade tool executes the paths of a cutting workingstep.Figure 8 also shows a detail of the setpoints sent to the simulator in a similar way to how they would be sent to a controller order in a FIFO axes automation architecture.To generate these setpoints, the workingstep data structure is resorted to, and the type of bounded curve it describes is identified.Figure 8 shows an example of the implementations carried out and the algorithm that generates the corresponding setpoints (Algorithm 1): A prototype implementation was built for a real stone-processing machine with two tool technologies: disc cutting and milling.An embedded CAD-CAM system was developed to select the parameters for the features, translated to XML (Extensible Markup Language), and communicated to the HMI (human machine interface).Both the CAD-CAM and the HMI ran on the same built-in PC.The resulting file was the input for the lowlevel control module for the axis, alarm management, and input and output management.This controller was a TwinCAT PLC RunTime system with TwinCAT-NC axis control, programmed in IEC 61131-3 [52].The prototype undertook online path calculation for a limited number of features.Control algorithms were implemented ad hoc for each feature.The algorithms generated the sections of toolpath during machining.Some features, such as the sawblade cut, had the capacity for dynamic path recalculation.This path was loaded into a FIFO axes and the NC task executed it, which is shown as "Fast task" in Figure 9.
Machines 2021, 9, x FOR PEER REVIEW 14 of 18 A prototype implementation was built for a real stone-processing machine with two tool technologies: disc cutting and milling.An embedded CAD-CAM system was developed to select the parameters for the features, translated to XML (Extensible Markup Language), and communicated to the HMI (human machine interface).Both the CAD-CAM and the HMI ran on the same built-in PC.The resulting file was the input for the low-level control module for the axis, alarm management, and input and output management.This controller was a TwinCAT PLC RunTime system with TwinCAT-NC axis control, programmed in IEC 61131-3 [52].The prototype undertook online path calculation for a limited number of features.Control algorithms were implemented ad hoc for each feature.The algorithms generated the sections of toolpath during machining.Some features, such as the sawblade cut, had the capacity for dynamic path recalculation.This path was loaded into a FIFO axes and the NC task executed it, which is shown as "Fast task" in Figure 9.
This prototype implementation was updated to support STEP-NC part files as inputs.Figure 9 gives a schematic diagram of the automation of a part to be made with sawblade and milling technology.The corresponding input STEP-NC file specified workingsteps with operations and features for milling and stone cutting.Implementation using postprocessing to G-code would doubtless be the simplest, given that manufacturer-supplied resources for direct interpretation can be used for that format.This was used to carry out the milling operations, which in this prototype, did not require online adaptation or the development of an extension to the model (route A in Figure 9).
The move from a STEP-NC CC1 format (with toolpath specifications) to a direct interpretation with FIFO axes architecture was also implemented, which is shown in route B in Figure 9.The same algorithms used in the simulation for setpoint generation were those used to feed the FIFO axes structures, although the use of specific FBs to carry out linear and circular paths would also be valid.Route C in Figure 9 shows the move of the specification of a STEP-NC feature to the proprietary control of the already automated machine.

Discussion
The prototype implementation demonstrated how modern technological resources for axis control provided by many industrial numerical controllers allow mixed-technology implementation: ISO 6983 with STEP-NC.Current general-purpose numerical control devices provide function blocks that, in a direct way, have G-code files as input for the This prototype implementation was updated to support STEP-NC part files as inputs.Figure 9 gives a schematic diagram of the automation of a part to be made with sawblade and milling technology.The corresponding input STEP-NC file specified workingsteps with operations and features for milling and stone cutting.Implementation using postprocessing to G-code would doubtless be the simplest, given that manufacturer-supplied resources for direct interpretation can be used for that format.This was used to carry out the milling operations, which in this prototype, did not require online adaptation or the development of an extension to the model (route A in Figure 9).
The move from a STEP-NC CC1 format (with toolpath specifications) to a direct interpretation with FIFO axes architecture was also implemented, which is shown in route B in Figure 9.
The same algorithms used in the simulation for setpoint generation were those used to feed the FIFO axes structures, although the use of specific FBs to carry out linear and circular paths would also be valid.Route C in Figure 9 shows the move of the specification of a STEP-NC feature to the proprietary control of the already automated machine.

Discussion
The prototype implementation demonstrated how modern technological resources for axis control provided by many industrial numerical controllers allow mixed-technology implementation: ISO 6983 with STEP-NC.Current general-purpose numerical control devices provide function blocks that, in a direct way, have G-code files as input for the generation of positioning commands for a machine's axes.The automation developer simply has to parametrize the way in which those function blocks are executed.But current industrial controllers do not provide an equivalent function block for which the input was a Part 21 STEP-NC file containing explicit specification of the toolpath (CC1).However, there is little advantage in having the toolpath specified in STEP-NC instead of in G-code, which means that working with STEP-NC CC1 also did not appear to provide any significant advantage, and there is the disadvantage of having to implement it on purpose.
The prototype implementation analyzed from the controller side, the automation procedures and technology to implement STEP-NC feature specifications.Two cases were addressed: the case of features defined by the current edition of the standard (for instance, milling features) and the case of new features and associated technological parameters not defined in the current state of the STEP-NC standard (for instance, disccutting features).Neither of them is supported for current commercial controllers, so both have to be developed deliberately for a specific new machine.

Conclusions
From the point of view of process automation, it would only be advantageous to use an automation that directly processed features from STEP-NC files to the extent that the numerical controllers implemented specific FBs for each feature in a specific machining technology, as reported in [47,48,53].Nevertheless, for other features that are not implemented by the manufacturers or for which a specific strategy would be necessary, ad hoc implementation of all the software would once again have to be resorted to for its automation.In both cases however, the advantage gained from using STEP-NC is the fact of having a digital way from CAD-CAM.That is not yet the case in minority technologies, such as stone processing, in which many operations are still done by hand.It is then doubtful whether the convenience of a STEP-NC implementation, either from scratch or mixed, is suitable for this scenario.It may be justifiable to consider it depending on how many environments, such as the BIM, which are highly structured, and new commercial CNC systems incorporate direct processing of architectural features in STEP-NC format.
The true potential of STEP-NC from a machine automation point of view is that released features information (including shape and tolerances) drives the work.If that is not the case, there are no significant advantages compared to using G-code.In fact, for the cases in which STEP-NC implementation is based exclusively on toolpath specification, the vast majority of machine control implementations with STEP-NC as input use G-code post-processing.Working with features, however, presents various challenges.One of them concerns their complexity.Another is the fact that all the features or the associated technologies (new tool, a new way of executing the job) needed for a specific type of machine or process may not be defined, as is the case, for instance, in minority sectors, such as stone-processing equipment or the development of specific machinery.
As for the complexity of work with STEP-NC formats with feature specification, the degree to which new control devices (axis controllers) have factory-fitted function blocks (algorithms) devoted to each defined feature will facilitate their implementation.If a specific feature is not defined, or the FB implementation that deals with it does not correspond to the required technology (tool or process), the possibility of mixing, in the same controller and in the same job execution (of a part), different forms of implementation would allow progressive and incremental transition to more intense levels of STEP-NC implementation, as proven in the prototype implementation.That is, not having to choose between an implementation that is 100% STEP-NC or 0% STEP-NC, but rather implementing, in a simple way, intermediate alternatives: one feature with G-code post-processing, another with implementation using a specific FB provided by the control device manufacturer, and another using an FB developed by the machine manufacturer, etc.In this case, where implementation does not require extra effort, it could be possible to consider the use of STEP-NC technology for new stone equipment or minority technologies or processes with similar conditions.However, the problem comes back to the effort that must be made to carry out a direct implementation from scratch, particularly for a setting such as working with stone.
Having a choice of several automation resources depending on feature types in a part STEP-NC file could be a driving factor for incremental STEP-NC technology adoption at the machine control level, because in this way, controllers do not need to implement the standard in an exhaustive fashion for all the possible features and operations, but only at selected ones when convenient.

Figure 2 .
Figure 2. Examples of stone parts with features: (a) surface cutting, (b) turning cutting, (c) milling, (d) surface cutting and milling, and (e) disc cutting and milling.

Figure 3 .
Figure 3. Multipurpose stone-cutting machine (surface cutting and mixed technology with cutting and milling).

Figure 4 .
Figure 4. Automation strategies available for generic stone-machine automation.

Figure 5 .
Figure 5. Proposed STEP-NC model for stone-cutting tasks and their equivalents with the milling and turning models.

Figure 6 .
Figure 6.Complete bidirectional strategy for machining.(a) EXPRESS-G representation of the cutting strategies in AIM format and example of a program (STEP-NC Part 21) with a bidirectional cutting strategy.(b) Graphical representation of how a feature is carried out with a bidirectional cutting strategy on a molding surface.

Figure 7 .
Figure 7. Screenshot of the program developed for stone-cutting simulation.Detail of the toolpath with setpoints.

Figure 8 .
Figure 8. Express-G structure of the elements to be moved.Polyline and composite curve computational implementation.

Figure 9 .
Figure 9. Automation strategies available for producing STEP-NC-compliant stone-cutting machines.

Figure 9 .
Figure 9. Automation strategies available for producing STEP-NC-compliant stone-cutting machines.

Table 1 .
Current motion resources provided by PLC manufacturers.

Algorithm 1 :
Setpoint generationInput: A list of segments of a bounded_curve (S bc ) and CNC deviation data (CNC dv ) Output: A list of points to use in a FIFO axes control (L out )