Sine (SIN)
This table lists the controllers and applications that support this instruction.
Architecture | Standard applications | Safety applications |
---|---|---|
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers | Yes | No |
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers | Yes | Yes |
When enabled, the SIN instruction takes the sine of the Source value (in radians) and stores the result in the Destination.
Available Languages
Ladder Diagram
Function Block Diagram
Function Block Diagram supports these elements:
FBD Block
FBD Function
TIP:
FBD Function is applicable to CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only.
Structured Text
This instruction is not available in structured text.
TIP:
Use SIN as an operator in an expression to compute the same result. Refer to Structured Text Syntax for more information on the syntax of expressions and assignments within structured text.
Operands
Ladder Diagram
Operand | Data Type CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers | Data Type CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers | Format | Description |
Source | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | Immediate tag | Value to convert to sine. |
Destination | SINT INT DINT REAL | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | tag | Tag to store the result of the instruction. |
Function Block Diagram
FBD Block
Operand | Type | Format | Description |
SIN tag | FBD_MATH_ADVANCED | tag | SIN structure |
FBD_MATH_ADVANCED Structure
Input Parameter | Data Type | Description |
EnableIn | BOOL | Enable input. If false, the instruction does not execute and outputs are not updated. Default is true. |
Source | REAL | Input to the trigonometric instruction. |
Output Parameter | Data Type | Description |
EnableOut | BOOL | Indicates if the instruction executed without fault when it was enabled. |
Dest | REAL | Result of the instruction. |
FBD Function
TIP:
FBD Function is applicable to CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only.
Operand | Data Type CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers | Description |
Source | SINT INT DINT LINT USINT UINT UDINT ULINT REAL LREAL | Value to convert to sine. |
Output Operand (Right Pin) | Data Type CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers | Description |
Dest | REAL LREAL | Result of the function. |
See FBD Functions.
Operator Aspects
The SIN operator can be used in various expressions. Similarly, the SIN function is invoked in Structured Text statements. Both applications of SIN return a floating point result containing the sine of the Source. Depending on the context, this value may then be type converted if appropriate.
Description
The SIN instruction takes the sine of the Source value (in radians) and stores the result in the Destination.
The SIN operator or function computes the sine of Source and returns the floating point result. The resulting value is always greater than or equal to -1 and less than or equal to 1.
Affects Math Status Flags
Controllers | Affects Math Status Flags |
CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers | Conditional, see Math Status Flags. |
CompactLogix 5370, ControlLogix 5570, Compact GuardLogix 5370, and GuardLogix 5570 controllers | Yes |
Major/Minor Faults
None specific to this instruction. See Index Through Arrays for array-indexing faults.
Execution
Ladder Diagram
Condition/State | Action Taken |
Prescan | N/A. |
Rung-condition-in is false | Set Rung-condition-out to Rung-condition-in. |
Rung-condition-in is true | Set Rung-condition-out to Rung-condition-in. Dest = sine value of the Source. |
Postscan | N/A |
Function Block
Condition/State | Action Taken |
Prescan | N/A |
Tag.EnableIn is false. | Set EnableOut to EnableIn. |
Tag.EnableIn is true | Dest = sine value of the Source. If overflow occurs Clear EnableOut to false. else Set EnableOut to true. |
Instruction first scan | N/A |
Instruction first run | N/A |
Postscan | N/A |
FBD Function
TIP:
FBD Function is applicable to CompactLogix 5380, CompactLogix 5480, ControlLogix 5580, Compact GuardLogix 5380, and GuardLogix 5580 controllers only.
Condition/State | Action Taken |
Prescan | N/A |
Normal Scan | Dest = sine value of the Source. |
Instruction first run | N/A |
Instruction first scan | N/A |
Postscan | N/A |
Example
Ladder Diagram
Function Block Diagram
FBD Block
FBD Function
Structured Text
REAL_dest := SIN(REAL_src);
Provide Feedback