梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4480 个
工控威望: 7867 点
下载积分: 16332 分
在线时间: 3101(小时)
注册时间: 2016-10-31
最后登录: 2025-02-21
查看梦雨天涯的 主题 / 回贴
楼主  发表于: 10天前
图片:
图片:
如图,按照先建立指针,指针地址变化,然后赋值内容到指针,有&和*号,就是没办法成功。
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
wingwf2000
www
级别: 探索解密
精华主题: 0
发帖数量: 67 个
工控威望: 175 点
下载积分: 714 分
在线时间: 17(小时)
注册时间: 2010-09-26
最后登录: 2025-02-21
查看wingwf2000的 主题 / 回贴
1楼  发表于: 10天前
指针变化4应该是Add指令而不是mov_dw指令好不?!
梦雨天涯
微信hui530527   &
级别: 网络英雄
精华主题: 0
发帖数量: 4480 个
工控威望: 7867 点
下载积分: 16332 分
在线时间: 3101(小时)
注册时间: 2016-10-31
最后登录: 2025-02-21
查看梦雨天涯的 主题 / 回贴
2楼  发表于: 10天前
引用
引用第1楼wingwf2000于2025-02-12 10:04发表的  :
指针变化4应该是Add指令而不是mov_dw指令好不?!

第1指定指针只能开机指定一次
第2指针不能赋值,只能做加减法
第3,需要指定地址后,才能延时赋值,要不然会出错
微信hui530527      b站账号,非标自动化谭工
请不要随意加我,不会随便通过。QQ群942493953
请叫我老铁
人生就像蒲公英,看似自由,却身不由己。
级别: 工控侠客

精华主题: 0
发帖数量: 926 个
工控威望: 4317 点
下载积分: 1749 分
在线时间: 245(小时)
注册时间: 2015-08-28
最后登录: 2025-02-20
查看请叫我老铁的 主题 / 回贴
3楼  发表于: 10天前
2楼正解
sjm213
有小知识,无大学问。
级别: 论坛版主

精华主题: 7 篇
发帖数量: 5241 个
工控威望: 7465 点
下载积分: 159652 分
在线时间: 3190(小时)
注册时间: 2007-11-21
最后登录: 2025-02-21
查看sjm213的 主题 / 回贴
4楼  发表于: 10天前
引用
引用第2楼梦雨天涯于2025-02-12 12:23发表的  :

第1指定指针只能开机指定一次
第2指针不能赋值,只能做加减法
第3,需要指定地址后,才能延时赋值,要不然会出错


第1条,不对。指针可以多次指定,不过是跟双线圈一样,要注意不要有冲突;
第2条,不对。指针可以赋值,但是要按照他固定的格式来赋值。如监控所示的16#08000064就是VD100寄存器对应的指针。这样赋值太抽象了,所以在寄存器前边加&符号,自动把地址转换成16#08000064,不需要自己来做这个转换(不过如果必须经过转换才赋值给指针,那么会对理解指针格式有更好的帮助,反而不容易出错了)。
     如果直接对指针进行MOV赋值,写入到这个指针的是寄存器内的数值,导致其格式受损,指针失效。
    加法、减法就是在16#08000064基础上进行操作,比如加4就是让指针变为16#08000068,指向VD104,从而实现了指针地址的改变。
第3条,对的。需要先制定地址再进行赋值,不然赋值到哪去呢?
donxlr
级别: 探索解密
精华主题: 0
发帖数量: 74 个
工控威望: 102 点
下载积分: 909 分
在线时间: 12(小时)
注册时间: 2021-06-14
最后登录: 2025-02-21
查看donxlr的 主题 / 回贴
5楼  发表于: 9天前
图片:
图片:
传送指针用 MOV_DW,AC1,AC2,AC3 计算用DW相关的计算,引用的时候直接*AC1就行了,指令需要什么类型自动识别什么类型,不需要特意去写B W D
donxlr
级别: 探索解密
精华主题: 0
发帖数量: 74 个
工控威望: 102 点
下载积分: 909 分
在线时间: 12(小时)
注册时间: 2021-06-14
最后登录: 2025-02-21
查看donxlr的 主题 / 回贴
6楼  发表于: 9天前
指针正常无法直接寻址bool,如果引用里面的bool,需要先将字节解析成temp变量,再在引用引用结束的时候重新写回引用的byte
ludens
级别: 正式会员
精华主题: 0
发帖数量: 10 个
工控威望: 56 点
下载积分: 143 分
在线时间: 4(小时)
注册时间: 2024-04-21
最后登录: 2025-02-21
查看ludens的 主题 / 回贴
7楼  发表于: 8天前
第一步&VB100取了VB100的地址存在VD10里
第二步相当于又把4写入了VD10,那么这个时候VD10里已经不存在VB100的指针了
那么第三步,再使用*VD10对VD10解引用,一定是不能正确指向VB100的
[ 此帖被ludens在2025-02-14 20:04重新编辑 ]
holdkcxyz
级别: 工控侠客
精华主题: 0
发帖数量: 127 个
工控威望: 4221 点
下载积分: 961 分
在线时间: 289(小时)
注册时间: 2018-11-07
最后登录: 2025-02-20
查看holdkcxyz的 主题 / 回贴
8楼  发表于: 8天前
7楼正解