前面第10讲,我们讲了比较指令与区间判断。
那一讲解决的是一个“判”的问题:
PLC 拿到数据以后,怎么判断它大了、小了、到了、超了、是不是落在允许区间里。
但工程上还有一个更基础、也更绕不开的问题:
很多数据,PLC 一拿到时,根本不是你想看到、想比较、想控制的样子。
比如:
温度变送器明明量程是 0 到 100 摄氏度,PLC 里读出来却是 0 到 32000
压力变送器画面上想显示 0.45 兆帕,可程序里存的可能是 450
变频器目标频率想设成 35.0 赫兹,但 PLC 通讯里发出去的可能是 350
一个流量值想显示成带小数点的工程量,内部却往往要先做放大和换算
一个设备总产量想换算成班产、时产、平均节拍,背后都离不开运算
你会发现,PLC 里很多工作并不是“直接用”,而是“先算一下再用”。
所以这一讲,我们要讲的就是 PLC 里非常重要的一部分:
数学运算与工程量换算。
这一讲一旦吃透,后面你学模拟量、触摸屏参数、变频器给定、PID、通讯数据处理、累计产量、报警阈值修正,都会顺很多。
因为后面的很多功能,本质上都建立在这一讲上。
前面第9讲讲的是“数据放哪里”;
第10讲讲的是“数据怎么判断”;
这一讲讲的是“数据怎么变成有意义、能控制、能显示、能比较的样子”。
这是 PLC 从“能写梯形图”走向“会做工程”的关键一步。
一 为什么 PLC 里必须学运算
先把这个根上的问题讲清楚。
很多初学者学 PLC 时,刚开始会有一种感觉:
不就是按钮、接触器、定时器、计数器嘛,为什么还要学加减乘除?
因为现场设备并不只处理开关信号。
它还处理大量数值。
这些数值有几个特点:
第一,很多不是最终值,而是中间值。
第二,很多不是工程值,而是原始值。
第三,很多不是直接能显示的格式,而是为了 PLC 方便处理的格式。
第四,很多需要先做缩放、修正、平均、累计、限幅,才能拿去控制。
所以 PLC 里学运算,不是为了做数学题,而是为了把数据“整理成能用的样子”。
你可以把 PLC 运算理解成一个“翻译过程”。
现场传感器给 PLC 的,是一种机器读得懂的数。
操作员在画面上想看到的,是另一种更直观的工程量。
设备控制逻辑要用的,又可能是第三种格式。
PLC 就要负责把这些数在不同形式之间转换。
这个过程,离不开运算。
二 什么叫工程量换算
这个词你以后会经常碰到。
所谓工程量换算,说白了就是:
把 PLC 里采集到的原始数值,换算成现场真正有物理意义的数值。
比如:
原始采样值 16000
换算后变成 50.0 摄氏度
原始寄存器值 720
换算后变成 0.72 兆帕
通讯读取到 350
换算后显示成 35.0 赫兹
累计脉冲数 25000
换算后变成 1250 毫米
这些“50.0 摄氏度”“0.72 兆帕”“35.0 赫兹”“1250 毫米”,就是工程量。
因为它们是工程现场真正关心的物理量。
而前面的 16000、720、350、25000,很多时候只是 PLC 采集或存储时使用的中间数值。
所以工程量换算的本质,不是为了好看,而是为了:
看得懂
比得准
控得稳
调得清
维护方便
三 PLC 里最常见的几种运算
先把最基础的四则运算讲清楚。
1 加法
加法在 PLC 里特别常见。
例如:
累计产量
故障次数累计
运行时间累加
多个设定值相加
偏移补偿
求总和
举个最简单的例子:
每来一个合格产品,D100 加 1,作为总产量。
或者每次启动一次电机,D200 加 1,作为启动次数。
你会发现,加法在 PLC 里很多时候不只是“算一下”,而是在做累计。
2 减法
减法也很多。
例如:
目标值减去当前值,算偏差
总量减去已完成量,算剩余量
上位机给定值减去补偿值,得到修正值
计数剩余
长度差值
位置误差
比如:
设定温度是 D200
实际温度是 D100
那两者之差 D300,可以表示温度偏差
再比如:
一批产品要做 100 个
已经做了 36 个
剩余数量就是 100 减 36
减法经常用在“还差多少”“偏差多少”“剩多少”这些场景里。
3 乘法
乘法常用于缩放和换算。
例如:
把带小数的工程量放大 10 倍或 100 倍存储
把编码器脉冲换算成长度
把比例系数乘进去
做单位转换
做流量、速度、距离的比例换算
比如:
温度 36.5 摄氏度,为了避免 PLC 处理小数麻烦,内部存成 365
这其实就是乘了 10
压力 0.72 兆帕,内部存成 720
这其实就是乘了 1000
你以后看 PLC 程序里很多奇怪的“大数”,其实就是工程量被放大后的结果。
4 除法
除法经常和乘法配套。
例如:
把放大的数再还原成显示值
求平均值
做比例换算
单位变换
计算百分比
把累计量换算成单件量
比如:
内部存的是 365
画面想显示 36.5
那就相当于除以 10
再比如:
一分钟产了 120 件,想算每秒件数
那就是除法。
所以乘法和除法在 PLC 里,很多时候是一对搭档。
四 现场最常见的一件事:为什么 PLC 里经常要“放大 10 倍、100 倍、1000 倍”
这个问题一定要讲透。
很多初学者看到 PLC 里一个温度值写成 685,一个压力值写成 432,一个频率值写成 350,就很迷糊:
为什么不用 68.5、0.432、35.0,非要搞成这些整数?
原因通常有两个。
第一,很多 PLC 处理整数更方便
虽然现在很多 PLC 也支持浮点数,但在大量基础项目里,工程师还是很喜欢用整数。
因为整数:
计算快
显示直观
兼容性好
触摸屏、通讯、比较、报警处理更统一
不容易因为小数格式不同引发问题
所以工程上很常见的做法是:
把带小数的物理量先放大成整数再处理
例如:
12.3 摄氏度 存成 123
0.56 兆帕 存成 560
35.0 赫兹 存成 350
第二,便于统一比较和控制
假设你的低压报警值是 0.35 兆帕,停泵值是 0.45 兆帕,启动值是 0.30 兆帕。
如果全部都存成整数 350、450、300,那 PLC 比较、运算、通讯都会很统一。
所以你以后只要看到某个物理量存成了整数,不要慌。
先想一件事:
它是不是被放大了。
这个思路非常重要。
五 工程量换算最典型的场景:模拟量输入
这一段是本课重点里的重点。
因为 PLC 学运算,很多人第一次真正感受到“必须会算”,就是在模拟量输入这里。
1 模拟量为什么不能直接拿来用
例如一个温度变送器,量程是 0 到 100 摄氏度,对应输出 4 到 20 毫安。
PLC 模拟量模块采进来以后,内部不一定直接给你“50.0 摄氏度”这样的值。
它更可能给你一个原始采样数,比如:
0 到 4000
0 到 32000
6400 到 32000
或者别的范围,取决于模块和设置
也就是说,PLC 拿到的是“电信号对应的数字量”,不是你想要的工程值。
这时候就必须换算。
2 换算的本质是什么
本质上是在做一个比例对应。
比如:
4 到 20 毫安
对应
0 到 100 摄氏度
如果模块内部已经帮你做了电流采集转换,给你一个数字范围,比如 0 到 32000,
那你就要建立这样的对应关系:
0 对应 0 摄氏度
32000 对应 100 摄氏度
或者如果有效量程不是从 0 开始,而是 4 毫安起算,那可能是:
6400 对应 0 摄氏度
32000 对应 100 摄氏度
这其实就是一条线性比例关系。
所以工程量换算的很多核心,归根到底就是一句话:
按比例折算。
六 最常见的线性换算公式,先理解思路,不要急着背
咱们先不用很公式化的方式吓自己,先讲思路。
如果一个原始值范围是:
下限 A
上限 B
一个工程值范围是:
下限 C
上限 D
那么某个原始值 X,对应的工程值 Y,本质上就是在做这样的事情:
先看 X 距离原始下限 A 有多远
再看它占整个原始范围的比例是多少
最后按同样比例映射到工程值范围里
这就是线性换算。
比如:
原始范围 0 到 32000
工程范围 0 到 100.0 摄氏度
如果当前原始值是 16000
那它就在中间位置
所以工程值大约也是中间位置,50.0 摄氏度
这个逻辑你一旦理解,公式就不再难。
七 用一个温度例子,把比例缩放真正讲清楚
场景设定
温度变送器量程 0 到 100 摄氏度
PLC 模拟量模块读数范围 0 到 32000
当前采样值存在 D100
换算后的温度想存到 D110
内部用“放大 10 倍”的方式存储,也就是 25.6 摄氏度存成 256
换算思路
原始值 0 对应工程值 0
原始值 32000 对应工程值 1000
注意这里不是 100,而是 1000,因为我们放大了 10 倍
那么换算关系就是:
D110 = D100 × 1000 ÷ 32000
举例
如果 D100 = 16000
那么:
D110 = 16000 × 1000 ÷ 32000 = 500
也就是 50.0 摄氏度
如果 D100 = 8000
那么:
D110 = 8000 × 1000 ÷ 32000 = 250
也就是 25.0 摄氏度
你看,这就把“原始采样数”翻译成了“工程温度值”。
八 为什么很多工程师更喜欢“先换算,再比较,再显示”
这个程序习惯特别好。
假设你要做高温报警,报警值是 80.0 摄氏度。
你有两种写法。
写法一 直接拿原始值比较
把 80.0 摄氏度先换算成对应的原始采样值,比如 25600,
然后程序里判断:
D100 是否大于等于 25600
这样理论上可以,但程序不够直观。
别人看程序很难一下明白 25600 是什么。
写法二 先把原始值换算成工程值
先算出 D110,表示实际温度,单位是“0.1 摄氏度”
然后报警逻辑直接判断:
D110 是否大于等于 800
这就很直观了。
所以工程上更推荐的思路通常是:
原始值只负责采集
工程值负责显示、比较、报警、控制
这会让程序更清楚,也更方便维护。
九 工程量换算不只是模拟量,通讯里也常见
很多人以为换算只是模拟量的事,其实通讯里一样很多。
比如 PLC 通过 Modbus 读变频器频率。
变频器寄存器里返回的数值可能不是“35.0”,而是“350”。
为什么?
因为很多设备通讯时,也常用“放大 10 倍”或“放大 100 倍”的整数格式来传。
再比如读电流,读到的是 128,实际表示 12.8 安
读压力,读到的是 56,实际表示 0.56 兆帕
读温度,读到的是 235,实际表示 23.5 摄氏度
这时候你要做的,也是同样的事情:
弄清楚这个数被放大了多少倍
然后决定 PLC 内部继续保持这个整数格式,还是换算成另一套更统一的工程格式
所以换算不是一个“小技巧”,而是 PLC 与外界打交道时的常规工作。
十 加法在工程上怎么用:累计、总和、偏移补偿
下面咱们把四则运算分别落到工程场景里。
1 累计产量
每次检测到一个合格产品,就让 D200 加 1。
这就是最简单、最典型的累计。
2 累计运行时间
比如每隔 1 秒钟,系统运行中时就给运行秒数寄存器加 1。
再继续累加成分钟、小时,后面还能做保养提示。
3 偏移修正
有些传感器装完以后会存在固定偏差。
比如标准值应该是 0,但实际总显示 3。
那你就可以在换算结果基础上再加一个修正量或者减一个偏移量。
例如:
实际显示值 = 换算值 + 修正值
这就是加减法在现场特别常见的一种用法。
4 多路总和
比如三台设备的累计产量分别存在 D100、D101、D102
想算总产量,就把它们加起来。
或者三段流量求总流量,三段重量求总重量,也都离不开加法。
十一 减法在工程上怎么用:误差、剩余量、偏差分析
1 偏差
比如:
设定压力 - 实际压力 = 当前偏差
这在闭环控制、报警分析、调试判断中都很常见。
2 剩余量
比如:
目标数量 - 已完成数量 = 剩余数量
包装、计数、配方、工单生产里都常见。
3 差值分析
比如某机械两边位置值分别是 D300 和 D301
你想知道两边是否同步,就可以算差值。
再比如送料前后的长度差、两个温区的温差、输入输出压力差,也都靠减法。
4 零点修正
有时你需要用当前采样值减去基准值,得到净变化量。
例如称重去皮,就是很典型的减法思路。
十二 乘法在工程上怎么用:比例系数、单位换算、放大处理
1 放大 10 倍、100 倍、1000 倍
这个前面说了,是 PLC 里最常见的乘法应用之一。
2 编码器脉冲换算长度
假设 1000 个脉冲对应 100 毫米
那么当前累计脉冲数乘上系数,再做除法,就能得到长度。
3 模拟量比例换算
采样值乘上量程系数,得到工程值。
这本质上也是乘法在发挥作用。
4 百分比换算
例如某个输出范围 0 到 10000,想换算成百分比显示,就可以用乘法和除法组合。
5 速度、流量、节拍换算
例如每分钟的数量乘以 60,换成每小时
或者每秒流量乘以 3600,换成每小时流量
这类工程换算里,乘法非常常见。
十三 除法在工程上怎么用:平均值、还原显示、比例折算
1 还原被放大的工程值
内部是 356
画面要显示 35.6
这背后本质就是除以 10
虽然触摸屏很多时候能自动处理小数点显示,但逻辑上你要明白这件事。
2 求平均值
比如 10 秒内采样了若干次温度,想取平均值减少波动
那就是总和除以次数。
平均值在模拟量稳定处理里很常见。
3 比例换算
例如:
当前累计脉冲 ÷ 每毫米脉冲数 = 实际位移
4 节拍计算
比如:
总运行时间 ÷ 总产量 = 平均单件节拍
这类统计分析也很常用。
十四 一个很重要的工程问题:为什么有时先乘后除,有时不能乱换顺序
这一点非常实用。
例如一个换算公式是:
工程值 = 原始值 × 1000 ÷ 32000
为什么通常写成“先乘后除”,而不是“先除后乘”?
因为 PLC 里很多时候用的是整数运算。
整数除法会直接去掉小数部分。
比如:
16000 ÷ 32000 = 0
如果你先除,就变成 0,再乘 1000 还是 0
但如果你先乘:
16000 × 1000 = 16000000
再除以 32000 = 500
结果就对了。
所以在 PLC 里,特别是整数运算场景下,要非常注意顺序。
很多换算明明思路没错,结果全错,就是因为先除后乘把精度丢掉了。
这个坑非常常见。
十五 工程里为什么要注意溢出
再往前走一步。
如果你做乘法时,参与运算的两个数都比较大,结果可能超出寄存器能表示的范围。
一旦超范围,结果就乱了。
比如一个 16 位字最大只能表示一定范围的数。
你拿一个大数再乘以 1000,很可能就超了。
所以工程上做运算时,一定要有这个意识:
这个数乘完以后,会不会太大
需不需要用双字
需不需要分步计算
需不需要先缩放一下再计算
例如累计产量很大、脉冲总数很大、单位换算系数很大,这些场景都要特别小心。
这也是为什么第9讲里我们要讲字和双字。
因为到这里,运算和容量就真正连上了。
十六 一个完整例子:压力变送器怎么换算成画面显示值
咱们用一个很典型的压力例子来讲透。
场景设定
压力变送器量程 0 到 1.0 兆帕
模拟量模块读数范围 0 到 4000
当前采样值在 D100
画面显示想要 0.000 到 1.000 兆帕
PLC 内部决定放大 1000 倍存储
也就是 0.456 兆帕存成 456
换算关系
原始值 0 对应工程值 0
原始值 4000 对应工程值 1000
那么:
D110 = D100 × 1000 ÷ 4000
举例
如果 D100 = 1800
那么:
D110 = 1800 × 1000 ÷ 4000 = 450
也就是 0.450 兆帕
后续应用
低压启动值设为 D200 = 300,也就是 0.300 兆帕
停泵值设为 D201 = 450,也就是 0.450 兆帕
低压报警值设为 D202 = 250,也就是 0.250 兆帕
高压报警值设为 D203 = 800,也就是 0.800 兆帕
这时你整个程序就很统一:
采样值先换算成 D110
后续所有显示、比较、报警、控制,都用 D110
这个习惯非常好。
十七 另一个完整例子:变频器频率给定为什么也经常要换算
场景设定
触摸屏上操作员输入频率设定值,范围 0.0 到 50.0 赫兹
PLC 内部用放大 10 倍的整数处理
即 35.0 赫兹存成 350
变频器通讯寄存器要求的格式也是放大 10 倍
程序里的处理思路
画面输入 35.0
写入 PLC 的 D200 = 350
PLC 程序可以直接把 D200 送给变频器通讯寄存器
因为双方格式一致
如果格式不一致怎么办
有些变频器要求 0 到 5000 对应 0.00 到 50.00 赫兹
那 PLC 就要再换算一次:
目标频率寄存器值 = D200 × 某个比例系数
这里你会发现,触摸屏参数、PLC 内部控制值、设备通讯值,三者不一定完全一样。
PLC 运算的作用,就是把它们对上。
十八 平均值为什么很实用:模拟量不稳时,运算能帮助程序更平滑
很多现场模拟量都会抖。
例如:
液位在晃
压力有脉动
温度采样有跳动
流量数据有波动
这时候除了用延时确认,还可以用平均值做平滑处理。
最简单的平均思路
连续采几次值,求和后再除以次数。
比如最近 5 次采样值分别是:
500
510
495
505
490
总和是 2500
平均值是 500
这样比单次采样值更稳。
当然,实际 PLC 程序里平均值的写法有很多种,有的是固定次数平均,有的是滑动平均。
基础阶段你先记住一个核心思想就行:
运算不只是为了换算单位,也可以为了让数据更稳定。
这一点在模拟量项目里非常有价值。
十九 限幅处理,也是运算和比较经常一起干的事
有时候你从触摸屏或通讯拿到一个参数值,不能直接用。
要先检查它是不是超范围。
例如变频器频率设定值只能在 5.0 到 50.0 赫兹之间。
如果操作员误填了 80.0,就不能直接发给设备。
这时候就可以做限幅:
小于最小值,就强制改成最小值
大于最大值,就强制改成最大值
在区间内,才正常使用
例如:
D200 小于 50,则令 D200 = 50
D200 大于 500,则令 D200 = 500
这里你会发现,运算和比较经常不是分开的。
它们通常是组合出现的:
先比较
再修正
最后再参与控制
这个程序习惯非常工程化。
二十 一个很实用的思路:显示值、控制值、原始值最好分开
这一点特别重要。
很多程序一乱,就是因为一个寄存器既当原始值、又当显示值、又当控制值,最后越改越乱。
更好的做法是分层。
1 原始值区
只放采样原始值、通讯原始值。
例如 D100。
2 工程值区
放换算后的实际值。
例如 D110。
3 显示值区
有时为了画面显示格式更漂亮,可能还会再处理。
例如四舍五入、单位变换、整数转小数显示等。
4 控制值区
某些场景下,控制使用的值不完全等于显示值。
比如有滤波、有修正、有补偿、有上下限限制。
5 参数区
触摸屏设定的目标值、报警值、回差值等,单独放。
这样程序层次就清楚很多。
二十一 为什么修正值和补偿值在现场经常用
现场不是实验室。
很多信号装上去以后,不可能一上来就“刚刚好”。
例如:
压力表和 PLC 显示总差一点
液位零点有偏差
传感器安装位置导致固定误差
编码器机械传动有比例偏差
流量值总比实际偏小一点
这时候就经常需要“修正值”或者“补偿值”。
最简单的做法通常是:
最终值 = 换算值 + 补偿值
或者:
最终值 = 换算值 × 修正系数
这个思路在现场非常常见。
所以以后你看到程序里有个“偏置量”“补偿量”“修正系数”,不要觉得奇怪。
那通常是在让设备更贴近实际。
二十二 一个带修正的案例:液位显示总偏低怎么办
场景设定
液位采样换算后得到 D110
理论上应该很准,但现场观察发现总比实际低 20 毫米
这时候可以在画面上增加一个“液位修正值”参数 D210
处理逻辑
最终液位显示值 D111 = D110 + D210
如果 D210 设成 20
那么最终显示就补上去了
进一步提升
还可以做成:
最终控制值 = 过滤后液位值 + 修正值
这样不仅显示修正了,控制逻辑也更贴近真实液位。
二十三 产量、节拍、效率,这些统计功能为什么都离不开运算
很多人刚开始学 PLC,觉得统计分析好像是上位机的事。
其实不少基础设备里,PLC 自己就会做一部分统计。
例如:
班产量
日产量
总产量
平均节拍
运行时间
停机时间
合格率
良率
故障次数
单件平均时间
这些本质上都离不开运算。
比如:
总产量 = 各班产量相加
平均节拍 = 总运行时间 ÷ 总产量
合格率 = 合格数 ÷ 总产量
故障率 = 故障次数 ÷ 运行小时数
虽然基础课阶段不一定每个都展开很深,但你要知道:
PLC 里的运算,不只是给模拟量服务,也给统计管理服务。
二十四 一个完整小案例:称重值怎么换算、修正、比较、报警
咱们把前面几讲串起来,用一个称重的小案例收个口。
场景要求
某工位有一个称重传感器
PLC 读到一个原始值
需要换算成重量
再显示到触摸屏
再根据重量判断是否合格
超重或欠重都要报警
操作员可设置目标重量和允许偏差
变量设定
D100 原始采样值
D110 换算后的重量值,单位 0.1 克
D111 修正后的最终重量值
D200 目标重量
D201 允许下偏差
D202 允许上偏差
D210 修正值
M10 欠重报警
M11 超重报警
M12 合格标志
逻辑过程
第一步,原始采样值换算成重量
D110 = D100 × 比例系数 ÷ 某个基准值
第二步,加修正值
D111 = D110 + D210
第三步,算上下限
下限 = D200 - D201
上限 = D200 + D202
第四步,比较判断
D111 小于下限,则欠重报警
D111 大于上限,则超重报警
D111 在上下限之间,则合格
你看,这个小项目里已经把:
加法
减法
乘法
除法
工程量换算
参数设定
区间判断
报警逻辑
全部串起来了。
这就是为什么这一讲特别重要。
因为它不是单独的一节数学课,而是后面很多控制逻辑的“发动机”。
二十五 初学者在运算和换算里最容易踩的坑
这一段你后面回来看,会很有感觉。
1 没分清原始值和工程值
原始采样值直接拿去显示、比较、报警,别人根本看不懂。
2 忘了放大倍数
实际 35.0 赫兹,内部存成 350
结果比较时拿 35 去比,就错了。
3 先除后乘,导致精度全丢
这是整数运算里非常典型的坑。
4 没考虑溢出
乘法结果太大,超出寄存器范围,数值乱掉。
5 画面显示单位和 PLC 内部单位不一致
画面显示 0.45 兆帕
PLC 内部比较用的是 450
逻辑里写成了 45 或 0.45,结果肯定错。
6 参数没有统一格式
有的压力值放大 1000 倍
有的温度值放大 10 倍
有的频率值放大 100 倍
但程序里没写清楚,后期维护会非常痛苦。
7 修正值乱加
没有边界检查,没有确认修正方向,结果越修越偏。
8 一个寄存器身兼数职
既存原始值,又存换算值,又给画面显示,还拿来控制,最后很容易把自己绕晕。
二十六 怎么把运算程序写得更清楚
给你几个非常实用的习惯。
第一 先分区
原始值一块
工程值一块
参数一块
修正值一块
统计值一块
第二 给寄存器写清注释
比如:
D100 原始压力采样
D110 实际压力 乘1000
D200 启泵压力 乘1000
D201 停泵压力 乘1000
别人一看就懂。
第三 统一单位和缩放规则
比如整套程序规定:
温度统一放大 10 倍
压力统一放大 1000 倍
频率统一放大 10 倍
这样后面就不容易错。
第四 尽量先换算,再控制
原始值只做采集
控制和比较尽量用工程值
第五 大运算提前考虑范围
看是不是要用双字,是不是要防溢出。
这些习惯看起来细,但是真正决定程序后面好不好维护。
二十七 本课小结
这一课你最少要真正吃透下面这些点。
第一,PLC 里的运算不是为了做数学题,而是为了把数据变成能显示、能比较、能控制的工程量。
第二,加减乘除在 PLC 里都非常常见。
加法常用于累计和补偿,减法常用于偏差和剩余量,乘法常用于比例缩放和单位换算,除法常用于还原显示和求平均值。
第三,工程量换算的核心,通常是按比例把原始值映射成有物理意义的工程值。
第四,很多 PLC 项目里会把带小数的工程量放大 10 倍、100 倍、1000 倍后,用整数存储和处理。
第五,模拟量输入、通讯数据、变频器给定、压力温度显示,这些都离不开换算。
第六,整数运算时要特别小心顺序,很多时候应先乘后除,避免精度丢失。
第七,运算时要注意寄存器容量,防止结果溢出。
第八,原始值、工程值、显示值、控制值、参数值最好分开管理,程序才不容易乱。
第九,修正值、补偿值、平均值、限幅处理,都是工程里非常常见的运算应用。
二十八 学完这一课后,你应该能做到什么
学完这一课,你至少应该能做到这些事情:
知道为什么 PLC 里的很多数据不能直接拿来用
知道为什么工程量常常要放大成整数
知道模拟量为什么要做比例换算
知道加减乘除在现场分别常用来干什么
知道为什么有时要先乘后除
知道为什么一个显示值背后可能经历原始值、换算值、修正值几层处理
知道怎样让程序里的数值逻辑更清楚、更容易维护
这一课顺了以后,后面很多内容都会开始“连起来”。
二十九 下节预告
下一课我们继续往下走,讲的是:
PLC 基础课 第12讲
上升沿、下降沿、单次触发:为什么按一次按钮,程序会执行好几遍?
这一课会把 PLC 初学者特别容易踩的一个坑讲透。
很多人程序明明写得不复杂,但设备总会多执行一次、重复加一次、重复计数一次、按钮按一下却触发好几遍,问题往往就出在这里。
这一讲和前面三讲也正好连起来:
第9讲讲数据放哪里
第10讲讲怎么判断
第11讲讲怎么换算
第12讲就要讲:一个条件成立时,到底是持续执行,还是只执行一下
推荐阅读:
PLC 基础课 第15讲 手动、自动、急停、复位:设备模式切换逻辑该怎么设计
PLC 基础课 第13讲 置位、复位、翻转、保持:什么时候该用 SET/RST,什么时候不能乱用
PLC 基础课 第12讲 上升沿、下降沿、单次触发:为什么按一次按钮,程序会执行好几遍?
PLC 基础课 第11讲 数学运算与工程量换算:加减乘除、比例缩放、显示修正怎么做