找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1、fc中in,out,in_out只能定义变量,没有地址,只有临时变量才有地址;fb中的in,out,in_out,stat,temp变量才有地址,除了temp外其他的地址都是连续的(可以再背景db中看到数据),temp变量只是程序内使用的,不保存,所以数据块中没有他们的地址。
2、A I0.0
FP L0.0
S Q0.0
这样编程时错误的,因为临时变量不能保存,所以不能用于上升沿检测,如果你这样用那么s q0.0这个指令就会一直执行的,我想这不是你想要的结果的。
补充回答:
1、A I0.0 FP #up1 L MW0 + 1 T MW0 这里你是想i0.0有一个上升沿mw0才加1吧?实际上你的程序每扫描一次,就执行一次自加正确用法是:fc中定义in_out,fb中定义in_out或者stat变量up1,然后:
A I0.0
FP UP1
JCN M1
L MW0
L 1
+I
T MW0
M1:NOP 0
2、形参就是fc,fb的引脚的名称,实参就是fc或者fb被调用时在调用块中给fb,fc的引脚连接的地址,比如你给fc定义一个输入参数in1,real,在再调用这个fc的程序中给in1连接地址md0,in1就是形参,md0就是实参。
3、不要总是相信权威,实践出真知。
补充:我表达错了,形参实参的定义
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=47148&cid=1029
关于L:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=120195&cid=1029
in out in-out:
in变量是外部输入的,只能被本程序块读,不能被本程序块写,out是本程序块输出的,他可以被本程序块读写,其他程序通过引脚只能读值不能写。in_out本程序块和其他程序都可以读写这个引脚的值。
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_id=44722&cid=1029
3.我在out里面建立一个变量表 out , output
A I0.0 L#OUTPUT, + 1 , T OUTPUT
有人说不对,说这个变量必须建立在in-out里,但是我测试的时候没有出错啊为什么?
你的这个程序是OUTPUT即是输入数据又是输出数据,相对于带反馈,是需要使用IN-OUT变量的,OUT只是输出数据的,有时搞不清楚OUT变量可以使用IN-OUT变量代替。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!