一、FX系列PLC可编程控制器功能指令概述
1 功能指令的通用表达形式
2 数据长度
3 功能指令类型
4 位元件
5 变址寄存器V、
1 功能指令的通用表达形式
功能指令的表达形式如下表所示:
功能指令按功能号FNC00~FNC249编排。每条功能指令都有一个指令助记符。
2 数据长度
功能指令可处理16位数据和32位数据。
如下图中的条指令是将D10中的数据送到D12中,处理的是16 位数据。第二条指令是将D21和D20中的数据送到D23和D22中,处理的是32位数据。
3 功能指令类型
FX系列PLC的功能指令有连续执行型和脉冲执行型两种形式。
如图左中程序是连续执行方式的例子。当X2为ON状态时上述指令在每个扫描周期都被重复执行。图右程序是脉冲执行方式,该指令仅在X1由OFF转为ON时有效。
4 位元件
位元件:只处理ON/OFF状态的元件称为位元件。
字元件:处理数据的元件称为字元件www.plcs.cn
位元件的组合 :由位元件也可构成字元件进行数据处理,位元件组合由Kn加首元件号来表示。 4个位元件为一组组合成单元,KnM0中的n是组数 。
5 变址寄存器V、Z
变址寄存器在传送、比较指令中用来修改操作对象的元件号。其操作方式与普通数据寄存器一样。在[D.]中的(.)表示可以加入变址寄存器。对32位指令,V作高16位,Z作低16位。32位指令中用到变址寄存器时只需指定Z,这时Z就代表了V和Z。
二、程序流程控制功能指令
条件跳转指令CJ
子程序调用指令CALL与返回指令SRET
中断返回指令IRET、允许中断指令EI与禁止中断指令DI
主程序结束指令FEND
监视定时器刷新指令WDT
循环开始指令FOR与循环结束指令NEXT
1、条件跳转指令CJ
CJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。
2、子程序调用指令CALL与返回指令SRET
子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束
3、中断返回指令IRET、允许中断指令EI与禁止中断指令DI
PLC一般处在禁止中断状态。指令EI~DI之间的程序段为允许中断区间,而DI~EI之间为禁止中断区间。当程序执行到允许中断区间并且出现中断请求信号时,PLC停止执行主程序,去执行相应的中断子程序,遇到中断返回指令IRET时返回断点处继续执行主程序。
4、主程序结束指令FEND
FEND指令表示主程序的结束,子程序的开始。程序执行到FEND指令时,进行输出处理、输入处理、监视定时器刷新,完成后返回第0步。
FEND指令通常与CJ-P-FEND、CALL-P-SRET和I-IRET结构一起使用(P表示程序指针、I表示中断指针)。CALL指令的指针及子程序、中断指针及中断子程序都应放在FEND指令之后。CALL指令调用的子程序必须以子程序返回指令SRET结束。中断子程序必须以中断返回指令IRET结束。
5、监视定时器刷新指令WDT
如果扫描时间(从第0步到END或FEND)超过100ms,三菱PLC将停止运行。在这种情况之下,应将WDT指令插到合适的程序步(扫描时间不超过100ms)中刷新监视定时器。
6、循环开始指令FOR与循环结束指令NEXT
FOR~NEXT之间的程序重复执行n次(由操作数指定)后再执行NEXT指令后的程序。循环次数n的范围为1~32767。若n的取值范围为-32767~0,循环次数作1处理。
FOR与NEXT总是成对出现,且应FOR在前,NEXT在后。FOR~NEXT循环指令多可以嵌套5层。
利用CJ指令可以跳出FOR~NEXT循环体。
从系统上讲,PLC硬件和软件的发展是实现小型化、高速化,以及将信息技术渗入PLC;从硬件上讲是,采用32位RISC的MPU、专用的LSI和多CPU;从软件上讲则是,采用与IEC 61131-3相对应的日本工业标准JIS B 3503。
小型化 由于日本电子工业尤以器件、电路板等硬件见长,所以在PLC系统上实现小型化,可以说早就是起源于日本,又由他们来推动,并一直乐此不疲、贯彻至今的。小型化的好处是:节省空间、安装灵活、降低成本。
现本主要PLC厂商生产的模块式中、大型PLC,其典型的外形尺寸要比他们在前一代的同类产品的安装空间要小50-60%。例如三菱电机的小Q系列就比AnS系列的安装空间减少60%。要做到这一点,首先需要开发大规模的专用集成电路芯片(ASIC)来减少芯片的个数,并采用球栅阵列(BGA)以保证在同样封装尺寸下能提供足够多的针脚数。例如,某CPU模块原来用了约700个元器件,通过开发了12种大规模的ASIC(采用BG352的针脚封装)和调整功能,减少了显示用的LED和开关等措施,使元器件减少了一半左右。其次,为减少接插件在印刷电路板上所占的空间,要求接插件的针脚间隔足够小。再次,随着微细加工技术的发展,印刷电路板上的接线布局可实现高密度化、多层化和薄型化,大大提高了元器件的安装率。例如某CPU模块采用了1毫米厚的基板制成8层电路板。由于采取了以上这些措施,使CPU模块由3块印刷电路板变为2块,体积减少了70%,小型化得以较完美地实现。随着小型化又产生了如何解决小空间的散热设计问题:一是要根据热分析仿真来确定元器件的布置安排;二是主要元器件的电源电压采用3.3V,达到低功耗的目的;三是考虑了通过安装模块的基板,使模块所产生的热量能得到良好散热的机械结构。
高速化 所谓高速化应该包括:运算速度的高速化;与外部设备的数据交换速度高速化,如I/O刷新和网络刷新等;编程设备服务处理的高速化;外部设备的高速响应。
运算速度高速化也是日本PLC系统追求的一个重要目标。由于目前PLC的CPU模块竞相采用32位RISC芯片,运算速度大为提高。一般基本指令的执行速度均达到数十个纳秒(ns),如三菱电机的其输入指令的执行时间为34ns,富士电机MICREX-SX系列SPH300达20ns,横河电机的FA-M3系列的F3SP59-7S其输入指令的执行时间为17.5ns。仅看一种指令的执行时间并不能完整地说明问题。日本电机工业会(日本电机工业的行业协会)JEMA一直倡导用PCmix值(即PLC的处理时间性能表示指标,用1微秒执行的基本指令和数据处理指令的平均次数来表示)来衡量PLC的运算速度。所谓1微秒执行的基本指令和数据处理指令的平均次数,是按PLC应用程序所使用的指令的频繁程度的统计平均值计算的。一般是基本指令占54%(其中输入指令占17%,输出指令13%,逻辑运算指令21%,定时器输出3%),数据处理指令占39%(其中传送指令占25%,四则函数运算指令,比较指令6%),其它指令7%。仍以三菱电机的小Q系列为例,其中的的PCmix值是10.3,比A2UHCPU-S1快5倍(为2.0),比A2SHCPU快20倍多(PCmix值为0.5)。随着PLC的功能扩展,运算指令、文字处理指令、通信指令等用的越来越多,各种指令的使用频率也会发生一定的变化,PCmix值的计算也会有所变化。这里顺便提一下,之所以要多次举三菱电机为例,是因为它的PLC的市场份额占日本的50%以上,为日本的大PLC供应厂商,因而具有相当的典型性。同时,通过软件技术提升PLC专用操作系统的水平,实现了事件中断的高速响应(200微秒)功能,高速计数功能,0.5毫秒(三菱电机的小Q系列PLC)、甚至0.2毫秒(横河电机的的FA-M3系列PLC)的恒定扫描时间功能
与外部设备的数据交换速度高速化。PLC的CPU模块通过系统总线(一般做在基板的印刷电路上)与装插在基板上的各种I/O模块、特殊功能模块、通信模块等交换数据,装插的模块越多,CPU模块与那些模块之间的数据交换的时间就会增加。这种数据交换的时间的增加,在一定程度上会使PLC的扫描时间加长。因此,有必要采取以下措施使系统总线传输速度高速化:增加系统总线的带宽使一次传输的数据量增多,例如三菱电机的小Q系列PLC,增加了系统总线的带宽,使所传输的数据量是以前的2倍;在系统总线存取的方式上,采用连续成组传送技术实现连续数据的高速批量传送,大大缩短了存取每个字所需的时间;通过向与系统总线相连接的模块实现全局传送,即针对多个模块同时传送同一数据,有效地用活了系统总线。
编程设备服务处理的高速化。当扫描时间为数十毫秒时,几毫秒的编程工具和监控设备的服务处理时间不会带来什么问题。但是在执行1毫秒以下的控制任务时,就有必要大大缩短这个时间。所采用的方法是以多CPU芯片并行处理的方式,由专门处理编程及监控服务的微处理器芯片执行这类处理,以减轻对执行控制程序的CPU芯片的影响,让它只管执行顺控和逻辑运算。此外,为了提高服务处理的效率,缩短在现场读写程序的时间,以缩短操作时间,采用了高速的串行通信(大的波特率为115.2Kbps)以及将UCB口(大波特率达12Mbps)引入PLC的CPU模块,从而实现与编程工具及监控设备之间通信的高速化,并允许同时使用这两个通信端口,由多人同时进行编程和调试。
提高外部设备的响应速度。在PLC内部实现高速化的同时,还要提高外部设备的响应速度,才能整体提高整个系统的性能,为此,在缩短I/O模块的输入输出响应时间,提高模拟量输入输出模块的模-数和数-模转换时间,下了不少工夫,以求得系统整体的控制速度达到毫秒级以下。例如,在晶体管输出模块的输出电路中选用高性能的晶体管,使响应时间加快50%;在直流输入模块中,其输入的时间常数回路采用专用ASIC芯片,可通过编程软件选择输入模块的响应时间为1/5/10/20/70毫秒;为提高模拟量模块的转换时间,采用A/D或D/A的专用芯片,是转换速度为原先的1/2—1/6。另外也通过开发专用的处理器和通信专用ASIC,缩短通信网络模块之间的通信链接的循环时间。
信息技术渗入PLC。信息技术渗入PLC是为了适应工厂控制系统和企业信息管理系统日益有机结合的发展趋势;适应在控制层面让不同品牌的PLC之间,让PLC与DCS、SCADA等系统之间,能有效而足够快地交换数据的市场要求。它主要表现在:
1) 让以bbbbbbs操作系统的PC机嵌入PLC系统[见上述第(1)节]。
2) 创建开放的网络环境。如推出能挂100M的高速以太网的Web服务器模块(三菱电机小Q系列的,横河电机FA-M3系列的F3WBM1-0T-S01),模块内的软件捆绑了目前常用的TCP/IP、UDP/IP等传输层和网络层的规约,以及HTTP、FTP、SMTP、POP3等应用层的规约,使PLC可直接进入因特网,成为不折不扣的基于Web的PLC;也可使日本产的PLC挂上以德国Siemens公司为主导的工业以太网ProfiNet。在这次系统控制展览会上,我们就见到日本Profibus组织(JPO)的展台上展出的通过多种方式挂ProfiNet的日本PLC,富士电机的MICREX-SX系列PLC、横河电机的FA-M3系列PLC都是直接经由其以太网模块挂ProfiNet的,三菱电机的小Q系列PLC则是通过其RS 232C的模块和外挂的RS 232C/以太网协议转换器(JNVE1型)挂ProfiNet的。
3) 支持OPC中间件。如竹菱电机提供的DeviceXPlorer OPC Server可为三菱电机的MELSEC系列PLC、横河电机的FA-M3系列PLC、OMRON的SYSMAC系列PLC,以及丰田工机的TOYOPUC系列PLC提供软件接口,与作为OPC客户的应用程序相互通信。
PLC的编程语言采用与IEC 61131-3相对应的日本工业标准JIS B 3503。进入20世纪90年代后期,日本PLC业界一个引人注目的动向是开始注重采用和向靠拢,如1997年颁布的日本工业标准JIS B 3501《可编程序控制器——一般信息》,JIS B 3502《可编程序控制器装置的要求事项和试验》,JIS B 3503《可编程序控制器——编程语言》,分别对应IEC制定的PLC标准IEC 61131-1、IEC 61131-2和IEC 61131-3。其中尤以采用PLC编程语言具有特殊的意义。众所周知,IEC 61131-3是可编程序控制器的编程语言的标准,它将现代软件的概念和现代软件工程的机制与传统的PLC编程语言成功地结合,使它在工业控制领域的影响越出PLC的界限,成为DCS、PC控制、运动控制,以及SCADA的编程系统事实上的标准。同样,大家也知道,日本虽然是一个工业发达国家,但又是一个技术相对封闭的国家。只有在某种已成为世界的主流的情况下,它才会考虑让日本工业标准向靠拢。我国在1995年就采用IEC 61131-3作为国家标准,而日本,采用IEC 61131-3要比我们晚好几年。
但是,日本是一个PLC的生产大国,也是一个PLC的出口大国,所以在它一旦采用了IEC 61131-3之后,便在其新一代的PLC编程软件平台中广泛采用。三菱电机的PLC编程软件包GX Ver.8开发系统,支持梯形图LD、指令表IL、顺序功能图SFC编程和结构化文本ST,其PX开发系统支持功能块图FBD,供PLC用于过程控制,不过PX是要与GX V.7.20W或更高版本一起用的。OMRON的PLC的编程软件包CX除支持LD、IL外,近期即将推出支持FB(功能块,不是FBD功能块图;其功能块将包括支持SYSMAC CS/CJ系列PLC等各种控制网络的通信功能块,以实现通信的无程序化),以及ST(结构化文本语言)。富士电机的PLC编程软件包及横河电机的FA-M3系列的编程系统,也支持IEC 61131-3。
附带要指出的是,上述这些符合IEC 61131-3的编程系统大多是在德国KW公司的标准编程系统MULTIPROG的基础上进行二次开发的。该编程系统基于IEC 61131-3标准,且包括IEC标准的全部特性。它由一个在各种IEC编程语言的环境中的独立PLC核组成;不但提供文本化语言ST和IL,也很好地提供图形化语言LD、FBD和SFC。每个编辑程序都提供编辑向导,允许快速而方便地插入关键字、语句、运算操作符、函数和功能块。编辑向导也可用来对数据类型加以说明。特定的软部件适应于不同的PLC,以完成某种特定PLC的独立的核。MULTIPROG在日本PLC业界有不少使用,应归功于设在东京的KW公司的代理——欧洲远东有限公司碶而不舍的推广应用。
西门子代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理,西门子中国代理商