找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
IN0和IN1是什么关系????
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
从你的这段程序中看不出暂态变量IN0与IN1之间的关系,它们都是某个逻辑块(FB或FC)上部变量声明表中暂态变量(TEMP),这段程序的大体意思如下:
比较IN0与IN1中保存的两个32位实数相乘然后取整数的结果,并分别与32位整数常数32767和-32767进行比较:
如果IN0与IN1中保存的两个32位实数相乘然后取整数的结果大于32767或小于-32767,就将结果保存到输出暂态变量OUT2中,并将暂态变量TEMP3置“1“;
如果
SET //将逻辑操作结果(RLO)置位(=1)
R #TEMP3 //复位暂态变量TEMP3
L #IN0 //将暂态变量INO的值装载到累加器1中
L #IN1 //将暂态变量IN1的值装载到累加器1中,INO的值自动进入累加器2
*R //将IN1值与INO值(实数)相乘
A OV //检查相乘的结果是否溢出
S #TEMP3 //如果IN1与INO的值相乘结果溢出,将TEMP3值“1”
RND //将IN1与INO相乘的结果取整(32位)
A OV //检查上述取整结果是否溢出
S #TEMP3 //如果溢出,将暂态变量TEMP3置“1”
L L#32767 //将32位的整数常数32767装入累加器1中,上述IN1与INO相乘的取整自动进入累加器2中
>D 将IN1与INO相乘的取整结果与32767相比较
S #TEMP3 //如果IN1与INO相乘的取整结果大于32767,那么将TEMP3置“1”
JC M001 //如果上述结果为真(RLO=1),那么跳转到M001处执行
TAK //如果IN1与INO相乘的取整结果小于等于32767,交换累加器1和累加器2中的内容,即累加器1中值为IN1与INO相乘的取整结果,而累加器2为32767
L L#-32767//将32位的整数常数-32767装入累加器1中,IN1与INO相乘的取整结果自动进入累加器2
<D //比较IN1与INO相乘的取整结果是否小于-32767
S #TEMP3 //如果IN1与INO相乘的取整结果是小于-32767,将暂态变量置“1”
JC M001 //如果RLO=1,跳转到M001处
TAK //交换累加器1和累加器2中的内容,累加器1中值为IN1与INO相乘的取整结果,而累加器2为-32767
M001: T #OUT2 //将IN1与INO相乘的取整结果传送到暂态变量OUT2中
AN #TEMP3 //检查TEMP3的信号状态
SET //如果TEMP3中的信号状态为“0”(上述TEMP3触头闭合),RLO=1,将逻辑操作结果(RLO)置位(=1)
SAVE //将逻辑操作结果(RLO)存入二进制结果位(BR
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城