shcaoxianyon
你的观望俺的希望
级别: 论坛先锋
精华主题: 0
发帖数量: 803 个
工控威望: 1137 点
下载积分: 4181 分
在线时间: 391(小时)
注册时间: 2009-03-24
最后登录: 2024-11-21
查看shcaoxianyon的 主题 / 回贴
楼主  发表于: 2013-06-20 20:25
S7 300程序:L #ADR_IN
SLW3
LAR1
这几句指令什么意思啊,麻烦知道的指点下啊
beichen
级别: 家园常客
精华主题: 0
发帖数量: 158 个
工控威望: 979 点
下载积分: 1681 分
在线时间: 158(小时)
注册时间: 2013-06-21
最后登录: 2017-09-14
查看beichen的 主题 / 回贴
1楼  发表于: 2013-06-21 16:09
循环左移3位,就是把ADR_IN乘以8
无锡市北辰自动化技术有限公司
BCNet-S7  技术交流群:229195162
0510-85166823  bcnets7@163.com
www.beichen-automation.com
淘宝:http://shop113462796.taobao.com/
shcaoxianyon
你的观望俺的希望
级别: 论坛先锋
精华主题: 0
发帖数量: 803 个
工控威望: 1137 点
下载积分: 4181 分
在线时间: 391(小时)
注册时间: 2009-03-24
最后登录: 2024-11-21
查看shcaoxianyon的 主题 / 回贴
2楼  发表于: 2013-06-21 20:58
为什么我在写L #ADR_IN这句指令时出错呢?
djljcl
级别: 探索解密
精华主题: 0
发帖数量: 20 个
工控威望: 146 点
下载积分: 706 分
在线时间: 19(小时)
注册时间: 2012-09-01
最后登录: 2022-11-17
查看djljcl的 主题 / 回贴
3楼  发表于: 2013-06-21 21:22
S7 300程序:
L #ADR_IN                  //载入ADR_IN 输入变量到ACCU1
SLW3                           //ACCU1低字坐移 3位        
LAR1                            //ACCU1里面的16位指针保存到地址寄存器1.
实际上这是一个把16位的指针间接寻址,把ADR_IN的输入变量左移三位后保存到地址寄存器1里面。这是一个间接寻址。16位指针用于DB,FB,FC块的间接寻址。
djljcl
级别: 探索解密
精华主题: 0
发帖数量: 20 个
工控威望: 146 点
下载积分: 706 分
在线时间: 19(小时)
注册时间: 2012-09-01
最后登录: 2022-11-17
查看djljcl的 主题 / 回贴
4楼  发表于: 2013-06-21 21:29
【为什么我在写L #ADR_IN这句指令时出错呢?】
这是因为ADR_IN变量,是FB或者FC里面变量编辑的参数。可以在变量表中编辑变量和块参数
不同的类型参数可使用不同的区域。 显示区域的编号由正在编辑的对象类型决定(例如:S7块、状态图、序列)。


区域    声明:
IN     输入参数
OUT     输出参数
IN_OUT     输入/输出参数
STAT     静态数据 (仅对于 功能块(FB))。
TEMP     临时数据
shcaoxianyon
你的观望俺的希望
级别: 论坛先锋
精华主题: 0
发帖数量: 803 个
工控威望: 1137 点
下载积分: 4181 分
在线时间: 391(小时)
注册时间: 2009-03-24
最后登录: 2024-11-21
查看shcaoxianyon的 主题 / 回贴
5楼  发表于: 2013-06-25 21:56
那#ADR_IN应该是什么变量啊区域    声明:
IN     输入参数
OUT     输出参数
IN_OUT     输入/输出参数
STAT     静态数据 (仅对于 功能块(FB))。
TEMP     临时数
好像都不行啊
djljcl
级别: 探索解密
精华主题: 0
发帖数量: 20 个
工控威望: 146 点
下载积分: 706 分
在线时间: 19(小时)
注册时间: 2012-09-01
最后登录: 2022-11-17
查看djljcl的 主题 / 回贴
6楼  发表于: 2013-06-26 20:26
图片:
看到我那里面 #Setting 了吗,在FC或者FB,你看见上面上面的变量声明表吗,先在里面创建。然后再引用
shcaoxianyon
你的观望俺的希望
级别: 论坛先锋
精华主题: 0
发帖数量: 803 个
工控威望: 1137 点
下载积分: 4181 分
在线时间: 391(小时)
注册时间: 2009-03-24
最后登录: 2024-11-21
查看shcaoxianyon的 主题 / 回贴
7楼  发表于: 2013-06-29 19:24
谢谢啊,为什么我创建的ADR_IN,调用不了呢?L #ADR_IN一回车就是红色的呢?
djljcl
级别: 探索解密
精华主题: 0
发帖数量: 20 个
工控威望: 146 点
下载积分: 706 分
在线时间: 19(小时)
注册时间: 2012-09-01
最后登录: 2022-11-17
查看djljcl的 主题 / 回贴
8楼  发表于: 2013-06-29 19:46
可能数据类型,SETP检查到语法错误。估计你 L #ADR_IN 是位,你把编辑它为INT ,DINT,WORD, DWORD,REAL.应该不变红了,但是数据类型与你使用指令,整个程序有关,根据实际需要编辑数据类型。