TIA(博图)S7-1200实战篇:模拟量标定2生成FC/FB块

接上期传感器标定相关回顾:定义各变量名称传感器量程上限:HI 、下限: Lo ; PLC接收数字量: 上限 K1、下限 K2;模拟量输入:AI。 然后公式是:( AI-K2 )/(K1-K2)*(HI-Lo)+Lo。

我们已经了解了传感器是如何经过PLC运算显示出实际测量值了。但是在西门子平台绝大部分程序员都喜欢把测试过OK的程序以FC/FB形式封装起来。如此一来下一次调用或者分享给其他同事就比较方便而且放心。与此同时也能大大减少我么今后开发系统的时间,少去很多累赘的事情。

接下来我们以建一个FC块为例(FB块步骤几乎一样),首先我们在左边的项目树程序块下双击“添加新块”弹出对话框选择FC函数选项,选择语言LAD(现已梯形图为例),给块命名点击确定即可。

FC块新建好了,接下来我们准备建接口连接变量。输入接口定义如下:IN —模拟量采样值,HI_LIM—-传感器量程上限,Lo_LIM—-传感器量程下限,offset—-修正值,BIPOLAR—–单双极性(针对传感器输出信 -10V~10V等情况)PTCON—–电阻信 使能。 输出接口定义如下:OUT

接口定义介绍完了,接下来看看是如何编程的。

一:单双极性处理,并且IN 由INT类型转换成REAL数据类型,输出给#TEMP_R1变量

单双极性处理

二: IN量程不可以超过PLC采集量程。如果BIPOLAR为 TRUE 双极性采集量程为-27684~27648,如果为false 单极性 采集量程为0~27648.

三:程序段5就开始根据公式进行运算了。先介绍下电阻信 测温如何转换,其实这相对比较简单只需要将采集的数值除以10就得出当前测量值了。具体程序见下图第一个计算公式:(IN1-IN4)/(IN5-IN4)*(IN3-IN2)+IN2+IN6,第二个计算指令公式:IN1/IN2+IN3。

四:量程限制,其实这一步可有可无。但是为了安心多写一个保护终究是好的。

五:程序段8计算好的传送给输出OUT,程序段9 超量程 警段(未管理 警输出具体自己可有DIY)

六:接下来测试下FC块的运行情况。具体见下图

七:测试完FC块一切OK,接下来我们准备生成库文件方便在不同的项目中反复调用

首先创建全局库。创建好全局库,点击模版副本,直接将FC块拖进去,完成后在点击保存即可。全局库就创建好了。

全局库创建位置

全局库创建

建好的全局库

拖入FC块后的库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月10日
下一篇 2020年6月10日

相关推荐