技术论坛

 回复:S7-300让我在控友面前丢了人

返回主题列表
作者 主题
电气人生
侠客

经验值:682
发帖数:285
精华帖:4
楼主    2010-05-07 15:28:00
主题:S7-300让我在控友面前丢了人
PLC应该是我从事电气工作中经常用的东东.从事工控行业10多年,各种大牌小牌、国际国内基本都涉及过,对我的工作确实添色不少,从心底里感激PLC!然而在这次给徒弟传道中却使我感到有些丢人,因为S7-300系列也是我生活中常用的东东,这次却让我险些翻了船。是这么回事,一次一网友(刚自动化专业毕业的学生)问我个问题,是关于S7-300如何实现长延时的问题。对于常用PLC的人来说,这类程序应该很简单,有很多方法可以实现。于是我就以常用的计时器+计数器的方法写个小程序,很自信的给其发了过去,谁知没过多久控友回信说,程序仿真运行不能实现长延时功能。我以为是程序问题,回头仔细查了下一点问题没有,其他PLC写这类程序也是这么个写法啊,于是我仿真该程序,确实没法实现长延时功能。我就纳闷了:明明程序简单易懂又没什么错误,为什么不能实现长延时功能呢?百思不得其解。程序如下(程序为梯形图,由于没法上传图片,改为语句表)
程序段1
AN T 3
L S5T#2S
SD T 3
A I 0.1
R T 3
NOP 0
NOP 0
NOP 0
程序段2
A T 3
CD C 1
BLD 101
A I 0.0
L C#15
S C 1
A I 0.1
R C 1
L C 1
T MW 24
LC C 1
T MW 28
NOP 0
程序段3

AN C 1
= M 50.0

上述程序的编写方法,在其他牌子的PLC中是可行的,为什么在S7-300中仿真却实现不了这个功能呢?难道是仿真软件问题还是300PLC本身的计时器问题?由于没有硬件没法验证,所以只有通过仿真来验证。从PLC程序运行原理上讲,300PLC开机运行系统程序,然后运行用户主组织程序OB1,而且在运行过程中对用户程序进行循环扫描,从上而下,从左到右周而复始。无论如何,定时器T3计时到时其位触点T3应该有一个周期的导通时间,而这个导通时间也足以触发计数器计数,为什么偏偏计数器没有计数呢?真是让人费解。
所以,思前想后将程序做了小改动,从而实现了计时器+计数器长延时功能。但第一个程序不能实现的原因一直没法找到,毕竟在其他PLC中一直这样用。所以对第一段程序来说,也可能仿真没法实现的问题,而把程序灌入实际的机器中能够实现。真是希望问题是这样的。但愿是仿真软件不健全造成的而不是300本身!恳请手头有300硬件的朋友实际做下,如能实现则是情理之中的事情,否则,300PLC则会让人大跌眼镜!难道还真要慎重使用计时器的位元件?希望同行验证告知!
修改程序如下:
程序段1
AN M 23.0
L S5T#2S
SD T 3
A I 0.1
R T 3
NOP 0
NOP 0
NOP 0
程序段2
A T 3
= M 23.0
程序段3
A M 23.0
CD C 1
BLD 101
A I 0.0
L C#15
S C 1
A I 0.1
R C 1
L C 1
T MW 24
LC C 1
T MW 28
NOP 0
程序段4
AN C 1
= M 50.0

本人QQ:752580850,
welfare1987
奇侠

经验值:7018
发帖数:763
精华帖:3
10楼    2010-05-07 23:18:39
精华帖  主题:回复:S7-300让我在控友面前丢了人
我看了楼主的第一个程序,扫描顺序对楼主的程序有影响,不是T3本身不能作为T3的触发条件的问题;
只要把程序段1和程序段2调换一下位置就可以了

万物皆有用.用坚强的毅力把机遇变成成功!
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。