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

怎样在PLC上测试程序中某功能片断完成功能所消耗的时间? 点击:1604 | 回复:34



wanggq

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-11 14:52:17
楼主

 

  在PLC程序中插入某一指定“目标功能”的片断,方法是多种多样的。有时候我们想比较一下在同一PLC上以哪种方法来完成某指定“目标功能”所需的时间最短?

 



楼主最近还看过



wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-14 19:42:02
21楼

 

LD :  0.08 微秒

 

SER :   (条件ON时)129.2+8.6 n 微秒  (条件OFF时)22.9  微秒

 

DMOV :  (条件ON时)1.84 微秒         (条件OFF时)1.84  微秒

 

MOV :    (条件ON时)1.52 微秒         (条件OFF时)1.52  微秒

 

 

   构成“检索查找法”的各条指令在完成指定任务(从60个数据中查找到其最大值与最小值)的过程中所执行的时间总和为:650.16 微秒 约:0.65 毫秒。

 

0.08+645.2+1.84+1.52+1.52 650.16 (微秒)

 

 

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:60帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2012-05-14 23:26:26
22楼

鉴于楼主比较关注这个速度的问题,参照楼主的思路做了如下图片,如果计算无误的话说明牺牲空间是可以换取速度的

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-15 13:57:39
23楼

 

  很高兴看到22楼的这样的内容!这才是有讨论意义的帖子!

 

      我可以指出这个帖子的有一点错误吗?

 

  从 D10 至 D59 只是 50 个数据而非60 个。

  

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-15 14:28:51
24楼

 

   关于计算指令时间的问题我需请教“938”老师:这个FEND指令的时间“580+3.5X+5Y”该不该算在这个“跳转型的片断”中?

 

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:60帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2012-05-15 14:46:05
25楼
回23楼,是我的疏忽,应该从D10到D69.FEND不应计入功能片段时间内,因为SER指令实现的功能片段后面也需要FEND指令,或者说执行完P0后,你想要的结果已经有了

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-15 15:08:12
26楼

 

  经过指令的执行时间计算,我也发现:把 “ LDP   X3        RST   V ” 改写成:“ LD   X3     MOVP  K0  V ” 也能节省(相对)较多的时间。

 

 “ LDP    X3      RST   V ”  的执行时间计算值是: 44+22 / 44+18 :

 

 “ LD     X3       MOVP   K0    V ” 的执行时间计算值是: 0.08+1.52  。

 

  前者在程序中的“步数”是:2+3=5 (步)

 

  而后者在程序中的“步数”是:1+5=6 (步)

 

  所以,有的情况下程序的“最简短”并不一定代表其执行速度“最快”!

        

winter938

  • 精华:1帖
  • 求助:0帖
  • 帖子:60帖 | 945回
  • 年度积分:0
  • 历史总积分:3418
  • 注册:2005年6月12日
发表于:2012-05-15 15:24:47
27楼
变址寻址方式会比较大幅度的增加指令执行时间,寻址范围不同也会如此,另脉冲执行指令MOVP的执行时间手册上的说明让人觉得有些奇怪,不执行的时候达到了16.1us,检测到上升沿执行时为1.52us。。。。。。。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-15 15:35:43
28楼

 

  同理,把 “ LDP  X3      INV     CJ  P0 ”  改写成:“ LD    X3      PLS    M0 ” + “ LDI   M0       CJ  P0 ”  也能节省时间。

 

  LDP     X3

 

      INV

 

     CJ   P0

 

    其执行时间的计算值为:44+0.08+29=73.08 (微秒) /  44+0.08+6.4=50.48

 

  LD    X3

      PLS   M0

      LDI    M0

      CJ     P0

 

      其执行时间的计算值为:0.08+0.32+0.08+29=29.48 /   0.08+0.32+0.08+6.4=6.88 (微秒)

   

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-17 14:30:28
29楼

 

  经27楼的“938”点拨,我重新查阅了《编程手册》的相关内容。现在认识到我在20楼 / 21楼的计算应该做一些修正。

 

  先说20楼的问题。20楼的计算以2楼的“变址比较法”梯形图片断为依据。原20楼的计算因为没有注意到变址情形下,MOV指令的执行时间有所影响,所以计算结果发生了错误。

 

  这是“变址比较法”片断所用各指令的执行时间,标注在梯形图上:

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-17 15:53:16
30楼

 

  

《编程手册》(版本号:Y992D87701A)第441页至446页的相关内容:

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-17 16:46:01
31楼

 

  LDP  : 44  微秒

 

  FMOV: (条件 ON 时) 69.1+2.8 n  微秒   (条件 OFF 时)6.4 微秒

 

  RST V: (条件 ON 时) 22 微秒   (条件 OFF 时) 18 微秒

 

  LD>  (带变址): 90.7 微秒

 

  LD<  (带变址): 90.7 微秒 

 

  MOV  (带变址): (条件ON 时)80.5 微秒  (条件OFF 时)6.4 微秒

 

  INC :(条件ON 时)18.8 微秒  (条件OFF 时)6.4 微秒

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-19 14:09:01
32楼

 

构成“变址比较法”所用各条指令在完成指定任务(从60个数据中查找到其最大值与最小值)的过程中总的执行时间(总和)为:16.75 21.12 毫秒之间。

  

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-19 14:32:01
33楼

 

                         

 

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:33帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2012-05-19 14:53:40
34楼
 执行时间最小总和:

44×5969.12.8×26.4×582218×5890.7×2×59+(6.46.4)×591.52×5918.8×586.4

 

2596445.9106610702.6755.289.681096.8

 

16752.18  (微秒)  约:16.75 毫秒。

 

 

  执行时间最大总和:

44×5969.12.8×26.4×582218×5890.7×2×59+(80.56.4)×591.52×5918.8×586.4

 

2596445.9106610702.65127.189.681096.8

 

21124.08  (微秒)  约:21.12 毫秒。

 

  这是该图片所示“变址比较法”片断在完成指定功能过程中各条指令执行时间的总和,但这个总和并不是该片断“从启动查找命令开始至完成搜遍指定的60个数据从中比较出最大值与最小值截止”的时间。


热门招聘
相关主题

官方公众号

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