签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
因题目需要定义了一个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
FC2多余。FB读出DT后,直接访问背景DB里的DT数据即可
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参数
日期数据类型不是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指针
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录