最新新闻:

西门子plc模拟量是如何编程的「西门子模拟量怎么编程」

时间:2022-12-26 08:53:23来源:搜狐

今天带来西门子plc模拟量是如何编程的「西门子模拟量怎么编程」,关于西门子plc模拟量是如何编程的「西门子模拟量怎么编程」很多人还不知道,现在让我们一起来看看吧!

在PLC编程中,模拟量是我们经常会用到的,比如压力传感器的模拟量反馈就要用到模拟量输入模块,给比例阀的设定就需要用到模拟量输出模块等等,模拟量编程的掌握也是PLC编程的必备技能,编程的基本思路其实也是非常简单,下面我们就先简单说说:

对于模拟量输入来说:只需要将反馈的电压或电流信号进行数字化处理,并对处理后的数字量进行标准化(也就是0~100%或-100%~100%)。然后就可以根据实际进行编程了。

对于弄你两输出来说:就需要将程序执行后的结果进行去标准化,比如就是将0~100%转化成0~27648(这里量程的范围主要看选择的模块支持的信号和范围),如下面这段程序:

下面我们就一步步看看到底是什么编程的,我们这里就以模拟量输出为例来进行编程:

需要在硬件组态中插入一个模拟量模块,本例中插入的是模拟量输出模块 SM 332; AO 8 x 12 位; (6ES7332-5HF00-0AB0) ,8个通道,每个通道可设置为电流或电压输出

也可以设置量程,如下图所示:

2、下面我们就要知道我们要用到模拟量精度及量程转换

模拟量转换的分辨率

分辨率是 A/D 模拟量转换芯片的转换精度,即用多少位的数值来表示模拟量。模拟量模块的转换分辨率用于反映模拟量变化的最小单位。精度 < 15 位时,将所有由"x"标识的位设置为"0"。

模拟量模块所支持的模拟值精度,如表1.1所示。

表1.1

单极性输入范围(例如,电压输入0~10V,对应值为0~27648),如表所示。

双极性输入范围(例如,电压输入-10~10V,对应值为-27648~27648),如表所示。

例如,下表中 12 位分辨率的模块,其数据从低字节的第四位(bit3)开始变化,其最小变化单位2的3次方= 8 ,bit0~bit2 则补" 0 "(红色图框为无效位)

设该模拟量通道类型为电压0~10V,满量程电压值10V对应数据27648,其能识别的最小电压值为:

3、STEP 7 V5.x中模拟量输入/输出的编程

1)FC105/FC106 在哪里?

在编程界面下,在 "程序元素"中的 "库——> Standard Library ——> TI-S7 Converting Blocks"中可以找到,见下图:

注意:请不要使用 "S5-S7 Converting Blocks"下的 FC105,FC106,该路径下的功能是用于 S5 输入输出模板的,在 S7 输入输出模板上无法使用。

2) FC105功能描述

SCALE(FC105)功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。将结果写入OUT。SCALE功能使用以下等式:

OUT = [ ((FLOAT (IN) - K1)/(K2 - K1)) * (HI_LIM - LO_LIM)] LO_LIM

常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。

● BIPOLAR:假定输入整型值介于 -27648与27648之间,因此K1 = -27648.0,K2 =27648.0

●UNIPOLAR:假定输入整型值介于0和27648之间,因此K1 = 0.0,K2 =27648.0

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。

通过设置LO_LIM > HI_LIM可获得反向标定。使用反向转换时,输出值将随输入值的增加而减小。

3) FC105的参数定义

故障信息:

如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误。如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。ENO的信号状态将设置为0,RET_VAL等于W#16#0008。

4) FC105例子程序

上图中用MW20作为模拟量输入地址(正常编程中在IN中模拟量输入地址比如PIW256,这个值根据前面规则来的,也就是单极性27648对应100)

5) FC106 功能描述

UNSCALE(FC106)功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。将结果写入OUT。UNSCALE功能使用以下等式:

OUT = [ ((IN - LO_LIM)/(HI_LIM - LO_LIM)) * (K2 - K1) ] K1

并根据输入值是BIPOLAR还是UNIPOLAR设置常数K1和K2。

● BIPOLAR:假定输出整型值介于 -27648和27648之间,因此,K1 = -27648.0,K2 =27648.0

● UNIPOLAR:假定输出整型值介于0和27648之间,因此,K1 = 0.0,K2 =27648.0

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。

6) FC106 的参数定义

故障信息:

如果输入值超出LO_LIM和HI_LIM范围,输出(OUT)将钳位于距其类型(BIPOLAR或UNIPOLAR)的指定范围的下限或上限较近的一方,并返回一个错误。ENO的信号状态将设置为0,RET_VAL等于W#16#0008。

7) FC106 例子程序

上图中就是MD作为设定,本例设定50,对应的输出就是13824,并将MW16(13824送至PQW256,控制对应设备,例如比例阀的开口度)。

那么TIA Portal博途中模拟量输入/输出的编程

1)SCALE/UNSCALE在哪里?

在TIA Portal中指令SCALE/UNSCALE的功能和STEP7中的FC105/FC106功能相同,用于模拟量输入/输出的编程。

编程界面下,在 "指令" 中的"基本指令 ——> 转换操作"中可以找到,

电气相关知识和经验是用来分享,希望本文能对你有帮助。与人玫瑰,手留余香。

声明:文章仅代表原作者观点,不代表本站立场;如有侵权、违规,可直接反馈本站,我们将会作修改或删除处理。

图文推荐

热点排行

精彩文章

热门推荐