noob saibot
Member
I am going to try to provide as much information as I can.
Ok, I am new to PLC programming, I don't normally do this by trade. I have built a few small control panels and know ladder logic pretty well. I have done several tutorials and read the siemens s7-200 manual cover to cover.
What I need to do is convert a NI Fieldpoint control system to PLC. I wired the entire system but it was one of those projects where someone else sorta roughly sketched it and I had to fill in the blanks. He programmed it (labview), but since he has left the company I am stuck with it. I understand exactly how it works right now because I had to do all the documentation for the control logic. My boss would like me to be able to service the system as it is portable and if repairs/adjustments/troubleshooting must be done, I would have to do them on site. The labview program is quite difficult to troubleshoot and is more complicated than we need not to mention flaky (as with a lot of the software this person wrote for us), it has been decided that we should use a PLC. The total # of I/O is roughly 4DI 9DO 8AI.
Here is what I need to do (a rough description):
The system is a cascade fueling system which has 3 banks of cylinders which are sequenced to fill a single tank within 30sec. There is a data cable connected to the tank to be filled which will transmit temperature and a ground confirmation to make sure it is connected. The tank pressure is taken at the outlet of the dispenser. The source banks also have pressure sensors at their manifolds. We will be monitoring 2 thermocouples in the process piping on the dispenser as well as the pressures. These need to have limits set that will shutdown the system in case they are too high.
It should work like this:
Once the PLC is energized the ready light will be maintained if all conditions are safe to fuel until the start button is pressed. If the start button is pressed the ‘ready’ light will change to the ‘in progress’ light if all conditions are safe. Conditions must remain safe during this process to avoid shutdown. The first solenoid will open and dispense gas until either the pressure/temperature curve is met or 5 seconds elapses. Then the first solenoid will close and the second solenoid will open. The ‘in progress’ light will blink and remain on during this transition. When the second stage either reaches the pressure/temperature curve or the 5 second limit, it will close the second solenoid and open the third. The transition will occur exactly as the previous stage. The final stage will complete by closing the third solenoid when either the pressure/temperature curve is reached or 15 seconds has elapsed. The ‘in progress’ light will turn off and the ‘fueling complete’ light will illuminate for 10 seconds. The fueling station will then return to its ready state. A stop button will stop the process for what ever reason the operator chooses to stop for, and an Estop will have to cut power completely.
During the entire process the station will be monitoring fueling conditions. These will include. Tank Temperature, Tank Pressure, Process Temperature and Ground Status.
Since we are dealing with flammable gas at high pressure, the system must shutdown if any temperatures or pressures are out of range, or if the ground line breaks. So these signals must be monitored constantly while running the filling process.
As it sits now with the NI controls, A lookup table is used to determine whether we have reached the pressure/temperature curve.
From the description I have given our suppliers they have recommended the s7-200.
'takes breath'
ok so my question is where do I start? This micro/win thing isn't quite what I'm used to as far as programming goes. You can't exactly have a 'state machine' where you can program all your bits to be done in sub routines (or can you?) I know there are subroutines but will the signals I want to monitor be able to interrupt the process the way I want them to? if they can should I use interrupts to handle the exceeding of limits? Also the fueling process must not be done all in one scan since it will take a minimum of ~35sec. So it must have to all run in parallel. How do you sort these things out?
The tutorials etc. handle all the details of using the instructions and have examples of simple processes, but I think what I have to do here is beyond that scope, yet I have a very small system compared to what most of you deal with (stuff I have found using the search function here). I am mainly concerned about how to structure the program and implementing the lookup table ( or possibly using math to do that ). Would I be better off getting someone else to do it? Would I still be able to easily troubleshoot it if I didn't write the program? One other thing is how do I use the thermocouple and thermistor modules?
THanks in advance I know this is a huge can of worms. Especially for a first post
Ok, I am new to PLC programming, I don't normally do this by trade. I have built a few small control panels and know ladder logic pretty well. I have done several tutorials and read the siemens s7-200 manual cover to cover.
What I need to do is convert a NI Fieldpoint control system to PLC. I wired the entire system but it was one of those projects where someone else sorta roughly sketched it and I had to fill in the blanks. He programmed it (labview), but since he has left the company I am stuck with it. I understand exactly how it works right now because I had to do all the documentation for the control logic. My boss would like me to be able to service the system as it is portable and if repairs/adjustments/troubleshooting must be done, I would have to do them on site. The labview program is quite difficult to troubleshoot and is more complicated than we need not to mention flaky (as with a lot of the software this person wrote for us), it has been decided that we should use a PLC. The total # of I/O is roughly 4DI 9DO 8AI.
Here is what I need to do (a rough description):
The system is a cascade fueling system which has 3 banks of cylinders which are sequenced to fill a single tank within 30sec. There is a data cable connected to the tank to be filled which will transmit temperature and a ground confirmation to make sure it is connected. The tank pressure is taken at the outlet of the dispenser. The source banks also have pressure sensors at their manifolds. We will be monitoring 2 thermocouples in the process piping on the dispenser as well as the pressures. These need to have limits set that will shutdown the system in case they are too high.
It should work like this:
Once the PLC is energized the ready light will be maintained if all conditions are safe to fuel until the start button is pressed. If the start button is pressed the ‘ready’ light will change to the ‘in progress’ light if all conditions are safe. Conditions must remain safe during this process to avoid shutdown. The first solenoid will open and dispense gas until either the pressure/temperature curve is met or 5 seconds elapses. Then the first solenoid will close and the second solenoid will open. The ‘in progress’ light will blink and remain on during this transition. When the second stage either reaches the pressure/temperature curve or the 5 second limit, it will close the second solenoid and open the third. The transition will occur exactly as the previous stage. The final stage will complete by closing the third solenoid when either the pressure/temperature curve is reached or 15 seconds has elapsed. The ‘in progress’ light will turn off and the ‘fueling complete’ light will illuminate for 10 seconds. The fueling station will then return to its ready state. A stop button will stop the process for what ever reason the operator chooses to stop for, and an Estop will have to cut power completely.
During the entire process the station will be monitoring fueling conditions. These will include. Tank Temperature, Tank Pressure, Process Temperature and Ground Status.
Since we are dealing with flammable gas at high pressure, the system must shutdown if any temperatures or pressures are out of range, or if the ground line breaks. So these signals must be monitored constantly while running the filling process.
As it sits now with the NI controls, A lookup table is used to determine whether we have reached the pressure/temperature curve.
From the description I have given our suppliers they have recommended the s7-200.
'takes breath'
ok so my question is where do I start? This micro/win thing isn't quite what I'm used to as far as programming goes. You can't exactly have a 'state machine' where you can program all your bits to be done in sub routines (or can you?) I know there are subroutines but will the signals I want to monitor be able to interrupt the process the way I want them to? if they can should I use interrupts to handle the exceeding of limits? Also the fueling process must not be done all in one scan since it will take a minimum of ~35sec. So it must have to all run in parallel. How do you sort these things out?
The tutorials etc. handle all the details of using the instructions and have examples of simple processes, but I think what I have to do here is beyond that scope, yet I have a very small system compared to what most of you deal with (stuff I have found using the search function here). I am mainly concerned about how to structure the program and implementing the lookup table ( or possibly using math to do that ). Would I be better off getting someone else to do it? Would I still be able to easily troubleshoot it if I didn't write the program? One other thing is how do I use the thermocouple and thermistor modules?
THanks in advance I know this is a huge can of worms. Especially for a first post