几个PLC功能指令的理解
PLC功能指令—数据处理指令

2. 数据传送指令应用举例
【例题5.1】 设有8盏指示灯,控制要求是:当I0.0接通时,全部灯亮;当I0.1 接通时,奇数灯亮;当I0.2接通时,偶数灯亮;当I0.3接通时,电路图
例题5.1控制关系表
输入继电器
I0.0 I0.1 I0.2 I0.3
Q0.7 ● ●
Q0.6 ●
●
Q0.5 ● ●
输出继电器位
Q0.4 ●
●
Q0.3 ● ●
Q0.2 ●
●
Q0.1 ● ●
Q0.0 ●
●
输出继电器字节
QB0 16#FF 16#AA 16#55
0
例题5.1程序
模块五 功能指令
5.1
数据处理指令
一、转换指令
转换指令是对操作数的类型进行转换,并输出到指 定的目标地址中去。转换指令包括数据的类型转换、数 据的编码和译码指令以及字符串类型转换指令。
1、BCD码与整数之间的转换 2.双字整数转换为实数 3.四舍五入取整指令 4.截位取整指令 5.整数与双整数的转换 6.字节与整数的转换指令
转换指令如图:
二、传送指令
1.数据传送指令MOV
(1)数据传送指令的梯形图使用指令盒形式。指令盒由操作码MOV,数据 类型(B/W/DW),使能输入端EN,使能输出端ENO,源操作数IN和目标操作 数OUT构成。
(2)ENO可作为下一个指令盒EN的输入,即几个指令盒可以串联在一行 ,只有前一个指令盒被正确执行时,后一个指令盒才能执行。
FX系列PLC的基本逻辑指令

第五讲FX系列PLC的基本逻辑指令FX系列PLC共有27条基本逻辑指令,此外还有一百多条应用指令。
仅用基本逻辑指令便可以编制出开关量控制系统的用户程序。
第一部分:1、LD,LDI,OUT指令LD(Load):电路开始的常开触点对应的指令,可以用于X,Y,M,T,C和S。
LDI(Load Inverse):电路开始的常闭触点对应的指令,可以用于X,Y,M,T,C和S。
OUT(Out):驱动线圈的输出指令,可以用于Y,M,T,C和S。
LD与LDI指令对应的触点一般与左侧母线相连,在使用ANB,ORB指令时,用来定义与其他电路串并联的电路的起始触点。
OUT指令不能用于输入继电器X,线圈和输出类指令应放在梯形图的最右边。
OUT指令可以连续使用若干次,相当于线圈的并联。
定时器和计数器的OUT指令之后应设置以字母K开始的十进制常数,常数占一个步序。
定时器实际的定时时间与定时器的种类有关,图中的T0是l00ms定时器,K19对应的定时时间为。
19×100ms=l.9s。
也可以指定数据寄存器的元件号,用它里面的数作为定时器和计数器的设定值。
计数器的设定值用来表示计完多少个计数脉冲后计数器的位元件变为1。
如果使用手持式编程器,输入指令“OUT T0”后,应按标有SP(Space)的空格键,再输入设置的时间值常数。
定时器和16位计数器的设定值范围为1~32 767,32位计数器的设定值为–2 147 483 648~2 147 483 647。
2、触点的串并联指令AND(And):常开触点串联连接指令。
ANI(And Inverse):常闭触点串联连接指令。
OR(Or):常开触点并联连接指令。
ORI(Or Inverse):常闭触点并联连接指令。
串、并联指令可以用于X,Y,M,T,C和S。
单个触点与左边的电路串联时,使用AND和ANI指令,串联触点的个数没有限制。
在图中,OUT M10l指令之后通过T1的触点去驱动Y4,称为连续输出。
三菱PLC功能指令

三菱PLC功能指令1.位操作指令:位操作指令用于读取、写入和修改位级别的数据。
常见的位操作指令包括LD(逻辑与)、ORR(逻辑或)、AND(逻辑与)、XOR(异或)等。
2.数据操作指令:数据操作指令用于读取、写入和修改字节、字和双字级别的数据。
常见的数据操作指令包括MOV(赋值)、ADD(加法)、SUB(减法)、MUL(乘法)、DIV(除法)等。
3.计数器指令:计数器指令用于实现计数功能。
有三种类型的计数器指令:上升沿计数器、下降沿计数器和阶段计数器。
计数器指令可以用于进行数量统计、进度监测等应用。
4.定时器指令:定时器指令用于实现定时功能。
有两种类型的定时器指令:上升沿定时器和下降沿定时器。
定时器指令可以用于进行时间监测、延时操作等应用。
5.移位指令:移位指令用于将数据的位进行移动。
常见的移位指令包括SHL(左移)、SHR(右移)等。
移位指令通常用于数据处理和位拼接等应用。
6.比较指令:比较指令用于比较两个数值的大小。
常见的比较指令包括CMP(比较)、EQ(等于)、NE(不等于)、GT(大于)等。
比较指令可以用于实现条件判断和逻辑控制等应用。
7.转移指令:转移指令用于控制程序的流程。
常见的转移指令包括JMP(无条件跳转)、JE(等于时跳转)、JNE(不等于时跳转)、JG(大于时跳转)等。
转移指令可以用于实现程序的循环和条件判断等应用。
8.存储器控制指令:存储器控制指令用于读取和写入存储器的数据。
常见的存储器控制指令包括LD(读取)、ST(写入)等。
存储器控制指令可以用于实现数据存储和加载等应用。
9.数学指令:数学指令用于实现各种数学运算。
常见的数学指令包括SIN(正弦)、COS(余弦)、SQRT(平方根)等。
数学指令可以用于实现数据处理和数值计算等应用。
10.基本运算指令:基本运算指令用于实现基本的数值运算。
常见的基本运算指令包括加法、减法、乘法和除法等。
基本运算指令通常用于实现逻辑计算和数据处理等应用。
plc系统编程2基本指令

•例:
•在示例中,比较1 在 In1=1 时执行; •比较2 在 In1=1、In2=1 并且 比较1 的结果 =1 时执行; •若 In1=1、In2=1,并且 比较1 和 比较2 的结果都 =1, 则 Out1 为 1。
4、跳变沿识别:
1)对象: 2)分类: 正跳变沿:在跳变沿识别时,将监控某一位从0到1的转换; 负跳变沿:在跳变沿识别时,将监控某一位从1到0的转换; 3)识别过程:
I0.0
M0.0 I0.1 M0.1
Q0.0
扫描周期
例2:
I0.0 Q0.0 Q0.1
LD
I0.0
//输入常开触点
EU
//脉冲正跳变
=
Q0.0
//输出触点
LD
I0.0
//
ED
//脉冲负跳变
=
Q0.1
//
时序图
例3:
I0.0 I0.1 Q1.0 Q0.0 Q0.2
4)正跳变沿识别过程:
•使用识别正跳变沿的触点识别正跳变沿; •此时,关联的实际参数(A)从0变为1,左连接的状态此时为 1, 则程序周期的右连接为1;否则,右连接的状态为0;
•例:假定识别变量A的正跳变沿,因此应为周期设置B。
5)负跳变沿:
•使用识别负跳变沿的触点识别负跳变沿; •此时,关联的实际参数(A)从1变为0,左连接的状态此时为 0,则程序周期的右连接为1;否则,右连接的状态为0。 •例:假定识别变量A的负跳变沿,因此应为周期设置B。
6)用途:是指用边沿触发信号产生一个机器周期的扫
例1:
描脉冲,通常用作脉冲整形。
•I0.0的上跳沿,EU产生一个扫描周期时钟 脉冲,M0.0线圈通电,M0.0常开触点闭合 一个扫描周期,使输出置位线圈Q0.0触发 有效(输出线圈Q0.0=1)并保持。 •I0.1下跳沿,ED产生一个扫描周期的时钟 脉冲,驱动输出线圈M0.1通电一个扫描周 期,M0.1常开触点闭合,使输出线圈Q0.0 复位有效(Q0.0=0)并保持。
plc功能指令

plc功能指令PLC(可编程逻辑控制器)是一种用于自动化控制的电子设备,其功能指令是PLC在控制程序中使用的指令集。
PLC功能指令包括输入、输出、位操作、数学运算、数据处理、定时器和计数器等多种指令。
输入指令用于读取外部传感器或开关的状态,例如XIC(输入联系常闭)指令用于检测输入信号是否为常闭状态,而IIN(输入整数)指令用于读取模拟输入信号的数值。
输出指令用于控制外部执行器或继电器的操作,例如OTE(输出传送激活)指令用于激活输出信号,而TON(定时器开启)指令用于开启定时器。
位操作指令用于对位数据进行操作,例如AND(逻辑与)指令用于判断多个位数据是否同时为1,而XOR(异或)指令用于判断两个位数据是否不同。
数学运算指令用于对数字进行算术运算,例如ADD(加法)指令用于两个数相加,而SUB(减法)指令用于两个数相减。
数据处理指令用于对数据进行处理,例如MOV(移动)指令用于将数据从一个地址复制到另一个地址,而COM(比较)指令用于比较两个数据是否相等。
定时器指令用于设定和监控定时器的操作,例如TON(定时器开启)指令用于开启定时器,而TOF(定时器结束)指令用于检测定时器是否结束。
计数器指令用于设定和监控计数器的操作,例如CTU(计数器增加)指令用于增加计数器的值,而CTD(计数器减少)指令用于减少计数器的值。
除了以上常见的功能指令外,PLC还具有其他指令用于实现复杂的控制功能,例如比较指令、移位指令、程序控制指令等。
总之,PLC功能指令是PLC控制程序中使用的指令集,用于实现自动化控制系统的各种功能和操作。
这些指令的灵活运用可以实现复杂的控制逻辑,提高生产效率和质量。
s7-200plc基本逻辑指令

s7-200plc基本逻辑指令PLC(可编程逻辑控制器)作为现代工业自动化领域中的重要设备,可以实现对各类生产过程的自动控制。
S7-200PLC是西门子公司推出的一款经典型号,具备较高的性能和灵活的编程功能。
本文将重点介绍S7-200PLC的基本逻辑指令,包括输入/输出指令、计算指令、转移指令和比较指令等,以帮助读者更好地理解和应用该型号的PLC。
1. 输入/输出指令输入/输出指令用于读取外部信号并控制输出动作,是PLC程序中最常用的指令之一。
S7-200PLC提供了多种输入/输出指令,其中包括XIC、XIO、OUT、SET、RST等指令。
XIC指令用于判断输入信号是否为真,XIO指令则相反,用于判断输入信号是否为假。
OUT指令用于控制输出信号为真,SET指令用于设置某个输出信号为真,RST指令则相反,用于复位某个输出信号。
2. 计算指令计算指令主要用于对PLC中的数据进行运算和处理,以满足特定的控制要求。
S7-200PLC提供了多种计算指令,包括加法、减法、乘法、除法等。
比如,ADD指令用于两个数据相加,SUB指令用于两个数据相减,MUL指令用于两个数据相乘,DIV指令用于两个数据相除。
这些计算指令可以灵活应用于各类控制场景中,提高了PLC的控制能力和灵活性。
3. 转移指令转移指令用于根据特定条件执行不同的操作,是PLC程序中的决策和跳转指令。
S7-200PLC提供了多种转移指令,包括无条件转移、条件转移、循环转移等。
例如,JMP指令用于无条件转移到指定的程序段,JMPZ指令用于当某个数值为0时转移到指定的程序段,LOOP指令用于设置循环次数并执行指定的程序段。
通过合理应用转移指令,可以实现复杂的控制逻辑和流程控制。
4. 比较指令比较指令用于判断两个或多个数据之间的大小、相等关系,并根据判断结果执行不同的操作。
S7-200PLC提供了多种比较指令,包括大于、小于、等于等。
例如,GT指令用于判断某个数值是否大于另一个数值,LT指令用于判断某个数值是否小于另一个数值,EQ指令用于判断两个数值是否相等。
plc指令CJ与fend

一、FX系列可编程控制器功能指令概述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状态的元件称为位元件。
字元件:处理数据的元件称为字元件。
位元件的组合:由位元件也可构成字元件进行数据处理,位元件组合由Kn加首元件号来表示。
4个位元件为一组组合成单元,KnM0中的n是组数。
5 变址寄存器V、Z变址寄存器在传送、比较指令中用来修改操作对象的元件号。
其操作方式与普通数据寄存器一样。
在[D.]中的(.)表示可以加入变址寄存器。
对32位指令,V作高16位,Z作低16位。
32位指令中用到变址寄存器时只需指定Z,这时Z就代表了V和Z。
二、程序流程控制功能指令1.条件跳转指令CJ2.子程序调用指令CALL与返回指令SRET3.中断返回指令IRET、允许中断指令EI与禁止中断指令DI4.主程序结束指令FEND5.监视定时器刷新指令WDT6.循环开始指令FOR与循环结束指令NEXT1、条件跳转指令CJCJ、CJP指令用于跳过顺序程序某一部分的场合,以减少扫描时间。
条件跳转指令CJ应用说明如图2、子程序调用指令CALL与返回指令SRET子程序应写在主程序之后,即子程序的标号应写在指令FEND之后,且子程序必须以SRET指令结束3、中断返回指令IRET、允许中断指令EI与禁止中断指令DIPLC一般处在禁止中断状态。
PLC的基本指令

PLC的基本指令一、位操作类指令位操作类指令依靠两个数字1和0进行工作,这两个数字组成了二进制系统,数字1和0称之为二进制数或简称位。
在触点与线圈中,1表示启动或通电,0表示启动或未通电。
1.标准触点指令梯形图表示:语句表表示:“LD bit ”;“LDN bit”。
Bit触点的范围:V、I 、Q、M、SM、T、C、S、L(位)。
功能及说明常开触点在其线圈不带电时,触点是断开的,触点的状态为Off或为0。
当线圈带电时,其触点是闭合的,触点的状态为ON或为1。
该指令用于网络块逻辑运算开始的常开触点与母线的连接。
常闭触点在其线圈不带电时,触点是闭合的,触点的状态为ON或为1。
当线圈带电时,其触点是断开的,触点的状态为OFF或为0。
该指令用于网络块逻辑运算开始的常闭触点与母线的连接。
2.立即触点指令梯形图表示:语句表表示:“LDI bit ”;“LDNI bit”。
Bit触点的范围:I(位)。
功能及说明当常开立即触点位值为1时,表示该触点闭合。
当常闭立即触点位值为0时,表示该触点断开。
指令中的“I”表示立即的意思。
执行立即指令时,CPU直接读取其物理输入点的值,而不是更新映像寄存器。
在程序执行过程中,立即触点起开关的触点作用。
3.输出操作指令(线圈驱动指令)梯形图表示:语句表表示:“=bit ”Bit触点的范围:V、I 、Q、M、SM、T、C、S、L(位)。
功能及说明输出操作是把前面各逻辑运算的结果复制到输出线圈,从而使输出线圈驱动的输出常开触点闭合,常闭触点断开。
输出操作时,CPU是通过输入/输出映像区来读/写输出操作的。
4.立即输出操作指令梯形图表示:语句表表示:“=I bit ”Bit的范围:Q(位)。
功能及说明立即输出操作是把前面各逻辑运算的结果复制到输出线圈,从而使立即输出线圈驱动的输出常开触点闭合,常闭触点断开。
当立即输出操作时,CPU立即输出。
除将结果写到输出映像区外直接驱动实际输出。
5.逻辑与、或操作指令梯形图表示:逻辑与操作由标准触点或立即触点串联构成;逻辑或操作由标准触点或立即触点的并联构成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PLC功能指令实际上就是功能各异的PLC子程序块。
FX2N系列PLC的功能指令有程序流程、传送比较、四则逻辑运算、旋转移位、数据处理、高速处理、方便指令、外部设备处理、浮点数、时钟运算、接点比较等若干类。
本节仅介绍FX2N 系列PLC常用的功能指令。
一、功能指令形式
1.功能指令格式
功能指令用编号FNC00~FNC246表示,并给出对应的语句名称,每条功能指令都有一个指令表。
例如FNC45是一条数据处理平均值功能的指令,助记符为MEAN,使用简易编程器时输入FNC45,而采用智能编程器或计算机编程时也可输入助记符MEAN。
图1是一条取平均值功能指令的梯形图。
图1 MEAN示例梯形图
图中MEAN是功能指令的语句名称,也可使用FNC45(但不直观);D0是源操作数的首元件;D4Z是指定计算结果存放的数据寄存器的地址;K3是指定取值的个数为3。
显然该功能指令的含义是D4Z =(D0+D1+D2)/3,即将(D0+D1+D2)/3的运算结果赋值给D4Z。
功能指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。
2. 功能指令执行方式
功能指令有连续执行和脉冲执行两种类型。
图2中第1支路的MOV是连续执行型指令,即当X001接通时,各运算周期都执行一次,而第2支路的MOV(P)是脉冲执行型型指令,(P)就表示当X000由OFF转换为ON时,仅执行一次指令。
图2 功能指令执行方式示例
3.可处理数据长度
功能指令可处理16位数据,也可处理32位数据,见图3示例梯形图。
第1梯级中,当X000接通,则移位MOV功能指令处理的数据为16位,即将D10 的内容传送至D12;而在第2梯级中,(D)MOV功能指令处理的数据为32位,将D21D20(由D21、D20构成的32位数据)的内容传送到D23D22(由D23、D22组成的32位数据存储单元)。
图3 功能指令处理数据长度示例
几个常见和搞错的功能指令:
一、BCD指令和BIN指令
1、BCD指令
BCD码就是用四位二进制数表示一位十进制数的编码,比如十进制12用BCD码表示为:00010010(1=0001,2=0010,合起来就是00010010)
所以BCD D0 K1Y0这条指令就是将D0中的值转为BCD码,然后送到K1Y0这个单元中。
2、BIN指令
BIN码就是二进制编码,比如十进制数的12,用BIN码表示就是1100,(12=8+4,8=1000,4=100,合起来就是1100)
所以BIND0 K1Y0这条指令就是将D0中的值转为BIN码,然后送到K1Y0这个单元中。
二、条件跳转指令CJ
当执行条件跳转指令CJ指令时,跳过CJ指令和指针标号之间的程序,见图4。
当X30接通时,跳转到P20处执行该行及以后程序,如果X30不接通,则跳转不执行,程序按原顺序执行。
指令可用的有效指针范围为P0~P127。
图4 CJ指令应用示例
执行跳转指令CJ后,对于不被执行的指令,即使输入零件状态发生改变,输出元件的状态也维持不变。
三.子程序调用指令
图5 CALL指令示例
子程序调用CALL指令的操作数为P0~P127,占用3个程序步。
需与子程序返回指令SRET(无操作数)配合使用,见图5。
若X0接通,则转到标号P10处去执行子程序。
当执行到子程序结束SRET 指令时,返回到CALL指令的下一步执行。
使用子程序调用与返回指令时应注意转移标号不能重复,也不可与跳转指令的标号重复。
子程序调用可以嵌套调用,
最多可达5级嵌套。
FEND是主程序结束指令,无操作数,占用1个程序步。
表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回起始步。
二、CMP指令和ZCP指令
1.CMP指令(一个数的比较)
图6 CMP指令示例
比较CMP指令有3个操作数,其中是将2个源操作数相比较,将比较结果送到目标操作数中,见图6示例。
当X0接通时,比较K100和C10当前值的大小,分三种情况分别接通M0、M1、M2中一个辅助继电器,另二个辅助继电器则不接通。
若X0不接通,则CMP指令也不执行。
2.ZCP指令(一个区间的比较)
区间比较ZCP指令是将1个源数据与2个源源数据相比较,比较结果将影响目标存储器的数据状态,见图7。
当X0接通时,根据C30与K100、K120之间的比较结果,分别对M3、M4、M5进行赋值。
图7 ZCP指令示例
三、交替指令ALT
ALT是交替指令,一次触发时为ON ,再一次触发就OFF,再触发又ON,如此交替下去;但注意ALT是连续执行型的,就是说,当X20常ON时(执行条件一直接通),程序每一个扫描周期都ALT都要执行一次。
若只想只执行一个扫描周期,即每X20接通一次时ALT只变化一次,这要用带脉冲的指令ALTP即:
当按一下时X20时,Y20为ON并一直保持,再按一下X20时,Y20为OFF并一直保持。
要特别注意连续执行型ALT和脉冲执行型ALTP,一般来说,脉冲执行型ALTP才是我们要的效果。
ALT 同ALTP的区别:一个是脉冲带P的,只在一个扫描周期执行一次一个是每个周期都执行;意思是,执行条件一直接通时,ALTP只执行一个扫描周期(执行条件上升沿时),ALT在每个扫描周期都执行。
四、七段译码指令SEGD
七段译码指令SEGD(P)下图2所示,将[S.]指定元件的低4位所确定的十六进制数(0~F)经译码后存于[D.]指定的元件中,以驱动七段显示器,就是说,要将D1里的数转化为十六进制后显示出来。
如SEGD k1 k2y0 数码管就显示数字1(因为十进制1,变为十六进制也是1)
SEGD k10 k2y0 数码管显示字母A (因为十进制k10,变为十六进制为A)
五、区间复位指令ZRST
区间复位指令ZRST,指令代码为FNC40,其功能是将[D1·]、[D2·]指定的元件号范围内的同类元件成批复位,目标操作数可取T、C、D或Y、M、S。
[D1·]、[D2·]指定的元件应为同类元件,[D1·]的元件号应小于[D2·]的元件号。
若[D1·]的元件号大于[D2·]的元件号,则只有[D1·]指定的元件被复位。
如图1所示,M8002在PLC运行开始瞬间为ON,M500~M599、C235~C255、S0~S127均被复位。
ZRST 成批复位指令,比如ZRST Y0 Y7,就是把Y0 到Y7的8个输出一起复位。