New2PLCs
Guest
N
Hi, I'm a computer geek that got thrown a PLC programming problem. Ladder logic is confusing me a bit and although if I work through it slowly I can understand what's going on, I often end up going in circles with problems in my programs.
The problem is to design a program (for a MicroLogix 1500) to cycle a number of outputs (compressors) according to inputs from thermostats, restricted by a maximum load limit and certain priority overrides (input on = that compressor runs until the thermostat is satisfied, no matter what.)
After working with it a while, I think the problem is a lot more challenging that it first seems. If you let "more important" compressors shut off less important ones, then you have the problem that the less important ones might never run. If you give every compressor an equal shot at running, then both ways you do it yield potential problems: 1.) You can give each compressor a chance to run, but don't let the first run again until every compressor has had a chance to run. In this scenario, you have the potential for a small compressor at the end of the cycle to be running by itself (inefficient because, if the thermostats are calling for cooling, you obviously want as many on at the same time as possible within the max load restrictions) for some time before the cycle starts over. 2.) You can let the cycle "loop" around and start picking up more units so as to avoid the potential problem in #1, but then you run into potential of some smaller units coming on, filling up your available "load space", and keeping the larger units from running, potentially indefinitely.
This problem is a pain. Any comments or advice on designing it "nicely" would be greatly appreciated. Less specifically, I would love for some guru to explain how PLCs differ from the microprocessors I'm used to dealing with. It seems like I could program this thing a lot easier in an assembly-like language (and I've been told that you have this ability with some Siemens processors.)
Thanks,
Don
The problem is to design a program (for a MicroLogix 1500) to cycle a number of outputs (compressors) according to inputs from thermostats, restricted by a maximum load limit and certain priority overrides (input on = that compressor runs until the thermostat is satisfied, no matter what.)
After working with it a while, I think the problem is a lot more challenging that it first seems. If you let "more important" compressors shut off less important ones, then you have the problem that the less important ones might never run. If you give every compressor an equal shot at running, then both ways you do it yield potential problems: 1.) You can give each compressor a chance to run, but don't let the first run again until every compressor has had a chance to run. In this scenario, you have the potential for a small compressor at the end of the cycle to be running by itself (inefficient because, if the thermostats are calling for cooling, you obviously want as many on at the same time as possible within the max load restrictions) for some time before the cycle starts over. 2.) You can let the cycle "loop" around and start picking up more units so as to avoid the potential problem in #1, but then you run into potential of some smaller units coming on, filling up your available "load space", and keeping the larger units from running, potentially indefinitely.
This problem is a pain. Any comments or advice on designing it "nicely" would be greatly appreciated. Less specifically, I would love for some guru to explain how PLCs differ from the microprocessors I'm used to dealing with. It seems like I could program this thing a lot easier in an assembly-like language (and I've been told that you have this ability with some Siemens processors.)
Thanks,
Don