# C_ADSD 功能块分析报告

## 基本信息

| 项目 | 内容 |
|------|------|
| 功能块名称 | C_ADSD |
| 功能描述 | Adder and Subtractor(DINT type)（加法器和减法器，DINT类型） |
| 最后修改 | 2015.12.17 |
| 作者 | Shi Chun Liang |
| 页数 | 1页 |

## 功能概述

C_ADSD 是一个加法器和减法器功能块，用于计算两个DINT类型输入值的和或差。

## 思维导图

```mermaid
graph TD
    A[C_ADSD 加法减法器] --> B[输入模块]
    A --> C[处理模块]
    A --> D[输出模块]
    
    B --> B1[X1]
    B --> B2[X2]
    B --> B3[X3]
    
    C --> C1[加法计算]
    C --> C2[减法计算]
    
    D --> D1[Y]
    
    B1 --> C1
    B2 --> C1
    C1 --> D1
    B1 --> C2
    B3 --> C2
    C2 --> D1
    
    style A fill:#e1f5ff
    style B fill:#fff4e1
    style C fill:#e1ffe1
    style D fill:#ffe1e1
```

## 流程路径描述

### 加法路径：
开始 → X1 + X2 → 输出Y
**功能**: 计算两个输入值的和

### 减法路径：
开始 → X1 - X3 → 输出Y
**功能**: 计算两个输入值的差

## 逐帧功能分析

### Rung 7: 加法计算

**功能描述**: 计算X1和X2的和

**输入条件**:
| 信号名称 | 信号描述 | 信号类型 | 触发值 |
|----------|----------|----------|--------|
| X1 | 输入1 | DINT | 数值 |
| X2 | 输入2 | DINT | 数值 |

**输出功能**:
| 信号名称 | 信号描述 | 信号类型 |
|----------|----------|----------|
| Y | 输出(X1+X2-X3) | DINT |

**触发逻辑**:
- Y = X1 + X2

**功能实现**: 
使用ADD功能块，计算X1和X2的和。

### Rung 7: 减法计算

**功能描述**: 计算X1和X3的差

**输入条件**:
| 信号名称 | 信号描述 | 信号类型 | 触发值 |
|----------|----------|----------|--------|
| X1 | 输入1 | DINT | 数值 |
| X3 | 输入3 | DINT | 数值 |

**输出功能**:
| 信号名称 | 信号描述 | 信号类型 |
|----------|----------|----------|
| Y | 输出(X1+X2-X3) | DINT |

**触发逻辑**:
- Y = X1 - X3

**功能实现**: 
使用SUB功能块，计算X1和X3的差。

## 触发条件总结

### 计算条件
- **加法计算**: X1和X2都有值
- **减法计算**: X1和X3都有值

## 实现功能总结

### 主要功能
1. **加法计算**: 计算两个输入值的和
2. **减法计算**: 计算两个输入值的差

## 关键信号说明

| 信号名称 | 信号描述 | 信号类型 | 用途 |
|----------|----------|----------|------|
| X1 | 输入1 | DINT | 输入值1 |
| X2 | 输入2 | DINT | 输入值2 |
| X3 | 输入3 | DINT | 输入值3 |
| Y | 输出 | DINT | 加减法结果 |

## 调试技巧

### 调试步骤
1. 检查X1、X2、X3值，确认输入正常
2. 监控Y值，观察加减法结果

### 常见问题
1. **结果不正确**: 检查X1、X2、X3值是否正确

### 监控信号列表
- X1、X2、X3（输入值）
- Y（输出）
