您现在所在的是:

西门子SIEMENS

回帖:10个,阅读:2032 [上一页] [1] [2] [下一页]
3462
ymxu
文章数:329
年度积分:50
历史总积分:3462
注册时间:2015/4/17
发站内信
发表于:2017/6/17 21:48:58
#0楼
比如指定一个整数(INT)100 , 而要用的 VB100 这个寄存器,  同样, 指定 INT 数 200 , 要用的是VB200这个寄存器, 这个转换怎么写?
19507
pqsh 版主
文章数:7447
年度积分:123
历史总积分:19507
注册时间:2006/8/22
发站内信
2018论坛解答高手
发表于:2017/6/18 6:29:33
#1楼
变址,指针.
movd 100,vd0
MOVD &VB0, AC1
+d vd0, AC1
mov? *ac1,??
[此贴子已经被作者于2017/6/18 6:43:09编辑过]
如果我忘了我
请帮忙记得我
pqsh@163,326199298@v&q同号
2195
0134228
文章数:98
年度积分:50
历史总积分:2195
注册时间:2006/2/14
发站内信
发表于:2017/6/18 15:57:29
#2楼
在数据块->用户定义1 里定义
VB100 100
VB200 200
5641
121111115
文章数:1421
年度积分:85
历史总积分:5641
注册时间:2015/3/16
发站内信
2018论坛分享达人
发表于:2017/6/19 9:11:55
#3楼
直接传送可以不,一个整数会占用两个字节,也就是16位,你的VB100是8位,所以一个整数100会占用vb100和vb101这两个寄存器,而这两个寄存器合起来就是vw1000,所以你只要将100传送到vw1000里面就能实现你想要的结果,200传送到vw200里面,道理一样的。
3462
ymxu
文章数:329
年度积分:50
历史总积分:3462
注册时间:2015/4/17
发站内信
发表于:2017/6/19 11:27:28
#4楼
谢谢楼上各位解答,可能是我表述不清楚,  我不是要把 100 这个整数传到 VB100 ,  我的意思是在主程序中指定一个 整数 如  100 , 而我子程序中用的地址  是 VB100 ,  这个 100 是 V 区的第 100 个字节,  假定这里指定的是 N,   那么子程序中 用的就是  VB N, 就是要把指定的 整数 变成 V 区的地址编号
8371
fujifa
文章数:2941
年度积分:57
历史总积分:8371
注册时间:2014/2/10
发站内信
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
发表于:2017/6/19 13:11:01
#5楼
以下是引用ymxu2017/6/19 11:27:28的发言:
谢谢楼上各位解答,可能是我表述不清楚,  我不是要把 100 这个整数传到 VB100 ,  我的意思是在主程序中指定一个 整数 如  100 , 而我子程序中用的地址  是 VB100 ,  这个 100 是 V 区的第 100 个字节,  假定这里指定的是 N,   那么子程序中 用的就是  VB N, 就是要把指定的 整数 变成 V 区的地址编号

上面PQSH的回答就是了,唉,人家回答了却看不懂。表情
精通富士POD,富士PLC的编程
有问题可以直接电邮:FUJIFA@yeah.net
3462
ymxu
文章数:329
年度积分:50
历史总积分:3462
注册时间:2015/4/17
发站内信
发表于:2017/6/19 17:27:32
#6楼
以下是引用fujifa2017/6/19 13:11:01的发言:
以下是引用ymxu2017/6/19 11:27:28的发言:
谢谢楼上各位解答,可能是我表述不清楚,  我不是要把 100 这个整数传到 VB100 ,  我的意思是在主程序中指定一个 整数 如  100 , 而我子程序中用的地址  是 VB100 ,  这个 100 是 V 区的第 100 个字节,  假定这里指定的是 N,   那么子程序中 用的就是  VB N, 就是要把指定的 整数 变成 V 区的地址编号

上面PQSH的回答就是了,唉,人家回答了却看不懂。表情


pqsh 的回答达不到那种要求

我现在用的是这种方法: 在主程序中指定一个整数 100, 在子程序中调用 VB100 之前,把 指定的整数 100 加上 16 #0800 0000 (VB0的内存地址) ,再把算好的结果存入 AC1,  此时 AC1 中存的就是 VB100 的内存地址, 再在程序中引用 *AC1, 那么就是指向 VB100 了
37602
cvlsam 版主
文章数:12429
年度积分:213
历史总积分:37602
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2017/6/19 19:49:40
#7楼
以下是引用ymxu2017/6/19 17:27:32的发言:
以下是引用fujifa2017/6/19 13:11:01的发言:
以下是引用ymxu2017/6/19 11:27:28的发言:
谢谢楼上各位解答,可能是我表述不清楚,  我不是要把 100 这个整数传到 VB100 ,  我的意思是在主程序中指定一个 整数 如  100 , 而我子程序中用的地址  是 VB100 ,  这个 100 是 V 区的第 100 个字节,  假定这里指定的是 N,   那么子程序中 用的就是  VB N, 就是要把指定的 整数 变成 V 区的地址编号

上面PQSH的回答就是了,唉,人家回答了却看不懂。表情


pqsh 的回答达不到那种要求

我现在用的是这种方法: 在主程序中指定一个整数 100, 在子程序中调用 VB100 之前,把 指定的整数 100 加上 16 #0800 0000 (VB0的内存地址) ,再把算好的结果存入 AC1,  此时 AC1 中存的就是 VB100 的内存地址, 再在程序中引用 *AC1, 那么就是指向 VB100 了

变址,指针.
movd 100,vd0    //将100存入VD0中,
MOVD &VB0, AC1   //将VB0的地址存入AC1中
+d vd0, AC1     //AC1中的VB0的地址+100,
mov? *ac1,??    //程序中引用*AC1

朋友,水平不行然后说人家回答达不到要求,然后说了一种方法……
3462
ymxu
文章数:329
年度积分:50
历史总积分:3462
注册时间:2015/4/17
发站内信
发表于:2017/6/19 20:04:26
#8楼
以下是引用cvlsam2017/6/19 19:49:40的发言:
以下是引用ymxu2017/6/19 17:27:32的发言:
以下是引用fujifa2017/6/19 13:11:01的发言:
以下是引用ymxu2017/6/19 11:27:28的发言:
谢谢楼上各位解答,可能是我表述不清楚,  我不是要把 100 这个整数传到 VB100 ,  我的意思是在主程序中指定一个 整数 如  100 , 而我子程序中用的地址  是 VB100 ,  这个 100 是 V 区的第 100 个字节,  假定这里指定的是 N,   那么子程序中 用的就是  VB N, 就是要把指定的 整数 变成 V 区的地址编号

上面PQSH的回答就是了,唉,人家回答了却看不懂。表情


pqsh 的回答达不到那种要求

我现在用的是这种方法: 在主程序中指定一个整数 100, 在子程序中调用 VB100 之前,把 指定的整数 100 加上 16 #0800 0000 (VB0的内存地址) ,再把算好的结果存入 AC1,  此时 AC1 中存的就是 VB100 的内存地址, 再在程序中引用 *AC1, 那么就是指向 VB100 了

变址,指针.
movd 100,vd0    //将100存入VD0中,
MOVD &VB0, AC1   //将VB0的地址存入AC1中
+d vd0, AC1     //AC1中的VB0的地址+100,
mov? *ac1,??    //程序中引用*AC1

朋友,水平不行然后说人家回答达不到要求,然后说了一种方法……
终于现在看明白了
此帖发自手机工控论坛
3462
ymxu
文章数:329
年度积分:50
历史总积分:3462
注册时间:2015/4/17
发站内信
发表于:2017/6/19 20:05:32
#9楼
以下是引用pqsh2017/6/18 6:29:33的发言:
变址,指针.
movd 100,vd0
MOVD &VB0, AC1
+d vd0, AC1
mov? *ac1,??
[此贴子已经被作者于2017/6/18 6:43:09编辑过]
谢谢了,刚开始真没看懂
此帖发自手机工控论坛

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

78.0005