Delta PLC Speed switch

ktmtragic

Member
Join Date
Jan 2013
Location
Sydney
Posts
92
Hi Guys


I hope you can help ! I need to monitor a pulley speed and disengage a clutch above a certain rpm and reengage it at low or at no speed. Anyone know how I can do this using a proxy and a simple counter/ timer function

Thanks in advance
 
I think you need to give a little bit more information, for example, how many pulses per revolution of the pulley are you expecting, and how often do you need to determine the speed (note: slow pulses will mean a longer time to get a usable reading).
Think about what controls the speed of the pulley, is it driven off a VFD controller ?, maybe worth thinking of monitoring the VFD with analogue feedback of speed. etc.
I believe the Delta PLC is actually based on the Mitsubishi FX range so it has high speed inputs to use on the high speed 32 bit counters, attached is a program for an FX3U (Delta are based on this), however, although the high speed counters are the same & the I/O i.e. X/Y, the special relay bits M8000 upwards are different for example the always on flag is M1000 instead of M8000 in delta, the 1 sec clock flag is M1013 instead of M8013
The counter is enabled when true you do not use the X0 (in this case in the program) as when the counter is enabled it automatically counts up C235 when X0 is false to true it is actually tied via hardware to the counter so cannot be used for anything else, you could change it to any of the first 8 inputs and use the counter tied to it i.e. C235 is X0 c236 is X1 etc.
See code attached, note this is just an idea, you may want to have a different sample time instead of one second you could use a timer that resets itself (oneshot), the principle is to count the pulses over a time period, store that into a register, then compare and if above a speed reset a bit or if below set a bit.
Here is a link to the manual
http://profsite.um.ac.ir/~shoraka/Delta PLC Applications Programmig.pdf

High speed sample.png
 
Last edited:
Here is another useful speed function, again you will need to look at the manual page 7-24 & 25 as there are minor differences in addresses but basically when enabled it will count the number of pulses from X input (0-3 depending on model of PLC) on a time base "K"xxx so for example K1000 is 1 second sample time. and store the counts in D200 or what ever register you decide.

Speed.png
 
Thanks Parky for your thorough explanation it is appreciated! The pulley is about 1m in diameter with 5 spokes. I estimate the speed to be about 766 rpm

Thanks
 
If you use the speed command then at 766 RPM that is approx. 13 pulses a second, so I suggest you either double the amount of pegs and use a 1 second (1000ms factor) or if a couple of seconds do not matter then increase the factor to a larger sample time i.e. 4 seconds or more (K4000).
Not exactly high resolution but should give you some small range even at say 13 pulses a second then perhaps the compares would be > 10 and < 2 to give you some kind of control.
 
This could also be done with the clutch signal being the output of a flip flop, and the flip-flop trigger coded like this:


Code:
  M8000                                           FF_trig
---]^[---+---[<  D200  Engage_Limit_Low]-------+----( )---
         |                                     |
         +---[>  D200  Disengage_Limit_High]---+

      FF_trig   Engage       Engage
---+----] [------]/[-----+-----( )---
   |                     |
   |  FF_trig   Engage   |
   +----]/[------] [-----+


N.B. speed check not shown.



@parky's solution is better, of course (simplicity, clarity).


I just really like the flip-flop; the only reason to do it would be if there was reason to avoid Set/Reset e.g. the PLC power was unreliable.


Obviously either approach needs to be integrated with some Start/Stop logic as well.
 
DR: Mitsubishi (and probably Delta as it appears to be a clone) Internal bits (M) are non retentive but you can choose a range to be retentive so depending on what you want to reset/ save on power down or STOP you can choose the range to use, on Mitsubishi FX the M Bits (latch range) is 500 to 1023 by default.

Latch range.png
 
Just a thought when you said the RPM is 766 I took that as pulses per minute but if it is actual RPM of the drive is 766 then this is 766 X 5 = 3,830 so per second this would be nearly 64 pulses.
 
DR: Mitsubishi (and probably Delta as it appears to be a clone) Internal bits (M) are non retentive but you can choose a range to be retentive so depending on what you want to reset/ save on power down or STOP you can choose the range to use, on Mitsubishi FX the M Bits (latch range) is 500 to 1023 by default.


Yeah, and I'm a dolt as well: I just realized the flip-flop is the wrong way to do that i.e. far too complex; it calls for the bog-standard start/stop circuit (cf. http://www.contactandcoil.com/patterns-of-ladder-logic-programming/startstop-circuit/)


Code:
  Run                                                    Engage
--] [----+--[<  D200  DisengLo]--+--[<  D200 EngageHi]----( )-
         |                       |
         |         Engage        |
         +----------] [----------+
It's basically a bang-bang level control, controlling the "level" of rotational energy in the driven pulley and downsteam bits.



I added the Run input so it does not engage the clutch when the motor is not runniing; the Run bit could be driven by another start/stop circuit with actual Start and Stop signals, or it could be an input that is 1 when the motor is running, or it could be an AND of either of those and a bit that says whether to engage the clutch at all.


Apparently I am a slightly more clever when I just wake up (although that does set the bar pretty low ;))




Update: Apparently Delta has a SPD (SPeed Detection) instruction that encapsulates all the code that uses the M1000 rising edge, see page 7-24 of the manual @parky found. Here is a summary:


xxx.png
 
Last edited:
Hi Parky and Dr
Yes Pulley speed is 766 rpm not pulses. Unfortunately I have a DEVDVP14SS211R so I do not believe the SPD parameter is available
Thanks guys
 
Last edited:

Similar Topics

Dear All, I want to measure speed using pulse input to Delta DVP series PLC. How do I use "SPD" instruction and how can I set my configuration for...
Replies
0
Views
3,517
Good Day to all of you, this is my first post, i will try to explain as best as possible, english is not my natural language. I am performing an...
Replies
0
Views
42
I'm trying to write a data in Arduino using MODWR function block .I used the code I got from online for both PLC and Arduino. I made the wiring...
Replies
4
Views
118
I have downloaded COMMGR 1.15 software on my laptop. After downloading it works. When I stop and start the program again it doesn't work. It is...
Replies
2
Views
154
How i Can connect Delta plc, with Beckoff remote IO cards?
Replies
2
Views
177
Back
Top Bottom