(培训体系)PL培训
第一讲:PLC的基本概念
可编程控制器(Programmable Controller)是计算机家族中的一员,是为工
业控制应用而设计制造的。早期的可编程控制器称作可编程逻辑控制器
(Programmable Logic Controller),简称 PLC,它主要用来代替继电器实现逻辑控
制。随着技术的发展,这种装置的功能已经大大超过了逻辑控制的范围,因此,今
天这种装置称作可编程控制器,简称 PC。但是为了避免与个人计算机(Personal
Computer)的简称混淆,所以将可编程控制器简称 PLC。
一. PLC的由来
在 60年代,汽车生产流水线的自动控制系统基本上都是由继电器控制装置构
成的。当时汽车的每一次改型都直接导致继电器控制装置的重新设计和安装。随着
生产的发展,汽车型号更新的周期愈来愈短,这样,继电器控制装置
就需要经常地重新设计和安装,十分费时,费工,费料,甚至阻碍了更新周期的缩
短。为了改变这一现状,美国通用汽车公司在 1969年公开招标,要求用新的控制装
置取代继电器控制装置,并提出了十项招标指标,即:
1. 编程方便,现场可修改程序;
2. 维修方便,采用模块化结构;
3. 可靠性高于继电器控制装置;
4. 体积小于继电器控制装置;
5. 数据可直接送入管理计算机;
6. 成本可与继电器控制装置竞争;
7. 输入可以是交流 115V;
8. 输出为交流 115V,2A以上,能直接驱动电磁阀,接触器等;
9. 在扩展时,原系统只要很小变更;
10.用户程序存储器容量至少能扩展到 4K。
1969年,美国数字设备公司(DEC) 研制出第一台 PLC,在美国通用汽车
自动装配线上试用,获得了成功。
这种新型的工业控制装置以其简单易懂,操作方便,可靠性高,通用灵活,
体积小,使用寿命长等一系列优点,很快地在美国其他工业领域推广应用
到 1971年,已经成功地应用于食品,饮料,冶金,造纸等工业。
这一新型工业控制装置的出现,也受到了世界其他国家的高度重视。1971
日本从美国引进了这项新技术,很快研制出了日本第一台 PLC。1973年,西欧国家
也研制出它们的第一台 PLC。我国从 1974年开始研制。于 1977年开始工业应用。
二. PLC的定义
PLC问世以来,尽管时间不长,但发展迅速。为了使其生产和发展标准化,美
国电气制造商协会 NEMA(National Electrical Manufactory Association) 经
过四年的调查工作,于 1984年首先将其正式命名为 PC(Programmable Controller),
并给 PC作了如下定义:
“PC是一个数字式的电子装置,它使用了可编程序的记忆体储存指令。用来
执行诸如逻辑,顺序,计时,计数与演算等功能,并通过数字或类似的输入/输出模
块,以控制各种机械或工作程序。一部数字电子计算机若是从事执行 PC之功能着,
亦被视为 PC,但不包括鼓式或类似的机械式顺序控制器。”
以后国际电工委员会(IEC)又先后颁布了 PLC标准的草案第一稿,第二稿,
并在 1987年 2月通过了对它的定义:
“可编程控制器是一种数字运算操作的电子系统,专为在工业环境应用而设
计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,
顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输
出控制各种类型的机械或生产过程。可编程控制器及其有关外部设备,都按易于与
工业控制系统联成一个整体,易于扩充其功能的原则设计。”
总之,可编程控制器是一台计算机,它是专为工业环境应用而设计制造的计
算机。它具有丰富的输入/输出接口,并且具有较强的驱动能力。但可编程控制器产
品并不针对某一具体工业应用,在实际应用时,其硬件需根据实际需要进行选用配
置,其软件需根据控制要求进行设计编制。
三. PLC的特点
一. PLC的主要特点
(一) 高可靠性
1. 所有的 I/O接口电路均采用光电隔离,使工业现场的外电路与 PLC
内部电路之间电气上隔离。
2. 各输入端均采用 R-C滤波器,其滤波时间常数一般为 10~20ms.
3. 各模块均采用屏蔽措施,以防止辐射干扰。
4. 采用性能优良的开关电源。
5. 对采用的器件进行严格的筛选。
6. 良好的自诊断功能,一旦电源或其他软,硬件发生异常情况,CPU
立即采用有效措施,以防止故障扩大。
7. 大型 PLC还可以采用由双 CPU构成冗余系统或有三 CPU构成表决系
统,使可靠性更进一步提高。
(二)丰富的 I/O接口模块
PLC针对不同的工业现场信号,如:
• 交流或直流;
• 开关量或模拟量;
• 电压或电流;
• 脉冲或电位;
• 强电或弱电等。
有相应的 I/O模块与工业现场的器件或设备,如:
• 按钮
• 行程开关
• 接近开关
• 传感器及变送器
• 电磁线圈
• 控制阀
直接连接。另外为了提高操作性能,它还有多种人-机对话的接口
模块; 为了组成工业局部网络,它还有多种通讯联网的接口模块,等等。
(三) 采用模块化结构
为了适应各种工业控制需要,除了单元式的小型 PLC以外,绝大多数 PLC均
采用模块化结构。PLC的各个部件,包括 CPU,电源,I/O等均采用模块化设计,由
机架及电缆将各模块连接起来,系统的规模和功能可根据用户的需要自行组合。
(四) 编程简单易学
PLC的编程大多采用类似于继电器控制线路的梯形图形式,对使用者来说,不
需要具备计算机的专门知识,因此很容易被一般工程技术人员所理解和掌握。
(五) 安装简单,维修方便
PLC不需要专门的机房,可以在各种工业环境下直接运行。使用时只需将现场
的各种设备与 PLC相应的 I/O端相连接,即可投入运行。各种模块上均有运行和故
障指示装置,便于用户了解运行情况和查找故障。
由于采用模块化结构,因此一旦某模块发生故障,用户可以通过更换模块的
方法,使系统迅速恢复运行。
二. PLC的功能
(一) 逻辑控制
(二) 定时控制
(三) 计数控制
(四) 步进(顺序)控制
(五) PID控制
(六) 数据控制
PLC具有数据处理能力。
(七) 通信和联网
(八) 其它
PLC还有许多特殊功能模块,适用于各种特殊控制的要求,如:定位控制模
块,CRT模块。
四. PLC的发展阶段
虽然 PLC问世时间不长,但是随着微处理器的出现,大规模,超大规模集成
电路技术的迅速发展和数据通讯技术的不断进步,PLC也迅速发展,其发展过程大致
可分三个阶段:
一. 早期的 PLC(60年代末—70年代中期)
早期的 PLC一般称为可编程逻辑控制器。这时的 PLC多少有点继电器控制装
置的替代物的含义,其主要功能只是执行原先由继电器完成的顺序控制,定时等。
它在硬件上以准计算机的形式出现,在 I/O接口电路上作了改进以适应工业控制现
场的要求。装置中的器件主要采用分立元件和中小规模集成电路,存储器采用磁芯
存储器。另外还采取了一些措施,以提高其抗干扰的能力。在软件编程上,采用广
大电气工程技术人员所熟悉的继电器控制线路的方式—梯形图。因此,早期的 PLC
的性能要优于继电器控制装置,其优点包括简单易懂,便于安装,体积小,能耗
低,有故障指使,能重复使用等。其中 PLC特有的编程语言—梯形图一直沿用至
今。
二. 中期的 PLC(70年代中期—80年代中,后期)
在 70年代,微处理器的出现使 PLC发生了巨大的变化。美国,日本,德国等
一些厂家先后开始采用微处理器作为 PLC的中央处理单元(CPU)。
这样,使 PLC得功能大大增强。在软件方面,除了保持其原有的逻辑运算、
计时、计数等功能以外,还增加了算术运算、数据处理和传送、通讯、自诊断等功
能。在硬件方面,除了保持其原有的开关模块以外,还增加了模拟量模块、远程 I/O
模块、各种特殊功能模块。并扩大了存储器的容量,使各种逻辑线圈的数量增加,
还提供了一定数量的数据寄存器,使 PLC得应用范围得以扩大。
三. 近期的 PLC(80年代中、后期至今)
进入 80年代中、后期,由于超大规模集成电路技术的迅速发展,微处理器的
市场价格大幅度下跌,使得各种类型的 PLC所采用的微处理器的当次普遍提高。而
且,为了进一步提高 PLC的处理速度,各制造厂商还纷纷研制开发了专用逻辑处理
芯片。这样使得 PLC软、硬件功能发生了巨大变化。
五. PLC的分类
(一) 小型 PLC
小型 PLC的 I/O点数一般在 128点以下,其特点是体积小、结构紧凑,整个
硬件融为一体,除了开关量 I/O以外,还可以连接模拟量 I/O以及其他各种特殊功
能模块。它能执行包括逻辑运算、计时、计数、算术运算、数据处理和传送、通讯
联网以及各种应用指令。
(二) 中型 PLC
中型 PLC采用模块化结构,其 I/O点数一般在 256~1024点之间。I/O的处理
方式除了采用一般 PLC通用的扫描处理方式外,还能采用直接处理方式,即在扫描用
户程序的过程中,直接读输入,刷新输出。它能联接各种特殊功能模块,
通讯联网功能更强,指令系统更丰富,内存容量更大,扫描速度更快。
(三) 大型 PLC
一般 I/O点数在 1024点以上的称为大型 PLC。大型 PLC的软、硬件功能极
强。具有极强的自诊断功能。通讯联网功能强,有各种通讯联网的模块,可以构成
三级通讯网,实现工厂生产管理自动化。大型 PLC还可以采用三 CPU构成表决式系
统,使机器的可靠性更高。
六. PLC的基本结构
PLC实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相
同,如图所示:
一. 中央处理单元(CPU)
中央处理单元(CPU)是 PLC的控制中枢。它按照 PLC系统程序赋予的功能接收
并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的
状态,并能诊断用户程序中的语法错误。当 PLC投入运行时,首先它
以扫描的方式接收现场各输入装置的状态和数据,并分别存入 I/O映象区,然后从
用户程序存储器中逐条读取用户程序,经过命令解释后按指令的规定执行逻辑或算
数运算的结果送入 I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,
最后将 I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如
此循环运行,直到停止运行。
为了进一步提高 PLC的可靠性,近年来对大型 PLC还采用双 CPU构成冗余系
统,或采用三 CPU的表决式系统。这样,即使某个 CPU出现故障,整个系统仍能正
常运行。
二. 存储器
存放系统软件的存储器称为系统程序存储器。
存放应用软件的存储器称为用户程序存储器。
(一) PLC常用的存储器类型
1. RAM (Random Assess Memory)
这是一种读/写存储器(随机存储器),其存取速度最快,由锂电池支持。
2. EPROM (Erasable Programmable Read Only Memory)
这是一种可擦除的只读存储器。在断电情况下,存储器内的所有内容保
持不变。(在紫外线连续照射下可擦除存储器内容)。
3. EEPROM(Electrical Erasable Programmable Read Only Memory)
这是一种电可擦除的只读存储器。使用编程器就能很容易地对其所存储的内
容进行修改。
(二) PLC存储空间的分配
虽然各种 PLC的 CPU的最大寻址空间各不相同,但是根据 PLC的工作原理
其存储空间一般包括以下三个区域:
系统程序存储区
系统 RAM存储区(包括 I/O映象区和系统软设备等)
用户程序存储区
1. 系统程序存储区
在系统程序存储区中存放着相当于计算机操作系统的系统程序。包括监控程
序、管理程序、命令解释程序、功能子程序、系统诊断子程序等。由制造
厂商将其固化在 EPROM中,用户不能直接存取。它和硬件一起决定了该 PLC的性
能。
2. 系统 RAM存储区
系统 RAM存储区包括 I/O映象区以及各类软设备,如:
逻辑线圈
数据寄存器
计时器
计数器
变址寄存器
累加器
等存储器。
(1) I/O映象区 由于 PLC投入运行后,只是在输入采样阶段才依次读入各输入
状态和数据,在输出刷新阶段才将输出的状态和数据送至相应的外设。
因此,它需要一定数量的存储单元(RAM)以存放 I/O的状态和数据,这些单元称作
I/O映象区。
一个开关量 I/O占用存储单元中的一个位(bit),一个模拟量 I/O占用存储单
元中的一个字(16个 bit)。因此整个 I/O映象区可看作两个部分组成:
开关量 I/O映象区
模拟量 I/O映象区
(2) 系统软设备存储区
除了 I/O映象区区以外,系统 RAM存储区还包括 PLC内部各类软设备(逻辑线
圈、计时器、计数器、数据寄存器和累加器等)的存储区。该存储区又分为具有失电
保持的存储区域和无失电保持的存储区域,前者在 PLC断电时,由内部的锂电池供
电,数据不会遗失;后者当 PLC断电时,数据被清零。
1) 逻辑线圈
与开关输出一样,每个逻辑线圈占用系统 RAM存储区中的一个位,但
不能直接驱动外设,只供用户在编程中使用,其作用类似于电器控制线路中的继电
器。 另外,不同的 PLC还提供数量不等的特殊逻辑线圈,具有不同的功能。
2) 数据寄存器
与模拟量 I/O一样,每个数据寄存器占用系统 RAM存储区中的一个字(16
bits)。 另外,PLC还提供数量不等的特殊数据寄存器,具有不同的功能。
3) 计时器
4) 计数器
3. 用户程序存储区
用户程序存储区存放用户编制的用户程序。不同类型的 PLC,其存储容量各不
相同。
三. 电源
PLC的电源在整个系统中起着十分重要得作用。如果没有一个良好的、
可靠得电源系统是无法正常工作的,因此 PLC的制造商对电源的设计和制造也十分
重视。
一般交流电压波动在+10%(+15%)范围内,可以不采取其它措施而将 PLC直接
连接到交流电网上去。
七. PLC的工作原理
最初研制生产的 PLC主要用于代替传统的由继电器接触器构成的控制装置,
但这两者的运行方式是不相同的:
继电器控制装置采用硬逻辑并行运行的方式,即如果这个继电器的线圈通
电或断电,该继电器所有的触点(包括其常开或常闭触点)在继电器控制线
路的哪个位置上都会立即同时动作。
PLC的 CPU则采用顺序逻辑扫描用户程序的运行方式,即如果一个输出线
圈或逻辑线圈被接通或断开,该线圈的所有触点(包括其常开或常闭触点)
不会立即动作,必须等扫描到该触点时才会动作。
为了消除二者之间由于运行方式不同而造成的差异,考虑到继电器控制装置
各类触点的动作时间一般在 100ms以上,而 PLC扫描用户程序的时间一般均小于
100ms,因此,PLC采用了一种不同于一般微型计算机的运行方式---扫描技
术。这样在对于 I/O响应要求不高的场合,PLC与继电器控制装置的处理结果上就没
有什么区别了。
一. 扫描技术
当 PLC投入运行后,其工作过程一般分为三个阶段,即输入采样、用户程序
执行和输出刷新三个阶段。完成上述三个阶段称作一个扫描周期。在整个运行期
间,PLC的 CPU以一定的扫描速度重复执行上述三个阶段。
(一) 输入采样阶段
在输入采样阶段,PLC以扫描方式依次地读入所有输入状态和数据,并将它们
存入 I/O映象区中的相应得单元内。输入采样结束后,转入用户程序执行和输出刷
新阶段。在这两个阶段中,即使输入状态和数据发生变化,I/O映象区中的相应单元
的状态和数据也不会改变。因此,如果输入是脉冲信号,则该脉冲信号的宽度必须
大于一个扫描周期,才能保证在任何情况下,该输入均能被读入。
(二) 用户程序执行阶段
在用户程序执行阶段,PLC总是按由上而下的顺序依次地扫描用户程序(梯形
图)。在扫描每一条梯形图时,又总是先扫描梯形图左边的由各触点构成的控制线
路,并按先左后右、先上后下的顺序对由触点构成的控制线路进行逻辑运算,然后
根据逻辑运算的结果,刷新该逻辑线圈在系统 RAM存储区中对应位的状态;或者刷
新该输出线圈在 I/O映象区中对应位的状态;或者确定是否要执行该梯形图所规定
的特殊功能指令。
即,在用户程序执行过程中,只有输入点在 I/O映象区内的状态和数据不会
发生变化,而其他输出点和软设备在 I/O映象区或系统 RAM存储区内的状态和数据
都有可能发生变化,而且排在上面的梯形图,其程序执行结果会对排在下面的凡是
用到这些线圈或数据的梯形图起作用;相反,排在下面的梯形图,其被刷新的逻辑
线圈的状态或数据只能到下一个扫描周期才能对排在其上面的程序起作用。
(三) 输出刷新阶段
当扫描用户程序结束后,PLC就进入输出刷新阶段。在此期间,CPU按照 I/O
映象区内对应的状态和数据刷新所有的输出锁存电路,再经输出电路驱动相应的外
设。这时,才是 PLC的真正输出。
第(n+1)
个
扫描周期
输入采样
第(n-1)
个
扫描周期
输出刷新
第 n 个扫描周
期
输入采样 输出刷新
用户程序执行
比较下二个程序的异同:
程序 1:
程序 2:
这两段程序执行的结果完全一样,但在 PLC中执行的过程却不一样。
程序 1只用一次扫描周期,就可完成对%M4的刷新;
程序 2要用四次扫描周期,才能完成对%M4的刷新。
这两个例子说明:同样的若干条梯形图,其排列次序不同,执行的结果也不
同。另外,也可以看到:采用扫描用户程序的运行结果与继电器控制装置的硬逻辑
并行运行的结果有所区别。当然,如果扫描周期所占用的时间对整个运行来说可以
忽略,那么二者之间就没有什么区别了。
一般来说,PLC的扫描周期包括自诊断、通讯等,如下图所示,即一个扫描周
期等于自诊断、通讯、输入采样、用户程序执行、输出刷新等所有时间的总和。
(
)
(
)
%M2 %M3
故
障
输
出
刷
新
二. PLC的 I/O响应时间
为了增强 PLC的抗干扰能力,提高其可靠性,PLC的每个开关量输入端都采用
光电隔离等技术。
为了能实现继电器控制线路的硬逻辑并行控制,PLC采用了不同于一般微型计
算机的运行方式(扫描技术)。
以上两个主要原因,使得 PLC得 I/O响应比一般微型计算机构成的工业控制
系统满的多,其响应时间至少等于一个扫描周期,一般均大于一个扫描周期甚至更
长。
所谓 I/O响应时间指从 PLC的某一输入信号变化开始到系统有关输出端信号的改变
所需的时间。其最短的 I/O响应时间与最长的 I/O响应时间如图所示:
最短 I/O响应时间:
最长 I/O响应时间:
八. PLC的 I/O系统
一. I/O寻址方式
PLC的硬件结构主要分单元式和模块式两种。前者将 PLC的主要部分(包括
I/O系统和电源等)全部安装在一个机箱内。后者将 PLC的主要硬件部分分别制成模
块,然后由用户根据需要将所选用的模块插入 PLC机架上的槽内,构成一个 PLC系
统。
用户程序执行 输出刷新
不论采取哪一种硬件结构,都必须确立用于连接工业现场的各个输入/输出点
与 PLC的 I/O映象区之间的对应关系,即给每一个输入/输出点以明确的地址确立这
种对应关系所采用得方式称为 I/O寻址方式。
I/O寻址方式有以下三种:
固定的 I/O寻址方式
这种 I/O寻址方式是由 PLC制造厂家在设计、生产 PLC时确定的,它的每一
个输入/输出点都有一个明确的固定不变的地址。一般来说,单元式的 PLC采
用这种 I/O寻址方式。
开关设定的 I/O寻址方式
这种 I/O寻址方式是由用户通过对机架和模块上的开关位置的设定来确定
的。
用软件来设定的 I/O寻址方式
这种 I/O寻址方式是有用户通过软件来编制 I/O地址分配表来确定的。
第二讲 GE FANUC PLC简介
一. GE FANUC Series 90TM Micro PLC 简介
系列 90TM Micro PLC是 GE FANUC 系列 90TM PLC家族的一员。其紧凑的
物理设计,简易的安装方式,强大的控制功能,和极具竞争力的价格,可用于许多
经费紧张,低成本的小规模控制场合。
一. Micro PLC 的类型
• 14点 Micro;
• 28点 Micro;
• 23点 Micro(带 2 AI/1 AO);
• 14点扩展 Micro;
二. 技术参数
1. CPU
14点 Micro PLC 28点 Micro PLC
程序执行时间
标准功能块执行时间 48µs 29µs
内存容量 3K 6K
内存类型 RAM、Flash、EEPROM
数据寄存器 256 2048
内部线圈 1024 1024
计时/计数器 80 600
编程语言 梯形图 梯形图
串行口
1个口
RS422:SNP、RTU
2个口
RS422:SNP、RTU
2. I/O
电源 输入点数 输入类型 输出点数 输出类型
IC693UDR001 85-265VAC 8 DI 24VDC 6 继电器
IC693UDR002 10-30VDC 8 DI 24VDC 6 继电器
IC693UDR003 85-265VAC 8 DI 85-132VAC 6 85-265VAC
IC693UDR005 85-265VAC 16 DI 24VDC
11
1
继电器
24VDC
IC693UAL006 85-265VAC
13 DI
2 AI
24VDC
Analog
9
1
1 AQ
继电器
24VDC
Analog
IC693UAA007 85-265VAC 16 DI 85-132VAC 12 85-265VAC
IC693UDR010 24VDC 16 DI 24VDC 11
1
继电器
24VDC
IC693UEX011 85-265VAC 8 DI 24VDC 6 继电器
三. Micro PLC 的特点
• 两个外置可调电位器(对其他 I/O设置门限值);
• 软件组态功能(无 DIP开关);
• 直流输入可组态成 5KHz的高数计数器;
• 直流输出可组态成 PWM(脉宽调制 19hz ~ 2Khz)信号;
• 28点/23点 Micro PLC 支持实时时钟;
• 14点的扩展模块最多可扩展到 84点(28点 Micro)和 79点(23
点 Micro);
• 23点 Micro PLC提供 2路模拟量输入 1路模拟量输出;
• 内置 RS-422通讯口支持 SNP主从协议、RTU从站协议;
• 28/23点 Micro PLC支持 ASCII输出。
四. Micro PLC的扩展
五. Micro PLC 的通讯
二. GE FANUC Series 90TM 90-30 PLC 简介
GE FANUC 系列 90-30可编程控制器是由一系列的控制器,输入/输出
系统和各种专用模板构成的,它适用于工业现场各种控制需求。
系列 90-30可编程控制器从 1989年推出,并首次在小型可编程序控制器
类型里引入了诸多新功能。至今安装量已超过 20万套系统。
一. 90-30 PLC的类型
90-30 PLC根据 CPU的种类来划分类型,其 I/O模块支持全系列的 CPU,
而有些智能模块只支持高档 CPU模块。
其 CPU类型如下:
• CPU311、CPU313、CPU323;
• CPU331;
• CPU340、CPU341;
• CPU350、CPU351、CPU352;
• CPU360……
二. 技术参数
CPU311
CPU313
CPU323
CPU331
CPU340
CPU341
CPU351
CPU352
I/O点数 80/160 160/320 1024 1024 4096
AI/AO点数 64In-32Out 64In-32Out 128In-
64Out
1024In-256Out 2048In-
256Out
寄存器字 512 1024 2048 9999 9999
用户逻辑内存 6K字节 6K字节 16K字节 32K/80K 80K
程序运行速度 18ms/K
内部线圈 1024 1024 1024 1024 4096
计时/计数器 170 340 680 >2000 >2000
高速计数器 有 有 有 有 有
轴定位模块 有 有 有 有 有
可编程协处理器模块 没有 没有 有 有 有
浮点运算 无 无 无 无 无/有
超控 没有 没有 有 有 有
后备电池时钟 没有 没有 有 有 有
口令 有 有 有 有 有
中断 没有 没有 没有 有 有
诊断 I/O、CPU I/O、CPU I/O、CPU I/O、CPU I/O、CPU
三. I/O模块
几乎所有的 I/O模块都可用在全系列的 90-30 PLC上。
四. 智能模块
• 电源模块
• GENIUS 模块
• 高数计数模块
• 以太网模块
• PROFIBUS 模块
• 通讯协处理器模块
• 可编程协处理器模块
五. 90-30 PLC的扩展(无需特殊模块,底板上带扩展口)
1. 本地扩展
2. 远程扩展
六. 网络通讯
90-30 PLC 支持如下网络类型:
需终端电阻
• RS-485 串行网络;
• Genius 网络;
• Profibus 网络;
• 以太网
• 其他现场工业总线
三. GE FANUC Series 90TM 90-70 PLC 简介
系列 90-70 PLC适用大型、复杂及高速的自动化应用。
一. 90-70 PLC的类型
90-70 PLC 也根据 CPU的种类来划分类型,其大部分模块适用于全系列的 PLC
产品。
CPU的类型:
• CPU731、CPU732;
• CPU771、CPU772;
• CPU780;
• CPU781、CPU782;
• CPU788;
• CPU789;
• CPU790;
• CPU915、CPU925;
• CSE784;
• CSE925;
• CPX935。
技术参数
CPU(MHZ) CPU(处理器) I/O点数 AI/AO点数 用户内存 浮点运算 备注
731/732 8 80C186 512 8K 32K 无/有
771/772 12 80C186 2048 8K 64/512K 无/有
780 16 80386DX 12K 8K 可选 有 热备冗余
788 16 80386DX 352 8K 206K 无 三冗余
789 16 80386DX 12K 8K 206K 无 三冗余
790 64 80486DX2 12K 8K 512K 有 三冗余
915/925 32/64 80486DX/DX2 12K 8K 1M 有 热备冗余
CSE784 16 80386 12K 8K 512K 有 State
Logic
CSE925 64 80486DX2 12K 8K 1M 有 State
Logic
CPX935 96 80486DX4 12K 8K 1M,4M 有 热备冗余
二. 智能模块
• 电源模块;
• GENIUS 模块;
• 高数计数模块;
• 以太网模块;
• PROFIBUS 模块(VME模块);
• 通讯协处理器模块;
• 可编程协处理器模块。
三. 90-70 PLC的扩展(需扩展模块)
90-70 PLC 的机架不分本地机架和括展机架,其区分依赖机架上所插的
模块。(插 BTM的是主机架,插 BRM的是扩展机架)。
四. 90-70 PLC 支持如下网络类型:
• RS-485 串行网络;
• Genius 网络;
• Profibus 网络;
• 以太网
• 其他现场工业总线
因 90-70 PLC所采用的是开放的 VME总线,而在全世界共有 100多家厂家
生产各种各样 VME的模块。而这些模块都可用在 90-70 的系统上。这样一来就
大大丰富 90-70的模块种类,扩展了 90-70 的应用范围,使其有更广泛的应用。
第三讲. GE FANUC PLC指令集(一) 继电器指令
一. 继电器触点:
二. 继电器线圈指令:
三. 注意点
1.脉冲触点的特点(包括上升沿触点与下降沿触点), 其程序及波
形图如下:
%I1: 输入信号
%M1:输出线圈
T :一次扫描周期
2.延续触点与延续线圈
每行程序最多可以有 9个触点,一个线圈。如超过这个限制,则要用到延续
触点与延续线圈。注意延续触点与延续线圈的位置关系。
(
)
当%I1得电时,%M1与%M2不会得电,只有%I2得电时,%M1与%M2才会得电。
3. 带“M”线圈的涵义
带“M”线圈说明该线圈是带断电保护,如果 PLC失电时,带“M”的线圈数
据不会丢失。
附录:
一些系统触点的含意(只能做触点用,不能做线圈用):
ALW_ON: 常开触点;
ALW_OFF: 常闭触点;
FST_SCN: 在开机的第一次扫描时为“1”,其他时间为“0”
T_10ms: 周期为 秒的方波;
T_100ms: 周期为 秒的方波;
T_Sec: 周期为 1秒的方波;
T_Min: 周期为 1分钟的方波。
第四讲. GE FANUC PLC指令集(二)
计时器、计数器
一. 计时器
GE FANUC PLC计时器分为三种类型:
延时计时器
梯形图:
注释:
其工作波形图如下:
A = 当 ENABLE端由“0→1”时,计时器开始计时。
B = 当计时计到后,输出端置“1”,计时器继续计时。
C = 当 ENABLE“1→0”, 输出端置“0”,计时器停止计
预置值
时,当前值被清零。
D = 当 ENABLE端由“0→1”时,计时器开始计时。
E = 当当前值没有达到预置值时,ENABLE端由“1→0”,
输出端仍旧为零,计时器停止计时,当前值被清零。
注:
每一个计时器需占用 3个连续的寄存器变量。
保持延时计时器
梯形图:
注释:
其工作波形图如下:
A = 当 ENABLE端由“0→1”时,计时器开始计时;
B = 当计时计到后,输出端置“1”,计时器继续计时;
C = 当复位端由“0→1”时, 输出端被清零;计时值被复位;
D = 当复位端由“1→0”时, 计时器重新开始计时;
E = 当 ENABLE端由“1→0”时, 计时器停止计时,但当前值被
保留;
F = 当 ENABLE端再由“0→1”时, 计时器从前一次保留值开始
计时;
G= 当计时计到后,输出端置“1”,计时器继续计时,直到使能
端为“0”并复位端为“1”,或当前值达到最大值;
H = 当 ENABLE端由“1→0”时,计时器停止计时,但输出端仍旧
为“1”。
注:
每一个计时器需占用 3个连续的寄存器变量。
断电延时计时器
输出端
预置值
梯形图:
注释:
其工作梯形图如下:
A = 当 ENABLE端由“0→1”时;输出端也由 “0→1”;
B = 当 ENABLE端由“1→0”时,计时器开始计时;输出端继续
为“1”
C = 当当前值达到预置值时; 输出端由“1→0”,计时器停
止计时;
D = 当 ENABLE端由“0→1”时,计时器复位(当前值被清
零);
E = 当 ENABLE端由“1→0”;计时器开始计时;
F = 当 ENABLE又由“0→1”时,且当前值不等于预置值时计时
器复位(当前值被清零。)
G = 当 ENABLE端再由“0→1”; 计时器开始计时;
H = 当当前值达到预置值时; 输出端由“1→0”,计时器停
止计时。
注:
每一个计时器需占用 3个连续的寄存器变量。
二. 计数器
GE FANUC PLC的计数器有两种:
加计数器
梯形图:
注释:
当计数端输入由“0→1”(脉冲信号),当前值加“1”,当当前值等
于预置值时,输出端置“1”。只要当前值大于或等于预置值,输出端始终为
“1”,而且该输出端带有断电自保功能,在上电时不自动初始化。复位端
预置值
输出端
该计数器是复位优先的计数器,当复位端为“1”时(无需上升沿跃
变),当前值于预置值均被清零,如有输出,也被清零。
另,该计数器计数范围为 0至+32,767。
注:
每一个计数器需占用 3个连续的寄存器变量。
计数端的输入信号一定要是脉冲信号,否则将会屏蔽下一次计数。
减计数器
梯形图:
注释:
当计数端输入由“0→1”(脉冲信号),当前值减“1”,当当前值等
于“0”时,输出端置“1”。只要当前值小于或等于预置值,输出端始终为
“1”,而且该输出端带有断电自保功能,在上电时不自动初始化。
该计数器是复位优先的计数器,当复位端为“1”时(无需上升沿跃
变),当前值被置成预置值,如有输出,也被清零。
该计数器的最小预置值为“0”,最大预置值为“+32,767”,最小当
前值为“-32,767”。
注:
每一个计数器需占用 3个连续的寄存器变量。
计数端的输入信号一定要是脉冲信号,否则将会屏蔽下一次计数。
第五讲. 数学运算
GE FANUC PLC 提供以下数学运算功能:
一. 四则运算和求余
复位端
四则运算的梯形图及语法基本类似,现以加法指令为例:
梯形图:
注释:
在 I1端为被加数,I2端为加数,Q为和,其操作为
Q=I1+I2
当 Enable为“1”时(无需上升沿跃变),指令就被执行。I1、I
与 Q是三个不同的地址时,Enable端是长信号或脉冲信号没有不同。
当 I1或 I2之中有一个地址于 Q地址相同时,即:
I1(Q)=I1+I2或 I2(Q)=I1+I2
其 Enable端要注意是长信号还是脉冲信号。是长信号时,该
加法指令成为一个累加器,每个扫描周期,执行一次,直至
溢出。是脉冲信号时,当 Enable端为“1”时, 执行一次。
当计算结果发生溢出时,Q保持当前数型的最大值(如是带符号的
数,则用符号表示是正溢出还是负溢出。)
当 Enable端为“1”时,指令正常执行时,没有发生溢出时, OK
端为“1”,除非发生以下情况:
对 ADD来说,(++-;
对 SUB来说, ( + -;
对UL来说,0 × ( ;
对 DIV来说,0/0,1/;
I1和(或)I2不是数字。
注:
要注意四则运算的数型,相同的数型才能运算:
INT 带符号整数(16位) -32,768 ~ +32767
UINT 不带符号整数(16位) 0 ~ 65,535
DINT 双精度整数(32位) +2,147,483,648
REAL 浮点数(32位)
MIXED 混合型(90-70乘、除法时用)
加数
16
位
OK
二. 开方
梯形图:
注释:
求 IN端的平方根,当 Enable为“1”时(无需上升沿跃变),Q端
为 IN的平方根(整数部分)。
当 Enable为“1”时, OK端就为“1”,除非发生下列情况:
IN<0;
IN不是数值。
注:
平方根指令支持以下数型:
INT
DINT
REAL
三. 绝对值
梯形图:
注释:
求 IN端的绝对值,当 Enable为“1”时(无需上升沿跃变),Q端
为 IN的绝对值。
当 Enable为“1”时, OK端就为“1”,除非发生下列情况:
对数型 INT来说, IN是最小值;
对数型 DINT来说,IN是最小值;
对数型 REAL来说,IN不是数值。
注:
绝对值指令支持下列数型:
INT
DINT
REAL
绝对值
四. 三角函数(只支持浮点数)
系列 90-70 PLC提供 6种三角函数,分别是正弦函数、余弦函数、正切
函数、反正弦函数、反余弦函数、反正切函数。其语法大致相同,现以正弦函数为
例。
梯形图:
当 Enabel 端为“1”时(无需上升沿跃变),该指令执行如下操作:
Q=SIN (IN)。
其输入端/输出端取值范围如下:
输入端 输出端
SIN -263<IN<263 -1<Q<1
COS -263<IN<263 -1<Q<1
TAN -263<IN<263 -∞<Q<+∞
ASIN -1<IN<1 -π/2<Q<+π/2
ACOS -1<IN<1 -π/2<Q<+π/2
ATAN -∞<Q<+∞ -π/2<Q<+π/2
五. 对数与指数(只支持浮点数)
系列 90-70 PLC提供 LOG、LN、EXP和 EXPT 四种指令。
梯形图:
注释:
当 Enabel 端为“1”时(无需上升沿跃变),该指令执行如下操作:
Q=LOG10 IN
其他指令执行如下操作:
LN: Q=LN IN
EXP: Q=eIN
EXPT: Q=I1I2 (该指令有两个输入端 I1和 I2)
其指令的取值范围符合函数的定义域。
六. 角度、弧度的转换
角度值和弧度值的转换(只支持浮点数)
梯形图:
注释:
当 Enabel 端为“1”时(无需上升沿跃变),该指令执行适当的转换(
角度转弧度或弧度转角度)。
第六讲. 比较指令
GE FANUC PLC 提供以下比较指令功能:
待求值
真数
角度值
一. 普通比较指令
比较指令的梯形图及语法基本类似,现以等于指令为例:
梯形图:
注释:
比较 I1和 I2的值,如满足指定条件,且当 Enable为“1”时(无需
上升沿跃变),Q端置“1”,否则置“0”。
比较指令执行如下比较:I1=I2,I1>I2等。
当 Enable为“1”时,OK端即为“1”,除非 I1或 I2不是数值。
比较指令支持如下数型(相同数型才能比较):
INT
DINT
REAL
UNIT
二. CMP指令
梯形图:
注释:
比较 I1和 I2的值,且当 Enable为“1”时(无需上升沿跃变),
如 I1>I2,GT端置“1”;I1=I2,EQ端置“1”,I1<I2,LT端置“1”。
条件满足输出值
Enable
等于条件满足输出值
比较指令执行如下比较:I1=I2,I1>I2,I1<I2。
当 Enable为“1”时,OK端即为“1”,除非 I1或 I2不是数值。
注:
比较指令支持如下数型(相同数型才能比较):
INT
DINT
REAL
UNIT
三. Range指令
梯形图:
注释:
当 Enable为“1”时(无需上升沿跃变),该指令比较输入端 IN是
否在 L1和 L2所指定的范围内(L1≤IN≤L2 或 L2≤X≤L1),如条件满足,
Q端置“1”,否则置“0”。
当 Enable为“1”时,OK端即为“1”,除非 L1、L2和 IN不是数值。
注:
Range指令支持的数型(相同数型才能比较):
INT
DINT
UNIT
WORD
DWORD
第七讲. 位操作指令
GE FANUC PLC 提供以下位操作指令功能:
一. 与、或、非操作
与或非操作指令格式基本一致,现以“AND”指令为例:
Enable
条件满足输出
梯形图:
注释:
Enable: 使能端
OK: OK端
I1: 执行“与”指令的字 1
I2: 执行“与”指令的字 2
Q: “与”后的结果
LEN: 执行“与”指令字的长度(I1、I2和 Q指出起始地址
LEN指出长度)。
当 Enable端为“1”时(无需上升沿跃变),该指令执行与操作,
其功能如下:
该指令最多对 256个字(128个双字)进行“与”操作。
当 Enable端为“1”时,OK端即为“1”。
二. 移位指令(左移、右移指令)
左移指令与右移指令,除了移动的方向不一致外,其余参数都一致,现以左
移指令为例:
梯形图:
注释:
字 2
字
2
Enable
移位后的值的地址
Enable: 使能端;
OK: OK端;
LEN: 移位字串长度;
IN: 需移位字串的起始地址;
N: 每次移位移几位(大于 0,小于 LEN);
B1: 移入位(为一继电器触点);
B2: 溢出位(保留最后一个溢出位);
Q: 移位后的值的地址(如要产生持续移位的效果,
Q端与 IN端的地址应该一致)。
当 Enable端为“1”时(无需上升沿跃变),该指令执行移位操作,
其功能如下:
移位前字串内容:
执行移位指令图示如下:
其各参数取值如下:
IN=Q
B1=ALW_ON=1
B2=%M1
N=3
1
0 0 0 0 0 0 0 0 0 0 0 0 1 1 10
三. 循环移位指令
循环移位指令分左循环移位指令和右循环移位指令,除了移动的方向不一致
外,其余参数都一致,现以左循环移位指令为例:
梯形图:
注释:
Enable: 使能端;
OK: OK端;
LEN: 移位字串长度;
IN: 需移位字串的起始地址;
N: 每次移位移几位(大于 0,小于 LEN);
Q: 移位后的值的地址(如要产生循环移位的效果,
Q端与 IN端的地址应该一致)。
当 Enable端为“1”时(无需上升沿跃变),该指令执行移位操作,
其功能如下:
移位前字串内容:
执行循环移位指令图示如下:
移位后的值的地址
1 0 0 0 0 0 0 0 0 0 0 0 1 1 11
1
其各参数取值如下:
IN=Q
N=3
三. 位测试指令
检测字串中指定位的状态,决定当前位是“1”还是“0”,结果输出至
“Q”。
梯形图:
注释:
Enable: 使能端;
IN: 被检测字串地址;
BIT: 检测该字串的第几位;
Q: 该字串的值是“0”还是“1”。
当 Enable为“1”时,(无需上升沿跃变),该指令执行如下操作:
其中:
BIT=5
四. 位置位(BSET)与位清零(BCLR)指令:
位置位与位清零指令,功能相反,但参数一致,现以位置位指令为例:
该位的值
1 1 1 1 0 0 0 0 0 0 1 0 0 0 01
梯形图:
注释:
Enable: 使能端;
IN: 需置位字串的起始地址;
BIT: 需置位的位在字串中位置。
当 Enable为“1”时,(无需上升沿跃变),该指令操作过程如图所示:
其中:
BIT=5
五. 定位指令(BPOS)
搜寻指定字串第一个为“1”的位的位置。
梯形图:
注释:
Enable: 使能端;
Q: 当被搜寻字串为一非零字串时,置“1”;
POS: 该字串中,第一个为“1”的位的位置。
当 Enable为“1”时,(无需上升沿跃变),该指令操作过程如图所示:
以前值
要搜寻字串地址
找到了…
1 0 1 1 0 0 1 0 0 0 1 0 0 0 01
如果,没有找到“1”,则 Q=0,POS=0。
六. 屏蔽比较指令(MSKCMP):
比较两个字串相应的每个位的值是否一致。
梯形图:
注释:
Enable: 使能端;
I1: 被比较字串 1;
I2: 被比较字串 2;
M: 屏蔽位(当两个字串不相等时,把该地址相对应
的位置“1”);
BIT: 指出下一次比较开始的位的位置(一般和“BN”
使用相同的地址);
MC: 当两个字串不相等时,置“1”;
Q: 与“M”的值相等;
BN: 当两个字串不相等时,表示上一次比较结束的位的
位置(一般和“BIT”使用相同的地址)。
当 Enable为“1”时,(无需上升沿跃变),该指令操作过程如图所示:
其参数地址如下:
I1=%I1
I2=%Q1
M=%R1
BIT=%R10
MC=%M1
Q=%P1
和“M”的值一致
下次比较开始的位的
起始地址
BN=%R10
%I1
%Q1
其屏蔽位在两次比较后的结果如下:
如两个字串完全相等,则 M=0;BN=16(字长)
第八讲. 数据移动指令
GE FANUC PLC 提供以下数据移动指令功能:
一. 数据移动指令(MOVE)
该指令可以将数据从一个存储单元复制到另一个存储单元。由于数据是以位
的格式复制的, 所以新的存储单元无需与原存储单元具有相同的数据类
型。
梯形图:
由 BIT 指定的位开始
比较,如 BIT=BN 的
话,则从上一次比较
结束的位置开始。
1 0 0 1 1 0 1 0 0 0 1 0 0 0 01
第一次
被复制字串
注释:
Enable: 使能端;
IN: 被复制字串;
Q: 复制后字串;
LEN: 字串长度。
当 Enable 端为“1”时(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、UINT、DINT、BIT、WORD、DWORD、REAL。
二. 块移动指令
可将七个常数复制到指定的存储单元。
梯形图:
注释:
Enable: 使能端;
IN1~IN7: 7个常数;
Q: 输出参数。
9
2
7
8
9
IN
常数
2
常数
6
当 Enable为“1”时(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、 WORD、 REAL。
三. 块清零指令(BLKCLR)
对指定的地址区清零。
梯形图:
注释:
Enable: 使能端;
IN: 被清零地址区的起始地址;
LEN: 被清零地址区的长度。
当 Enable端为“1”时(无需上升沿跃变),该指令执行如下操作:
MOVE
8
7
2
2
该指令支持如下数型:
WORD。
四. 移位寄存器指令(SHFR)
将一个或多个数据字或数据位从一个给定存储单元移位到存储器的指定单
元。
梯形图:
注释:
Enable: 使能端;
R: 复位端(该指令为复位优先指令);
N: 移入移位字串的值;
ST: 移位字串的起始地址;
移入值
Q: 保存移出移位字串的最后一个值;
LEN: 移位字串的长度(1~256之间)。
当 Enable为“1”时(无需上升沿跃变),该指令执行如下操作:
当复位端为“1”时,所有移位字串被清零。
该指令支持如下数型:
• BIT
• WORD
五. 位序列指令(BITSEQ)
该指令为一时序移位指令,每个位序列指令占用 3个连续寄存器。
梯形图:
4
5
0
7
3
4
1
2
1
4
6
IN
1
4
6
4
5
0
7
34
12
Q
复位端
寄存器地址
注释:
Enable: 使能端;
R: 复位端(该指令为复位优先);
DIR: 字串移动防向(=1向左移、=0向右移);
STEP: 定义整个移位字串开始移位的初始位,当复位端为
“1”时,该位置“1”;
ST: 移位字串的起始地址;
LEN: 移位字串的长度。
当 Enable为“1”时(需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
• BIT
六. 翻转指令(SWAP)
0 0 0 0 0 0 0 0 0 0 0 0 1 0 00
移位后:
0 0 0 0 0 0 0 0 0 0 0 0 1 0 00
该指令翻转一个字中高字节与低字节的位置或一个双字中两个字的前后位
置。
梯形图:
注释:
Enable: 使能端;
IN: 翻转前字串的起始地址;
Q: 翻转后字串的起始地址;
LEN: 字串长度。
当 Enable为“1”(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
WORD、DWORD
七. 通讯指令(COMMREQ)
当 CPU需要读取智能模块的数据时,使用该指令。
1 1 1 1 1 1 1 0 0 0 0 0 0 0 01
梯形图:
注释:
Enable: 使能端;
IN: 命令块的起始地址;
SYSID: 该智能模块在系统中的位置,高八位指出模块所在
机架号,低八位指出模块所在槽号;
TASK: 指出本指令的作用。
该指令 Enable端是长信号还是短信号,取决于不同的智能模块。该指令分包
含命令块和数据块,其参数都在这两个块中设定。在数据块中,各种智能模块大都
有自己的参数,不尽相同,其长度最长可到 127个字;而命令块则大致相同,其命
令块中格式如下:
地址: 数据块的长度;
地址+1: 等待/不等待标志;
地址+2: 状态指针存储器;
地址+3: 状态指针偏移量;
地址+4: 闲置超时值;
地址+5: 最长通讯时间。
八. VME指令
任务号
这是一组访问 VME总线的指令。可以读写 VME总线上的数据。(90-70 PLC采
用开放的 VME总线结构,凡是符合 VME总线标准的模块都可以插在 90-70
的机架上,通过这一组指令来访问它们。)
1. VME读指令(VMERD)
读取 VME总线上的数据。
梯形图:
2. VME写指令(VMEWRT)
3. VME读出/修改/写入指令(VMERMW)
4. VME 测试/置位指令(VMETST)
5. VME_CFG_RD指令:
6. VME_CFG_WRT
九. 数据初始化指令(DATA_INIT)
该指令定义寄存器地址的数据类型,没有实际的编程功能,但提供很强的调
试功能。在首次编程时,其值被初始化为“0”。
梯形图:
注释:
Enable: 使能端;
寄存器起
始地址
Q: 需初始化的寄存器起始地址;
LEN: 寄存器长度。
当 Enable端为“1”(无需上升沿跃变),该指令按照相应的数据格式初始
化寄存器数据类型。其常数值输入如下:
• LM90
光标移至该指令上,按 F10键,然后按照屏幕格式输入数据。
• Cimplicity Control
双击该指令,根据屏幕格式输入数据。
该指令支持如下数型:
INT、DINT、UINT、WORD、DWORD、REAL。
十. 通讯数据初始化指令(DATA_INIT_COMM)
该指令可以初始化 COMMREQ指令的数据。
梯形图:
注释:
Enable: 使能端;
Q: 需初始化的寄存器起始地址;
LEN: 寄存器长度。
当 Enable端为“1”(无需上升沿跃变),该指令根据 COMMREQ的数据格式
初始化寄存器数据。其值输入如下:
• LM90
光标移至该指令上,按 F10键,然后按照屏幕格式输入数据。
• Cimplicity Control
双击该指令,根据屏幕格式输入数据。
另数据初始化指令还包括 DATA_INIT_ASCII指令,其功能上两种指令类
似。
寄存器起
始地址
第九讲 数据表格指令
GE FANUC PLC 提供以下数据移动指令功能:
这些指令提供数据自动移动的能力,该功能用于向数据表中输入数据或从表
中拷贝出数据。而对数据表指针的正确使用,是掌握该组指令的要点。
表中数据移入移出的基本形式:
一. 表读出指令(TBLRD)
用来顺序地读出一个表中的值。
梯形图:
注释:
Enable: 使能端;
TB: 数据表的起始地址;
PTR: 数据表的指针;
EM: 当 PTR=LEN时,置“1”;
Q: 存放从表中读出数值的地址;
LEN: 数据表的长度。
当 Enable为“1”时(无需上升沿跃变),该指令执行如下操作:
数据表起
始地址
7
4
5
0
7
3
4
1
2
指针
上次指针
本次指针
Q=7
该指令支持如下数型:
INT、UINT、DINT、WORD、DWORD。
2. 表写入指令(TBLWRT)
连续更新数据表中的数据。
梯形图:
注释:
Enable: 使能端;
TB: 数据表的起始地址;
PTR: 指针;
IN: 写入数据表的数据;
FL: 当 PTR=LEN时,FL=1。
当 Enable为“1”时(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、UINT、DINT、WORD、DWORD。
三. 堆栈指令
堆栈指令分为读指令(LIFORD)和写指令(LIFOWRT)。这两条指令一般来说
同时使用。
1. 读指令(LIFORD)
梯形图:
数据表起
始地址
4
1
2
上次指针
PTR=LEN
时,FL=1
注释:
Enable: 使能端;
TB: 数据表的起始地址;
PTR: 数据表的指针;
EM: 当 PTR=0时,置“1”;
Q: 存放从表中读出数值的地址;
LEN: 数据表的长度。
当 Enable 为“1”时(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、UINT、DINT、WORD、DWORD。
3. 写指令(LIFOWRT)
梯形图:
注释:
Enable: 使能端;
4
1
2
1
PTR=LEN
时,FL=1
TB: 数据表的起始地址;
PTR: 指针;
IN: 写入数据表的数据;
FL: 当 PTR=LEN时,FL=1;
LEN: 数据表的长度。
当 Enable端为“1”时(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、UINT、DINT、WORD、DWORD。
四. 队列指令
队列指令分为读指令(FIFORD)和写指令(FIFOWRT)。这两条指令一般来说
同时使用。
1. 读指令(FIFORD)
梯形图:
注释:
Enable: 使能端;
TB: 数据表的起始地址;
PTR: 数据表的指针;
EM: 当 PTR=0时,置“1”;
Q: 存放从表中读出数值的地址;
LEN: 数据表的长度。
当 Enable 为“1”时(无需上升沿跃变),该指令执行如下操作:
PTR=LEN
时,FL=1
1
7
该指令支持如下数型:
INT、UINT、DINT、WORD、DWORD。
2. 写指令(FIFOWRT)
梯形图:
注释:
Enable: 使能端;
TB: 数据表的起始地址;
PTR: 指针;
IN: 写入数据表的数据;
FL: 当 PTR=LEN时,FL=1;
LEN: 数据表的长度。
当 Enable端为“1”时(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、UINT、DINT、WORD、DWORD。
五. 排序指令(SORT)
5
0
执行前 执行后
4
1
PTR=LEN
时,FL=1
把一个数组中的数据按升序方式排列。
梯形图:
注释:
Enable: 使能端;
IN: 数组的起始地址。程序执行后,其元素按升序方式
也存放在该地址中;
Q: 原数组中原来元素排序前位置的索引;
LEN: 数组长度(小于等于 64)。
当 Enable 为“1”(无需上升沿跃变),该指令执行如下操作:
该指令支持如下数型:
INT、UINT、WORD。
六. 数组移动(ARRAY_MOVE)
从源数组复制指定数据到目标数组。
4
5
0
1
0
3
4
1
3
4
2
IN
梯形图:
注释:
Enable: 使能端;
SR: 源数组起始地址;
SNX: 源数组地址偏移量*;
DNX: 目标数组地址偏移量*;
N: 需复制数据的长度;
DS: 目标数组起始地址;
LEN: 数组长度。
当 Enable端为“1”时(无需上升沿跃变),该指令执行如下操作:
其各参数取值如下:
SR: %R1
SRX: %R10=2
DNX: %P1=3
N: %P10=3
DS: %R100
该指令支持如下数型:
源数组地
址偏移量
4
5
0
1
0
3
4
1
5
5
0
1
0
3
4
INT、UINT、DINT、BIT、BYTE、WORD、DWORD。
七. 数组搜寻
在一指定数组中查询符合条件的值,并输出。现以数组搜寻等于指令为例。
梯形图:
注释:
Enable: 使能端;
AR: 数组的起始地址;
NX(输入): 指定在数组中开始搜寻的起始地址;
IN: 搜寻值;
FD: 如果找到符合条件的值,则置“1”;
NX(输出): 该搜寻值在数组中的位置;
LEN: 数组长度。
当 Enable 为“1”(无需上升沿跃变),该指令执行如下操作:
如果没有符合要求的值,则 FD=0;NX(输出)=0。
该指令支持如下字形:
INT、UINT、DINT、BYTE、WORD、DWORD。
数组地址
偏移量
4
5
0
1
0
3
4
1
5
其中:
AR=%R1;
NX=%R10=2;
IN=34;
FD=%Q1
NX=%R100
第十讲 数据转换指令
GE FANUC PLC 提供以下数据转换指令功能:
该组指令语法大同小异,现以 BCD-4转 INT指令为例:
梯形图:
注释:
Enable: 使能端;
IN: 被转换值;
Q: 转换值。
当 Enabe 端为“1”时(无需上升沿跃变),该指令执行如下操作:
把 IN端的值转换成程序所指定的值,并存放在 Q端。
第十一讲 控制指令
GE FANUC PLC 提供以下控制指令功能:
该组指令提供控制 PLC程序运行顺序的功能。
一. 调用子程序(CALL,CALL EXTERNAL)
提供模块化编程的功能。
CALL ???????
该指令执行如下功能:
二. 分支指令(MCR、ENDMCR)
变更程序的执行顺序。
梯形图:
该指令执行如下功能:
1. MCR和 END_MCR之间的程序被忽略,不执行;
2. 其中间的子程序不被调用;
3. 其中间计时器当前值被清零;
4. 其中间所用的常开线圈被复位
注:
• MCR和 END_MCR的名字必须一致;
• 任意几个 MCR和 END_MCR之间不能交叉使用;
• MCR和 END_MCR可以嵌套使用,其嵌套深度由 CPU的类型决定。
三. 跳转指令(JUMP、LABLE)
变更程序的执行顺序。
梯形图:
_MAIN
BLOCK
SUB
BLOCK
1
SUB
BLOCK
2
SUB
BLOCK
3
END_MCR
???????
该指令执行如下功能:
1. JUMP和 LABLE之间的程序被忽略,不执行;
2. 其中间的子程序不被调用;
3. 其中间的计时器当前值被保持;
4. 其中间程序的执行结果保持上一次的执行结果。
注:
• JUMP和 LABLE的名字必须一致;
• 任意几个 JUMP和 LABLE之间不能交叉使用;
• JUMP和 LABLE可以嵌套使用, 其嵌套深度由 CPU的类型决
定。
四. PLC Service Request(SVCREQ)
该指令提供一系列 PLC的功能指令。
梯形图:
注释:
该指令共有 32种功能,其执行哪种功能,由 FNC处指定。
Enable: 使能端;
FNC: 功能号;
PARM: 该指令所需参数的起始地址
当 Enable 端为“1”时(无需上升沿跃变),该指令执行 FNC处指定的
功能。
1. #7 读写系统时钟(FNC=7)
0=读系统时钟
1=设置系统时钟
0=十进制数
1=BCD码格式
2=解包 BCD码格式
3=打包 ASCII格式
数据
其时间格式如下:
???????
功能号
地址 3(word
3)
• 十进制数
年
月
日
时
分
秒
周
• BCD 码
月 年
时 日
秒 分
(空) 周
• 解包 BCD 码
年(十位数,个位数各用 BCD码表示)
月(十位数,个位数各用 BCD码表示)
日(十位数,个位数各用 BCD码表示)
时(十位数,个位数各用 BCD码表示)
分(十位数,个位数各用 BCD码表示)
秒(十位数,个位数各用 BCD码表示)
周(十位数,个位数各用 BCD码表示)
• 打包 ASCII码
年(个位数) 年(十位数)
月(十位数) 空格
空格 月(个位数)
日(个位数) 日(十位数)
时(十位数) 空格
: 时(个位数)
分(个位数) 分(十位数)
秒(个位数) :
空格 秒(十位数)
周(个位数) 周(30h)
2. #14清除 PLC故障表中的登录错误(FNC=14)
0=清除 PLC故障表中的故障
地址 3(word
3)
1=清除 I/O故障表中的故障
3. #13关闭 PLC(FNC=13)
该指令无需参数,但在 PARM中必须填写一个地址,否则语法错误。