Micro logic programming help

stu

Member
Join Date
Aug 2005
Location
England
Posts
783
Hi all
I have a program question what is the best way to go around the following, i have a micrologix 1400 and I have a mixer that I would like the mixer to pause if the oil is not delivered, but if I say that if the set point is not equal to the actual delivery within a set time pause the mixer or is. There another way ? Thanks Stu
 
or is. There another way ?

Not sure of the details of your application but you can also look at weight, if you have weight cells on your vat. Or you would need to look at your supply side of the oil, what is calling your oil to turn on and do you have a flow switch?
 
The oil delivery system is a tank and We have a flow meter inline that see's the actual delivery, we have value set point on the hmi and an actual delivered is displayed I was thinking there is no weight cells on the tank ?
That's why I thought about the set point value compared to the actual? I've had an issue where we started calling oil and then the oil stops but the mixer carried on it like 2 systems added together .
 
Last edited:
Tpdinc

The Process Description Is Not Clear (TPDINC).

For example,

  • is oil being delivered to the tank, or is oil being delivered from the tank into another vessel?
  • Is the mixer in the tank or in the vessel on the other end of the delivery?
  • Where is the flowmeter?

It sounds like OP wants to see the following happen:

  • When the oil is first called for
    • start the mixer (discrete output)
      • AND
    • set the actual delivered (analog input?) accumulation to zero* at the same time
  • once the oil has been called for
    • accumulate the actual delivered*, as it increases from 0,
      • AND
    • either
      • leave the mixer running if actual delivered reaches the setpoint (another analog input) within a certain time,
        • OR
      • stop (pause?) the mixer if the actual delivered does not reach the setpoint within that certain time.
But that is just a guess, because TPDINC; is it close to what is desired?

* Maybe the zeroing of, and accumulation into, the [actual delivered] input already happens automatically, and the PLC need only look at its input value.
 
A little information is needed, for example how is the oil measured, is it by weigh cells on the vessel, a flow meter or is it a fixed amount.
Guessing it is based on some form of measurement there are two ways to achieve this.
1. when the valve/pump opens/starts enable a timer that is longer in duration than the expected delivery time, once the timer times out set a bit for say an alarm & use that bit to stop the process (probably closes the valve or stops the pump) this will ultimately reset the timer but then it could be resumed by resetting the alarm bit.
The other way is if there is some form of measuring i.e. weigh cells or flow meter, then start a timer on the opening of the valve or start of the pump the time value could be say 5 seconds, on the timer up, store the current amount added & compare it to the last 5 seconds (to do this you need a self resetting timer, if it is adding the oil then the current oil value should be greater than the last stored.
Again if not you could set an alarm bit & stop the process as above.
See a quick sample.
 
Sorry guys for the lack of information
The system has the control for calling oil from a tank and transfer the oil to a dough mixer and in the oil line is an in-line flow meter .
The set point is set on the HMi and once the oil has all been delivered it sends a delivery complete signal from the mixer to the liquid(oil)system and stops the pump this is the existing program
While the oil is passing through the flow meter we have a actual delivery display on the hmi .
But if the oil stops or we don’t deliver all the oil I want to stop the mixer until it’s got it’s oil , Now I was thinking I could use the say the actual delivery value off the hmi F34:76 does not equal the set point ? Could you do it if it stops seeing the actual delivery value not move ?
Does this make sense

1EB1A1E4-DF17-4365-8260-C9F08B95EDEE.jpg
 
When you say not see the delivery valve not move do you mean not open ?
If so you would need limits on the valve to see if it was open or closed, most systems would generate an alarm should a valve fail to open. or as I have shown two ways of checking for oil addition if not reached set point within x secs then set a bit, or take the actual tank value and on a self resetting timer add a couple of litres to the last stored value & compare it to the current, if less then alarm in not still copy the latest value to a last value so on the next timer done it checks the current is greater than last time.
As you have a flowmeter then you could use the pulses from that to reset a free running timer, so no pulses to reset it then after a time set an alarm.
all these are standard ways of checking things are doing what is expected.
 
Thanks Parky
Could you show me a example of the flow meter pulses reseting a timer, do you mean that have two timers one free running timer and then a timer for the alarm ?
Much appreciated for your time
 
Inputs

  • flowmeter_1_pulse - 1 (pulse) from the flowmeter for every 0.x gallons of oil
  • need_oil - 1 when operator indicates that ongoing delivery of oil is required to run the mixer
  • mixer_run - 1 when operator chooses to run the mixer
Outputs

  • mixer_run_output - 1 sent from PLC to tell mixer to run
Other tags

  • oil_setpoint - analog value of gallons of oil to be delivered.
  • oil_delivered - accumulating total of oil delivered
  • oil_loss_ton - Timer control (e.g. T4:0)

Code:
[COLOR=blue]### Interpret the event "no flowmeter pulse for 20s" as a loss of oil flow[/COLOR]
   [B]flowmeter_1_pulse[/B]
---------]/[--------------[TON           ]--------
                          [oil_loss_ton  ]
                          [Timebase   1.0]
                          [Preset      20]
                          [Accum        0]

[COLOR=blue]### Accumulate 0.x gal of oil at the rising edge of each pulse[/COLOR]
   [B]flowmeter_1_pulse[/B]   bit1
---------] [----------[ONS]------[ADD                   ]---
                                 [SourceA  oil_delivered]
                                 [SourceB            0.x]
                                 [Dest     oil_delivered]
[COLOR=Blue]
### Run mixer if either (1) oil is not needed (so need_oil
### input is zero), OR (2) Delivered oil has not reached setpoint, AND
### there has been no oil flowmeter pulse for at least 20s[/COLOR]
    [B]mixer_run    [/B]oil_loss_ton/DN             [B]mixer_run_output[/B]
-----] [-----+------]/[-----------------+------( )------------
             |                          |
             |    need_oil              |
             +------]/[-----------------+
             |                          |
             |--[GEQ                ]---+
                [SrcA  oil_delivered]
                [SrcB   oil_setpoint]

[COLOR=blue]### Reset accumulation of oil delivered to 0.0 on rising edge of [B]need_oil[/B][/COLOR]
  need_oil    bit2
----] [------[ONS]------[MOV                   ]---
                        [SourceA            0.0]
                        [SourceB  oil_delivered]
That is probably more complex than it needs to be; OP knows thier process better than I.
 
Here is a simple alarm on no flow.
The flow meter pulses are used to create a ones hot (probably do not need it but it is something I do) you could just use the flow meter input to drive the timer, a timer is started on NOT flow signal AND the oil valve open (or pump run) the use of the valve or pump running is so that alarms are only checked when adding oil, if the flow meter is not pulsing then the timer will time out and set the alarm bit, however, if there are pulses i.e. adding oil then the timer is reset on every pulse. i.e. flow/no flow. the time value is up to you The alarm bit is set on no flow, this in turn disables the valve/pump this bit can also be used to generate an alarm on the HMI.
The bottom rung is to reset the alarm, in this case it automatically re-starts oil addition again this is up to you how you control the system.
EDIT: Just a thought, it may not be possible to use the pulse input if it goes into a HSC, in this case you would need to use a sample timer If I get time will do a bit of code to show you how.

Flow Alarm.png
 
Last edited:
Here is an updated one using the actual flow addition from the flow meter & comparing it on a time i.e. check addition is increasing.

Flow alarm 2.png
 
I think we have a hsc 0 as the input before it goes to a float , could the high speed counter still work as a input for the pulse
Thank you for you help
 
I think we have a hsc 0 as the input before it goes to a float , could the high speed counter still work as a input for the pulse
Thank you for you help


Yes.


So you have access to that HSC0 counter: what can you say about that counter, i.e. what will it do, that the PLC program can detect, that will be the equivalent of detecting a pulse indicating flow is occurring?
 

Similar Topics

Dear friends, i wand to creat a program in which my motor runs 6 month in every year. Means motor on 6 months and ofer...
Replies
12
Views
4,509
I have an allen Bradley micro running a fan in an industrial paint mixing facility. The input fuse is 3a. The system will run fine for a bit and...
Replies
4
Views
1,990
Hi everyone first day first post. I have a question? Can someone tell me the difference between a micro logic 1000 L10BWA & 1000 BXB? I know the...
Replies
2
Views
1,308
Hi I’ve got a door and window switch from RS (190-1011) with a 4 core cabl - red, white, green, and yellow . The red and white are the switch and...
Replies
12
Views
1,342
I haven't any dealings with this so any help to get me on the right track will be greatly appreciated. Will be using a Micro logic 1100/channel...
Replies
5
Views
2,022
Back
Top Bottom