[西门子] S7-1200PLC中的模拟量转换

[复制链接]
查看97063 | 回复0 | 2024-1-25 14:28:38 | 显示全部楼层 |阅读模式


前几天有个朋友问了个有关于S7-1200PLC中的模拟量的转换问题,他跟我说S7-300中有FC105和FC106用于做模拟量的转换过程,S7-200 中也有scaling转换库指令,可以用于模拟的转换。但在S7-1200中为什么就没有相应的库去做转换呢?

对于S7-1200的PLC来讲,并没有S7-300中使用到的FC105和FC106这两个块的,但是做法有要几种,这里跟大家说两种方法:

(方法一)S7-1200中提供了两条指令供大家使用,大家在使用者两条指令时,就可以用于完成模拟量的转换过程。(1)NORM_X:标准化  (2)SCALE_X:缩放

(1)NORM_X:标准化

“标准化”指令,通过将输入 VALUE 中变量的值映射到线性标尺对其进行标准化。 可以使用参数 MIN 和 MAX 定义范围的限值。 输出 OUT 中的结果经过计算并存储为浮点数,这取决于要标准化的值在该值范围中的位置。 如果要标准化的值等于输入 MIN 中的值,则输出 OUT 将返回值“0.0”。 如果要标准化的值等于输入 MAX 的值,则输出 OUT 需返回值“1.0”。如果是用于模拟量的转换,则MIN和MAX表示的就是我们模拟量模块输入信号对应的数字量的范围,而VALUE表示的就是我们的模拟量模块的采用值。如下图所示:



(2)SCALE_X:缩放

“缩放”指令,通过将输入 VALUE 的值映射到指定的值范围来对其进行缩放。 当执行“缩放”指令时,输入 VALUE 的浮点值会缩放到由参数 MIN 和 MAX 定义的值范围。 缩放结果为整数,存储在 OUT 输出中。



所以通过这两个指令,我们就可以实现模拟量的转换过程。如下图所示:



(方法二) 可以自己通过转换指令(CONVERT)及数学函数中的计算指令(CALCULATE),按照模拟量的转换公式编写这个计算指令。



模拟量转换公式:



编写计算公式时,首先定义好各个管脚所对应的公式中的名称,

IV:IN1

Ish:IN2

Isl:IN3

Osh:IN4

Osl:IN5

OV:OUT



在生产的指令上面输入相应的参数即可:



当然在会用的过程中,也可以直接使用带参数的FC按照模拟量的转换公式去编写相应的程序。若有不对之处请指正,谢谢


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则