Definition in search of a term

monkeyhead

Member
Join Date
Sep 2004
Location
I'm right here
Posts
656
How would one define a machine that uses the cyclic count of an absolute rotary encoder to determine at what point in the machine's cycle to make certain actions occur?

For example a machine that produces 1 widget every time the encoder makes one complete revolution, or a machine that moves 1 widget through each of the various stations every time the encoder makes a full revolution.

I've always thought of these as State machines, but I'm not so sure the term truly applies. Some Googling has lead me to Non-deterministic Finite State machine. I'm still not satisfied with this definition either though, but it's hard to tell since most of the definitions I'm finding are referring to the abstract science of Automata theory, not controls engineering.
 
A 'Programmable Limit Switch' performs the functions you describe. More advanced ones can be set to advance some outputs at higher rotation speeds to compensate for output reaction time.
 
I'm not looking for a device that performs this function, I'm looking for a term for the class of machinery that runs this way.

In my own head I've always classified the machines I deal with as either 'Event Driven' or 'State Machine' (or alternatively position based state machine).

Event driven could describe a conveyor based system where there is no position information involved. Simply, perform a set of actions when a set of condtions are met. Imagine that a machine where the widget has just been inspected by a vision system and then passes a photo eye at the divert station for widgets that have failed the quality check. Psuedo-code below:
IF (Quality_Check=FALSE) THEN TURN ON Divert_Device

Position-Based State would describe a machine that is mechanically and logically timed so only certain actions occur during certain parts of the machines cycle. For the Pseudo code below, imagine the machine has advances a set of cans forward, fills them, and then advances the next set. It is rigidly mechanically timed so that the cans are only under the fill heads while the encoder reads the specific values in the pseudo-code below:
IF (Encoder Position > 150 && Encoder_Position < 210) THEN TURN ON Can_Fill_Valve

I've always felt comfortable calling the second class state machines because every state they can possibly be in is described by the position of the encoder, which is usually in degrees from 0-359.

Mainly just wondering if I've been using proper terminology...
 
In my mind I see two classes of machine control.

The first, which I don't see much of in my work, I would call 'Combinatorial Logic'. This is one where the current state of outputs depends totally on the current state of inputs. If there are more outputs than inputs then there will be certain combinations of outputs which will not occur. If more inputs than outputs there will be combinations of outputs which repeat for some of the possible combinations of inputs. Though depending on the actual combinations of inputs which actually occur the repeating may not actually be seen. A simple version of this type machine can be implemented in an EPROM with 'inputs' being fed to the address lines and 'outputs' from the 'data' lines.

The second, called 'Sequential Logic' depends not only on the current state but on memory of previous states. The 'memory' can be state bits but it can also be something as simple as timers or counters. A machine of this type can also be fabricated from a 'Combinitorial Logic' machine by feeding output states back in as inputs thus providing a type of 'memory' of the previous state.

This may not be the type of 'musings' on control that you were looking for.
 
Thanks Bernie. I'm responsible for training techs, and since they are very good at remembering terminology when I give it to them, I try to make sure I don't feed them bad terminology. I just wanted to make sure there weren't more common industry standard terms for the types of machinery we service.
 
Position-Based State would describe a machine that is mechanically and logically timed so only certain actions occur during certain parts of the machines cycle. For the Pseudo code below, imagine the machine has advances a set of cans forward, fills them, and then advances the next set. It is rigidly mechanically timed so that the cans are only under the fill heads while the encoder reads the specific values in the pseudo-code below:
IF (Encoder Position > 150 && Encoder_Position < 210) THEN TURN ON Can_Fill_Valve
Position-Based State Control is a bit of a mouthful...
I call the operation described Indexing - it comes up often in motion control.
 

Similar Topics

Hi all, I am using OI.GATEWAY.2 to communicate to the PLC using an OPC UA. I can see the tags using an OPC explorer connecting to the...
Replies
0
Views
170
Hello, Im new to Studio 5000 View Designer and i try to make a popup reusable screen. So i create a user-defined screen with 2...
Replies
2
Views
239
Expert, Could you advise me some idea how to add tags in Summary Alarm's FilterDefinition? SumView.FilterDefinition = "AlarmShortName LIKE...
Replies
2
Views
909
Hello, Just want to understand one thing I have a file of ftview se with global object having parameters as #102, #103 but that same object is...
Replies
1
Views
719
Good Morning , I've been using FactoryTalk View Studio from time to time , but I really don't understand all the options in FactoryTalk View...
Replies
2
Views
1,135
Back
Top Bottom