回复:请各位老师指教!!

划痕

  • 帖子

    2009
  • 精华

    23
  • 被关注

    16

论坛等级:侠圣

注册时间:2009-08-14

普通 普通 如何晋级?

发布于 2011-09-16 17:20:04

1楼

首先,你的这段程序应该是德国工程师编写的速度控制程序。
当然此处要求的速度调节是按照一定的梯度变化的,之所以没有出现如楼主所说的825,实际上已经在程序中用速度的递增量来体现。当然,楼主贴出来的仅仅是一个FC,最好的将它的接口参数,以及在OB中的调用情况引出来最好。
L 15 // [%/step]
T #step_width

L 25 // [%]
T #min_speed

L 100 // [%]
T #max_speed

L 20000 // [ms/3000rpm] 20s from stop to 3000 rpm
T #ramp


A "M_1" //调速标志位
= L 18.0
A(
A L 18.0
= #increase_speed
A #increase_speed
A "+I_020_A1_S2:24" //增速标志位
JNB _001
L "DB_Dynamisch".Pos_020_speed
L #step_width
+I
T "DB_Dynamisch".Pos_020_speed
AN OV
SAVE
CLR
_001: A BR //OV=0时,BR=1
)
A(
L "DB_Dynamisch".Pos_020_speed
L #max_speed
>I
)
JNB _002 //增速(没有溢出)并速度大于最大值时,将最大值输出
L #max_speed
T "DB_Dynamisch".Pos_020_speed
_002: NOP 0
A(
A L 18.0
= #lower_speed
A #lower_speed
A "+I_020_A1_S2:14" //降速标志位
JNB _003
L "DB_Dynamisch".Pos_020_speed
L #step_width
-I
T "DB_Dynamisch".Pos_020_speed
AN OV
SAVE
CLR
_003: A BR
)
A(
L "DB_Dynamisch".Pos_020_speed
L #min_speed
<I
)
JNB _004
L #min_speed
T "DB_Dynamisch".Pos_020_speed
_004: NOP 0


L DW#16#0
T "PQW_020_A1_CTRL1"

// inhibit PWM of drive
AN #start
= "Q_020_A1_INHIBIT"

// start/ stop drive
A #start
= "Q_020_A1_/FAST_STOP"
= "Q_020_A1_/STOP"

A "M_AREA2_FLT_ACK"
= "Q_020_A1_RESET"
//**********一下部分为调速程序,需要结合该FC的调用环境理解
L W#16#7FFF // digits 100% Sollwertvorgabe
ITD
DTR
L 6554 // Drehzahlvorgabe [1/min] bei 7fffh=32767 digits
ITD
DTR
/R
L 5500 // Max.Drehzahl Antrieb [1/min]
ITD
DTR
*R
L 1.000000e+002 // 100%
/R
T #digits_per_percent // [digits/%] Drehzahlsollwert

L "DB_Dynamisch".Pos_020_speed // [%]
ITD
DTR
L #digits_per_percent // : 100%
*R
RND
T "PQW_020_A1_SPEED"

L #ramp
T "PQW_020_A1_RAMP"
No discussion, no outcome.
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。