回复:s7 200 有没有像三菱一样的交替指令?

yanxiao

版主

  • 帖子

    12148
  • 精华

    46
  • 被关注

    183

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2012-08-06 09:10:11

31楼

16楼的程序,我来分析下:
1、取反肯定是有条件的,如果没条件,很好办,如:
ldn q0.0
= q0.0
但这肯定不是这里要讨论的结果。
2、好,有条件。设条件为C,要取反的变量为X:
当C=0时,Y=X,不变;
当C=1时,Y=!X,取反。
写成一个式子,就是:Y=(!C)*X +C*(!X)
这是一个异或的式子。但是很不幸,S7200没有对位直接进行异或操作的指令,所以14楼才用xor的字节指令对其中的某些位取反。
3、Y=(!C)*X +C*(!X),虽然没有直接XOR的指令,但仍然可以用AND和OR等指令来实现,这就是16楼的程序。
Network 1 // 网络标题
// 获取条件C,M0.0就是取反条件
LD I0.0
EU
= M0.0
Network 2
// 取反对象是Q0.0
LD M0.0
AN Q0.0 // M0.0*(!Q0.0)
LDN M0.0
A Q0.0 // (!M0.0)*Q0.0
OLD // 两个作OR运算,即 M0.0*(!Q0.0) + (!M0.0)*Q0.0
= Q0.0 // 输出!
所以18楼 芳季 说,这段程序在任何的PLC上都可以运行。因为任何PLC都具有串、并联电路,也就是AND、OR运算。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33259条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。