大神帮忙看看这段PLC SCL语言写的程序 点击:2688 | 回复:18



hgwxtzz

    
  • 精华:2帖
  • 求助:3帖
  • 帖子:8帖 | 25回
  • 年度积分:115
  • 历史总积分:4724
  • 注册:2015年11月03日
发表于:2015-11-10 10:31:08
楼主

这段西门子S7-300的SCL语言编的程序不是很明白,看了两天了还是不明白它的功能,老板催得紧,头发都急白了,急求大神帮忙解读下不胜感激!!!

函数里面的变量中文意思是小弟翻译解读的,整体的函数功能不是很懂,向各位大神请教!

第一张图片是函数的输入输出,后面几张图是具体函数





pdengong

  • [版主]
  • 精华:20帖
  • 求助:71帖
  • 帖子:1936帖 | 3670回
  • 年度积分:936
  • 历史总积分:54944
  • 注册:2011年4月11日
发表于:2015-11-10 10:49:54
1楼

不是每段程序都有说明嘛。

我手机看的感觉图片不太清楚。

hgwxtzz

  • 精华:2帖
  • 求助:3帖
  • 帖子:8帖 | 25回
  • 年度积分:115
  • 历史总积分:4724
  • 注册:2015年11月03日
发表于:2015-11-10 10:54:14
2楼

谢谢大神,说明是能看懂,就是具体的算法不是很懂,输入输出的关系不是明白

hgwxtzz

  • 精华:2帖
  • 求助:3帖
  • 帖子:8帖 | 25回
  • 年度积分:115
  • 历史总积分:4724
  • 注册:2015年11月03日
发表于:2015-11-10 10:54:52
3楼


回复内容:

对: pdengong 不是每段程序都有说明嘛。我手机看的感觉图片不太清楚。 内容的回复!

谢谢大神,说明是能看懂,就是具体的算法不是很懂,输入输出的关系不是明白

和工控在一起

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2015年7月28日
发表于:2015-11-10 11:11:37
4楼

我也是初学,看着好复杂啊 这个只有大神能解了 哈哈 坐等吧

hgwxtzz

  • 精华:2帖
  • 求助:3帖
  • 帖子:8帖 | 25回
  • 年度积分:115
  • 历史总积分:4724
  • 注册:2015年11月03日
发表于:2015-11-10 11:12:46
5楼


回复内容:

对: 和工控在一起 我也是初学,看着好复杂啊 这个只有大神能解了 哈哈 坐等吧 内容的回复!

额,谢谢关注,相互学习,坐等大神!

雷日化工

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 16回
  • 年度积分:0
  • 历史总积分:32
  • 注册:2015年9月14日
发表于:2015-11-10 14:13:22
6楼

我们可以做这种项目,有意向就聊聊

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2015-11-10 15:20:53
7楼

大致看了一下,就是设定加减速的,设定加速,匀速,减速。。。。这个经常要用到,比如电梯运行。。。。。。比如你要要电梯运行3层,那么定好距离,设定好最高速度,设定好加减速时间,调用一下这条指令,后面是输出指示,当处于加速度时,bup输出1,当处于减速时候,bdown输出1。。。简单看了一下。。。。就是这些了。。。大框框不会错了。。细节部分自己看吧。。

hgwxtzz

  • 精华:2帖
  • 求助:3帖
  • 帖子:8帖 | 25回
  • 年度积分:115
  • 历史总积分:4724
  • 注册:2015年11月03日
发表于:2015-11-10 15:44:15
8楼


回复内容:

对: 通讯网 大致看了一下,就是设定加减速的,设定加速,匀速,减速。... 内容的回复!

就是第一部分cycle time怎么运行的,怎样计算程序的运行时间的

CycleTime(IN:=TRUE, PT:=T#1h);

  OneCycleTime := DINT_TO_REAL(TIME_TO_DINT(CycleTime.ET));

  CycleTime(IN:=FALSE, PT:=T#1h);

  CycleTime(IN:=TRUE, PT:=T#1h);

  // Check current cycle time 检查当前的循环时间

  IF OneCycleTime < 1 THEN

    OneCycleTime := 1;

  END_IF;

  

  // Fixed cycle time 固定循环时间

  OneCycleTime := 100;

这段程序不知道什么意思,求大神继续指导,有啥关于西门子SCL的相关资料么,我邮箱854999083@qq.com

通讯网

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2015-11-11 17:14:12
9楼

循环时间是,比如你设定一个加速匀速减速周期,最少20秒,可是你的循环时间设定为15秒,显然不合适,怎么也要比20秒要长吧。。。30,40等

和工控在一起

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 23回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2015年7月28日
发表于:2015-11-12 14:54:43
10楼

大神,您说的啥意思,我怎么看不懂啊,程序里cycletime 不是设定为100ms吗?加速段分为直线加速10s和曲线加速2.5s,fEndRoundPoint 是啥意思?请指教

放晴

  • 精华:2帖
  • 求助:16帖
  • 帖子:17帖 | 84回
  • 年度积分:0
  • 历史总积分:271
  • 注册:2015年11月01日
发表于:2015-11-12 21:53:44
11楼

看着像学过的C语言,不过都还给老师了。。。

惭愧。。。


flylovemore--王者之师

  • 精华:0帖
  • 求助:4帖
  • 帖子:11帖 | 329回
  • 年度积分:5
  • 历史总积分:1026
  • 注册:2011年2月23日
发表于:2015-11-20 11:08:57
12楼

太强了,牛!!!!!!!!!!!!!!!

prol

  • 精华:0帖
  • 求助:6帖
  • 帖子:25帖 | 354回
  • 年度积分:28
  • 历史总积分:3919
  • 注册:2015年9月02日
发表于:2015-11-23 17:51:00
13楼

谢谢楼主分享!!!!!!!!!!!

dggs

  • 精华:1帖
  • 求助:0帖
  • 帖子:36帖 | 42回
  • 年度积分:100
  • 历史总积分:1031
  • 注册:2002年11月22日
发表于:2015-11-23 19:05:37
14楼

这是一个控制加减速的功能块,具体里面的程序你可以不用管它,你只要会使用它就行了!

sileizhihen

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 473回
  • 年度积分:0
  • 历史总积分:2657
  • 注册:2011年7月11日
发表于:2016-01-26 15:45:10
15楼


引用 prol 的回复内容: 谢谢楼主分享!!!!!!!!!!!


diaonima

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 617回
  • 年度积分:0
  • 历史总积分:866
  • 注册:2008年5月30日
发表于:2016-02-21 13:52:29
16楼

他注释说的比较清楚了!自己在仔细看看看!就察不多了

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 9回
  • 年度积分:0
  • 历史总积分:12
  • 注册:2004年6月07日
发表于:2016-02-22 12:51:12
17楼

hi,最大的问题是要理解CycleTime及OnecycleTime是什么?

    然后再到PLC程序中去去看interface中的描述。

    理解Pascal的语言规则,再看点继承与封装的基本知识就可以了。

使用功能块不需要理解内部的东东,你只要知道它能干什么,输入输出放在哪就可以了。

zacao0902

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 54回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2015年4月01日
发表于:2016-10-25 11:01:24
18楼

谢谢楼主分享,学习一下......................


热门招聘
相关主题

官方公众号

智造工程师