Back to FAQ top

Programming and Macros


Q: Which SMP products include memory mode operation with G-code motion programming and an extended custom macro programming environment?

A: The SMP450 and the SMP850.

However, with the Motion Development Kit (MDK), any SMP product could have motion programming embedded in the HMI or could use any other motion language.

TOP

Q: Which G codes do you support?

A: Each product supports different G codes.

Click here for a list of G codes included in ServoWorks MC-Quad.

Click here for a list of G codes included in ServoWorks S-100M, S-120M and S-140M.

Click here for a list of G codes included in ServoWorks S-100T.

Additionally, each product can be customized to include additional G codes as needed.

TOP

Q: How can I create an NC program to be executed by a Soft Servo Systems product?

A: An NC program text file can be created by using Notepad or any other text editor. Also, all of our ServoWorks CNC products have an Edit mode so you can edit or create part programs while monitoring your system.

Some Soft Servo Systems products have an advanced Edit Mode with graphical G-code input and editing to facilitate part program creation.

Alternatively, users can create and import an NC program using CAD/CAM applications.

TOP

Q: Do Soft Servo Systems' products support custom macros?

A: Yes, Soft Servo Systems provides custom macros with extensive mathematical and logical operations, variable types, argument specifications, flow of control, system variables, etc.

Soft Servo Systems' macro programming is similar to the BASIC programming language, so it easy to learn to program custom macros.

TOP

Q: Is the macro a standard function?

A: No, it is an option.

TOP

Q: What variables can be used for custom macros?

A: There are 99 local variables, 900 numbered global and permanent variables, an unlimited number of symbolic global variables (with meaningful variable naming such as "#position"), and up to 24,000 system variables. In addition, there are 100 bytes each for X and Y signal addresses in our PLC, and 400 bytes each for F and G addresses in our PLC, which can be accessed with ServoWorks APIs or SMP Motion and Logic APIs.

TOP

Q: What is the maximum depth for nested sub program calls?

A: There is no limit for nested subprogram calls.

TOP

Q: Can Soft Servo Systems' products handle CAD/CAM output?

A: Yes, CAD/CAM products can be used to generate NC programs configured to the specific NC format used by each ServoWorks CNC or SMP product.

TOP

Q: Can a .dxf file be imported?

A: No, not directly. But any CAD/CAM program that can generate a .dxf file should be able to generate a part program file using G00, G01, G02 and G03.

TOP

Q: Are both incremental programming and absolute programming supported?

A: Yes.

TOP

Q: Can I create my own G codes for special canned cycles?

A: Yes, in addition to the G codes included with each ServoWorks CNC product, or with SMP450 or SMP850, you can create customized G codes using custom G code macro calls.

You can also create customized M, S or T codes using custom macro calls, which is convenient for automated tool changes (ATC).

TOP

Q: Can ServoWorks CNC products or SMP products include ATC functions?

A: Automatic tool change (ATC) functions can be achieved for ServoWorks S-100T, ServoWorks S-100M, ServoWorks S-120M or ServoWorks S-140M, and SMP products by using macros and PLC.

NOTE: ATC achieved with a macro program is different than the way some other companies' products handle ATC. There are CNC products from other companies that support the M06 code (Tool Change). Any time a tool change is required, an "M06T__" command is given inside a part program. This "M06T__" command activates either a macro program or a PLC sequence program, or both.

For ServoWorks CNC products and SMP products, ATC can be achieved without M06 codes, by using macros and PLC.

First, write a macro program or a subprogram for a tool change. This macro or subprogram includes motion commands, M codes and T codes. You can also use macros to create custom G, M, S and T codes, which is convenient for ATC.

Then, in the part program, call that macro or subprogram each time you require a tool change. (Instead of just writing "M06T__" in the part program, as you might do with CNC products from other companies.)

An example is given in Chapter 8: A Macro Example: Automatic Tool Change (ATC) with ServoWorks S-100T or the ServoWorks S-100M Series in the
ServoWorks CNC Macro Programming Manual. [Please contact sales@softservo.com for the user name and the password to access this document.]

TOP

Q: Do your products support rigid tapping?

A: Yes, ServoWorks S-100M, S-120M and S-140M all support rigid tapping, with both G74 and G84. In order to use G74 or G84 for rigid tapping, an "M29" code must be coded before G74/G84 to enable Rigid Mode.

TOP

Q: Can I use positional control with feedback on a spindle axis?

A: Yes, we support positional control for the spindle axes. To use positional control, first set the axis type of the spindle axis to "Servo" in Configuration mode. Then, execute the M-Code M19 in Auto mode or MDI mode to turn on positional control for the spindle axis. Now, the spindle axis can be controlled like a normal rotary axis.

TOP

Soft Servo Systems, Inc.