三菱PLC与西门子PLC比较有什么优点 点击:52634 | 回复:315



楚七剑

    
  • 精华:1帖
  • 求助:0帖
  • 帖子:3帖 | 1回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2003年11月12日
发表于:2007-01-05 17:11:00
楼主
请教各位大虾,三菱PLC与西门子PLC比较,什么方面三菱比较好,什么方面西门子好?谢谢赐教!



wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 19:29:50
221楼

 

  “红圈告诉你,DD8140在什么时候刷新”?那我就告诉你吧!46步号处DMOV指令中的DD8140的内容是在M3导通的这个周期中运算PLSY指令之时随即刷新的。

 

  这个周期与前一个周期相差约20mS,当然的再次记录的数据就应该相差一个约20mS时间内高速指令按照指定频率发出的脉冲数 !在本例中是208个1。

     

虫子

  • 精华:0帖
  • 求助:1帖
  • 帖子:20帖 | 1062回
  • 年度积分:0
  • 历史总积分:3730
  • 注册:2009年8月01日
发表于:2011-01-09 19:33:24
222楼
顶顶顶顶顶顶顶~~~~~~~~~~~~~~

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 19:34:40
223楼

 引用<芳>的内容:

 

  『 要比较这两个PLC的话大可以运行相同的架构的程序。221都可以得到随即即时的当前值。一个周期下来每一个读取的值都不是一样的。

  要我证实的话不证实了。221没有产品用得上,这个不买了。』

 

 


 
  Wanggq回复:

 

  光凭你空口无据的说『 运行相同的架构的程序。221都可以得到随即即时的当前值。一个周期下来每一个读取的值都不是一样的 』是毫无说服力的!

 

  你没有CPU221,那你还不会用CPU222 / CPU224 / CPU226来做实验吗?!

      

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-09 19:54:38
224楼

答对了。

所以不执行PLS指令的话是不刷新当前值的。

是不?

改天我用相同的架构用200做一个。看有什么不同。但是西门子的话就要用一个高速计数器专门去记录当前值了。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 19:58:15
225楼

    

   在S7-200的PLC上,让它以10000Hz的频率输出高速脉冲。你也用两个MOV指令一前一后的相隔20mS的时差传送高速脉冲数据的当前值,看它是不是像你那样苛求FX1s要做到的:两个紧挨着的、没有“断点”的、只差一个“1”的俩新鲜数据

                               

芳季

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

如果我用了226xm做实验的话会被你怀疑:为何不用最低的221做!这样没有说服力。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 20:15:04
227楼

 

  没事的!就让你用S7-200系列里功能最强的CPU226 !

 

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-09 20:36:41
228楼
引用wanggq 的回复内容:

    

   在S7-200的PLC上,让它以10000Hz的频率输出高速脉冲。你也用两个MOV指令一前一后的相隔20mS的时差传送DD8140的当前值,看它是不是像你那样苛求FX1s要做到的:两个紧挨着的、没有“断点”的、只差一个“1”的俩数据!

                               



 

严正声明。我没有这样说要两次紧挨。你哪里看见我这样说的?原来你是这样理解“断点”。那我误会你了。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 20:40:20
229楼

 

  亲爱的<芳> 知难而退的吧?嘿嘿!!!西门子S7-200在输出10000Hz的情况下,无论如何也不可能做到用一个程序中相隔20mS的两个时刻去读取到『没有断点』的相邻两个连续的新鲜数据!

         

  什么叫读出『输出脉冲数据』时出现的“断点”? 我理解这个“断点”就是接连两次读出的两个数据之间存在缺失的数据,形成一个空隔。这个“空隔”就叫做“断点”。譬如:有俩数据“44384”及“44386”之间存在一个缺失的数据:“44385”,它就是该俩数据之间的“断点”。

 

  S7-200的高速脉冲的指标上限是20KHz,也就是说如果连续读取S7-200的(20KHz)高速脉冲数据要不出现“断点”,就得每隔0.05mS的时间就要执行一次高速脉冲数据的当前值!难道芳有本事能在S7-200上准确的安排出连续的一串只相隔0.05mS的几个读取输出脉冲当前值的指令吗?!!!

         

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-09 20:49:48
230楼
无内文。(也无需内文)

芳季

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

退什么?又不是打擂台。比较一下罢了。

我哪里说过要连续。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 20:54:11
232楼

 

  芳是在问“哪里说过要连续”是吧?那就请看这芳在179楼的帖子复制图片:

  芳在第179楼的帖子中说:『 首先批评一个,当前脉冲数的DD8140;DD8142必须等到执行END指令才能刷新,使得这个寄存器的值不能连续,有断点 』芳误以为这个DD8140(或DD8142)是一个硬件的计数器!其实,DD8140 / DD9142 它们是“软元件”!它们是受程序指令的控制的,也就是说,你的程序要去读“硬件计数器”,硬件计数器中的数值才写到DD8140 / DD8142 里去!芳自己搞不懂这个道理,就胡说FX1s的PLSY指令的输出数据不连续
                                
  <芳>在205楼写出来的程序不能连续的去读取硬件计数器的内容,DD8140中又怎么会逐次写入连续的数据呢!芳把自己的“无能”归咎于FX1s的脉冲功能本身!可笑!!
                                                     

  客观规律决定了:PLSY指令让Y00以10000Hz的频率输出高速脉冲,在此前提下,一前一后相隔约20mS的两个时刻所读取DD8140的两个当前值,两个当前值数据之间理所当然有一大段数据(约200个数据)是缺失的!同样,在S7-200上也决不可能例外的挣脱这一客观规律的制约!!

          

芳季

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

当高速输出很高的时候。尽管连续执行两次MOV,都会产生两个相差大于1的计数值。只有当脉冲周期大于指令执行周期的时候才可能两次读取之间相差小于等于1。(指200)

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-09 21:09:44
234楼

也不能说是理所当然。上面不是证实了吗。

同是相差20毫秒。有的就一样,有的就不一样。不是吗?

这是因为刷新的原理。而200是直读。好像200的1毫秒的计时器,同一个周期不同地方计时器值是不同的。三菱的不知道是不是也一样?我没有证实。

反正就是有缓冲和没有缓冲类似吧。

为了程序使用的一致性,可以先MOV到一个地方然后以后就是用这个地方。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-09 21:31:41
235楼

 

      引用<芳>的内容:

  『 也不能说是理所当然。上面不是证实了吗。

    同是相差20毫秒。有的就一样,有的就不一样。不是吗?』



 

 

  <Wanggq>回复:

 

  <芳>以为上面证实了什么?

 

  “ 有的相同”譬如DD10与DD12:DD14与DD16是因为你把它们两两组合,分别写在同一个读取脉冲输出数据的“区域”中。这两个“区域”中的D8140的内容分别都是由一个时刻读取输出脉冲数据时写入的!

  如果<芳>把这4个32位数据寄存器分别去记录4个时刻所读取的对应4个数据,那么它们就可以分别反应高速脉冲输出过程中的对应4个时刻的数据!

 

  实现分别记录4个时刻的新鲜数据的FX程序,我将在明天抽时间贴出来!这个程序以<芳>贴在205楼的那个梯形图为原型,只需把其中的弱智毛病去掉,然后在该读取数据的时候即时的去读取脉冲计数器的内容写入DD8140,再由DD8140 分别传送给DD10 / DD12 / DD14 / DD16就能在同一个扫描周期里多次获得新鲜的输出脉冲数据!
  

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-10 15:36:24
236楼

西门子的做出来了。

 

图中反应了三次读高速计数器的值都是最新鲜的。VD0;VD4;VD8是同一个周期传送的。他们的值各不相同。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-10 16:43:08
237楼

 

  我把<芳>在FX1s上犯的错误纠正后,4个时刻读出的数据就是新鲜的!它们分别传送到DD10 /DD12 / DD14 / DD16 中存放。

 

             

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-10 17:02:25
238楼

 

  这4个最新鲜的高速输出脉冲的数据分别是:

 

  DD10 :4336

   

  DD12 :4656

       

  DD14 :4752

             

  DD16 :4864

        

  其中DD12 / DD14 / DD16 的数据是在同一个扫描周期里的3个不同时刻读取的DD8140之对应时刻的当前值。

 

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2011-01-10 21:49:15
239楼

完全明白。(不要用犯错这个字眼吧)

你把我刚想的却做出来了。

没错。所以我把PLSY指令放在子程序里。不知道你有没有感应到。我知道我的程序完全不需要用子程序调用PLSY。我也知道如果写多次PLS的话会报错的。唯有把它放在子程序中,使得程序里PLS的数量始终是一个。避开了这个限制。

看来w真不简单。

在下无话可说。

wanggq

  • 精华:2帖
  • 求助:0帖
  • 帖子:24帖 | 5342回
  • 年度积分:0
  • 历史总积分:10407
  • 注册:2004年8月21日
发表于:2011-01-10 22:48:01
240楼

 

      芳现在该知道不同的PLC,不同的编程语言,各有各的长处,各有各的不足了吧!不要动不动就打击国人学习科学技术的信心!   

          


热门招聘
相关主题

官方公众号

智造工程师