第章PLC的数据处理功能及应用.docx
《第章PLC的数据处理功能及应用.docx》由会员分享,可在线阅读,更多相关《第章PLC的数据处理功能及应用.docx(59页珍藏版)》请在冰豆网上搜索。
第章PLC的数据处理功能及应用
第4章PLC的数据处理功能及应用
学习目标:
了解数据转换指令与数据表指令的格式及应用;
理解整数、实数及逻辑运算指令的格式及应用;
掌握数据传送、比较及移位指令的格式及应用。
PLC的数据处理功能主要包括数据的传送、比较、移位、转换、运算及各种数据表格处理等。
PLC通过这些数据处理功能可方便地对生产现场的数据进行采集、分析和处理,进而实现对具有数据处理要求的各种生产过程的自动控制。
例如过程控制系统中温度、压力、流量的范围控制、PID控制及伺服系统的速度控制等等。
4.1数据传送指令及应用
传送指令主要作用是将常数或某存储器中的数据传送到另一存储器中。
它包括单一数据传送及成组数据传送两大类。
通常用于设定参数、协助处理有关数据以及建立数据或参数表格等。
4.1.1数据传送指令
1.指令格式及功能(见表4-1)
表4-1数据传送指令的格式和功能
梯形图LAD
语句表STL
功能
操作码
操作数
MOV_X
IN,OUT
当使能位EN为1时,把输入的数据IN传送到输出OUT
说明:
1)操作码中的X代表被传送数据的长度,它包括四种数据长度,即字节(B)、字(W)、双字(D)和实数(R)。
2)操作数的寻址范围要与指令码中的X一致。
其中字节传送时不能寻址专用的字及双字存储器,如T、C、及HC等;OUT寻址不能寻址常数。
2.指令编程举例
例1假定I0.0闭合,将VW2中的数据传送到VW10中,则对应的梯形图程序及传送结果如图4-1所示。
4.1.2块传送指令
1.指令格式及功能(见表4-2)
表4-2块传送指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
BMX
IN,OUT,N
当使能位EN为1时,把从IN存储单元开始的连续的N个数据传送到从OUT开始的连续的N个存储单元中
说明:
1)操作码中的X表示数据类型,分为字节(B)、字(W)、双字(D)三种。
2)操作数N指定被传送数据块的长度,可寻址常数,也可寻址存储器的字节地址,不能寻址专用字及双字存储器,如T、C、及HC等,可取范围为1~255。
3)操作数IN、OUT不能寻址常数,它们的寻址范围要与指令码中的X一致。
其中字节块和双字块传送时不能寻址专用的字及双字存储器,如T、C、及HC等。
2.指令编程举例
例2I0.1闭合时,将从VB0开始的连续4个字节传送到VW10~VW13中。
对应的梯形图程序及传送结果如图4-2所示。
4.1.3字节交换指令
1.指令格式及功能(见表4-3)
表4-3字节交换指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
SWAP
IN
当使能位EN为1时,将输入字IN中的高字节与低字节交换
说明:
操作数IN不能寻址常数,只能对字地址寻址。
2.指令编程举例
例3假定变量存储器VW4单元中存放一数据0A06。
当I0.0由“0”变“1”后,SWAP指令将使VW4中内容的高字节与低字节交换,其结果使VW4中的内容变为060A,其梯形图程序及执行结果如图4-3所示。
4.1.4数据传送指令上机实践
实践1存储器初始化
1.初始化程序的设计
存储器初始化程序是用于开机运行时对某些存储器清0或置数的一种操作。
通常采用传送指令来编程。
若开机运行时将VB10清0、将VW100置数1800,则对应的梯形图程序如图4-4所示。
2.上机操作步骤及要求
1)启动STEP7-Micro/MIN32,将程序录入到梯形图编辑器中,将数据VB1010、VW100100录入数据编辑器中;
2)下载梯形图程序及数据,使PLC进入梯形图监控状态,观察VB10和VW100的值;
3)点击运行按钮使PLC进入运行状态,观察VB10和VW100的值;
4)若将连续的某些存储单元清0或置入某数值应如何编程?
如何在编程软件中进行监控操作?
实践2多台电动机的同时起停控制
1.程序设计
设三台电动机分别由Q0.0、Q0.1、Q0.2驱动,I0.0为起动输入信号,I0.1为停止信号。
则对应的梯形图程序如图4-5所示。
2.上机操作步骤及要求
1)根据题目要求,连接PLC输入输出接线;
2)启动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
3)使PLC进入梯形图监控状态,在未进行任何操作的前提下,观察QB0的值;交替按下启动、停止按钮,观察输入输出状态指示灯的状态及QB0的值。
4)若三台电动机分别采用Q0.3、Q0.5、Q0.6控制,则应如何编写控制程序?
实践3多种预选值的选择控制
1.程序设计
表4-4I/O分配表
类别
元件名称
端子号
类别
元件名称
端子号
输入
选择时间1(30min)
I0.0
输入
加热炉启动开关
I0.3
选择时间2(20min)
I0.1
输出
加热接触器
Q0.0
选择时间3(10min)
I0.2
设某厂生产的三种型号产品所需加热时间分别为30、20、10min分钟。
为方便操作,设置一个选择手柄来设定定时器的预置值,选择手柄分三个档位,每一档位对应一个预置值;另设一个起动开关,用于起动加热炉;加热炉由接触器通断。
系统所用PLC的输入输出端子分配如表4-4所示,梯形图程序如图4-6所示。
2.上机操作步骤及要求
1)根据题目要求,连接PLC输入输出接线,起动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
2)使PLC进入梯形图监控状态,观察VW10的值;交替操作I0.0、I0.1、I0.2,观察VW10的值;
3)上机时为缩短观察时间,可将上述时间分别改为30s、20s、10s。
4)三种预选值的选择,也可采用分别调用子程序的方法编程。
实践4开机时间的保存
1.程序设计
为记录每次机器运行的开机时间,需在PLC程序设计时通过数据传送指令将其当前时间保存在某个指定的存储器中。
假定机器启动按钮为I0.0,开机时间保存在VW1000开始的存储单元中,则其对应的梯形图程序如图4-7所示。
注:
该例中日期时钟表示的格式是年、月、日、时、分、秒、0、星期,且为16进制数据。
2.上机操作步骤及要求
1)启动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
2)在PLC菜单中启动实时时钟;
3)打开数据表监控器,按顺序输入VB100~VB107、VW1000~VW1007、VW1008~VW1015及I0.0;
4)进入数据表监控状态,交替强制I0.0得失电,观察VB00~VB107、VW1000~VW1007、VW1008~VW1015的值。
4.2数据比较指令及应用
4.2.1数据比较指令
比较指令用于比较两个数据的大小,并根据比较的结果使触点闭合,进而实现某种控制要求。
它包括字节比较、字整数比较、双字整数比较及实数比较指令四种。
1.指令格式及功能(见表4-5)
表4-5数据比较指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
LDXF
AXF
OXF
IN1,IN2
IN1,IN2
IN1,IN2
比较两个数IN1和IN2的大小,若比较式为真,则该触点闭合。
说明:
1)操作码中的F代表比较符号,可分为“=”、“<>”、“>=”、“<=”、“>”及“<”六种;
2)操作码中的X代表数据类型,分为字节(B)、字整数(I)、双字整数(D)和实数(R)四种。
3)操作数的寻址范围要与指令码中的X一致。
其中字节比较、实数比较指令不能寻址专用的字及双字存储器,如T、C、及HC等;字整数比较时不能寻址专用的双字存储器HC;双字整数比较时不能寻址专用的字存储器T、C等。
4)字节指令是无符号的,字整数、双字整数及实数比较都是有符号的。
5)指令中的比较符号<>、<、>指令不适用于CPU21X系列机型。
为了实现这三种比较功能,在CPU21X系列机型编程时,可采用NOT指令与=、>=、<=指令组合的方法实现。
如要想表达VD10<>100,写成语句表程序即为:
LD=VD10,100
NOT
2.指令编程举例
例4若MW4中的数小于IW2中的数,则使M0.1复位;若MW4中的数据大于等于IW2,则使M0.1置位。
对应的梯形图及语句表程序如图4-8所示。
4.2.2比较指令上机实践
实践5多台电动机分时起动控制
起动按钮按下后,3台电动机每隔3s钟分别依次起动,按下停止按钮,三台电动机同时停止。
1.程序设计
设PLC的输入端子I0.0为起动按钮输入端,I0.1为停止按钮输入端,Q0.0、Q0.1、Q0.2分别为驱动三台电动机的电源接触器输出端子。
其对应的梯形图程序如图4-9所示。
2.上机操作步骤及要求
1)根据题目要求,连接PLC输入输出接线。
2)启动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
3)使PLC进入梯形图监控状态,观察定时器T37的当前值;按下起动按钮I0.0,观察T37当前值的变化情况及输出Q0.0~Q0.2的工作情况;按下停止按钮I0.1,观察输出Q0.0~Q0.2的工作情况。
实践6简单的定尺裁剪控制
材料的定尺裁剪可通过对脉冲计数的方式进行控制。
在电动机轴上装一多齿凸轮,用接近开关检测多齿凸轮,产生的脉冲输入至PLC的计数器。
脉冲数的多少,反映了电动机转过的角度,进而间接地反映了材料前进的距离。
1.控制要求电动机起动后计数器开始计数,计数至4900个脉冲时,使电动机开始减速,计数到5000个脉冲时,使电动机停止,同时剪切机动作将材料切断,并使脉冲计数复位。
2.PLC输入输出分配根据控制要求列出的PLC输入输出端子分配如表4-6所示。
表4-6端子分配
输入
输出
元件名称
端子号
元件名称
端子号
元件名称
端子号
元件名称
端子号
启动按钮
I0.0
接近开关
I0.2
电机高速运转
Q0.0
剪切机
Q0.2
停止按钮
I0.1
剪切结束
I0.3
电机低速运转
Q0.1
3.程序设计根据控制要求及PLC端子分配情况编写的梯形图程序如图4-10所示。
4.上机操作步骤及要求
1)根据题目要求,连接PLC输入输出接线;
2)启动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
3)为了能够观察到程序运行效果,可用PLC时钟脉冲SM0.5作为凸轮检测开关信号,若想节省实验时间,还可使C20预设值减小,如减小为1000,还可设小于800高速运行,高于800低速运行;
4)使PLC进入梯形图监控状态,观察计数器C20的当前值;按下启动按钮I0.0,观察计数器C20当前值的变化情况及输出Q0.0~Q0.2的工作情况。
实践7料斗方向自动控制
1.控制要求料斗方向控制要求参见12.4节内容。
2.程序设计根据料斗方向控制要求编制的PLC输入输出分配端子关系参见12.4节内容,对应的梯形图程序如图4-11所示。
3.上机操作步骤及要求
1)根据题目要求,连接PLC输入输出接线。
2)启动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
3)打开状态表编辑器,使用强制、取消强制操作,观察料斗位置存储器VB0、呼叫位置存储器VB1的值,输出Q0.0、Q0.1的工作情况;
4)打开计算机监控PLC模拟实验系统,在仿真界面中对小车进行呼叫操作,观察小车的运行情况。
4.3数据移位指令
移位指令的作用是将存储器中的数据按要求进行某种移位操作。
在控制系统中可用于数据的处理、跟踪、步进控制等。
4.3.1数据左右移位指令
1.指令格式及功能(见表4-7)
表4-7数据左右移位指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
SLX
SRX
OUT,N
OUT,N
当使能位EN为1时,把输入数据IN左移或右移N位后,再把结果输出到OUT
说明:
1)操作码中的X为移位数据长度,分为字节(B)、字(W)、双字(D)三种;
2)N为数据移位位数,对字节、字、双字的最大移位位数分别为8、16、32,字节寻址时,不能寻址专用的字及双字存储器,如T、C、及HC等;
3)IN、OUT的寻址范围要与指令码中的X一致。
不能对T、C等专用存储器寻址;OUT不能寻址常数;
4)左右移位指令影响特殊存储器的SM1.0和SM1.1位。
2.指令编程举例
例6假定VW0中存有16进制数E2AD,现将其左移3位,I0.1为移位控制信号。
对应的梯形图程序及移位过程如图4-12所示。
4.3.2数据循环左右移位指令
1.指令格式及功能(见表4-8)
表4-8数据循环左右移位指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
RLX
RRX
OUT,N
OUT,N
当使能位EN为1时,把输入数据IN循环左移或右移N位后,再把结果输出到OUT中
说明:
1)操作码中的X代表被移位的数据长度,分为字节(B)、字(W)、双字(D)三种;
2)N指定数据被移位的位数,对字节、字、双字的最大移位位数分别为8、16、32。
通过字节寻址方式设置,不能对专用存储器T、C及HC寻址;
3)IN、OUT的寻址范围要与指令码中的X一致。
不能对T、C、HC等专用存储器寻址;OUT不能寻址常数;
4)循环移位是环形的,即被移出来的位将返回到另一端空出来的位;
5)左右循环移位指令影响特殊存储器的SM1.0和SM1.1位。
6)字节循环左移或循环右移指令不适用于CPU2141.01以下版本。
2.指令编程举例
例
7假定VW200中内容循环右移2位,I0.1为移位控制信号。
对应的梯形图程序及运行结果如图4-13所示。
4.3.3数据移位指令上机实践
实践88支彩灯依次向左循环点亮控制
1.控制要求按下启动按钮,8支彩灯自Q0.0开始每隔1s钟依次向左循环点亮,直到发出停止信号后熄灭。
2.程序设计设I0.0为启动按钮,I0.1为停止按钮,Q0.0~Q0.7驱动8支彩灯循环点亮。
其梯形图程序如图4-14。
3.上机操作步骤及要求
1)根据题目要求,连接PLC输入输出接线;
2)启动STEP7-Micro/MIN32,将程序录入下载到PLC中,并使PLC进入运行状态;
3)进入PLC梯形图监控状态,按下启动按钮I0.0,观察八只彩灯的亮灭情况;按下停止按钮I0.1,观察八只彩灯的工作情况;
4)进入PLC状态表监控状态,通过强制、取消强制操作,观察QB0的移位过程;
5)本程序在停止操作时,可能会出现仍有某只彩灯不能熄灭的现象,试采取措施改进程序,以保证在停止时不会有彩灯继续点亮。
实践9数据乘除2n运算程序
1.程序设计假定VW0中存有数据160,现将其除以8,结果保存在VW2中;将其乘以4,结果保存到VW4中。
利用移位指令编程实现其运算结果的梯形图程序如图4-15所示。
2.上机操作步骤及要求
1)启动STEP7-Micro/MIN32,将程序录入到梯形图编辑器中,将数据VW0160录入到数据编辑器中,然后将程序及数据下载到PLC中;
2)打开状态表编辑器,输入I0.0、VW0、VW2和VW4。
使其进入监控状态,观察它们的结果;
3)强制I0.0得电,观察VW0、VW2和VW4的值如何变化。
4.4数据运算指令及应用
数据运算指令主要实现对数值类数据的四则运算、函数运算及逻辑运算。
多用于实现按数据的运算结果进行控制的场合,如自动配料系统、工程量的标准化处理、自动修改指针等。
4.4.1整数运算指令
1.整数、双字整数加/减指令
⑴指令格式及功能(见表4-9)
表4-9整数、双字整数加/减指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
+X
-X
IN1,OUT
IN1,OUT
当使能位EN为1时,执行IN1+IN2或IN1-IN2操作,并将结果存入OUT
对语句表指令,则执行IN1+OUT或OUT-IN1操作,并将结果存入OUT
说明:
1)操作码中的X指定数据的长度,分别为整数(I)、双字整数(DI)两种。
2)IN1、IN2指定加数(减数)及被加数(被减数);在语句表指令中取OUT等于IN2可减少存储空间。
2)操作数的寻址范围要与指令码中的X一致。
OUT不能寻址常数。
3)该指令影响特殊内部寄存器位:
SM1.0(零);SM1.1(溢出);M1.2(负)。
⑵指令编程举例
例8假定对常数5和常数3进行加法运算。
如果采用语句表指令编程,则必须先将其中一个常数存入存储器或累加器中,然后再将另一个常数与存储器或累加器中内的数据进行加法运算,若采用梯形图指令编程,可直接将两数进行相加运算,对应的梯形图及语句表程序如图4-16所示。
2.整数、双字整数乘/除指令
⑴指令格式及功能(见表4-10)
表4-10整数、双字整数乘/除指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
*X
/X
IN1,OUT
IN1,OUT
当使能位EN为1时,执行IN1*IN2或IN1/IN2操作,并将结果保存到OUT,除法运算不保留余数
对语句表指令则执行IN1*OUT=OUT
或OUT/IN1=OUT的操作
说明:
1)操作码中的X指定数据长度,分为整数(I)、双字整数(DI)两种情况;
2)IN1指定乘数(除数),IN2指定被乘数(被除数);
2)操作数的寻址范围要与指令码中的X一致。
OUT不能寻址常数;
3)该指令影响下列特殊内存位:
SM1.0(零);SM1.1(溢出);SM1.2(负);SM1.3(除数为0)。
⑵指令编程举例
例9假定I0.0得电时,执行VW10乘以VW20、VD40除以VD50操作,并分别将结果存入VW30和VD60中。
则对应的梯形图程序及运算过程如图4-17所示。
3.整数乘/除到双字整数指令
⑴指令格式及功能(见表4-11)
表4-11整数乘/除到双字整数指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
MUL
IN1,OUT
当使能位EN为1时,把两个16位整数相乘,得到一个32位积(OUT)
对语句表指令则执行IN1*OUT=OUT操作
DIV
IN1,OUT
当使能位EN为1时,把两个16位整数相除,得到32位结果(OUT),该结果的低16位是商,高16位是余数
对语句表指令则执行OUT/IN1=OUT操作
说明:
1)IN1指定乘数(除数),IN2指定被乘数(被除数),要按字寻址;OUT按双字寻址,不能寻址常数及专用字、双字存储器T、C、HC等;
2)在语句表中,32位OUT的低16位分别被用作乘数或被除数;
2)该指令影响下列特殊内存位:
SM1.0(零),SM1.1(溢出),SM1.2(负),SM1.3(除数为0)。
⑵指令编程举例
例10采用整数乘除到双字整数指令计算4000*20及4000/56的值。
梯形图程序及运算过程如图4-18所示。
4.字节、字、双字加1/减1指令
⑴指令格式及功能(见表4-12)
表4-12字节、字、双字加1/减1指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
INCX
DECX
OUT
OUT
当使能位EN为1时,INC_X对输入IN执行加1操作,DEC_X对输入IN执行减1操作
说明:
1)操作码中的X指定输入数据的长度,分别有字节(B)、字(W)和双字(DW)三种形式。
2)操作数的寻址范围要与指令码中的X一致。
其中对字节操作时不能寻址专用的字及双字存储器,如T、C、及HC等;对字操作时不能寻址专用的双字存储器HC;OUT不能寻址常数。
3)字、双字增减指令是有符号的,影响特殊存储器位SM1.0和SM1.1的状态;字节增减指令是无符号的,影响特殊存储器位SM1.0、SM1.1和SM1.2的状态。
⑵指令编程举例
例11I0.2每接通一次,AC0的内容自动加1,VW100的内容自动减1。
其梯形图程序及语句表程序如图4-19所示。
4.4.2实数运算指令
1.实数加/减指令
⑴指令格式及功能(见表4-13)
表4-13实数加/减指令的格式及功能
梯形图LAD
语句表STL
功能
操作码
操作数
+R
-R
IN1,OUT
IN1,OUT
当使能位EN为1时,执行实数IN1+IN2或IN1-IN2操作,并将结果保存到OUT
对语句表指令,则执行IN1+OUT=OUT或OUT-IN1=OUT操作
说明:
1)IN1指定加数(减数),IN2指定被加数(被减数)。
各操作数要按双字寻址,不能寻址专用的字及双字存储器,如T、C、及HC等;OUT不能寻址常数;
2)在语句表中,32位