[西门子] 别人写的S7-300程序,我另加修改并作上了注释,以便初学者学习

[复制链接]
查看9079 | 回复34 | 2006-8-25 12:33:00 | 显示全部楼层 |阅读模式

循环读模拟量入DB
L #DB_NO 局域变量(存储的是块号)
T LW 0 将数据块的块号存放在LW0中!
OPN DB [LW 0] 打开数据块!
L #PIW_ADDR 将模拟通道的起始地址左移三位,以便与寄存器内部寻址的格式相匹配!
SLD 3
T LD 4
L #DBD_ADDR
将数据块内双字地址左移三位,以便与寄存器内部寻址的格式相匹配!
SLD 3 因双字做寄存器间接寻址时,低三位必须为0

T LD 8
L #CH_LEN 将通道数量传到累加器1中!

NEXT: T LW 0
L LD 4 将模拟通道起始地址传数据到累加器1中!
LAR1 将累加器1中的内容送到地址寄存器1中!
L PIW [AR1,P#0.0] 将第一次采集的模拟量数据存到LW2中!
T LW 2

{ CALL "Read Analog Value 464-2"
IN :=LW2
HI_LIM :=5.000000e+002
LO_LIM :=-1.000000e+001
将模拟量转换成工程量
BIPOLAR:=TRUE

RET_VAL:=LW10
OUT :=LD12 }


L LD 8
LAR1
L LD 2
T DBD [AR1,P#0.0]
将采集到的模拟量存储 在数据块中!(从字地址DBW_Addr)开始
L LD 4
+ L#16
T LD 4
将模拟量的起始地址加16,表示采集下一个模拟通道的数据!
L LD 8
+ L#32
T LD 8
数据块字地址加32(因为采集后的模拟量是以32位的数保存在数据块内)
L LW 0

DEC 1 将通道字节数减一。

JN UMP 如果通道数未采集结束,则继续循环采集。如果一个循环完毕的话,则重新

L #CH_LEN 设置起始参数!

L #PIW_ADDR 将模拟通道的起始地址左移三位,以便与寄存器内部寻址的格式相匹配!
SLD 3
T LD 4

UMPLOOP NEXT
PIW_Addr :模拟块通道起始地址
CHI_LEN :要读入的 通道数
DB_NO :存储数据块的块号
DBW_Addr :存储在数据块中的双字地址

oste_ | 2006-10-4 19:10:00 | 显示全部楼层
一般般,最好说明用途阿![em01]
qijunyang | 2006-10-11 09:41:00 | 显示全部楼层
回一个~!!!
tuhan | 2006-10-11 10:13:00 | 显示全部楼层
这样太复杂了吧
glrfe | 2006-10-17 10:38:00 | 显示全部楼层
具体干吗的啊?
xsh2@sina.com | 2006-10-17 19:50:00 | 显示全部楼层
扑通扑通[em04]
xinyun0920 | 2006-11-22 18:10:00 | 显示全部楼层
赫赫
Shine | 2006-11-23 14:27:00 | 显示全部楼层

东西是好东西,就是不知道到底用在什么场合的!!

麻烦楼主说一下。。。

xindonfei | 2006-11-28 10:28:00 | 显示全部楼层
tai nan
89033578 | 2007-1-13 16:04:00 | 显示全部楼层
[em06]
大开又大合 | 2007-1-24 22:00:00 | 显示全部楼层
有点难,画梯形图就好了。
zhuiai | 2007-1-28 20:02:00 | 显示全部楼层

有梯形图吗

sxlycl | 2007-1-28 23:17:00 | 显示全部楼层

有梯形图吗?

blueice | 2007-1-31 20:49:00 | 显示全部楼层
thanks a lot !
文静123456 | 2007-3-17 22:55:00 | 显示全部楼层
limingliming | 2007-3-17 23:03:00 | 显示全部楼层
[em03]一般
dog76 | 2007-3-19 14:47:00 | 显示全部楼层
这样太复杂了
fcq417 | 2007-3-28 15:34:00 | 显示全部楼层

不太熟悉STL还是LAD看起来轻松点

moonleilei | 2007-3-29 02:29:00 | 显示全部楼层
实话实说 不懂...[em06]
zcx81797916 | 2007-4-1 16:45:00 | 显示全部楼层
还是梯形图来的快
8511330 | 2007-4-1 19:14:00 | 显示全部楼层

用梯形图 这样看很麻烦

yaochengbao | 2007-4-5 08:49:00 | 显示全部楼层
[em01]
moonleilei | 2007-4-6 12:02:00 | 显示全部楼层
[em06]
xiangfeidezhu | 2007-4-7 13:36:00 | 显示全部楼层
BU DONG ?
moonleilei | 2007-4-15 12:50:00 | 显示全部楼层
[em06]
jonzy | 2007-4-16 10:14:00 | 显示全部楼层
是一个循环数据采集多通道的程序。。。
meizihuadiai | 2007-4-16 14:41:00 | 显示全部楼层
妈的你真的是个天才
haozimh | 2007-4-17 15:51:00 | 显示全部楼层
谢谢
lanyueepgc | 2007-5-18 16:31:00 | 显示全部楼层
具体干吗的啊?
huangnan | 2007-5-19 00:06:00 | 显示全部楼层

楼主,厉害这两天正在研究这个东西,最大用处可以在上位机直接读写模拟量通道的数据。

非常受用,不过我这里的源程序好像没这没复杂。

ranbin | 2007-6-11 15:04:00 | 显示全部楼层
好东动呢!有机会我去试一试呢!
mkai100 | 2009-7-5 17:33:00 | 显示全部楼层

就这么少?

yzx999 | 2010-9-28 23:08:00 | 显示全部楼层
不错,是个学习的好方法。
mimiki | 2013-1-19 11:54:39 | 显示全部楼层
3Q3Q3Q3Q
swqa1549 | 2013-1-22 19:14:12 | 显示全部楼层
谢谢啊,还是具体说明工艺环境才好啊
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则