签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
用SCL编写的FC块,返回值在FC块中编译报错,无返回值,这是怎么一回事,需要怎么来改?谢谢!
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1630730&b_id=50&s_id=0&num=10
第二行啥意思?
返回值不要按照c语言的那种方式来,还是声明成接口返回不好吗?????再说你第二那写的啥呀?怎么这么个思路
块_1:=8;是将FC块返回值赋值为8,主要是想测试一下放置在什么位置不报错。返回值在什么情况下不报无返回值。
可以,将FC可以设置成无返回值,同时可以在OUT中设置个变量,在给变量设置值可以解决这个问题。这不是想着用返回值看看怎么解决。其实程序段没有任何意义,就是想看看返回值在什么情况下不报错误。
实数比较有个精度问题,就是当实数常数超出当前控制器可识别精度范围内就会出错,如果写程序时不注意就会出问题。
返回值稳妥的做法就是在程序第一行就先给返回值一个默认值,后面再根据程序逻辑传输不同的返回值。这样做基本上不会报错。
赞成。加一个OUTPUT就可以,这里的output就相当于c函数输出的结果。
FC返回参数void,是一个无类型的参数。
举铁参考void的用法:
https://baijiahao.baidu.com/s?id=1645466623988106939&wfr=spider&for=pc
增加一个输出变量就行了。
返回值变量名就是块名
#RET_VAL :=FC块,这才是正确的,#RET_VAL是定义的变量WORD
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录