FB1程序如下:
SET
SAVE
= L 0.1
L #ramp_coef[1]
L #ramp_coef[9]
/I
L #ramp_coef[10]
TAK
/I
T #acc_hold
...
FB1在FC1中的应用:
CALL"Ramp_step","Garb_Ramp_step" FB1/DB11
ramp_coef:="garb_value".ramp P#DB110.DBX0.0
acc_hold:="garb_var".s0 DB53.DBW0
dec_hold:="garb_var".s2 DB53.DBW2
...
DB110就是"garb_value"数据块,里面的内容如下:
Address Name Type
+0.0 ramp ARRAY[1...10]
我从这些内容无法找到ramp_coef[1...10]的数据是从哪儿来的,请大侠们解答解答,万分感谢!
问题补充:
这段程序是对变频器斜坡步进动作进行控制的,ramp_coef从字面上硬生生理解是不是斜坡系数?或者什么的?希望我的提示能得到回应,谢谢!
最佳答案
ramp_coef数组的值来源于"garb_value".ramp 数据,要知道具体哪里来的数据,就要检查DB110里的这个数组是如何赋值的。还是要在程序里找,有可能是对数组里的元素一个一个进行赋值的,比如
L 5
T "garb_value".ramp[1] 这样的程序段
或者利用SFC 20进行赋值的,但是都要找到例如"garb_value".ramp
CALL "BLKMOV"
SRCBLK :=P#M 200.0 INT 5
RET_VAL:=MW100
DSTBLK :="garb_value".ramp
。。。。
找到与这个数组有关的信息就能找到赋值的位置了,希望能帮到你
补充:从你提供的程序里,根本就没有办法找到这些数据更进一步的来源,只能告诉你,DB110里有你要的数据,而DB110里这个数组的数据要接着找下去。PS,有同感,有的时候传动的参数来源确实很难查。把整套程序看看,多看看与DB110有关的地方,看看有没有线索。
提问者对于答案的评价:
非常感谢!我忽视了一个地方,设备初始化!我在这里终于找到了:
L 2500
T "garb_value".ramp[1] ...
L 0
T "garb_value".ramp[7] ...
原来藏在初始化里面!
再次谢谢!
最佳答案作者回复:
终于找到了,
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc213962.html