西门子plc中FB块接口类型有哪些

作者:老电工时间:2015-11-29 16:32:54

西门子plc中FB块接口类型

使用STEP7编程时,首先需了解OB/FC/FB/DB等块的功能和作用,待掌握这些块后再进行编程就“轻而易举”了。

经常有用户咨询FB的接口变量类型IN_OUT、STAT、TEMP在使用上有何区别。

运用FB块编程计算公式:(A+B) * C = D,在程序中需要通过一个中间变量(例如,其变量名定义为“TEMP_value”)传递“A”和“B”相加的结果,然后再乘以“C”得到最终结果“D”;将中间变量“TEMP_value”分别定义为IN_OUT、STAT或TEMP类型后做如下测试。

首先,创建FB1,在IN接口类型中新建A、B、C 三个变量,数据类型INT;在OUT接口类型中新建D 变量,数据类型INT;在OB1中调用FB1,并生成对应的背景DB块DB1。
情形一,将中间变量“TEMP_value”定义为IN_OUT类型时,接口定义及程序如图1:

西门子<a href=/plc/ target=_blank class=infotextkey>plc</a>中FB块接口类型
图1 中间变量“TEMP_value”定义为IN_OUT类型

下载到CPU中执行程序监控,在调用FB1的接口参数处和背景DB块中都可以监控到变量“A”和“B”相加的中间结果“TEMP_value”,如图2所示。

西门子plc中FB块接口类型
图2 中间变量“TEMP_value”定义为IN_OUT时的在线数据

情形二,将中间变量“TEMP_value”定义为STAT类型时,接口定义及程序如图3:

西门子plc中FB块接口类型
图3 中间变量“TEMP_value”定义为STAT类型

下载到CPU中执行程序监控,仅能在其背景DB块中监控到变量“A”和“B”相加的中间结果“TEMP_value”的值,而在调用FB1的接口参数处无该中间变量,如图4所示。

西门子plc中FB块接口类型

图4 中间变量“TEMP_value”定义为STAT时的在线数据

情形三,将中间变量“TEMP_value”定义为TEMP类型时,接口定义及程序如图5:

西门子plc中FB块接口类型
图5 中间变量“TEMP_value”定义为TEMP类型

下载到CPU中执行程序监控,既不能在其背景DB块中监控到变量“A”和“B”相加的中间结果“TEMP_value”的值,也不能在调用FB1的接口参数处看到该中间变量,如图6所示。

西门子plc中FB块接口类型
图6 中间变量“TEMP_value”定义为TEMP时的在线数据

对于同一个中间变量,在FB中定义为不同的参数类型时,其接口参数和对应的背景数据块的显示都不尽相同。

因此,在不同的需求下可自行定义中间变量的类型,以满足不同的需求。

西门子创新工业之道是“知其道,用其妙”,编程也不例外,知“FB接口类型”之道,用其妙。

本站仅提供信息发布平台,文章仅代表作者个人观点。

猜你喜欢

首页 > plc > 西门子plc