求助:200程序转300程序 点击:892 | 回复:15



missyou

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-14 13:33:00
楼主
我是对与西门子程序刚能看懂,在面试的时候可能说大话了,这两天领导想让我把一个200程序转成300的,输入输出不变,难为了我一头疙瘩,想问一下这样难不难?还有:
1、200里面的sm0.0和SM0.1在300里面怎么转换?
2、300里是不是也有中断程序和子程序,又怎么调用?是分成不同的功能块调用吗?
3、转的时候不需要明白其中的原理吧?领导给的图纸不全,我感觉还可能不对
请高手给予解惑,谢谢



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-09-14 13:48:00
1楼
1 SM0.0常闭触点没有对应的300指令,但是在300中随便找个常闭点应该不困难。
  SM0.1对应的300的OB100组织块。
2 300有中断组织块,在中断组织块中编写程序就是中断程序了。OB组织块由系统自动调用。子程序对应与300中有两种不同的情况,一种是子程序带独立存储空间,也就是FB,一种为不带独立空间也就是FC。

3 300指令系统与200指令系统相差非常的大,不明白指令如何转?

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-14 14:11:00
2楼
to yuanle
谢谢你的回答,说一下我的理解
1、SM0.0是不是在300中可以直接去掉,或和组织块里面的调用程序似的?SM0.1,我现在就看一下300的资料。
2、刚才我又看了一下200程序,里面好像也主要都是数据传送指令,中断程序和子程序里面也是,记得在300里面好像有跳转指令,突然有个想法在一个存储块里面可以用跳转指令进行中断或这调用子程序吗?跳转指令的详细用法能不能给讲解一下,我很懒,可能很长时间,一看书也就有点发困,谢谢

yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2007-09-14 14:15:00
3楼
问题在于300中使用中断组织块进行中断的哦,300中当然有跳转指令了,跳转指令建议您还是看看手册比较好,毕竟这有一个章节的内容哦。

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-14 14:43:00
4楼
嗯,再次感谢,我现在就看一下手册,以前工作的时候接触300的程序比较多,没有跟师傅好好学就匆匆走了,有点后悔。
在有不明白的地方明天继续请教,Thanks a lot。

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-14 15:14:00
5楼
不好意思,又有问题了,刚才看了一下关于组织块的手册中有这么一段:
启动组织块(OB100,OB101 和 OB102)
下列启动类型是有区别的
• 热启动(S7-300 和S7-400H 没有)
• 暖启动
• 冷启动 在下表中,您可以看到在启动期间哪个OB 被操作系统调用。
启动类型 相应的OB
热启动   OB101
暖启动   OB100
冷启动   OB102
请问,这三种启动方式有什么区别?如果SM0.1相当于OB100,那么PLC在别的启动模式下,里面的程序那不就不调用了吗?

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-14 15:22:00
6楼
前面一段程序是这样的,您看一下:
Network 1
LD      SM0.1
R       Q0.0, 2
R          M0.0, 16
CALL   SBR0
CALL    SBR1
CALL  SBR2
Network 2 
LD      SM0.0
MOVW    VW120, VW272
MUL     +100, VD270
MOVD    VD270, VD274
*D      +1000, VD274
MOVD    VD274, VD278
/D      +251, VD278
MOVD    VD278, VD534
MOVD    HC0, VD530
MOVD    VD530, VD550
*D      +251, VD550
MOVD    VD550, VD554
/D      +100000, VD554
DTI     VD554, VW1662
MOVW    VW120, VW2000
-I      +5, VW2000

Network 3 
LD      SM0.0
MOVW    VW122, VW292
MUL     +100, VD290
MOVD    VD290, VD294
*D      +1000, VD294
MOVD    VD294, VD298
/D      +251, VD298
MOVD    VD298, VD544
MOVD    HC4, VD540
MOVD    VD540, VD560
*D      +251, VD560
MOVD    VD560, VD564
/D      +100000, VD564
DTI     VD564, VW1664
MOVW    VW122, VW2004
-I      +5, VW2004

Network 4 
LD      SM0.0
MOVW    VW106, VW200
*I      VW112, VW200
MOVW    VW200, VW204
MUL     +100, VD202
MOVD    VD202, VD206
/D      +2, VD206
MOVD    VD206, VD504
Network 5 
LD      SM0.0
MOVW    +2000, VW210
/I      VW106, VW210
MOVW    VW210, VW500

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-17 09:53:00
7楼
yuanle老师,我可不可以把程序发给您,您帮忙改一下呢?谢谢

songzg

  • 精华:0帖
  • 求助:0帖
  • 帖子:96帖 | 732回
  • 年度积分:0
  • 历史总积分:1884
  • 注册:2006年11月16日
发表于:2007-09-17 11:08:00
8楼
只有重新编一下了

wdlx

  • 精华:0帖
  • 求助:0帖
  • 帖子:46帖 | 409回
  • 年度积分:0
  • 历史总积分:608
  • 注册:2006年11月24日
发表于:2007-09-17 11:15:00
9楼
关注ing

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-17 13:36:00
10楼
to 孤冰一雪
是不是根据原来程序的原理,自己得重新编写,没办法根据原来的程序进行改编吗?

dotnew

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 185回
  • 年度积分:0
  • 历史总积分:447
  • 注册:2007年3月08日
发表于:2007-09-19 14:02:00
11楼
关注

郑三少

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2004年2月09日
发表于:2007-09-19 15:13:00
12楼
200和300的指令差的不多,但是结构和寻址差了很多,或者你发200的程序和硬件连接图纸过来,然后再把你要改的300的plc的硬件图纸发过来,我给你改成300的程序,等你看明白了,以后就会觉得其实用300相对还是简单的!

http://i.cn.yahoo.com/pengli2521

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 198回
  • 年度积分:0
  • 历史总积分:804
  • 注册:2005年1月24日
发表于:2007-09-19 20:23:00
13楼
你还不如弄明白要求,重新写一个好了。。。

http://i.cn.yahoo.com/pengli2521

missyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:14帖 | 217回
  • 年度积分:0
  • 历史总积分:419
  • 注册:2007年4月26日
发表于:2007-09-20 14:16:00
14楼
to 郑志华
谢谢您
可是我没有300的图纸,要求就是用300 313C的CPU,输入输出地址不变,功能一样就可以,这样能改吗?
要求我们领导好像也不清楚,是他帮人家改的,不过他没接触过300的PLC

whlix

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2008年5月31日
发表于:2008-05-31 15:01:00
15楼

回复内容:
对:郑三少 关于200和300的指令差的不多,但是结构和寻址差了很多,或者你发200的程序和硬件连接图纸过来,然后再把你要改的300的plc的硬件图纸发过来,我给你改成300的程序,等你看明白了,以后就会觉得其实用300相对还是简单的! 内容的回复
你好,能否帮我把300的程序转换成梯形图?因为我找不到300的软件。谢谢!!!

原动机的自动起动控制程序
本系统采用电动方式,每次起动时间不超过2S,防止烧毁起动马达。当起动转速超过250 RPM时,表明起动成功。每次重复起动次数不超过3次,重复起动间隔时间设定为
5S。
指令 说 明
A M 0.1 起动条件满足M0.1=1,有增机指令
A M 1.0 M1.O=1,无起动连锁
A Q 5.4 Q5.4=1,重复起动M2.6=0,则
AN M 2.6 Q4.O=1,起动马达通电,对发电机原
AN T 8 动机进行电起动。
= Q 4.0
A Q 4.0 起动计时,一次起动最长时间不超过
L S5T # 2S 2S。
SD T 8
A ( 原动机实际转速经A/D 模块的
L PIW 29O PIW290通道输入到PLC内部,把转
T M D 6O 速值的数字量形式转换为浮点数,存
SET 储在内存双字MD64中。
SACE
CLR
A BR
)
JNB _001
L MD 6O
DTR
T MD 64
SET
SAVE
CLR
001:A BR
= M 8.4
A ( 把原动机实际转速物理化为工程数值
L MD 64 形式,存储在MD80内。数字量进行
L 0.000000e4+000 物理化的目的是方便程序的阅读和调
一R 试。
T M D 68
AN 0V
SAVE
CLR
A BR
)
JNB _002
L MD 68
L 2.764800e+004
/R
T MD 72
AN 0V
SAVE
CLR
_002:A BR
= M 8.5
A (
L MD 72
L 1.5OOOOOe4+003
*R
T MD 76
AN 0V
SAVE
CLR
A BR
)
JNB _003
L MD 76
L 0.000000e+000
+ R
T MD 8O
AN 0V
SAVE
CLR
_003:A BR
= M 13.5
L MD 8O 原动机的实际转速超过250 rpm 时,
L 2.500000e+ 002 起动成功的标志Q4.1=1,同时运行
> R 指示灯亮。
= Q 4.1
A M 1.O 起动指令M1.0=1,无起动连锁
AN Q 4.1 Q5.4=1,原动机转速小于250 rom
A Q 5.4 时Q4.1=1,则重复起动间隔定时器
L S5T#5S T2开始起动计时,重复起动间隔时间
SD T 2 为5 s。
A (
AN T 2
A M 2.6
O Q 4.1
)
A M 1.O
= M 2.6 M2.6=1进行重复起动。
A (
O M 2.6
0 M 2.7
)
A M 1.O
= M 2.7 M2.7=1为第一次起动成功。
A (
AN M 2.6
A M 2.7
O Q 5.O
)
A M 1.O Q5.O=1为第一次起动失败。
=Q 5.0
A (
A M 2.6
A Q 5.O
0 M 3.1
)
A M 1.O M3.1=1为第二次起动成功。
=M 3.1
A (
AN M 2.6
A M 3.1
0 Q 5.1
)
A M 1.O Q5.1=1为第二次起动失败。
=Q 5.1
A (
A M 2.6
A Q 5.1
0 M 3.3
)
A M 1.O M3.3=1为第三次起动成功。
=M 3.3
A (
AN M 2.6
A M 3.3
0 Q 5.2
)
A M 1.O Q5.2=1为第三次起动失败。
= Q 5.2
A (
0 Q 5.2
0 Q 4.2 三次起动失败Q5.2=1或一次起动
) 时间太长(超过2 S)Q4.2=1,则
A M 1.0
= Q 5.3 Q5.3=1表明起动失败,终止起动并
A (
0 M 1.0 发报警。
0 Q 5.4
)
A M 0.1 有增机指令M1.0=1,起动条件满足
AN I 1.O M0.1=1,无应急停车指令I1.0=0,
AN Q 5.3 无起动失败指令Q5.3=0,则Q5.4=
= Q 5.4 1起动连锁解除,起动马达才可以得
A ( 电。
AN Q 4.1
A Q 4.2
0 T 6
)
A M 1.O 一次起动时间太长,则Q4.2=1。
= Q 4.2 利用两个扩展脉冲定时器SE组成报
AN T 13 警脉冲发生器。
L S5T #250M S
SE T 12
AN T 12
L S5T #250M S
SE T 13
A Q 5.3
A T 12
AN M 10.0
= Q 5.6 起动失败Q5.3=1,则Q5.6控制报
A Q 5.3 警灯闪亮。
AN M 1O.O
= Q 5.7 Q5.7控制报警铃声响。
A I O.3 10.3=1进行报警复位。
= M 1O.O


热门招聘
相关主题

官方公众号

智造工程师