# PLC Sample Code

Followers 0

Simatic, Step 7, ATS-S5, etc...

## 18 files

1. #### S7-200 Tips & Tricks Complete 8/2003

Complete archive of Tips and Tricks for S7-200

35058 downloads

Updated

2. #### Solve system whit Gauss-Jordan

In the matrix A [ i , j ] put the System of N-Equation.
In the vector b put the solutions
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
Example 1: Linear System 3 equation (X,Y,Z)
3 X + 2 Y - Z = 10
- X + Y + Z = -2
2 X - Y + 2 Z = -6
| 3 | | 2 | | -1 | | 10 |
X | -1 | + Y | 1 | + Z | 1 | = | -2 |
| 2 | | -1 | | 2 | | -6 |
Matrix A :=
Matrix[1,1]= 3 ; Matrix[1,2]= 2 ; Matrix[1,3]= -1
Matrix[2,1]= -1 ; Matrix[2,2]= 1 ; Matrix[2,3]= -2
Matrix[3,1]= 2 ; Matrix[3,2]= -1 ; Matrix[3,3]= -6
Vector b:=
Vector =10 ; Vector = -2 ; Vector = -6 ;
Solution :=
Solution  := 1.0 ; Solution  := 2.0 ; Solution  := -3.0 ;
X = 1 ; Y = 2 ; Z = -3
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
Example 2: Linear System 5 equation for resolve Polynomial 4th grade
exampl. Polynomial whit 5 points:
P0(-1,-1) ;
P1( 1, 3) ;
P2( 5, 3.5) ;
P3( 6, 4.5) ;
P4( 7, 7) ;
Write in the Matrix A [ i, j ]
Matrix A :=
Matrix[1,1]= (-1)^4 ; Matrix[1,2]= (-1)^3 ; Matrix[1,3]= (-1)^2 ; Matrix[1,4]= (-1) ; Matrix[1,5]=1;
Matrix[2,1]= (1)^4 ; Matrix[2,2]= (1)^3 ; Matrix[2,3]= (1)^2 ; Matrix[2,4]= (1) ; Matrix[2,5]=1;
Matrix[3,1]= (5)^4 ; Matrix[3,2]= (5)^3 ; Matrix[3,3]= (5)^2 ; Matrix[3,4]= (5) ; Matrix[3,5]=1;
Matrix[4,1]= (6)^4 ; Matrix[4,2]= (6)^3 ; Matrix[4,3]= (6)^2 ; Matrix[4,4]= (6) ; Matrix[4,5]=1;
Matrix[5,1]= (7)^4 ; Matrix[5,2]= (7)^3 ; Matrix[5,3]= (7)^2 ; Matrix[5,4]= (7) ; Matrix[5,5]=1;
Write in the Vector [ ]
Vector b:=
Vector = -1 ; Vector = 3 ; Vector = 3.5 ; Vector = 4.5 ; Vector = 7
Solutions :=
Solution  := 3.27380234e-003 ; Solution  := 0.03363105;
Solution  := -0.56577414 ; Solution  := 1.966369 ;
Solution  := 1.5625005
§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
Example 3: Linear System 6 equation for resolve Polynomial 5th grade
example. Mototion Interpolation whit Polynomial
whit 2 Points :
P0 (Time0, Position 0) Start point whit (Velocity 0, Acceleration 0)
P1 (Time1, Position 1) End point whit (Velocity 1, Acceleration 1)
Write in the Matrix A [ i, j ]
Matrix A :=
X0 = time0 ; X1 = time1
Row1 X0 ^5 + X0 ^4 + X0 ^3 + X0 ^2 + X0 + 1 (Position P0)
Row2 5 * X0 ^4 + 4 * X0 ^3 + 3 * X0 ^2 + 2 * X0 + 1 + 0 (Velocity P0)
Row3 20 * X0 ^3 + 12 * X0 ^2 + 6 * X0 + 2 + 0 + 0 (Acceleration P0)
Row4 X1 ^5 + X1 ^4 + X1 ^3 + X1 ^2 + X1 + 1 (Position P1)
Row5 5 * X1 ^4 + 4 * X1 ^3 + 3 * X1 ^2 + 2 * X1 + 1 + 0 (Velocity P1)
Row6 20 * X1 ^3 + 12 * X1 ^2 + 6 * X1 + 2 + 0 + 0 (Acceleration P1)
Vector b:=
Vector = Position P0 ; Vector = Velocity P0 ; Vector = Acceleration P0 ;
Vector = Position P1 ; Vector = Velocity P1 ; Vector = Acceleration P1 ;
Interpolation Polynomial Position :=
Position := s1* t^5 + s2* t^4 +s3* t^3 + s4* t^2 + s5* t + s6;

3262 downloads

Updated

3. #### Knife Example Program

Cut off knife example program. Uses Profibus communication and indirect addressing examples.

11532 downloads

Updated

4. #### Splicer Example Program

Control program for a web splicer.

9852 downloads

Updated

5. #### Analog Average

This file for Siemens 200 PLCs will create a rolling average of the last 100 scans worth of an analog input.

7425 downloads

Updated

6. #### Daylight Savings Time for S7-200

This is a quick sample program to demonstrate how to make the PLC adjust the clock for daylight savings time automatically. It's done with an S7-200 but the logic sould be similar for any PLC from any vendor.
Written with Step 7-MicroWIN/32

5101 downloads

Updated

7. #### Remanent On-delayTimer for S7-300/400

Remanent On-delay Timer for Siemens S7 300/400
-The attached FC makes standard PLC timers
remanent.
-The timers are started stopped and reset via
digital inputs.
-The the remaining time can be monitored in the
program.

5979 downloads

Updated

8. #### drill machine

This is a simple program where the drill arm moves down for the drill and the Drill motor starts as well. The drill arm stops after reaching the bottom level but the drill motor continues for a few seconds to ensure a good drill and then stops. Now the Drill arm moves up again and then reaches the top position and starts the cycle again.It is aslo ensured that the Drill arm is always at the top before the operation starts or if the drill operation is stopped in midway.
If you have any doubts or suggestions please feel free to comment.

7035 downloads

Updated

9. #### Dip paint

This is a simple program to paint an object while the object is transferred from Station A to station C. The painting occurs in station B where the object to be painted is stopped and dipped in paint and the moves further to C. From C the transport system comes back to A without stopping on its return path at B.
If you have any doubts or suggestions please feel free to contact me .

3106 downloads

Updated

10. #### modified traffic lights

This program is a little modified version of the earlier traffic code. This program also has the comments added which was missing in the earlier version.

6465 downloads

Updated

11. #### PDF: Reusable code with FBs.

Example of how to create reusable code by means of Function Blocks and the associated Instance DBs.<br /><br />Note that it has been printed in LAD (ladder). <br />Some code cannot be viewed in LAD which is why it defaults to STL (statement list).

5747 downloads

Updated

12. #### PDF: Traffic light.

Traffic light.
No usage of "reusable code".
Just plain classical PLC programming printed in LAD (ladder)

13873 downloads

Updated

13. #### PDF: String Parsing

Sample code for Parsing Strings - in this case taking incoming comma separated variable strings and breaking them apart.

4525 downloads

Updated

14. #### counters and Accumulators

Counter/Accumulator examples

6676 downloads

Updated

15. #### FC1 Two hand anti tie down

Logic takes two inputs (I0.0, I0.1), debounces each (T0, T1), looks for actuation during a timed period (T2), and provides validation (M20.0). This logic is not designed, nor intended, to replace the use of any OSHA required two-hand safety control relay. It is provided for the sole purpose of it's educational value.

116 downloads

Submitted

16. #### Range_Fnc

I sometimes need to scale an analog value, so I had to do a function to better suit my needs than Siemes "Scale" function.
It has 5 inputs, all in integer format.
_In - The value to be scaled
_In_Min - Lowest value of the "_In" signal.
_In_Max - Highest value of the "_In" signal.
_Out_Min - Lowest allowed value of the scaled output.
_Out_Max - Highest allowed value of the scaled output.
The output "_Out" is the calculated value in integer format.
Edit.
It's saved as a global library.
TIA Portal V13 SP1 Upd. 4

264 downloads

Updated

17. #### FC2 Toggle a bit

This logic demonstrates how to use a condition to toggle a bit. Any bit-level condition may be used such as I, O, M, C, T, DB. Only two rungs of logic are required.

151 downloads

Submitted

18. #### FC3 Counter Demo

This logic demonstrates the construction and cascading of counters that count from 0 to 9. This logic also illustrates the construction of counters that count from 1 to 10 (not useful for cascading). The difference is mainly in the comparators used to reset the counters. There is one small additional detail. Can you find it?

186 downloads

Submitted

Followers 0