您现在所在的是:

西门子SIEMENS

回帖:5个,阅读:1731 [上一页] [1] [下一页]
2405
ybdsy
文章数:485
年度积分:50
历史总积分:2405
注册时间:2004/2/27
发站内信
发表于:2005/3/2 14:33:00
#0楼

仿真器: PLCSIM5.2
组态: CPU-313C,period-2000ms,minimum pulse-100ms
JOB_DONE脉冲是新作业允许,没有JOB_DONE脉冲出现,就不能控制SFB49.

第一次使用SFB49,调试SFB49功能的全部程序如下,请大虾赐教:

STAR:  SET
       R  M2.3 //预备作业请求
////////////////////////////////////////////////////////

CAON: CALL SFB49,DB49
LADDR:=W#16#768
CHANNEL:=0 //通道号
SW_EN:=1 //软件门
MAN_DO:=
SET_DO:=
       JOB_REQ:=M2.3   //作业请求
OUTP_VA:=500 //PWM输出值
JOB_ID:=w#16#1 //作业号
JOB_VAL:=2000 //写作业请求值 (写周期长度为2000ms)
STS_EN:=M11.0 // ENABLE STATUS
STS_STRT:=M11.1
STS_DO:=M11.2 //OUTPUT STATUS
JOB_DONE:=M11.3 //NEW JOB CAN BE STARTED
JOB_ERR:=
JOB_STAT:=
/////////////////////////////////////////////////////////////
SET
S  M2.3 //作业请求
WAIT: A  M11.3
               FN M30.0
JC  GG
JU  WAIT //等待新作业允许

运行程序后,程序就一直在WAIT中循环,应是没有JOB_DONE的下降沿脉冲.
问题在哪里,请大虾赐教,谢谢!







    祝你快乐!
1320
Shyer
文章数:149
年度积分:50
历史总积分:1320
注册时间:2004/3/16
发站内信
发表于:2005/3/2 15:56:00
#1楼
你是用了系统默认的LADDER?那个应该是十进制的768,而不是W#16#768吧? 你看看你的CPU是不是有高速脉冲输出啊。如果连脉冲输出都没有,那个JOB_DONE位肯定没有啦
1320
Shyer
文章数:149
年度积分:50
历史总积分:1320
注册时间:2004/3/16
发站内信
发表于:2005/3/2 16:00:00
#2楼
JOB_DONE应该不是你所说的那样吧,怎么会是必须要下降沿才允许新的作业呢?我理解应该是当JOB_DONE为1时就允许新的作业,而每一次作业开始,系统会自动把JOB_DONE位清零,作业完成后又会置1(总为1,而不是脉冲) 。所以在第一次作业时要人为的把该位置“1” ?你试试看吧。就是在系统启动时(OB100)里把对应的JOB_DONE位置1试试
1320
Shyer
文章数:149
年度积分:50
历史总积分:1320
注册时间:2004/3/16
发站内信
发表于:2005/3/2 16:04:00
#3楼
还有,你的那个LADDER值应该是十进制的768,即W#16#300。我也是猜的,呵呵,我也从没有用过SFB49,现在也想研究研究。因为我马上要做一台机器,我想改成S7-300来做(原来用的欧姆龙CJ1M系列的),就是SFB49输出的频率太低了,最高才2.5K,这也太差劲了!
1320
Shyer
文章数:149
年度积分:50
历史总积分:1320
注册时间:2004/3/16
发站内信
发表于:2005/3/2 16:08:00
#4楼
呵,再看了一下,在系统启动时JOB_DONE的默认值就是TRUE !只要在SFB进行作业的过程中才清零了,在作业完后又会置1 !!!
2405
ybdsy
文章数:485
年度积分:50
历史总积分:2405
注册时间:2004/2/27
发站内信
发表于:2005/3/3 17:11:00
#5楼
谢谢指点!
你说的都对.
    祝你快乐!

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

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

46.8003