用S7-200编程的三个实例的解析 点击:13791 | 回复:58



wyb2866255

    
  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-08-03 07:09:01
楼主
用S7-200编程的三个实例的解析
本文的三个编程实例是根据网上网友的求助而用S7-200编写出的:
1、网友求助:“那位高人会用一个按常开钮控制电路的起停《PLC》。。。。。。。”
2、网友求助::“用一个按钮X0控制Y0的电路,第一次按下按钮Y0变为ON,第二此按下按钮Y0变为OFF 请问怎么实现啊,谢谢!”
回复:“我提供你们一个的梯形图,就是你们需要的用一个按钮可控制关停的线路,它是用一个RS触发器实现的,用图中的M2.1做输出(Q3.0)即可 。

这里,我把它的工作原理讲一下:它是由一个SR 触发器构成的,图中的I1.0即为按钮的输入点,用它的后沿同时触发SR触发器的S、R 端,S支路再串接由SR触发器输出的位信号(M2.1)的常闭点去触发S,R支路也串接由SR触发器输出的位信号(M2.1)的常开点去触发R,这样处理后,该电路动作十分可靠,这是我常用的线路。如果不用M2.1的触点,改用SR触发器输出的触点(M2.0),该线路就不会正常工作,其原因,就是时间争态问题,这对没搞过电路设计的人是常常想不到的,从表面上看,M2.0与M2.1都表示SR触发器输出状态,但从时间上M2.1的状态改变却滞后M2.0一个扫描周期,从而确保该线路动作稳定可靠:当按一下按纽,抬起瞬间它同时触发S、R 端,如此时M2.1=0,S端触发有效,使 SR 触发器反转,其输出由“0”上跳为“1”,下一周期,M2.1=1,从而确保无时间争态使电路动作可靠。”
3、网友求助:“怎样利用外部输入按钮,修改某个定时器的里面的数值,要用什么指令啊?我是新手,忘老师指点 ”
回复:“你可以这样做:定时器的定时值,不设具体数字,而用一个字存储器(如MW100)来作为定时器的预设时间值,再用二个按钮接PLC的二个输入端,一个做置数键(如 I 1.0),编程时用I 1.0的后沿使MW100加1,即每按一次置数键,使MW100内容加1。再用另一个作移位键(如 I1.1),用I1.1的后沿使MW100左移四位,即每按一次移位键,使MW100内容左移4位。即可实现你要求的功能。比如:预置“2325”,你可这样操作:先点击二次 置数键(I1.0),此时MW100的内容为“0002”再点击一下移位键(I1.1),此时MW100的内容为“0020”,再点击三次置数键,MW100的内容为“0023”,再点击一下移位键(I1.1),此时MW100的内容为“0230”.....重复四次置数键,MW100的内容为“2325”,注意:移位键只能点击三次,不可点四次。再有为防止按键时打连发,造成置数不准,置数键与移位键应分别输出给二个断电延时定时器(如TOF100与TOF101)定时为500ms,用他们的后沿去使MW100加1,和使其左移4位4。
如若使置数准确明了,可增加PLC的4个输出点做置数显示用,如选用Q2.0、Q2.1、Q2.2、Q2.3四个输出点,每个输出点都接一个发光二极管与2K电阻串联,再接0V。它们分别代表数字1、2、4、8,用MW10的最低位,即M11.0输送给Q2.0,代表数字1,用M11,1输送给Q2.1,代表2,用M11,2输送给Q2.2,代表4,用M11,3输送给Q2.3,代表8。这样当MW10=0时,由于M11.0—M11.3皆为0,故使Q2.0—Q2.3 输出也皆为0,4个发光二极管都不亮。当你点击一下置数键,MW10加1,故M11.0=1,使Q2.0=1,对应的二极管亮,表示此时置数为1,再点击二下,MW10计数为3,使Q2.0与Q2.1对应二极管都亮,表示此时置数为3,即用这4个发光管的发光代表一位16进制数或10进制数。这样你置数时就不会置错,置好数后,按一下移位键,此数被移到上位数位置,而此位数=0,故4个发光管灭。下图是用S7-200编写的梯形图。

3、网友求助:“ 设备:
S7-200 CPU224
旋转编码器Autonics(E50S8-3-T-24) ,编码器每转脉冲数为250,三相A、B、Z
测速辊直径100mm
要求:编码器连接测速辊,目的要计算测速辊的周长每分钟走过多少米”
回复:编码器每转一圈,发出250的脉冲,测速辊直径为100mm,其周长为314mm,则每两相邻脉冲距离=314 / 250 =1.256mm。如果测速辊旋转速度低于200Hz,可用普通输入口计数,否则就得用高速计数器计数,其编程是这一样的:用计数脉冲的后沿,触发一内部位开关(如M3.0)使其置1,M3.0的常开点接定时为1分的定时器T0,,同时使MB9与MW10清0,用M3.0与计数脉冲串联的后沿,使MB9加1,用一比较器用MB9值与250 比较,当MB9=250时,MW10加314值,同时MB9清0….,当定时器延时1分到时,T0触点闭合,使M3.0=0,计数停,用MB9的值乘以1.256,再将其积加入MW10中,此时MW10的值即为测速辊每分走过的距离。下图即为测速梯形图:



潜龙在渊

  • 精华:0帖
  • 求助:0帖
  • 帖子:35帖 | 536回
  • 年度积分:0
  • 历史总积分:914
  • 注册:2007年8月09日
发表于:2010-08-30 15:31:44
21楼
谢谢楼主,对我这个新手来说真是好东西。请教楼主用一个按钮控制电机正反转用S7-200怎么做,考虑了很久不太清楚,请您详细讲解一下,谢谢。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2010-08-30 19:13:47
22楼

楼上的,你的要求只是把单键启停使用两次。

如果我做的话就这样。点击按键进行启停操作。长按按钮1秒,进行方向控制。

这样行不行。

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-08-30 21:18:20
23楼

潜龙在渊网友:按着你的要求,我给你编了S7-200梯形图,用一个按钮起动电机正反转,又增加一个自锁按钮作为电机工作停止开关,你看看,有什么不清楚可以提出,我给你解释。

潜龙在渊

  • 精华:0帖
  • 求助:0帖
  • 帖子:35帖 | 536回
  • 年度积分:0
  • 历史总积分:914
  • 注册:2007年8月09日
发表于:2010-08-31 08:48:14
24楼
谢谢楼主,谢谢,由于我才买了个S7-200和资料学习,对部分指令不是很熟悉,要查资料在理解一下,非常感谢楼主,请楼主以后多多指教。

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-08-31 12:46:25
25楼
潜龙在渊网友:这里我给你讲讲上图的工作原理:I1.1为自锁按钮,抬起位,其常闭触点闭合,使M2.0、M2.1、M2.2、M2.3皆为0状态,此时即使按I1,0启动按钮,SR触发器也不会反转,故电机停止不动。按下I1.1按钮,其常闭点断开,容许电机工作,这时,如按一下I1,0,就会使SR触发器反转,即M2.0=1、M2.1=1,M2.0=1的前沿,触发位开关,使M2.2=1、M2.3=0,M2.2=1 接通T100定时器,延时0.5秒,T100动作,其常开点闭合使Q1.0=1,电机正传运行。如再按一下I1.0按钮,使SR触发器又翻转,其M2.0=0,M2.0的后沿,触发位开关,使M2.2=0-->T00=0,电机立刻断电,同时又使M2.3=1,使T101得电,延时0.5秒T101动作,其触电闭合,使Q1.1=1,电机反转运行。....这样用一个按钮就可实现控制电机反正转。如要想使电机停止运转,抬起I1.1自锁按钮,I1.1的常闭点闭合强迫M2.0、M2.1、M2.2、M2.3四点都=0,T100、T101也=0,Q1.0、Q1.1也=0,电机停止运行。

潜龙在渊

  • 精华:0帖
  • 求助:0帖
  • 帖子:35帖 | 536回
  • 年度积分:0
  • 历史总积分:914
  • 注册:2007年8月09日
发表于:2010-08-31 15:42:21
26楼
非常感谢楼主,谢谢。很详细的工作原理,看来还要对指令熟悉运用才能理解,以后有不懂的还请楼主以后多多指教。

飘在途中

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 11回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2010-09-01 08:26:27
27楼
非常感谢,          藏了!

huzhicai

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 57回
  • 年度积分:0
  • 历史总积分:216
  • 注册:2009年8月07日
发表于:2010-09-08 13:58:12
28楼

你们太厉害了,我要好好学习学习,所以我顶一下

 

wth19861116

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1085回
  • 年度积分:4
  • 历史总积分:207
  • 注册:2008年10月10日
发表于:2010-09-10 19:00:59
29楼

是啊  好好学习

 

wth19861116

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 1085回
  • 年度积分:4
  • 历史总积分:207
  • 注册:2008年10月10日
发表于:2010-09-10 19:01:40
30楼

总算可以发表东西咯

哈哈

 

六月酷鱼

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:44
  • 注册:2010年8月23日
发表于:2010-09-10 22:05:40
31楼
谢谢!我得好好学习,以后有事向各位大侠请教

樱桃花开

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 150回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2007年4月09日
发表于:2010-09-10 22:18:18
32楼
本人第一次用TD200编程。共显示(兼设定)6条信息,信息使能位为V14.7--V14.2.根据要求编好程序下载后,上电,先显示TD200的版本,然后初始化,然后就停留在SIMATIC TD200画面,并没转到我设定的画面,不知为什么,请高手指点。下面是我第一个画面的数据及程序。

该画面为温度显示画面。要求上电或按F1键(M2.0位)或按上箭头或下箭头就可以转到该画面。

VB0 ‘TD‘ //
VB2 16#60 //设置‘语言’为 中文,设置‘更新速率’为 尽可能快
VB3 16#B1 //设置显示为 40 字符模式; ENTER 键 V3.1;‘向上’键 V3.2;‘向下’键 V3.3;
VB4 6 //设置信息条数
VB5 16#82 //设置功能键对应位为 M2.0 - M2.7,F 键已配置为瞬动触点
VW6 24 //将信息起始地址设为 VB24
VW8 14 //将信息使能位起始地址设为 VW14
VW10 65535 //全局密码 (如使能)
VW12 256 //字符集 = 简体中文
//MESSAGE 1
//信息使能位 V14.7
VB24 ‘水箱温度:
VB34 16#00 //无编辑;无确认;无密码;
VB35 16#10 //有符号字; 小数点右侧保留 0 位小数;
VW36 16#0000 //嵌入数据:将数据传送到此处显示。
VB38 ‘出口温度:
VB54 16#00 //无编辑;无确认;无密码;
VB55 16#10 //有符号字; 小数点右侧保留 0 位小数;
VW56 16#0000 //嵌入数据:将数据传送到此处显示。

VB58





晕,怎么传程序上来 ? 还望高手指教,谢谢!

樱桃花开

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 150回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2007年4月09日
发表于:2010-09-10 22:45:49
33楼

以上所说的程序如下图所示,请高手指点到底在哪出了错?谢谢!

樱桃花开

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 150回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2007年4月09日
发表于:2010-09-13 00:47:53
34楼

怎么没人回答我的问题啊?55555555

 

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-09-13 07:57:38
35楼
樱桃花开:由于本人没有用过TD200,想让搞过的网友能给于回答,所以没有及时回帖。我看了一下程序,提点不成熟看法:如果开机第一次扫描,V14.7不能置1,再按F1键(M2.0=1)仍然不能使V14.7=1的话,应检查该程序下面的程序,可能有强迫使V14.7置0的语句存在,虽然你这段程序使V14.7=1,但程序扫描使V14.7=0的语句,又将其置0。仅供参考。

樱桃花开

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 150回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2007年4月09日
发表于:2010-09-14 00:35:24
36楼
谢谢楼主回答!感觉好像没有你说的情况存在。我再仔细查查我的程序看看!

edifie

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 28回
  • 年度积分:0
  • 历史总积分:68
  • 注册:2003年12月14日
发表于:2010-09-20 14:07:10
37楼
不错,学习了非常感谢

zhangyusongzs

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:24
  • 注册:2010年9月02日
发表于:2010-09-28 15:51:25
38楼

用s7-200plc和2台两相步进电机怎样做一个冲床自动送料系统请高人指点(包括梯形图和电路系统图)

wyb2866255

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2010-09-29 21:56:59
39楼

38楼网友:你能把冲床自动送料系统的工艺流程(动作过程),二台步进机都是控制什么讲清楚,方可帮你想办法

樱桃花开

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 150回
  • 年度积分:0
  • 历史总积分:72
  • 注册:2007年4月09日
发表于:2010-10-29 00:18:57
40楼

樱桃花开:由于本人没有用过TD200,想让搞过的网友能给于回答,所以没有及时回帖。我看了一下程序,提点不成熟看法:如果开机第一次扫描,V14.7不能置1,再按F1键(M2.0=1)仍然不能使V14.7=1的话,应检查该程序下面的程序,可能有强迫使V14.7置0的语句存在,虽然你这段程序使V14.7=1,但程序扫描使V14.7=0的语句,又将其置0。仅供参考

 

谢谢楼主,确实是地址有冲突。该问题已解决。谢谢!

 

 


热门招聘
相关主题

官方公众号

智造工程师