技术论坛

FB的INOUT接口为复杂数据类型的处理办法

作者 主题
新手

经验值: 7
发帖数: 1
精华帖: 0
主题:【求助】FB的INOUT接口为复杂数据类型的处理办法


只看楼主 楼主 2019-11-10 21:37:00

因题目需要定义了一个DT1的64位时间变量在FB的INOUT口,题目要求必须定义在INOUT接口,且在FB1里面不允许出现实参,只能有形参。为此做了一个FC2的功能定义了一个PIN的ANY输入指针参数,为什么我在FC2调用的时候输入参数不能填写DT1呢?ANY参数不能任何数据类型都能填写吗?个人对FB的INOUT接口很迷糊,希望大神指点指点。如果我想按题目的意思读出DT1的系统分钟和秒,有什么解决方案,谢谢!!








 
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1593021&b_id=4&s_id=0&num=3

版主

经验值: 16187
发帖数: 6610
精华帖: 50
回复:FB的INOUT接口为复杂数据类型的处理办法


只看楼主 1楼 2019-12-23 16:22:19

 FC2多余。FB读出DT后,直接访问背景DB里的DT数据即可


知其道,用其妙!
以下网友喜欢您的帖子:

  
侠士

经验值: 1311
发帖数: 90
精华帖: 6
回复:FB的INOUT接口为复杂数据类型的处理办法


只看楼主 2楼 2019-12-25 15:56:13

1、为什么我在FC2调用的时候输入参数不能填写DT1呢?

形参和实参数据类型不一致,FC2你定义的形参pin数据类型是“ANY”,FB1调用时赋的实参dt1数据类型又是“DT"

2、ANY参数不能任何数据类型都能填写吗?

ANY是一种用于传递指针的形参数据类型,长度10个字节,有数据格式要求

3、个人对FB的INOUT接口很迷糊

如何参数化FB的IN_OUT区域的结构化数据类型并使用ARRAY变量调用.docx

4、如果我想按题目的意思读出DT1的系统分钟和秒,有什么解决方案

这里有个很有意思的情况,你将DT1定义为IN还是IN/OUT参数,编程上面有一点小小的差异,但是结果就完全不同

 

DT1定义为IN/OUT参数

 

DT1定义为IN参数


这是一个甘于平庸,便自取灭亡的时代。
以下网友喜欢您的帖子:

  
奇侠

经验值: 5890
发帖数: 796
精华帖: 1
回复:FB的INOUT接口为复杂数据类型的处理办法


只看楼主 3楼 2020-10-15 21:09:21

日期数据类型不是ANY型,数据类型是不对应的。

以上在FB块中调用,可以使用以下方式:

L  P##DT1

L W[AR1,P#0.0]

T LW0

L D[AR1,P#2.0]

LAR1

L B[AR1,P#0.0]

T  年

L B[AR1,P#1.0]

T  月

……

通过inout的日期格式是POINT指针,不是ANY指针


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
FB的INOUT接口为复杂数据类型的处理办法
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。