V80的软硬件结构和实现原理 点击:640 | 回复:3



执恒

    
  • 精华:2帖
  • 求助:0帖
  • 帖子:22帖 | 4回
  • 年度积分:0
  • 历史总积分:140
  • 注册:2007年9月20日
发表于:2007-11-08 09:48:00
楼主


  在讲PLC的原理的时候,我们重点以V80小型PLC为模板,其它的中大型PLC就不再多说。
  PLC是一种提供给用户进行二次开发的通用控制系统。
  大家以前可能学过C语言,比方说C语言常见的编译器有Borland公司的Borland C/C++、微软的Visual C++以及Symantec C/C++和Watcom C/C++等,学习过标准C语法的同志都能看懂任何其它工具写的C语言代码,不同的只是各厂商提供的函数库不同以及工具操作习惯的不同。在不同工具下的移植也是相对比较方便的,大家可以很容易的把用Borland C/C++写的程序用Visual C++打开。
  但这一切在工控行业却相当困难,比方说用三菱软件编写的程序,是无法用西门子的软件打开的,如果一个工程师当初学习的是日系的编程习惯,那么给他一份施耐德的程序,他可能要晕一礼拜才能搞明白。
  为此,国际上成立了PLCopen组织,它的宗旨是促进PLC兼容软件的开发和使用。PLCopen组织推广的核心是PLC的国际标准——IEC61131,IEC61131标准是由国际标准化组织IEC(国际电工技术委员会)的SC65BWG7工作组制订的。它包括1至8部分,每个部分分别对应于PLC的不同部件或者不同功能的描述和定义,由于PLC标准的制定包含了巨大的利益在中间,所以国外的各大PLC厂商对于IEC61131标准的执行和推广一直并不是特别热心,目前大家比较关心的是IEC61131-3,IEC61131-3是为工业控制系统提供标准化编程语言的国际标准,目前一共制定了五种语言作为PLC的标准,包括LD(梯形图)、IL、SFC、ST、FBD。
  PLCOPEN组织把IEC61131-3标准的符合程序分了三级:
  1、基本级(Base Level,BL):编程系统开发的程序的基本结构必须兼容IEC61131-3,必须提供编程语言的基本语言元素。
  2、符合级(Conformity Level,CL)
  3、移植级(Reusability Level,RL)
  第二级和第三级是组合使用的,如果符合第二级和第三级则称为全兼容级,能实现跨平台的程序移植。
  从我们理解将PLC标准化分为三个层次:
  第一个层次是语言的标准化,也就是说各PLC的语法要求一致,工程师学过德维森的V80再用三菱PLC编程,就不需要重新学习编程。
  第二个层次是文件的标准化,要求用西门子软件编写的程序,可以用德维森或者任何第三方的软件打开。
  第三个层次是目标码的标准化,每种PLC编程软件编写的程序都将编译成它的下位机可以执行的目标程序,如果每种PLC使用相同的目标码,那么上位机编程软件与下位机就可以分离开,用户可以选用自己最适应的软件开发自己的控制程序,并将程序下载给任一种硬件平台,同时配置和资源可以很容易的重定义;同时大家使用相同的通信协议,包括编程通信、现场总线、模块间接口协议,这时用户就可以达到与PC类似的标准化程度,跨系统跨厂商的互联和编程将成为可能。
  当然达到这么一致的标准化程度需要很多年的过程,需要工控行业更多的兼并和重组,从现在来看只要能走完第一个和第二个层次就相当不错了,第三个层次可能需要更长的时间。
  技术行业最领先的厂商是标准的制定者,但工控行业因为牵涉每个国家的工业、军事竞争力,所以这个行业的标准化也是最困难的,目前欧洲对于IEC61131的热心程度是最高的,因为标准的领导者大多是欧洲企业,而其它国家的厂商明显对此并不是太积极。
  就像现场总线国际标准IEC61158,制定花了13年,最后制定了一个包含8种协议的标准,全是标准就意味着没有标准,我们希望IEC61131不要步其后尘。
  PLC从系统而言可以分为两个部分:

  用户通过使用PC上的编程软件Vladder进行梯形图的编辑,编完后的程序编译下载到下位机PLC内运行。习惯上我们把PC上的软件称为上位机软件,把PLC内的软件称为下位机软件。
  上位机软件主要由以下功能模块组成:
  1、多语言编辑模块
  2、编译模块
  3、通信模块
  4、IO管理模块
  5、调试模块
  6、工程和文件管理模块
  其中对系统影响最大的是1、2、5这三个部分,这三个部分的好与坏决定了整个PLC软件的好与坏。我们在后面的文档中将专门讲解这一部分的功能和应用。
  V80下位机系统分为硬件和软件两个部分: 
  硬件部分可以简单的定义如下:

  1、CPU单元:大家注意到上面有两块CPU,其中专用CPU正是用来执行PLC逻辑的,有了它整个系统的速度可以提升20倍左右,通用CPU用于处理其它的工作,包括功能块、通信、IO扫描、运控等。
  德维森正在研发的新一代N系列PLC将把通用CPU和专用CPU合二为一,专门开发一颗PLC专用的CPU芯片并将通用CPU、专用CPU、运控MCU合并在一起,中型PLC和小型PLC的CPU也将统一起来,从而达到最佳的性能与成本结合点。
  2、固件ROM:用来存放PLC厂商程序。
  3、LD ROM:用来存放用户的逻辑程序,这一块有48K字的空间,也就是最多可以放下48K步的梯形图指令。
  4、RAM:存放用户的数据,也用来暂存用户下载的梯形图程序,实际上梯形图的解算也是在RAM内执行的。
  5、实时时钟:年月日时分秒星期,这是一块专用的时钟芯片。
  6、电池:保证实时时钟在掉电后的运行,同时使RAM在掉电情况下10年不丢失数据。
  7、运控单元:专用的运控逻辑单元,可以完成高速计数和脉冲输出的功能,因为是硬件保证的,所以不用CPU单元的介入,速度高达50K~100K,实际上可以做得更高速,当然这种速度对于步进和大多数伺服来说已经够用了。
  8、IO接口:本体模块自带的IO,包括数字量输入、数字量输出、电位器输入,部分CPU模块还带有模拟量的输入输出如M20MAD就有6路模拟量输入和2路模拟量输出。
  因为PLC是工作在工业环境,现场情况比较复杂,PLC采集和控制的信号经常并不是共地的,跨步电动势和强干扰是经常存在的,为防止对PLC的损坏,同时为了隔绝各种非共地信号的相互影响和损坏,PLC一般要求IO接口隔离,数字量一般是单路隔离的,而模拟量一般是模拟电路与数字电路之间隔离,所以用户在使用时需核对硬件手册,并根据现场实际情况安排使用。
  9、扩展接口:使本体能联接各种扩展模块,对于V80系统,所有的扩展模块都被看成是总线上的一块存储器,这就要求所有的扩展模块上有MCU芯片,几乎可以说V80是所有小型PLC中扩展总线最快的,可以达到2M BYTE。
  PLC软件执行的标准框图大家在一般的书上都可以看到,一般的实现分为两类,一类是没有多任务操作系统的,一类是有多任务操作系统的,前者在可靠性和实时性方面有一定的优势,后者对于结构化编程方面有一定的帮助。我们的V80系列属于前一者,而N80系统将支持这两种结构。
  实际上的PLC执行情况要复杂得多,但大体流程是一致的。

  1、系统初始化:一般小型PLC的系统初始化主要是进行初始化、设置、查找扩展模块等。
  2、扫描输入:扫描IO输入信号。
  3、执行逻辑:根据用户PLC程序执行逻辑。
  4、家务管理:PLC诊断、维护和其它系统程序执行。
  5、扫描输出:将逻辑执行的结果输出。
  6、通信管理单元:通信服务程序,响应编程软件和其它通信任务。
PLC运行方式:
  由上面可以看到PLC的运行是一种循环扫描的运行方式,实际上PLC还有定时扫描和中断扫描共三种扫描方式。
  循环扫描:PLC按上图循环执行。
  定时扫描:PLC根据用户设置的时间定时扫描,比方说50ms扫描一次,使用这种扫描方式,用户需要保证用户程序在设定时间内一定能扫描完毕,一般PLC使用定时中断和子程序结合起来实现这个功能(这种情况下与中断扫描方式并无不同),但在IO扫描方面会有一些细微的不同,很可能会用到立即刷新IO的功能块UpData_IO。
  中断扫描:中断扫描根据外部或者内部中断的激活中断扫描程序的运行。比方说外部IO中断、高速计数中断、定时中断等。
  通常PLC都采用上面的三种运行方式中的一种或者几种,用户需要对其有一定的了解,这可以使大家在编程的时候更加清晰,V80支持三种运行方式。

德维森科技(深圳)有限公司
TECHWAYSON TECHNOLOGY CO.,LTD.
深圳市南山区高新区高新南七道德



专业顶

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:20
  • 注册:2007年10月23日
发表于:2007-12-07 17:59:00
1楼

gyfeng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:186
  • 注册:2007年5月02日
发表于:2007-12-15 00:43:00
2楼
国产plc有希望啊

liugang.org

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 305回
  • 年度积分:0
  • 历史总积分:511
  • 注册:2003年5月24日
发表于:2007-12-16 20:19:00
3楼
N系列什么时候推出啊,有多任务操作系统的一定要支持C啊,我们做OEM的,都要有自己在行业的总结的一套算法,要实现这些,有C的话我们才容易加入我们自己的特点。最好是编译型的。

热门招聘
相关主题

官方公众号

智造工程师