Netwoke 1 速度转换
// "1500/16384/=0.0916
D*2Pi=3.644"
A(
L "开卷机实际速度转换1"
L 9.155000e-002
*R
T "开卷机实际速度转换"
AN OV
SAVE
CLR
A BR
)
JNB _011
L "开卷机实际速度转换"
ABS
T "开卷机".Act_speed
_011: NOP 0
Netwoke 2 实际电流
//"295/16384=0.018"
A(
L "开卷机电流转换1"
L 1.800000e-002
*R
T "开卷机电流转换2"
AN OV
SAVE
CLR
A BR
)
JNB _012
L "开卷机电流转换2"
T "开卷机".Act_current
_012: NOP 0
Netwoke 3 实际力矩
//"1528/16384=0.093
MD3054"
A(
A(
L "开卷机力矩中间量1"
ABS
T "开卷机力矩中间量4"
SET
SAVE
CLR
A BR
)
JNB _013
L "开卷机力矩中间量4"
L 9.300000e-002
*R
T "开卷机力矩中间量5"
AN OV
SAVE
CLR
_013: A BR
)
A(
L "开卷机力矩中间量5"
L 1.000000e+001
>=R
)
= "力矩>50NM"
以上是钢厂计算开卷机速度.力矩和电流的一段程序.请大哥大姐们帮我解释一下,我不懂
谢谢!!!!!!!
最佳答案
这段程序并不难理解,正像楼主所言是计算开卷机速度.力矩和电流的。计算部分应该能看懂。不易理解的是如下指令:
AN OV //判断上述计算是否溢出。
SAVE
CLR
A BR
OV位:溢出表示算术或比较指令执行时出现了错误。根据所执行的算术或逻辑指令结果对该位进行设置。
BR位:状态字的第8位称为二进制结果位。它将字处理程序与位处理联系起来,在一段既有位操作又有字操作的程序中,用于表示字逻辑是否正确。将BR位加入程序后,无论字操作结果如何,都不会造成二进制逻辑链中断。在梯形图的方块指令中,BR位与ENO位有对应关系,用于表明方块指令是否被正确执行:如果执行出现了错误,BR位为0,ENO位也为0;如果功能被正确执行,BR位为1,ENO位也为1。在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
因为上面的那段代码可能是由梯形图转换而来的。出现了“SET、SAVE及CLR”。就此而论,在做BCD-I转换并存于temp1后,SET与SAVE两指令。SET即将状态字RLO置位;SAVE将RLO保存到状态字的BR位。此时表示功能被正确执行,即BR位为1.
一般不要顾及用SAVE指令保存RLO。在下面的情况可用:
在一个逻辑块中需检另一查逻辑块的BR位。
例如:在用户编写的FB/FC程序中,应该对BR位进行管理,功能块正确执行后,使BR位为1,否则使其为0。使用SAVE指令将RLO存入BR中,从而达到管理BR位目的。
请见:
《S7-300 和S7-400的语句表(STL)编程参考手册》下载:
http://www.ad.siemens.com.cn/download/Html/download.aspx?DownloadID=1818&TreeID=8&URL=%2fdownload%2fUpload%2fAS%2fmanual%2f1008.pdf
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc132924.html