Hi to all the plc community,
I’m a very new member here, and I’m also very new into the plc world. I just took a course this semester in my University (National Technical Univ. Of Athens Greece).
The plcs that we are taught are Siemens S7-300, and there is a project that I have to complete concerning a motor control (Start/Stop, with Star/Triangle connections, and Left/Right).
In this project I used a function for Y-D. So I have implemented a function FC1 for the Y-D switch and I have used this FC1 in two networks in the OB1. In the one network I give a “Start_Left” command to the function as an input, and the function gives out a “Y_Left” command (for 10secs) and then a “D_Left” command (after 10secs) as output
And in the other network of the OB1, I give a “Start_Right” command to the same function FC1 and I get a “Y_Right” and a “D_Right” command as an output.
The problem is that when I set “1” the Start_Left and have “0” the Start_Right, the program sets on both Y_Left and Y_Right, and also both D_Left and D_Right. It looks like the results from the function that is used for the Start_Left command update also the values of the Start_Right function.
How can I overcome this problem? Is there a way for the two implementations of the same function not to interfere with each other?
Thanks a lot for your patience.
P.S. All the code (in OB1 and the Function) is written in Ladder.
I’m a very new member here, and I’m also very new into the plc world. I just took a course this semester in my University (National Technical Univ. Of Athens Greece).
The plcs that we are taught are Siemens S7-300, and there is a project that I have to complete concerning a motor control (Start/Stop, with Star/Triangle connections, and Left/Right).
In this project I used a function for Y-D. So I have implemented a function FC1 for the Y-D switch and I have used this FC1 in two networks in the OB1. In the one network I give a “Start_Left” command to the function as an input, and the function gives out a “Y_Left” command (for 10secs) and then a “D_Left” command (after 10secs) as output
And in the other network of the OB1, I give a “Start_Right” command to the same function FC1 and I get a “Y_Right” and a “D_Right” command as an output.
The problem is that when I set “1” the Start_Left and have “0” the Start_Right, the program sets on both Y_Left and Y_Right, and also both D_Left and D_Right. It looks like the results from the function that is used for the Start_Left command update also the values of the Start_Right function.
How can I overcome this problem? Is there a way for the two implementations of the same function not to interfere with each other?
Thanks a lot for your patience.
P.S. All the code (in OB1 and the Function) is written in Ladder.
Last edited: