PLC技术漫谈之2.2.2软PLC 点击:2172 | 回复:12



王晟磊

    
  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-11-16 18:05:00
楼主

    2.2.2软PLC
    软PLC架构大多只有一块通用处理器,软PLC的出现主要基于这么一个考虑:通用MCU的价格越来越低性能越来越高。特别是解释型的虚拟机架构在DCS上面得到了多年的运用,所以在前几年大家纷纷推出了自已的软PLC。目前国内大多数小型PLC都是软PLC,使用的MCU主要是日立的H8,西门子的C164系列,然后其它低档的大多是89C51了。在实现上面大多数小PLC都采用编译型,因为小PLC大多采用的是低档低速的MCU,没有足够的资源的成本去采用解释型的运算。相反中大型的软PLC有不少是采用解释型的处理方式,比方说现在商用ISAGRAF、KW、一方梯队等都可以根据用户的需要选取是编译型还是解释型。
    
    通常硬PLC要比编译型的软PLC快10~100倍,而编译型的速度要比解释型的速度快3~10倍。大家大都知道C语言与BASIC的区别,C语言就是编译型的语言,BASIC就是解释型的语言。在软PLC里面也同样存在两种类似的实现方式。
    
    那么用那种方式更好一些呢?
    这不能这么简单的说好与坏,如果是DCS或者中大型的PLC采用486以上的CPU那么速度就不是关键了,更重要的是功能和灵活性,那么采用解释型可以很好的解决在线编程和自定义功能块等功能。相反如果在小型PLC里面,成本和性能成为了关键矛盾,如何在低成本的情况下达到最高的性能成为了关键,同时小型PLC大多不需要很复杂的功能,所以真编译应该是最好的选择。国外小型软PLC多采用西门子的C164和日立的H8,特别日立的H8有丰富的位指令,可以比较好的解决软PLC的瓶颈位处理速度慢的问题,而PLC大多数情况下又都是位处理。国内的软PLC除了几家从国外引进技术或贴牌的其它的大多使用89C51,在实现上面编译型和解释型都有,如何区分是编译型还是解释型呢,其实只要看速度就行了,如果单指令速度比较慢的大多是解释型,反之是编译型。
    编译型的实现,简单说就是先将PLC的指令和功能块都用C语言或者汇编语言编写成函数库,然后再用C语言写一个框架代码,用户用梯型图编写完程序后,梯型图编译器将生成一个框架文件,将所有指令的函数替代,并调用C编译器,最后生成单片机的二进制文件,下载到控制器,由控制器执行。刚说过其中有一个框架代码,这个框架代码内就实现通信、IO驱动、管理等功能。而逻辑都由函数库的指令组合完成,如果大家有编译原理的基础,一听就会明白,这其实是回避了PLC开发里面最麻烦的一个问题,也就是编译工具。
    解释型的实现,简单说就是一个虚拟机架构,厂商定义了一种虚拟机指令,其实这个虚拟机就相当于一个软CPU,它也有它的指令,它的指令比方说是IEC61131-3要求的指令等。虚拟机在运行时从代码中逐一取回指令并通过一个查找表跳转到对应的指令去运行,如果大家对早期的大型机电脑有了解,那么一定会知道,当时的大型机资源很宝贵,一般是很多位程序员合用一台大型机比方说PDP系列,程序员编写完程序后通过终端把自己的程序录进大型机排队运行。因为大型机的厂商不同,各厂商的机器码也不同,所以大家都在大型机上运行一个虚拟机来统一程序员对口的指令。
    
    2.2.3PLC技术的选择和对比:
    海维深刚开始控制器研发时,做的是软PLC(PPC31系列中型PLC),采用的是解释型实现,这在中大型的DCS或PLC方面是合适的,但如果要考虑性价比就比较痛苦了,特别是解释型,国内外采用解释型的小型PLC速度一般都相当慢,比方说光洋的好几个系列以及国内大多数新出来的小型PLC。当然并不是说解释型的就不好,只是要达到同样性能情况下需要更高的CPU成本和存储器成本。
    后来在经过一段时间后我们又开发编译型的软PLC(PPC22系列中型PLC)这个系列主要的特点是相对于解释型速度要快很多,同时可以很方便的由用户来增加新的功能块,只需要将用户编写的C函数当成一个功能块来调用就可以了。目前国内有些国产PLC和部分进口的PLC是采用这种技术的,PPC22使用的是486的一颗工业SOC芯片成本比较高,主要是用在工程和大型设备上,相反国内许多小型PLC是用89C51做的真编译,如果用的是标准频率12M的51话,你会很显意的看到厂商标称他们的PLC布尔指令执行速度是1us/指令。
    当02年海维深准备开始进入设备配套小型PLC时,我们深入的研究了大多数已有的小型PLC厂商的技术结构和实现方式,发现如果不采用硬PLC结构将无法满足在低成本的情况下提供更高的性能,同时要想实在运行态在线编程,更只能采用并行垂直扫描硬PLC结构。比如像三菱的FX2N和他中型的A系列和Q系列都是硬PLC结构,其中A和Q系列都是并行垂直扫描硬PLC,而FX2N也是硬PLC,但不太清楚是并行解题还是串行解题的,同样采用并行垂直扫描硬PLC结构的还有AB的大多数PLC,除了它的一种小型PLC外。西门子的S7300也是硬PLC,但S7200比较像是一种软PLC。在了解完后我们还对各家PLC的编解码格式做了一些分析,基本上大同小异,只是为了防止有知识产权的麻烦而有意错分开编码格式。在与小型PLC V80的开发过程中,我们还开发了同样是硬PLC结构的PPC11中型PLC,两者采用同样的软硬件结构,只是功能和性能有一些区别。
    所以我们应该说不同的技术应该用到不同的地方,技术上没法说那一种更好,但从PLC的主流来说硬PLC有着不可替代的优势(远比标称速度上的优势要大很多),现在许多PLC厂商像西门子、横河、AB都有自己的软PLC,但是他们的主流产品还都是硬PLC,这里面的细节说起来可能不是一两天能说完的,简单说来就是可靠性和性价比的区别。日本东芝公司自动化事业部的一位专家介参事长与我有过几次比较深的技术交流,他说到东芝下一代的综合控制器仍然是硬PLC结构。
    
    2.3小结:
    PLC开发的核心点在于一个稳健的硬件平台+高效的执行架构+成熟的编译器,这些核心技术不太方便讲太多,过两年PLC技术通俗化了后,我们再专门写本书来剖析我们这些年的开发成果以及得失。国内从事PLC研究的同志们也可以给我来信来电,我们交流交流。
    晕倒,太久没整理了,写起来有点晕,不知道该讲多深,所以有些乱,请大家见谅,接下来几章我一定讲得通俗易懂一点
对了大家有什么意见请写在下面



支持国货

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 100回
  • 年度积分:0
  • 历史总积分:160
  • 注册:2005年11月16日
发表于:2005-11-16 18:48:00
1楼
哈哈,写得很好,自己人先顶一下!软PLC一般来说价格上也没有太大得优势,我指的是国产PLC如果采用这些MCU来做PLC的话,一般拿过来的价格会比较高,一般做软PLC的处理要求位处理能力比较强,一般这样的PLC的量没有通用的微控制器或者微处理器便宜。像C164一个16位的片子比现在最高档的ARM等芯片贵多了。用51系列的做,价格便宜,但是不管从运行速度,产品性能,功能等方面讲,档次是上不去的

yangyfeng

  • 精华:4帖
  • 求助:0帖
  • 帖子:37帖 | 764回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2005-11-17 13:34:00
2楼
寫的好,長見識!

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-11-17 13:45:00
3楼
谢谢!

gongkongedit

  • 精华:1099帖
  • 求助:0帖
  • 帖子:14392帖 | 54470回
  • 年度积分:0
  • 历史总积分:622
  • 注册:2008年9月08日
发表于:2005-11-17 17:24:00
4楼
写的很好,学了很多。我们的新产品的处理速度是28纳秒/步。一写功能从硬件来实现的。处理器的芯片是自己研发的。

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-11-17 17:48:00
5楼
ZJD-2003请问您是哪一家公司的?
很高兴看到大家,也希望大家介绍一下自己

haeiw

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:5
  • 注册:2005年9月28日
发表于:2005-11-18 10:35:00
6楼
写的好,有见地

王晟磊

  • 精华:12帖
  • 求助:0帖
  • 帖子:70帖 | 687回
  • 年度积分:0
  • 历史总积分:1173
  • 注册:2004年2月11日
发表于:2005-11-19 11:18:00
7楼
谢谢

IREX

  • 精华:10帖
  • 求助:0帖
  • 帖子:225帖 | 318回
  • 年度积分:1
  • 历史总积分:1239
  • 注册:2003年8月04日
发表于:2005-12-13 08:03:00
8楼
   在说到 “硬PLC” 时; 许多厂商的运算数据都不太老实; 根据我们公司搜集资料及试验; 实际上只有 [ 南京  嘉华 ] PLC 公布最老实; 因为它把每一个指令运算所需时间通通列表出来, 我很肯定它们做法; 但换来的 << 却是绝大多数使用者 道其速度慢  >> 而至其销路可能与其期望值有很大出入.
   实际上; [color=#FF0000]不管采用 < 软PLC > 或是 < 硬PLC> 都需一些其使用MCU一些指令组合来完成[/color]; 那意味者厂商不能将其MCU单一指令运算速度当成其PLC最高运算速度; 就连 欧母龙  三菱 的 广告都出现这有点不诚实的数据.
PLC 速度意味时幺 ? 
1us = 0.0000001秒 = 1Mhz
1ns = 0.0000000001秒 = 1000Mhz
上面数据我们在来看看厂商公布数据, 
[color=#FF0000]举例三菱 FX1N
<< 运转处理时间 = 基本指令:0.55至0.7μs   应用指令:3.7至几百μs >>[/color]我们先推测一下其 MCU 的速度 
1.如果其 基本指令 0.55us 那它MCU基本工作频率既是 = 1.6 Mhz , 但由于MCU处理一个MCU指令至少比需 4 ck 以上, 那它MCU工作频率既为 6.4Mhz 以上.
2.一个PLC指令考虑其 <工作传承> 等至少需 10 个 MCU指令 .
3.能达成 PLC指令的MCU指令对不是一个基本指令组合; 那换一个角度它必须用掉MCU的 指令周期至少不低于 18 个基本指令周期.
由以上推算我们可以计算出MCU的 工作频率 [color=#800000]18 * 6.44Mhz = 115.92 Mhz [/color]上面的数据除了使用 486 以上大概没希望
但我们如果拆开 FX1N找到 < 石英震荡器 > 你会发现上面数据疑问是真的!

[color=#FF0000]这就是真实; 希望使用者不相信那数据, 如果没错市面上低于 3000RMB 的PLC其基本PLC指令周期不太可能低于 3.5us. [/color]

*上述文中我们强调是PLC指令周期不是MCU指令周期.
* IREX SPLC 的PLC指令执行速度是 16.5us 到 144us 
上海智国  工程部


Analyst031

  • 精华:0帖
  • 求助:1帖
  • 帖子:12帖 | 149回
  • 年度积分:0
  • 历史总积分:421
  • 注册:2004年12月13日
发表于:2005-12-13 10:12:00
9楼
要将国内PLC厂商联合起来在短时间内不太可能,但是希望国内PLC厂商的技术人员之间能够多多加强交流,尤其是对进口产品的解剖分析方面的经验的交流,这些经验不涉及到自己公司的技术机密,但是能够使国内同行少走弯路,及早确定合适的技术发展方向。

谢谢王晟磊、IREX及其他热心人!

支持国货

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 100回
  • 年度积分:0
  • 历史总积分:160
  • 注册:2005年11月16日
发表于:2005-12-13 11:43:00
10楼
re:IREX,lihw
指令周期,“硬PLC”的逻辑指令速度是非常快的,这也是各家厂家说宣传的最小(或者基本)指令的周期。但是功能模块(例如PID,加减乘除等)的指令是由另外一个处理器所决定的,就想IREX所描述的那样,不同的功能模块由于其代码大小不同,速度也由区别。不能一概而论。所以,厂家也就乐意只标一个基本指令周期。
我们海维深公司的PLC属于硬PLC,一个专用的处理器来处理逻辑指令,使得我们的基本指令周期能到0.2US,提高该处理器的晶振可以进一步的提高这个指标,但是其实没有任何实际意义了。另外一个是32位的处理器,来做功能模块指令的运算。这样使得我们PLC的资源非常丰富,例如,我们的定时器没有数量限制(0.01秒,0.1秒,1秒都不做限制),中间辅助继电器可达9千多个,中间辅助寄存器可达9千多个。所以IREX所说的基本PLC指令周期不小于3.5US是指软PLC。说的有点武断.呵呵,而我们的PLC价格只有3000的不到1/2

gxzyj110

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 405回
  • 年度积分:0
  • 历史总积分:172
  • 注册:2003年6月14日
发表于:2006-10-24 14:22:00
11楼
软件好用PLC的一个发展方向,我认为

耕心

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 22回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2003年2月26日
发表于:2007-01-04 23:38:00
12楼
开发适合市场的稳定PLC,
当然高性能的PLC也要有。

热门招聘
相关主题

官方公众号

智造工程师