dailiang
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看dailiang的 主题 / 回贴
楼主  发表于: 2009-08-07 17:47
图片:
在一本书上看到的程序,对他的说法不理接。程序请看附件
M8013第一次接通,Z1=0,检测K1X0
M8013第二次接通,Z1=4,检测K1X4
M8013第三次接通,Z1=8,检测K1X10
M8013第四次接通,Z1=12,检测K1X14
M8013第五次接通,Z1=0,检测K1X0


我本人的理解是 M8013第一次接通时,Z1=4,请高手解答一下。
[ 此帖被dailiang在2009-08-07 19:39重新编辑 ]
arpawpelf
级别: 略有小成
精华主题: 0
发帖数量: 316 个
工控威望: 421 点
下载积分: 2312 分
在线时间: 131(小时)
注册时间: 2009-04-16
最后登录: 2023-03-08
查看arpawpelf的 主题 / 回贴
1楼  发表于: 2009-08-07 18:35
上电时Z1 ,   M8013第一次接通,Z1是另。那你1是什么地方给它的。

在一本书上看到的程序,对他的说法可以理解。
楼主留言:
第一次接通,不就加4了吗?为什么会是零呢?
本帖最近评分记录:
  • 下载积分:+1(sjm213) 热心助人,加分表扬
    arpawpelf
    级别: 略有小成
    精华主题: 0
    发帖数量: 316 个
    工控威望: 421 点
    下载积分: 2312 分
    在线时间: 131(小时)
    注册时间: 2009-04-16
    最后登录: 2023-03-08
    查看arpawpelf的 主题 / 回贴
    2楼  发表于: 2009-08-07 18:40
    那你的4是怎么理解的
    楼主留言:
    M8013上升沿一来,Z1就被ADD指令加了4存在自己里面
    本帖最近评分记录:
  • 下载积分:+1(sjm213) 热心助人,加分表扬
    arpawpelf
    级别: 略有小成
    精华主题: 0
    发帖数量: 316 个
    工控威望: 421 点
    下载积分: 2312 分
    在线时间: 131(小时)
    注册时间: 2009-04-16
    最后登录: 2023-03-08
    查看arpawpelf的 主题 / 回贴
    3楼  发表于: 2009-08-07 18:48
    怎么加了个4呢?,一开始时工作时z为另。程序执行是从上到下,从左到右,只有在下一次执行时才是4呢,也就是说,在第二次扫描才能执行,不过在第二次扫描时M8013是不通,所不执行。这是本人理解。
    楼主留言:
    热心助人,加分表扬
    本帖最近评分记录:
  • 下载积分:+1(sjm213) 热心助人,加分表扬
    lovsunner
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看lovsunner的 主题 / 回贴
    4楼  发表于: 2009-08-07 19:25
    Z1 就是零呀,而且跟Y10一点关系也没有.
    楼主留言:
    为什么会是零?请说说原因,以助我理解。我现在的理解是当没有扫描到加4指令的时候预先扫描了“WXOR K1M10Z1 K0 D100"这一行程序,这里面的Z是等于零的。
    本帖最近评分记录:
  • 下载积分:+1(sjm213) 热心助人,加分表扬
    lovsunner
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看lovsunner的 主题 / 回贴
    5楼  发表于: 2009-08-07 19:47
    楼主,对你的想法很奇怪,为什么无缘无故的加上一个四.3 楼的话你看明白了吗?
    想想都知道.一开始是对M0~M3 跟D100异或操作.每二次时M4(0+4)~M7操作......
    楼主留言:
    现在明白了。这是对PLC的工作方式理解不透造成的。谢谢了
    本帖最近评分记录:
  • 下载积分:+1(sjm213) 热心助人,加分表扬
    damoguyan
    早起的鸟儿有虫吃
    级别: 探索解密
    精华主题: 0
    发帖数量: 77 个
    工控威望: 194 点
    下载积分: 586 分
    在线时间: 59(小时)
    注册时间: 2008-06-06
    最后登录: 2024-01-15
    查看damoguyan的 主题 / 回贴
    6楼  发表于: 2009-08-07 22:24
    我这样理解对不对啊?
    M8013 OFF时,Z1=0;
    M8013 OFF->ON时,执行到end  z1=4;
    再下次M8013 OFF->ON时,执行到end z1=8;
    再下次M8013 OFF->ON时,执行到end z1=12;
    再下次M8013 OFF->ON时,执行到end z1=0;
    本帖最近评分记录:
  • 下载积分:+3(sjm213) 热心助人,加分表扬
    yusanlong045
    天涯路 孤客行 问谁与共?
    级别: 略有小成
    精华主题: 0
    发帖数量: 235 个
    工控威望: 226 点
    下载积分: 791 分
    在线时间: 44(小时)
    注册时间: 2009-07-04
    最后登录: 2017-01-25
    查看yusanlong045的 主题 / 回贴
    7楼  发表于: 2009-08-08 16:37
    引用
    引用第6楼damoguyan于2009-08-07 22:24发表的  :
    我这样理解对不对啊?
    M8013 OFF时,Z1=0;
    M8013 OFF->ON时,执行到end  z1=4;
    再下次M8013 OFF->ON时,执行到end z1=8;
    再下次M8013 OFF->ON时,执行到end z1=12;
    .......

    个人觉得6楼的是正确的!只不过是第一次m8013脉冲异或运算使用的z1的值为0,第二次就是4,其实第一次运行到end时z1已经是4!
    楼主留言:
    确实是这样,第一次接通到END后Z1确实是=4,但是K4M10Z1那条指令读到的z1值是0,因为还没有扫描到ADD行。
    本帖最近评分记录:
  • 下载积分:+3(sjm213) 热心助人,加分表扬
    dailiang
    级别: *
    精华主题: * 篇
    发帖数量: * 个
    工控威望: * 点
    下载积分: * 分
    在线时间: (小时)
    注册时间: *
    最后登录: *
    查看dailiang的 主题 / 回贴
    8楼  发表于: 2009-08-08 18:50
    这个问题我已经模拟过了,书上说的是对的。