The Standard Deviation instruction is a ladder logic rung instruction that calculates the standard deviation of values in an array and places the calculated value in the Destination tag. The instruction is enabled when the preceding logic is true and disabled otherwise. Wikipedia has an excellent article detailing the theory and standard deviation formula.

The STD ladder instruction uses the Control data type to calculate the standard deviation.

Insure the Length and Position does not travel outside the array boundaries.

List of possible arguments

**ARRAY TAG & DIMENSION TO VARY** must be an array and the dimension of the array must be pointed out.

**ARRAY** can be one of the following data types

**SINT **

**INT**

**DINT**

**REAL**

**DIM TO VARY**Must be a Constant with one of these values 0,1,2**DESTINATION**can be one of the following data types**REAL**

**CONTROL**Must be a Control Data Type**LENGTH**The amount of elements in the array to average**POSITION**Is the beginning position in the array to average

If the Position or Length is less than zero a major fault will occur. Make sure the length is less than or equal to the actual array size. *If the Length value is set higher than the length of the array the destination value will be wrong.*

*Note: **Arithmetic status flags are affected (S:V, S:Z, S:N, S:C). Overflow, Zero, Negative, and Carry.*

Can we have some more detail on how this works, and more importantly how it can be used in an industrial setting? I think this would be useful for determining the quality of an analog signal within a moving average array, but I’m not sure how to implement it.