您好,欢迎访问一九零五行业门户网

FB块接口类型

经常有用户咨询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:
图1 中间变量“temp_value”定义为in_out类型
下载到cpu中执行程序监控,在调用fb1的接口参数处和背景db块中都可以监控到变量“a”和“b”相加的中间结果“temp_value”,如图2所示。
图2 中间变量“temp_value”定义为in_out时的在线数据
情形二,将中间变量“temp_value”定义为stat类型时,接口定义及程序如图3:
图3 中间变量“temp_value”定义为stat类型
下载到cpu中执行程序监控,仅能在其背景db块中监控到变量“a”和“b”相加的中间结果“temp_value”的值,而在调用fb1的接口参数处无该中间变量,如图4所示。
图4 中间变量“temp_value”定义为stat时的在线数据
情形三,将中间变量“temp_value”定义为temp类型时,接口定义及程序如图5:
图5 中间变量“temp_value”定义为temp类型
下载到cpu中执行程序监控,既不能在其背景db块中监控到变量“a”和“b”相加的中间结果“temp_value”的值,也不能在调用fb1的接口参数处看到该中间变量,如图6所示。
图6 中间变量“temp_value”定义为temp时的在线数据
对于同一个中间变量,在fb中定义为不同的参数类型时,其接口参数和对应的背景数据块的显示都不尽相同。所以在不同的需求下可自行定义中间变量的类型,以满足不同的需求。西门子创新工业之道是“知其道,用其妙”,编程也不例外,知“fb接口类型”之道,用其妙。
其它类似信息

推荐信息