您现在所在的是:

PLC论坛

回帖:12个,阅读:2251 [上一页] [1] [2] [下一页]
1011
jiahua001
文章数:23
年度积分:50
历史总积分:1011
注册时间:2007/7/20
发站内信
发表于:2007/7/20 21:46:00
#0楼
1    L 5和L L#5有什么区别?
2    我有一段模拟量处理的程序   输入是PIW80-95    以下是程序
 L     #DB_INSTRACE_NO
     T     #temp_7
     OPN   DB [#temp_7]
     L     #signal_ai_startaddress
     SLD   3
     T     #STAT0
     L     6
     SLD   3
     T     #STAT2
     L     #CH_LEN
M1:   T     #STAT1
     L     #STAT0
     LAR1  
     L     PIW [AR1,P#0.0]
     ITD  
     DTR  
     L     1.000000e+001
     /R    
     T     #TEMP4
     L     #STAT2
     LAR1  
     L     #TEMP4
     T     DBD [AR1,P#0.0]
     L     #STAT0
     +     L#16
     T     #STAT0
     L     #STAT2
     +     L#32
     T     #STAT2
     L     #STAT1
     LOOP  M1
我不明白传送的第一个模拟量是DBD30,第二个模拟量是多少?
我的QQ:43045431
希望大家赐教

38135
cvlsam 版主
文章数:12489
年度积分:746
历史总积分:38135
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/7/20 22:10:00
#1楼
1 L 5表示裝入常數5,L L#5表示裝入長整型數據5
2 這段程序的作用是將PIW80~95共計8通道的數據除以10后放置到Stat2指向的數據地址中去,因為除法運算后就成為了浮點數,因此需要DBD才可以存放,第二個模擬量的放置位置實質上就是4個字節后,如果第一個是6,那么第二個就是10,因為STAT2變量決定了存儲地址,而它是+32,實質上就是4,因為間接尋址需要左移3為,反之就是32/8=4字節。可能我沒喲說的很明白,您不明白可以繼續回帖。
1011
jiahua001
文章数:23
年度积分:50
历史总积分:1011
注册时间:2007/7/20
发站内信
发表于:2007/7/21 10:13:00
#2楼
我还是有点不明白
1   从模拟量采集过来的信号除以10那不是把数值变小了吗?
2   第一个是80.
L     #signal_ai_startaddress
     SLD   3
     T     #STAT0
那STAT0不是变成了280了吗?
那到下一次循环不是变成290了,
L     #signal_ai_startaddress
     SLD   3
     T     #STAT0
     L     6
     SLD   3
     T     #STAT2
这段程序到底起什么作用呀?

非常感谢!!!!
38135
cvlsam 版主
文章数:12489
年度积分:746
历史总积分:38135
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/7/21 10:26:00
#3楼
因為西門子模擬量采集模塊的分辨率為0.1攝氏度,所以需要除以10,也就是說,如果采集上來的是800,那么實際溫度則是800×0.1=80度。
STAT0實質上是乘以8,也就是640,而不是280,左移3位的原因在于西門子編程中區域間寄存器尋址的只能使用32位指針,32位指針格式要求第0,1,2位為0,因此需要左移3位,如果直接輸入數字的話,就是乘以8,就像L 6,如果不左移的話就輸入48.您列的程序的作用是:
L  #signal_ai_startaddress   裝入模擬量模塊通道的首地址
SLD   3
     T     #STAT0  //左移3位就是我以上的意思
L     6
     SLD   3
     T     #STAT2//這個用于指定經過處理后的數值存放區域的首地址。
匿名用户
文章数:N/A
年度积分:0
历史总积分:0
注册时间:2007/7/21
发站内信
发表于:2007/7/21 10:39:00
#4楼
该用户被锁定,回复内容不予显示!
1011
jiahua001
文章数:23
年度积分:50
历史总积分:1011
注册时间:2007/7/20
发站内信
发表于:2007/7/21 18:37:00
#5楼
谢谢!
但是我还是不明白.
那要是按照你说的传出的数据应该存在DBD48-76里面.但是我在触摸屏上看到存在DBD6-34里面,这又是如何解释
你能给我再解释一下
L     6
     SLD   3
     T     #STAT2
这个首地址到底是多少呀?

谢谢!!!!!!!!!!
38135
cvlsam 版主
文章数:12489
年度积分:746
历史总积分:38135
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2007/7/21 18:48:00
#6楼
兄弟,看来您没有理解我的意思
L   6
sld 3
t #stat2  //这是指首地址是DBD6
L L#48
T #stat2 //同样也是指首地址DBD6
看来您没有搞明白我的6和48之间的关系
1011
jiahua001
文章数:23
年度积分:50
历史总积分:1011
注册时间:2007/7/20
发站内信
发表于:2007/7/21 22:02:00
#7楼
谢谢.
我现在明白了.
非常感谢.

1011
jiahua001
文章数:23
年度积分:50
历史总积分:1011
注册时间:2007/7/20
发站内信
发表于:2007/7/22 8:02:00
#8楼
我选的模块是   6ES7 331-7KF02-2AB0
Analog input module AI8/12...14Bit; also available as SIPLUS module with order number 6AG1 331-7KF02-2AB0
我查了模块手册.没有看到模块的分辨率是0.1的选项.它在那一项里面呀?


谢谢了!
1011
jiahua001
文章数:23
年度积分:50
历史总积分:1011
注册时间:2007/7/20
发站内信
发表于:2007/7/22 8:12:00
#9楼
量程模板设置是A     测量方法是TC-IL

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

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

62.4004