String pot analog instructions

thinksabunch

Member
Join Date
Jul 2013
Location
Tempe, Arizona
Posts
18
I’m working on programming multiple moves of a hydraulic cylinder in a block press. Block press can be seen in action here: [FONT=&quot]www.youtube.com/watch?v=yIqTBQA8_Yo[/FONT]
[FONT=&quot]
[/FONT]
To define positions of the moves in a closed loop, I have settled on a string potentiometer SP1-50-3 here: http://celesco.com/_datasheets/sp1.pdf I plan to be working with an AB PLC.


I understand that the string pot produces unique voltage levels as it is extended, which can be used to define any location along its length – in my case, those voltages define the positions of the cylinder at which I want the moves to happen.


So the pot voltages, through the PLC, will tell a hydraulic valve when to open, how much to open, when to close, and when to reverse.



My knowledge void is in the instructions between the analog input of the PLC and the analog output.



I know the analog voltage from the string pot is converted into a digital code and stored in an analog input register somewhere. What I don’t know is exactly what to do from there. Obviously I have to enter the list of pot voltages (locations) at which I want the moves to happen and what I want to happen. (I believe what I want to happen has to be translated into other voltages translated into digital code, correct? So, do all the moves go into one instruction (register or what) or does it takes one instruction for each move? How are the instructions or the instruction sequence set up?
Can someone walk me though the sequence of setting one up?


I’m not sure how much time I’m asking for - so if it’s too excessive, let me know.



And thanks to those of you who have helped me so far – I appreciate it.


Barry
 
I believe what I want to happen has to be translated into other voltages translated into digital code, correct?
Your analog input module will translate the pot voltage output into digital "counts" (a range of numbers from Minimum to Maximum for the input module). You could use those count numbers directly to control the moves. An option is to first convert the numbers back to voltage, but that seems unnecessary in this case.

...or does it takes one instruction for each move?
I suggest using 2 comparison instructions for each cylinder move, one to start and the second to stop the cylider motion. If you want to change the speed of the movement (slowing to a crawl just before stopping), you would need a 3rd instruction.

If analog voltage input = XXXX, then latch or set the PLC Output that enegrizes the solenoid to move or START the cylinder. Then when the cylinder reaches the END or STOP position, use another comparison (If analog voltage input = YYYY, then unlatch or reset the solenoid.

To get exact answers, you will have to first decide finally on the brand, model, and catalog number of your PLC, and also on which analog input modules you are using. They are not all the same even within the same brand, so not much actual logic can be written until you know for which one. It is sort of like which comes first: the chicken or the egg? You can't know the logic until you pick the PLC, but you can't pick the PLC until you know what logic it can perform. It sort of has to happen at the same time.

I believe you have 3 threads now about essentialy the same project. Probably you will get more informed answers if you just add new comments and questions on to the end of your previous thread. Otherwise newcomers will have no idea about what you are doing or what you are using or ideas you have already discarded.

Previous threads connected with the paper-block press:

http://www.plctalk.net/qanda/showthread.php?t=80895

http://www.plctalk.net/qanda/showthread.php?t=81264

http://www.plctalk.net/qanda/showthread.php?t=80747
 
Last edited:
Comparison Instructions?

"I suggest using 2 comparison instructions for each cylinder move, one to start and the second to stop the cylinder motion. If you want to change the speed of the movement (slowing to a crawl just before stopping), you would need a 3rd instruction.

If analog voltage input = XXXX, then latch or set the PLC Output that enegrizes the solenoid to move or START the cylinder. Then when the cylinder reaches the END or STOP position, use another comparison (If analog voltage input = YYYY, then unlatch or reset the solenoid."

The above is getting to what I need. What is the name of the general instruction(s) (Allen Bradley) that does these comparisons?

Thanks.
 
Great instructions.

Thanks a lot M. I was just about to drop the attached snippet to ask if this is what I need to study when you wrote your list. I don't have a PLC yet and it seems a bit disconcerting that every model would require a different-named instruction. Am I missing something?

GET and COMPARE instruction.JPG
 
I don't have a PLC yet and it seems a bit disconcerting that every model would require a different-named instruction. Am I missing something?

Nope, some are called Mary some are called Sue. But no matter what they are called and how they are structured they perform the same function. Test one value against another.
(or sometimes more the one value, depends on the instruction).

The above list came from Allen Bradley's RSLogix5000 instruction set. For their ControlLogix and CompactLogix controllers. The SLC500 , PLC5 and MicroLogix list are very simpler.
 
Last edited:
Thanks for the link - I'll need it.

So now I know how to GET and COMPARE and enable when true. Last question, I think, is how do I translate the enabled condition into action - into what the cylinder is supposed to do? At this point, the PLC knows that I want it to do something at a certain voltage, but how do I tell it exactly what to do? Like, okay the comparison is true so I want the cylinder to reverse. Not sure I'm being clear, but I don't know how to phrase the question any better. I think there must be some additional instruction(s.
 
In your post #5 you show coils# 100 &101, these can control real PLC outputs (relays,solid state relays etc) You can then wire these to whatever controls your cylinders.
 
What voltage to obey?

I understand your post, but what I don't understand is how I insert varying commands between the compare instruction and the analog output. All the various voltage values to control the same hydraulic cylinder valve will tell the valve to do different things i.e. slow donw, stop, reverse. How do I get from the COMPARE instructions to telling the valve what voltage to obey?
 
From Lancie1 post..

To get exact answers, you will have to first decide finally on the brand, model, and catalog number of your PLC, and also on which analog input modules you are using. They are not all the same even within the same brand, so not much actual logic can be written until you know for which one. It is sort of like which comes first: the chicken or the egg? You can't know the logic until you pick the PLC, but you can't pick the PLC until you know what logic it can perform. It sort of has to happen at the same time.
 
How do I get from the COMPARE instructions to telling the valve what voltage to obey?

If the analog input is at value x then move ( "MOV" instruction AB world) value y to a register that controls your analog output.
 
The SLC500, PLC5 and MicroLogix list are very similar.
To fill out the picture, here is the Help file for the 8 Comparison Instructions for the RSLogix500 software (Allen Bradlely PLC models SLC 500 series, and MicroLogix).

RSLogix500 Comparison Instructions.jpg
 

Similar Topics

I am creating a global object in FTView SE 13. I want to have a string read from the PLC and display (in this case the tagname). So lets say...
Replies
4
Views
165
So I had an odd request from a customer for the above. I have written the logic and tested it all in one PLC with only using 7 outputs and 7...
Replies
15
Views
427
Hello Inside a FB, I´m trying to transfer a string from a DB to a IN_OUT var that was define as a UDT. The problem is that i can´t determine the...
Replies
4
Views
127
As the title says, I'm using CCW with a PV800 (and Micro850). I've made a scheduler in which a user can choose a month, day (1-31), hour (0-23)...
Replies
15
Views
502
Hello, So i managed to read the string coming from control logix and put a string display in PanelView 800. Now I am struggling to do the other...
Replies
1
Views
136
Back
Top Bottom