What is the Meaning of "Flex"?

User avatar
Posts: 1057
Joined: Fri Mar 12, 2010 2:59 pm
Location: Torrance, CA

What is the Meaning of "Flex"?

Postby om_tech_support_JT » Mon May 06, 2013 11:44 am

Q: I see that several of your new products have the FLEX logo now. What is the meaning of "FLEX"?

FLEX Oriental Motor products logo.jpg
FLEX Oriental Motor products logo.jpg (5.24 KiB) Viewed 13640 times

A: "Flex" is a product family name for Oriental Motor products that are designed to work directly with popular Factory Automation (FA) networks via I/O control, Modbus (RTU) control, or indirectly through network converters for other communication protocols such as Ethercat.

FLEX products allow for simple wiring, quick setup, flexibility of communication protocols, faster communication, and reduction of system complexity.

What is the difference between a "PULSE INPUT" type product and a "FLEX" type product?

To understand what "FLEX" is, we will need to first understand the difference between a "pulse-input" type product and "built-in controller" type product. The difference is in the driver of the product. A "pulse-input" type driver does not have a controller built-in. A "pulse input" type driver can only interpret pulse and direction signals and excite the motor windings in a sequence. A "built-in controller" type will have a controller built into the driver. A "built-in controller" type driver stores data or programs, makes internal logic decisions, and generates pulses for its driver.

Within the "built-in controller" type products, we also offer 2 variations: "stored-program" type and "stored-data" type. A "stored-program" type product would store both the program and the motion data on the driver. A "stored-data" type product will have motion data stored in the driver, but the program is stored on a PLC or master/host controller.

As we can see from the picture below, a typical PULSE INPUT type driver would require a controller or a PLC to store programs as well as to generate and send pulses. This type of driver does not store any data regarding motion data. Programs are stored inside the motion controller or PLC.

FLEX product mapping, flexible control, networking methods.jpg
FLEX product mapping, flexible control, networking methods.jpg (79.08 KiB) Viewed 13640 times

FLEX products are also referred to as "stored data type" products, which means that the motion data (position, speed....etc.) are programmed then stored internally within the driver. The controller or PLC will still store programs, but instead of controlling pulse output, it's only controlling I/O. A specific motion data set that is stored within the driver can be chosen then executed by using direct I/O from a PLC, or remote I/O through Modbus RTU via a touchscreen HMI device or PC. Serial RS485 communication is standard on FLEX products, but NETWORK CONVERTERS can be added to work with CC-LINK, MECHATROLINK II/III, and ETHERCAT communication protocols.

There are several ways to program the motion data on FLEX products:

1. You can use an OPX-2A hand-held programming module.

FLEX OPX-2A Features.jpg
FLEX OPX-2A Features.jpg (47.96 KiB) Viewed 13640 times

2. You can use an MEXE02 data edit software.

FLEX MEXE02 Description.jpg
FLEX MEXE02 Description.jpg (63.92 KiB) Viewed 13640 times

3. You can use a Modbus terminal to send commands directly to a Flex product.

After you have programmed all the motion data that you need for your application, then we can execute motion with either direct I/O or remote/netowork I/O through Modbus RTU.

Please see below for a specific APPLICATION EXAMPLE where a user needs to set the motion data with the MEXE02 software, then use either direct I/O with a PLC, or remote/network I/O through Modbus RTU, to control motion.

First, we'll need to set up the motion parameters after installilng the MEXE02 software. The window will look like this:

FLEX MEXE02 motion data setting.jpg
FLEX MEXE02 motion data setting.jpg (109 KiB) Viewed 13640 times

Once the required data has been entered into the motion profile table, it would need to be downloaded into the driver. It is as simple as clicking on the “download” button. And to upload, simply click on the “upload” button.

FLEX MEXE02 motion data upload download button.jpg
FLEX MEXE02 motion data upload download button.jpg (131.15 KiB) Viewed 13640 times

Once all necessary data has been uploaded from the driver into the MEXE02 software, they can be selected then executed using direct I/O, remote I/O via Modbus RTU, or through a network converter for other protocols such as ETHERCAT. We will go over the 1st 2 methods.


In this method, we will need to understand how to select the specific data to execute by using a combination of the M0, M1, M2, M3, M4, and M5 inputs on the Flex product. For some cases, you may have to assign the function to the specific inputs.

FLEX direct IO data selection with M0~M5 inputs.jpg
FLEX direct IO data selection with M0~M5 inputs.jpg (383.42 KiB) Viewed 13640 times

Once you have selected the right data number, turn on the START input to start motion.

FLEX MEXE02 motion data direct IO execution method.jpg
FLEX MEXE02 motion data direct IO execution method.jpg (93.49 KiB) Viewed 13640 times


In this example, we will be selecting the position stored in Position No. 3 and executing it in slave driver number 2. Knowledge about binary, hex, and decimal will be necessary. In this method, none of the direct I/O need to be wired besides power and communication.

In order to execute the command, the correct bits in the driver input register must be flagged up by writing a number to the register. In this case, the driver input register address is 7D in hexadecimal (or 125 in decimal).

Let’s look at the 7Dh register....
FLEX MEXE02 motion data remote IO execution via Modbus RTU.jpg
FLEX MEXE02 motion data remote IO execution via Modbus RTU.jpg (59 KiB) Viewed 13640 times

To select Position No. 3, bits M0 and M1 must be flagged up. To start motion, the START bit must also be flagged up. M0 in this case is the least significant bit (bit0), and START is (bit3) so if we write out the number in binary, we will have 1011.

If we convert the binary value to a decimal value, we get 11, or 0B in hexadecimal. This is the number we are going to write to the driver input register. Once you send this command to our Flex driver, it will start executing motion for motion data #3.

The commands in MODBUS RTU are sent in the following structure: SLAVE ADDRESS, FUNCTION CODE, DATA, ERROR CHECK.
FLEX Modbus Write Command Structure.jpg
FLEX Modbus Write Command Structure.jpg (101.5 KiB) Viewed 13640 times

Since the slave we are sending the message to is address No. 2, our first byte will be 02h. The function code will be 06h since we are writing to a register. The data will be the register address along with the value to write, 7Dh and 0Bh respectively. The error check is generally computed automatically by the system.

The raw code would be 02 06 7C 7D 00 0B F8 6B

For more details regarding our FLEX products, please click the link below:
http://www.orientalmotor.com/products/n ... index.html

http://www.orientalmotor.com/products/p ... ochure.pdf

http://www.orientalmotor.com/products/p ... ochure.pdf

You are also welcome to contact our knowledgeable technical support group @ 800-468-3982, e-mail us @ [email protected], or chat with us @ http://www.orientalmotor.com.

Return to “General”

Who is online

Users browsing this forum: No registered users and 11 guests