bolejin
级别: 探索解密
精华主题: 0
发帖数量: 60 个
工控威望: 100 点
下载积分: 486 分
在线时间: 23(小时)
注册时间: 2023-02-05
最后登录: 2024-12-31
查看bolejin的 主题 / 回贴
楼主  发表于: 8天前
图片:
国内应该很少有人这么用吧?
这是关于一段报警程序的写法。
我不明白 F0Z0 后面  上升沿+v0+z0 组合是起什么作用。
[ 此帖被bolejin在2024-12-27 21:16重新编辑 ]
中文就中文
级别: 探索解密
精华主题: 0
发帖数量: 83 个
工控威望: 110 点
下载积分: 1429 分
在线时间: 58(小时)
注册时间: 2024-11-13
最后登录: 2025-01-02
查看中文就中文的 主题 / 回贴
1楼  发表于: 7天前
当使用16位数据时V和Z是一样的用法,没有区别。当使用32位数据时V是变址寄存器的高16位,Z是变址寄存器的低16位,比如DMOV K50000 Z0,其实就是将50 000这个常数赋值给V0Z0组成而成的32位变址寄存器。也就是32位数据使只能使用Z,然后自动占用V了。和DMOV K50000 D0中使用D0,自动占用D1是一个意思。是不过这个字母不一样了。
搜的,我也不知道是怎么回事。   
bolejin
级别: 探索解密
精华主题: 0
发帖数量: 60 个
工控威望: 100 点
下载积分: 486 分
在线时间: 23(小时)
注册时间: 2023-02-05
最后登录: 2024-12-31
查看bolejin的 主题 / 回贴
2楼  发表于: 7天前
引用
引用第1楼中文就中文于2024-12-28 08:47发表的  :
当使用16位数据时V和Z是一样的用法,没有区别。当使用32位数据时V是变址寄存器的高16位,Z是变址寄存器的低16位,比如DMOV K50000 Z0,其实就是将50 000这个常数赋值给V0Z0组成而成的32位变址寄存器。也就是32位数据使只能使用Z,然后自动占用V了。和DMOV K50000 D0中使用D0,自动占用D1是一个意思。是不过这个字母不一样了。
搜的,我也不知道是怎么回事。   


谢谢回答,不过昨天晚上经过2个多小时的研究弄明白了。
F报警有很多的时候(我这有2千多个)使用变址就方便多了。
就我这个程序把D1改D200之后仿真,将F位单独打开或关闭观察D0,D200,V0,Z0软元件监视器就明白了。
ayusecret
级别: 略有小成
精华主题: 0
发帖数量: 190 个
工控威望: 269 点
下载积分: 828 分
在线时间: 75(小时)
注册时间: 2021-10-31
最后登录: 2025-01-03
查看ayusecret的 主题 / 回贴
3楼  发表于: 4天前
保持第N次循环的前运算结果,用于下次扫描到通用第N次循环时,可以检测到这次运算结果与上一次扫描时进行对比,从而产生第N次循环本次前运算是否有上(下)降沿信号。

像F报警检测本次扫描是报警还是复位,比较早的写法可能就是在后面用M或L进行置位或复位进行辅助判断,而用V0Z0写法就稍微简洁些
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 378 个
工控威望: 526 点
下载积分: 1476 分
在线时间: 325(小时)
注册时间: 2017-06-12
最后登录: 2025-01-03
查看zmrs163的 主题 / 回贴
4楼  发表于: 前天
循环内写上升沿必须用这个,否则程序无法正常运行