首页 上一页 1 2 下一页 尾页

奥妙的PLC扫描周期 点击:2932 | 回复:31



ckq工控

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:243
  • 注册:2013年9月13日
发表于:2013-09-14 20:09:21
楼主


由于plc是从左到右,从上到下,周期性扫描运行的,所以在编程时候程序放置的位置很重要。本人编制了以上一段程序同大伙一块探讨。为何条件满足了但是Y0没有接通呢!原因?




yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10210回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2013-09-15 06:44:06
1楼

原因在于D0的值在下一周期内立即被写入K1,这是明显有Bug的程序,实际这属于程序员逻辑错误了。

银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-09-15 08:07:56
2楼

扫描周期还真没研究过,可以是一种BUG;

第五纪冰川

  • 精华:3帖
  • 求助:5帖
  • 帖子:37帖 | 4224回
  • 年度积分:3
  • 历史总积分:12263
  • 注册:2005年2月18日
发表于:2013-09-15 09:27:47
3楼

基本常识性错误。                                  

ljbcompany

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 1289回
  • 年度积分:0
  • 历史总积分:5847
  • 注册:2011年4月24日
发表于:2013-09-15 10:33:44
4楼

关键还是时序问题,总是最后的才执行。

ckq工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:243
  • 注册:2013年9月13日
发表于:2013-09-15 20:58:56
5楼

回复内容:

对: yuanle 原因在于D0的值在下一周期内立即被写入K1,这是明显有... 内容的回复!


哈哈,有趣的bug,这就是程序扫描的奥秘,你说D0在下一个周期内被写入k1,那为何D0等于K1的条件没接通,等于k2的却接通了呢?

ckq工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:243
  • 注册:2013年9月13日
发表于:2013-09-15 21:01:43
6楼

回复内容:

对: ljbcompany 关键还是时序问题,总是最后的才执行。 内容的回复!


按照你这么说,总是最后的才执行,那么D0就应该等于k2咯?那为何Y0却没有接通,原因?

ckq工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 13回
  • 年度积分:0
  • 历史总积分:243
  • 注册:2013年9月13日
发表于:2013-09-15 21:02:25
7楼

回复内容:

对: 第五纪冰川 基本常识性错误。                   ... 内容的回复!


错在哪里?

dabanshuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2012年3月12日
发表于:2013-09-16 07:09:20
8楼

你把SM400 换成SM413试试  可能扫描时间太快了 看不到跳变的现象

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 21回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2007年9月16日
发表于:2013-09-17 22:45:48
9楼

楼主说的很清楚了,程序是从上到下,从左到右,

y0使用的是mov k1 d0 的值,y1使用mov k2 d0的值



z4951879

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2008年11月28日
发表于:2013-09-20 12:43:31
10楼

好像PLC程序是错误的呢

ss330477403

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 66回
  • 年度积分:0
  • 历史总积分:187
  • 注册:2011年1月24日
发表于:2013-09-24 18:36:27
11楼

和双线圈错误一样,只不过用的是数据存储器。

tiantianfuyu

  • 精华:0帖
  • 求助:14帖
  • 帖子:14帖 | 97回
  • 年度积分:0
  • 历史总积分:110
  • 注册:2013年4月02日
发表于:2013-09-24 20:02:44
12楼

楼主,能否解释一下呢

勃龙工控

  • 精华:2帖
  • 求助:0帖
  • 帖子:45帖 | 2857回
  • 年度积分:0
  • 历史总积分:6383
  • 注册:2004年4月03日
发表于:2013-09-25 01:46:10
13楼

有的重要,有的不重要

jattly

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 47回
  • 年度积分:0
  • 历史总积分:30
  • 注册:2013年4月15日
发表于:2013-09-25 06:13:23
14楼

回复内容:

对: z4951879  好像PLC程序是错误的呢 内容的回复!


 是呀,错的

东坡牧羊人

  • 精华:0帖
  • 求助:1帖
  • 帖子:16帖 | 1092回
  • 年度积分:32
  • 历史总积分:2061
  • 注册:2008年7月31日
发表于:2013-09-25 08:07:23
15楼

引用 yuanle 的回复内容: 原因在于D0的值在下一周期内立即被写入K1,这是明显有...



芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2013-09-25 09:20:22
16楼

连扫描原理都不清楚?还有什么是知道的?

okyouandme

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2013-09-26 16:52:41
17楼

Y0的条件不满足的 Y1的满足的 应该是Y0没输出 Y1有输出 你这个现象可能是软件显示的问题吧。。。。 也有可能 软件收到的监控值只是循环扫描周期结束时的数据,并不反映程序中间的状态值的变化,因为速度太快了?。。。

okyouandme

  • 精华:0帖
  • 求助:6帖
  • 帖子:12帖 | 70回
  • 年度积分:0
  • 历史总积分:203
  • 注册:2010年12月04日
发表于:2013-09-26 21:29:14
18楼

不是速度快,应该是PLC在循环扫描结束时发送数据给监控软件的

chyjt

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 113回
  • 年度积分:0
  • 历史总积分:537
  • 注册:2009年6月09日
发表于:2013-09-29 09:18:16
19楼

引用 芳季 的回复内容: 连扫描原理都不清楚?还有什么是知道的? 


 同意

楼主在end处算算结果不就知道了吗,

开始:

第一步:D0=1;

第三步:条件不满足,跳过;

第七步:条件满足,Y1计算得ON;

第十一步:D0=2

END:合算得D0=2;Y1=ON并将计算映射输出,则Y1输出,D0=2.

第二个扫描周期开始:重复第一步。

liuweiwei

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 45回
  • 年度积分:0
  • 历史总积分:87
  • 注册:2008年6月16日
发表于:2013-09-29 13:13:18
20楼

这是显而易见的结果,时序逻辑错误。


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页