博图 ADD 加法指令详解,新手入门必看
|
在西门子 TIA Portal 博途编程中,ADD 加法指令是入门最先接触、项目工程里使用频率最高的基础数学运算指令。日常产量统计、数值累加、多路数据求和、工艺参数运算、模拟量数据计算,几乎所有程序都会用到。 很多初学 PLC 的朋友,使用 ADD 指令时经常遇到数值乱跳、结果出错、程序编译报错、无限累加等问题,绝大多数原因都是:不理解引脚含义、忽略数据类型匹配、程序逻辑编写不规范、不清楚 PLC 循环扫描机制。 本文用通俗直白的讲解,结合真实工程实用案例,从零完整讲透 ADD 指令全部用法、原理、避坑要点,看完直接上手写程序。
一、ADD 指令基本功能 ADD 加法指令,核心功能就是完成多个数值加法运算,将所有输入端的数值依次相加,最终运算结果存入输出变量。 基础运算公式: \boldsymbol{IN1+IN2+IN3+\dots=OUT} 指令默认自带2个输入引脚,同时支持自由扩展输入引脚数量,可以实现2个及以上任意数值求和,不限输入个数。 二、指令完整引脚详细说明 你原文中间序号空缺,我完整补齐所有引脚、含义、作用、用法,一字一句讲清: 1. EN(使能输入端) 指令执行开关。只有 EN 为高电平(TRUE/1)时,加法运算才执行; EN 为低电平(FALSE/0)时,指令不运算,输出 OUT 保持上一次的数值不变,不会清零。 2. ENO(使能输出端) 指令运行状态反馈引脚。 指令正常运算、无数据溢出、无数据类型错误、无运算异常时,ENO 输出 1(TRUE); 当出现数值溢出、数据类型不匹配、运算故障报错时,ENO 输出 0(FALSE)。 工程中常用 ENO 串联后续指令、做程序故障报警、连锁判断。 3. IN1、IN2、IN3……(输入操作数) 所有参与加法运算的数值。 可以接入:PLC 变量、M 区、DB 块地址、定时器当前值、计数器当前值,也可以直接写入固定常数。 4. OUT(运算输出端) 存放加法运算最终结果。 一般填写 DB 块变量、M 存储区、全局变量,用于后续程序调用、显示、比较、其他运算。 三、数据类型使用硬性规则(重中之重) ADD 指令支持多种常用数据类型,博图里有一条绝对硬性规则: 所有输入端 IN、输出端 OUT 数据类型必须完全统一 只要类型不一致,轻则运算结果错乱,重则直接程序编译报错,指令无法下载。 附带常用类型数值范围、适用场景: 1. Int(16 位有符号整数) 数值范围:\boldsymbol{-32768 \sim 32767} 适用:普通小产量计数、普通参数加减、小数值运算。 2. DInt(32 位有符号整数) 数值范围极大,适合大批量累加、长时间计数、大数运算,工程累计计数优先用 DInt。 3. Real(32 位浮点数) 支持小数运算,温度、压力、流量、液位等模拟量采集运算全部使用 Real 类型。 四、博图软件内完整操作步骤 1. 打开 TIA Portal 博图,进入对应项目的 OB1 主程序块; 2. 左侧指令库依次展开:基本指令 → 数学函数 → ADD:加; 3. 用鼠标将 ADD 指令拖拽到空白程序段网络中; 4. 在指令框顶部下拉菜单,手动选择对应数据类型(Int/DInt/Real); 5. 依次给 IN1、IN2 填写变量/常数,OUT 填写存储结果的变量; 6. 需要3个及以上数值相加时,点击指令框上方小星星扩展按钮,即可新增 IN3、IN4、IN5……无限扩展输入引脚。 五、实战应用案例(全部工程常用原版程序) 案例1:基础两数相加 应用场景 两个变量实时求和,输入数值变化,输出结果自动跟随更新。 变量定义 - 数据1:Int - 数据2:Int - 求和结果:Int 程序编写 EN 端直接连接常通触点 TRUE,IN1 接入数据1,IN2 接入数据2,OUT 赋值给求和结果变量。 运行效果 求和结果 = 数据1 + 数据2;任意一个输入数值改变,输出实时自动刷新。 案例2:多路数据产量汇总(多输入扩展用法) 应用场景 工厂三班产量统计,自动汇总全天总产量,最典型多引脚扩展案例。 变量定义 - 一班产量:Int |








