船舶机舱自动化2-4 可编程序控制器的软件基础_第1页
船舶机舱自动化2-4 可编程序控制器的软件基础_第2页
船舶机舱自动化2-4 可编程序控制器的软件基础_第3页
船舶机舱自动化2-4 可编程序控制器的软件基础_第4页
船舶机舱自动化2-4 可编程序控制器的软件基础_第5页
已阅读5页,还剩137页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四节可编程序控制器软件基础一、可编程序控制器的软件基本知识1.PLC的数据格式⑴

数制数制是指用一组固定的符号和统一的规则来表示数值的方法。常用的数制:十进制、二进制和十六进制。在PLC中,任何数据信息都必须最终转换成二进制形式的数据后才能由CPU进行处理、存储和传输。①

二进制二进制数用0和1两个数字及其组合来表示任何数。

进位规则:“逢2进1”。

二进制数的位权:是以2为底的幂――数字1在不同的位上代表不同的值,按从右至左的次序,这个值以2倍递增。1100110(二进制数)=1×26+1×25+0×24+0×23+1×22+1×21+0×20=102(十进制数)

在S7-200PLC中,在二进制数的前面需要加上2#作为与其它数制之间的区别。

十进制数102利用二进制数表示则为2#1100110。②

十六进制

用二进制数表示较大的数时不方便,用十六进制数来表示则可解决该问题。

进位规则:“逢16进1

”。十六进制数的位权:以16为底的幂。四位二进制数能表示16个十进制数(0~15),而十六进制数可用来表示这16个值:①用0到9表示等值于十进制的数。②字母A、B、C、D、E、F表示十进制的10至15。

在S7-200PLC中,在十六进制数的前面需要加上16#作为与其它数制之间的区别。

十进制数102利用十六进制数表示则为16#66。⑵

数据的其它形式①BCD码用4位二进制数来表示1位十进制数中的0~9这10个数码,简称BCD码(Binary-CodedDecimal‎)。也可称为二进码十进数――用二进制编码的十进制数。这种编码形式利用了4个位来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。最常用的BCD编码就是“8421码”――将十进制的数以8421的形式展开成二进制。

十进制数102利用BCD码表示则为2#000100000010②

ASCII码

ASCII码使用指定的7位或8位二进制数组合来表示128或256种可能的字符。前128个编码称为标准ASCII码;后面128个称为扩展ASCII码。标准ASCII码--使用7位二进制数来表示所有的大小写字母、数字0到9、标点符号及特殊控制字符。在PLC存储单元中,一个标准ASCII码(7位)实际占用一个字节(8位),通常将没有用到的最高位(b7)作为奇偶校验位。扩展ASCII码--表示特殊符号字符、外来语字母和图形符号。

十进制数102可表示为三个独立的ASCII码值:16#31、16#30、16#32,但没有体现各个数位之间的进制关系。⑶

数据类型数据位数数据类型数据说明数据可表示的范围1位布尔布尔0至18位字节不带符号0至255带符号-128至+12716位字不带符号0至65,535整数带符号-32768至+3276732位双字不带符号0至4294967295双整数带符号-2147483648至+2147483647实数IEEE32位浮点+1.175495E-38至+3.402823E+38(正数)-1.175495E-38至-3.402823E+38(负数)1位通常称作BOOL(布尔)量,布尔量的值:0或1(False或Ture)。通常用来表示开关量信号的通和断两种状态。

8位通常称作字节(Byte,简记为B),分带符号和不带符号两种。在S7-200PLC中,由于带符号的字节可表示的数值范围较小,除了极为特殊的情况外,字节的数据格式通常是不带符号的。

除了二进制数据外,一个ASCII码通常也是占用一个字节。16位通常称作字(Word,简记为W),分带符号和不带符号两种。带符号的字通常习惯称其为整数。

32位通常称作双字(DoubleWord,简记为D),分带符号和不带符号两种。带符号的双字通常习惯称其为双整数。

在二进制格式中,带符号的字节、字(整数)和双字(双整数)是用二进制补码来表示的,补码最高位为符号位,符号位为0表示正数,为1表示负数,其表示的值的范围为-2n-1至2n-1-1(n为二进制数的位数:8或16或32)。正数的补码就是其自身。负数的补码可以通过对其绝对值部分逐位求反,并在最低位加1求得。

补码举例采用带符号的字节形式:“+102”的二进制补码=01100110(原码)“-102”的二进制补码=01100110的逐位取反+1=10011001+1=10011010。采用带符号的字形式:“+102”的二进制补码=0000000001100110(原码)“-102”的二进制补码=0000000001100110的逐位取反+1=1111111110011001+1=1111111110011010

实数实数(浮点数)是32位的二进制数据。

PLC的实数格式遵循ANSI/IEEE754-1985的二进制浮点数算术标准,并采用该标准中的32位单精确度浮点数的数据格式。

ANSI/IEEE754-1985标准--每个浮点数均由三部分组成:符号位S(0为正数;1为负数)、指数部分E和尾数部分M。

32位单精度格式:符号1位、指数8位、尾数23位。

32位单精度浮点数的值为(-1)S×(1.M)×2E-127。

实数举例将十进制数0.15625表示成32位单精度浮点数:①将十进制数0.15625转换成二进制值为0.00101。②在IEEE754中规格化表示为1.01×2-3(-3表示小数点向右移动了3位);③E=127+(-3)=124;④IEEE754编码为00111110001000000000000000000000(-1)S×(1.M)×2E-127对S7-200PLC来说,实数精确到小数点后第六位。+1.175495E-38至+3.402823E+38

数据类型的确定数据类型的确定从存储空间的大小申请开始的:

1位――布尔量;

8位(B)――字节或字符(ASCII码);

16位(W)――字或整数;

32位(D)――双字、双整数或实数。数据类型的进一步确定与指令有关,分两种情况:①利用赋值的形式在该空间存放一个常数。②该空间用于存放指令的输出结果。①利用赋值的形式在该空间存放一个常数

8位的存储空间B将默认其格式是无符号的字节。

16位的存储空间W将默认其格式是有符号的整数。

32位的存储空间D将默认其格式是有符号的双整数。如果该常数是浮点数,则PLC直接将32位的存储空间D的格式确定为实数数据类型。②该空间用于存放指令的输出结果。

PLC的指令对操作数的数据类型有严格要求,输出操作数的数据类型按照指令的规范直接被确定。

举例用户申请了一个32位的存储空间D,则可能有3种不同的数据格式:双字(无符号)、双整数(有符号)或实数。如果该数据用于存放ADD_DI(双整数加法)指令的执行结果,则该数据被PLC当作一个双整数(有符号)的形式来存储。如果用于存放ADD_R(实数加法)指令的执行结果,则该数据被PLC当作一个实数的形式来存储。

某个存储空间的数据类型一旦被确定,除了应用“数据类型的转换指令”对数据进行变类型操作外,其它指令都不可能改变该数据类型。⑷

常数的格式标识符在PLC的大多数指令中,指令的输入操作数可以直接使用常数值。数制格式举例十进制[十进制值]20047二进制2#[二进制值]2#1010_0101_1010_0101十六进制16#[十六进制值]16#4E4F实数IEEE754+1.175495E-38(正数);-1.175495E-38(负数)ASCII码‘[ASCII码文本]’‘Textgoesbetweensinglequotes.’2.PLC的存储空间

S7-200PLC的基本存储单元--1个字节(8位)。

S7-200PLC的存储空间分为13个区域:

I、Q、AI、AQM、V、L、ACT、C、HC、SSM⑴S7-200PLC的存取方式位存取位址--存储器标识符+字节地址+位号。也称为“字节.位”寻址。零是所有数据区的第一个地址(以0为基址);

字节、字或双字存取地址--存储器标识符+数据大小+起始字节地址。

MSB--最高有效位;LSB--最低有效位。⑵S7-200PLC的存储区域

①输入过程映象寄存器:I

在每次扫描周期的开始,CPU对物理输入点进行采样,并将采样值写入输入过程映象寄存器中。②输出过程映象寄存器:Q

在每次扫描周期的结尾,CPU将输出过程映象寄存器中的数值复制到物理输出点上。存取方式地址格式举例位I[字节地址].[位地址]I0.1字节、字或双字I[长度][起始字节地址]IB4存取方式地址格式举例位Q[字节地址].[位地址]Q1.1字节、字或双字Q[长度][起始字节地址]QB5③

模拟量输入:AI

模拟量输入值为1个字长(16位)。

区域标识符AI+数据长度W+字节的起始地址必须用偶数字节地址(AIW0,AIW2,AIW4)。模拟量输入值为只读数据。④

模拟量输出:AQ

模拟量输出值为1个字长(16位)。

区域标识符AQ+数据长度W+字节的起始地址必须用偶数字节地址(AQW0,AQW2,AQW4)。模拟量输出值为只写数据。⑤

位存储区:M

作为控制继电器存储中间操作状态和控制信息。⑥变量存储区:V

用于存储程序执行过程中的中间结果、或用来保存与任务相关的数据。

V是全局有效的,同一个存储器可以被任何程序存取(包括主程序、子程序和中断服务程序)。存取方式地址格式举例位M[字节地址].[位地址]M26.7字节、字或双字M[长度][起始字节地址]MD20存取方式地址格式举例位V[字节地址].[位地址]V10.2字节、字或双字V[长度][起始字节地址]VW100⑦

局部存储区:LL和V非常相似。区别:局部存储器只在局部有效,和特定的程序相关联。

S7-200给每个程序分配64个局部存储器。

S7-200PLC是根据需要来分配局部存储器的。分配局部存储器时,PLC不对该存储区域进行初始化,所以初值可能是任意的。局部存储器的变量是唯一可以由用户主动声明其数据类型的变量。存取方式地址格式举例位L[字节地址].[位地址]L0.0字节、字或双字L[长度][起始字节地址]LB33⑧

累加器:AC

累加器是可以象存储器一样使用的读写设备。

S7-200有4个32位累加器:AC0,AC1,AC2和AC3。被访问数据的长度取决于存取累加器时所用的指令。⑨

特殊存储区:SMSM位为CPU与用户程序之间传递信息提供了一种手段。

例如:首次扫描标志位、固定频率开关的标志位显示数学运算或操作指令状态的标志位。存取方式地址格式举例位SM[字节地址].[位地址]SM0.1字节、字或双字SM[长度][起始字节地址]SMB86⑩

定时器存储区:T

定时器可用于时间的累计,其分辨率(时基增量)分为1ms、10ms和100ms三种。

定时器的两个变量的使用取决于使用的指令。变量地址格式数据格式说明当前值T+定时器号16位有符号整数存储定时器所累计的时间定时器位T+定时器号1位布尔量按照当前值和预置值的比较结果置位或者复位⑪

计数器存储区:C

计数器可以用于累计其输入端脉冲电平由低到高的次数。有三种计数器:增计数、减计数、增减计数。计数器的两个变量的使用取决于使用的指令。变量地址格式数据格式说明当前值C+定时器号16位有符号整数存储计数的累计值计数器位C+定时器号1位布尔量按照当前值和预置值的比较结果置位或者复位⑫

高速计数器:HC

高速计数器对高速事件计数,独立于CPU的扫描周期。它有一个32位的有符号整数-当前值。高速计数器的当前值是只读数据。⑬顺控继电器存储器:S

顺控继电器位S提供控制程序的逻辑分段。地址格式数据格式举例HC[高速计数器号]32位有符号整数HC1存取方式地址格式举例位S[字节地址].[位地址]S3.1字节、字或双字S[长度][起始字节地址]SB43.PLC的寻址方式⑴I/O点的地址

本地I/O的寻址

CPU提供的本地I/O具有固定的I/O地址。扩展I/O的寻址扩展模块I/O点的地址--取决于I/O的类型和模块所在的位置。①数字量模块的I/O点分配--从可用空间中,按照1个字节的形式来分配。②模拟量模块的I/O点分配--从可用空间中,以两点递增的方式来分配。⑵

直接寻址

直接寻址--直接指定存储区域、大小和位置。“位存取”和“字节、字或双字存取”方式都是直接寻址方式。这种方式所描述的地址通常习惯称其为“绝对地址”。

符号寻址--使用字母、数字的字符组合来识别地址。需要在编程界面下的符号表或局部变量表中进行符号赋值。⑶

间接寻址

间接寻址--利用指针来访问存储区的数据。用于寻址的指针以双字的形式出现,而且必须存放在V存储器、L存储器或者累加器中。

S7-200允许通过指针的形式访问以下存储区:I、Q、V、M、S、AI、AQ、SM、T当前值和C当前值。不能用间接寻址的方式访问单独的位,也不能访问HC或者L存储区。建立指针用“&”符号加上待访问的存储区的绝对地址,提取它的地址指针,传送到V、L或AC中。

使用指针寻址用“*”符号加上存放指针的V、L或AC存储区的绝对地址来指向待访问存储区的内容。二、可编程序控制器的编程基础1.计算机与PLC的连接计算机与S7-200PLC的连接方式有三种:

PC/PPI电缆。PC/PPI电缆将计算机的RS232与CPU模块的RS485端口相连。协议--PPI。速率--9.6Kbit/s到187.5Kbit/s。

CP通讯卡。利用屏蔽双绞线,将安装在计算机内部的CP通讯卡与PLC的Profibus模块EM277相连。协议--Profibus。速率--9.6Kbit/s到12Mbit/s。以太网通讯卡。利用交换机和网线,将计算机的以太网接口与PLC的以太网模块CP243-1相连。协议--为TCP/IP。速率--10Mbit/s和100Mbit/s。PC/PPI电缆的方式传输速率最低,使用成本最低,应用最广泛。2.PLC的用户程序

程序块;数据块(可选)用户程序系统块(可选)配方(可选)数据归档组态(可选)EEPROM存储卡⑴

程序块在STEP7中,将程序称为程序组织单位(POU)。主程序程序的主体(称为OB1)。程序中的指令按顺序执行,每个扫描周期OB1均要完整地被执行一次。子程序可选组件。只有被主程序、中断服务程序或者其它子程序调用时,子程序才会执行。中断服务程序可选组件。中断服务程序不会被其它程序调用,只有当中断服务程序与一个中断事件相关联,且在该中断事件发生时,才会执行中断服务程序。⑵

数据块数据块只用于为变量存储器V指定初始值。注释是可选的。⑶

系统块系统块允许用户为S7-200配置不同的硬件参数,设置的参数必须在系统块下载到PLC之后才能生效。通信端口“通信端口”的设置允许用户调整STEP7-Micro/WIN与指定PLC之间的通信参数。

断电数据保持“断电数据保持”允许用户定义在PLC断电期间需要保持其内容的存储区范围。

CPU的两个硬件:①超级电容。②选装的电池卡,它在超级电容完全放电后才提供电源。上电后,CPU首先检查超级电容或电池是否成功地保持了RAM中的数据。①如果成功保持,则RAM中保持区的数据不变,所有非保持区均被清零。②如果未保存住RAM的内容,CPU首先清除RAM的保持区和非保持区,然后从EEPROM中恢复V和M的保持区。

输出表允许用户设置CPU由RUN转入STOP模式时,DO点和AO点的状态。输出表有两种选择:①输出保持STOP模式之前的状态(冻结)。②将具体数值传送到输出点。输入滤波器分数字量输入滤波和模拟量输入滤波两种。可为CPU模块自带的DI点选择输入滤波器,并定义延迟时间。扩展模块的DI点没有此功能。允许对所有AI点选择软件滤波器。滤波值是多个模拟量输入采样值的平均值。3.PLC的编程语言⑴

编程语言的种类梯形图(LAD)常用编程语言功能块图(FBD)语句表(STL)

梯形图(LAD)以图形的方式来显示程序。

PLC最为常用的编程语言。各个输入条件之间的“与或”逻辑关系是由连接线来完成的。

功能块图(FBD)以图形的方式来显示程序。没有了触点和线圈,但有等价的“盒”指令。仍然保留了“能流”这个概念。各个输入条件之间的“与或”逻辑关系是由通用逻辑门来完成的。

语句表(STL)按照文本语言的形式显示程序。

S7-200使用一个逻辑堆栈来分析控制逻辑。各个输入条件之间的“与或”逻辑关系是由具体的逻辑指令来完成的。网络1LDI0.0OQ0.0AI0.1AI0.2=Q0.0

梯形图的编程基础梯形图的程序是由一个个独立的程序段(“网络”或“梯级”)组成的。一个程序段是按照顺序安排的以一个完整电路的形式连接在一起的触点、线圈和盒。

程序段的基本要求:①不能短路;②不能开路;③不能有能流倒流的现象存在。程序段的执行:在同一时间只能执行一个程序段,而且总是按照从左到右、从上到下的顺序来执行。①

梯形图的基本元素梯形图有三种基本元素:触点、线圈和盒。触点代表逻辑输入条件。在??.?处输入地址(绝对地址或符号地址)原理:闭合的触点允许能流通过,而打开的触点阻止能流的流动。规则:①每个网络必须以一个触点开始;②网络不能以触点终止。

线圈

通常表示逻辑输出结果。在??.?处输入地址(绝对地址或符号地址)原理:左侧有能流来,使能输出。无能流,则无输出。规则:①网络不能以线圈开始;②线圈用于终止网络;③不能在网络上串联一个以上线圈。

在????处输入“参数”的地址(绝对地址、符号地址或间接寻址)。

EN是使能输入端;ENO是使能输出端。原理:有能流流入“EN”端,则盒执行相关的指令。规则:①如果盒有ENO,使能位扩充至方框外;②在网络的同级线路中,可以串联若干个带ENO的盒。②

梯形图(LAD)的编程规范①线圈和盒不允许直接连接到能量线。②梯形图中的线圈和它的触点均用同一个地址,但是触点可以无数次使用。③同一编号的线圈如果使用两次,称为双线圈输出。将导致线圈不能正常工作。④能流在梯形图中只能单方向流动:从左向右,从上向下。三、可编程序控制器的基本指令1.触点⑴标准触点

常开触点常闭触点梯形图指令语句表指令LDbitAbitObitLDNbitANbitONbitPLC梯形图I0.0I0.1Q0.0输出锁存器~SB1SB2KM继电接触器原理图⑵立即触点立即触点指令不依赖于扫描周期的刷新。在指令执行时直接读取当前时刻物理输入点的值,但是并不更新过程映像寄存器。常开立即触点常闭立即触点梯形图指令语句表指令LDIbitAIbitOIbitLDNIbitANIbitONIbit⑶取反指令取反指令(NOT)改变能流输入的状态。当能流到达取反指令时,停止向后传递能流;当能流未到达取反指令时,则向后提供能流。梯形图指令语句表指令NOT⑷正、负跳变正跳变指令每检测到一次能流的正跳变(由0到1),则让右侧的能流接通一个扫描周期。负跳变指令每检测到一次能流的负跳变(由1到0),则让右侧的能流接通一个扫描周期。正跳变负跳变梯形图指令语句表指令EUED⑸触点示例梯形图指令语句表指令网络1LDI0.0AI0.1=Q0.0NOT=Q0.1梯形图指令语句表指令网络2LDI0.2ONI0.3=Q0.2梯形图指令语句表指令网络3LDI0.4LPSEU=Q0.4LPPED=Q0.52.线圈⑴输出将新值写入输出点的过程映象寄存器。⑵立即输出将新值同时写到物理输出点和过程映象寄存器。梯形图指令语句表指令=

bit梯形图指令语句表指令=Ibit⑶置位和复位将从指定地址(bit)开始的N个点置位或者复位。可以一次置位或者复位1~255个点。⑷立即置位和立即复位将从指定地址(bit)开始的N个点立即置位或者立即复位。可以一次置位或复位1~128个点。置位复位梯形图指令语句表指令Sbit,NRbit,N立即置位立即复位梯形图指令语句表指令SIbit,NRIbit,N⑸线圈示例梯形图指令语句表指令网络1LDI0.0=Q0.0=Q0.1=V0.0梯形图指令语句表指令网络2LDI0.1SQ0.2,6网络3LDI0.2RQ0.2,6Q0.2~Q0.7梯形图指令语句表指令网络4

LD

I0.3

LPS

A

I0.4

S

Q1.0,8

LPP

A

I0.5

R

Q1.0,8网络5

LD

I0.6

=

Q1.0Q1.1~Q1.73.定时器指令接通延时定时器(TON)、定时器指令有记忆接通延时定时器(TONR)断开延时定时器(TOF)。定时器号(Txxx)的选择范围:0~255。定时器的分辨率:1ms、10ms和100ms。接通延时定时器有记忆接通延时定时器断开延时定时器梯形图指令语句表指令TONTxxx,PTTONRTxxx,PTTOFTxxx,PT定时器的分辨率定时器--对时间间隔进行记数,定时器的分辨率(时基)--决定了每个时间间隔的时间长短。类型分辨率(毫秒ms)最大值(秒s)定时器号TONR1ms32.767sT0,T6410ms327.67sT1~T4,T65~T68100ms3276.7sT5~T31,T69~T95TON、TOF1ms32.767sT32,T9610ms327.67sT33~T36,T97~T100100ms3276.7sT37~T63,T101~T2551ms分辨率的定时器定时器位和当前值的更新与扫描周期异步。

10ms分辨率的定时器定时器位和当前值在每个程序扫描周期的开始阶段被刷新。定时器位和当前值在同一个扫描周期内不会发生变化。

100ms分辨率的定时器定时器位和当前值在指令执行时被刷新。

接通延时定时器(TON)有记忆接通延时定时器(TONR)①IN端的能流接通时,开始记时。②当前值Txxx≥预设值(PT×分辨率),该定时器位被置位。③达到预设值后,定时器仍继续计时,一直到最大值32767。④IN端的能流断开时,TON的当前值被清除;TONR的当前值则保持不变。

断开延时定时器(TOF)①IN端的能流接通时,定时器位立即接通,并把当前值设为0。②IN端的能流断开时,定时器开始定时,直到达到预设值。③达到预设值后,定时器位断开,并且停止计时当前值。定时器的应用示例接通延时定时器的示例梯形图指令语句表指令网络1LDI0.0TONT37,+6网络2LDT37=Q0.0断开定时器的示例梯形图指令语句表指令网络1LDI0.0TOFT37,+6网络2LDT37=Q0.0有记忆接通延时定时器的示例梯形图指令语句表指令网络1LDI0.0TONRT1,+100网络2LDT1=Q0.0网络3LDI0.1RT1,14.计数器指令增计数指令(CTU)、计数器指令增/减计数指令(CTUD)减计数指令(CTD)计数器号(Cxxx)的选择范围:0~255。增计数减计数增/减计数梯形图指令语句表指令CTUCxxx,PVCTDCxxx,PVCTUDCxxx,PV

增计数指令①当输入端(CU)的能流从低到高的上升沿时,递增计数。②当前值Cxxx≥预置值PV时,计数器位Cxxx被置位。③计数器的当前值递增到最大值(32767)后,计数器停止计数。④当复位端(R)接通能流,计数器当前值和计数器位均被复位。⑤执行复位指令,计数器当前值和计数器位均被复位。

减计数指令①当输入端(CD)的能流从低到高的上升沿时,从当前值递减计数。②当Cxxx的当前值=0时,计数器位Cxxx被置位,计数器停止计数。③当装载输入端(LD)接通时,计数器位被复位,将计数器的当前值设为预置值PV。

增/减计数指令①CU端的能流由低到高时,增计数,

CD端的能流由低到高时,减计数。②当Cxxx≥预置值PV时,计数器位Cxxx被置位。③CTUD对应的计数器当前值可以为负数。④当复位端(R)接通能流,计数器的当前值清零,计数器位则被复位。⑤执行复位指令,计数器的当前值清零,计数器位则被复位。计数器的应用示例减计数器的应用示例梯形图指令语句表指令网络1LDI0.0LDI0.1CTDC1,+3网络2LDC1=Q0.0增/减计数器的应用示例梯形图指令语句表指令网络1LDI0.0LDI0.1LDI0.2CTUDC48,+4网络2LDC48=Q0.0四、可编程序控制器的指令系统

指令系统数据运算指令基本指令触点类线圈类定时器和计数器数据处理指令程序控制指令特殊功能指令通信指令盒指令--操作数的数据类型

×××_B:操作数为8位的字节(Byte)。×××_W:操作数为16位的字(Word)。×××_DW:操作数为32位的双字(DoubleWord)。×××_I:操作数为16位有符号整数(Integer)。×××_DI:操作数为32位有符号整数(DoubleInteger)。×××_R:操作数为32位浮点数格式的实数(Real)。盒指令—特点盒指令有“使能输入端EN”、“使能输出端ENO”

在每个扫描周期中,如果“EN端”有能流流入,则盒指令被执行一次。盒指令成功且无错误地被执行后,“ENO端”输出能流。盒指令在被执行时,可能出现溢出,溢出值存放在SM1.1中。1.数据运算指令数据运算指令:逻辑操作指令和数值运算指令。⑴

逻辑操作指令①取反指令

字节取反字取反双字取反梯形图指令语句表指令INVBOUTINVWOUTINVDOUT取反指令示例

10010110VB0取反前01101001VB0取反后梯形图语句表网络1LDI0.0INVBVB0②逻辑比较指令

逻辑比较功能数据类型梯形图指令语句表指令与字节ANDBIN1,OUT字WAND_WANDWIN1,OUT双字WAND_DWANDDIN1,OUT或字节ORBIN1,OUT字WOR_WORWIN1,OUT双字WOR_DWORDIN1,OUT异或字节XORBIN1,OUT字WXOR_WXORWIN1,OUT双字WXOR_DWXORDIN1,OUT逻辑比较指令示例

梯形图语句表网络1LDI0.0ANDBVB0,VB1ORBVB0,VB2XORBVB0,VB310101010VB011111111VB110101010VB1与┃┃字节与10101010VB011111111VB211111111VB2或┃┃字节或10101010VB011111111VB301010101VB3异或┃┃字节异或⑵

数值运算指令数值运算:算术运算指令和数学功能指令。①递增和递减算术运算功能

数据类型梯形图指令语句表指令递增字节INCBOUT字INC_WINCWOUT双字INC_DWINCDOUT递减字节DECBOUT字DEC_WDECWOUT双字DEC_DWDECDOUT②

加法和减法

算术运算功能

数据类型梯形图指令语句表指令加法整数+IIN1,OUT双整数ADD_DI+DIN1,OUT实数ADD_R+RIN1,OUT减法整数-IIN1,OUT双整数SUB_DI-DIN1,OUT实数SUB_R-RIN1,OUT③

乘法和除法

算术运算功能

数据类型梯形图指令语句表指令乘法整数*IIN1,OUT双整数MUL_DI*DIN1,OUT实数MUL_R*RIN1,OUT除法整数/IIN1,OUT双整数DIV_DI/DIN1,OUT实数DIV_R/RIN1,OUT④

特殊的乘法和除法

除法:存储器的高16位为余数,低16位为商。

算术运算功能梯形图指令语句表指令整数乘法产生双整数MULIN1,OUT带余数的整数除法

DIVIN1,OUT算术运算指令示例1--加、减法

梯形图语句表网络2LDI0.0EUMOVWVW0,VW4-IVW2,VW4MOVWVW0,VW6+IVW2,VW6MOVWVW8,VW12+IVW10,VW1232000VW0-20000VW2=12000VW432000VW0+20000VW2=-13536VW6-32000VW8+-20000VW10=13536VW120SM1.10SM1.11SM1.1算术运算指令示例2--乘法

梯形图语句表网络1LDI0.0EUMOVRVD0,VD12*RVD4,VD12MOVWVW8,VW18MULVW10,VD16MOVWVW8,VW24*IVW10,VW24MOVWVW20,VW26*IVW22,VW2612345.0VD0×23456.0VD4=2.895643E+008VD120SM1.112345VW8×23456VW10=289564320VD160SM1.112345VW8×23456VW10=12345VW240SM1.112VW20×345VW22=4140VW260SM1.1算术运算指令示例3—除法

梯形图语句表网络2

LDI0.0EUMOVRVD4,VD12/RVD0,VD12MOVWVW10,VW18DIVVW8,VD16MOVWVW10,VW20/IVW8,VW204000.0VD4÷41.0VD0=9.756097E+001VD124000VW10÷41VW8=23VW164000VW10÷41VW8=97VW200SM1.10SM1.10SM1.197VW182.数据处理指令⑴

比较指令

比较指令是基于触点的拓展指令,操作数是8位、16位、或32位数据。

当两个操作数符合比较表达式时,则能流可以通过触点。

比较指令主要用于需要进行条件判断的场合。数值比较可选表达式:

IN1=IN2(为例)

IN1>=IN2IN1<=IN2IN1>IN2IN1<IN2IN1<>IN2

==BIN2IN1==IIN2IN1==DIN2IN1==RIN2IN1数据类型梯形图指令语句表(装载)语句表(与)语句表(或)字节LDB=IN1,IN2AB=IN1,IN2OB=IN1,IN2整数LDW=IN1,IN2AW=IN1,IN2OW=IN1,IN2双整数LDD=IN1,IN2AD=IN1,IN2OD=IN1,IN2实数LDR=IN1,IN2AR=IN1,IN2OR=IN1,IN2数值比较示例

当VW0大于等于VW2时,Q0.0保持接通一个扫描周期。当VW0小于VW2时,Q0.0保持断开一个扫描周期。在每个扫描周期,都要重复上述扫描动作。梯形图语句表网络1LDW>=VW0,VW2=Q0.0⑵

传送指令传送指令不改变数据的类型和格式。1.字节、字、双字或者实数传送

字节传送字传送双字传送实数传送梯形图指令语句表指令MOVBIN,OUTMOVWIN,OUTMOVDIN,OUTMOVRIN,OUT⑶

移位和循环指令①移位指令将IN端的数值进行右移或左移N位,结果送到OUT。指令名称右移指令左移指令操作数字节字双字字节字双字梯形图指令语句表指令SRBOUT,NSRWOUT,NSRDOUT,NSLBOUT,NSLWOUT,NSLDOUT,N移位过程中的原则

N位数据被移出后,不足的位数自动补零;

溢出标志位(SM1.1)中存放最近移出的位值;如N≥最大允许值(8、16、32),实际移位次数为最大允许值;如移位操作结果为0,零存储器位(SM1.0)置位;字节操作是无符号的,对于字和双字操作,当使用有符号数据类型时,符号位也被移动。

移位指令示例

梯形图语句表网络1LDI0.0EUSLBVB0,3SM1.1VB010010110×移位前001011001左移1位后0010110000左移2位后0101100000左移3位后0②循环指令将IN端的数值进行循环右移或左移N位,移位后结果送至OUT。循环移位是圆形的。指令名称循环右移指令循环左移指令操作数字节字双字字节字双字梯形图指令语句表指令RRBOUT,NRRWOUT,NRRDOUT,NRLBOUT,NRLWOUT,NRLDOUT,N循环过程中的原则

如N为0,则指令不执行

溢出标志位(SM1.1)中存放最近移出的位值;如N≥最大允许值(8、16、32),则先执行取模运算,余数是有效的移位次数。当被循环移位的值是零时,零存储器位(SM1.0)置位;

字节操作是无符号的,对于字和双字操作,当使用有符号数据类型时,符号位也被移动。

循环指令示例

梯形图语句表网络1LDI0.0EURRBVB0,3SM1.1VB010010110×移位前010010110循环右移1位后101001011循环右移2位后110100101循环右移3位后⑷

转换指令字节转为整数(B_I);整数转为字节(I_B);整数转为双整数(I_DI);双整数转为整数(DI_I);双整数转为实数(DI_R);

四舍五入指令(ROUND).

取整(TRUNC)

转换指令应用示例

梯形图语句表网络1LDSM0.0ITDC0,VD0DTRVD0,VD4MOVR9.5,VD8*RVD4,VD8ROUNDVD8,VD12123C0123VD0123.0VD41168.5VD81169VD1216位有符号整数(补码)32位有符号整数(补码)32位实数(浮点数格式)32位实数(浮点数格式)32位有符号整数(补码)3.程序控制指令⑴子程序指令

子程序调用指令将程序控制权交给子程序(n),扫描完全部子程序后,返回。当能流流入“有条件子程序返回”指令时,终止子程序,返回。子程序调用有条件子程序返回梯形图指令语句表指令CALLSBR_nCRET⑵循环指令循环体构成:FOR开头,NEXT结尾。(成对出现)

FOR-NEXT循环嵌套深度可达8层。在FOR指令中,指定:初始值(INIT)、终止值(FINAL)和计算当前已循环的次数(INDX)。

循环体开始指令循环体结束指令梯形图指令语句表指令FORINDX,INIT,FINALNEXT循环体的运行原理①当系统第一次扫描到FOR指令时,将INIT的值装入INDX。②判断INDX是否大于FINAL。小于等于则转至步骤③,大于则转至步骤⑤。③执行FOR指令后面的“网络”。④当扫描到NEXT指令时,INDX=INDX+1,并返回至步骤②。⑤退出循环体,执行NEXT后面的指令。循环指令示例

VB20I0.0从未接通VB50VB25I0.0第1次接通VB510VB210I0.0第2次接通VB520⑶

中断指令①中断事件a.中断事件的类型通信口中断及时处理通信端口的信息发送与接收。

I/O中断

I/O点状态的变化产生中断事件。时基中断在指定的时间间隔上产生中断事件。b.中断优先级通信口中断>I/O中断>时基中断

事件号中断描述优先组优先组中的优先级8端口0:接收字符通信(最高)09端口0:发送完成023端口0:接收信息完成024端口1:接收信息完成125端口1:接收字符126端口1:发送完成1

事件号中断描述优先组优先组中的优先级19PTO0完成中断I/O(中等)020PTO1完成中断10上升沿,I0.022上升沿,I0.134上升沿,I0.246上升沿,I0.351下降沿,I0.063下降沿,I0.175下降沿,I0.287下降沿,I0.39

事件号中断描述优先组优先组中的优先级12HSC0CV=PV(当前值=预置值)I/O(中等)1027HSC0输入方向改变1128HSC0外部复位1213HSC1CV=PV(当前值=预置值)1314HSC1输入方向改变1415HSC1外部复位1516HSC2CV=PV(当前值=预置值)1617HSC2输入方向改变1718HSC2外部复位1832HSC3CV=PV(当前值=预置值)1929HSC4CV=PV(当前值=预置值)2030HSC4输入方向改变2131HSC4外部复位2233HSC5CV=PV(当前值=预置值)23事件号中断描述优先组优先组中的优先级10定时中断0SMB34定时(最低)011定时中断1SMB35121定时器T32CT=PT中断222定时器T96CT=PT中断3②中断指令中断允许:全局允许所有中断事件。中断禁止:全局禁止所有中断事件。中断连接:将中断事件与中断程序关联。中断分离:切断中断事件与中断程序的关联。中断条件返回:能流流入时,终止中断程序的扫描。中断允许中断禁止中断条件返回中断连接中断分离梯形图指令语句表指令ENIDISICRETIATCHINT,EVNTDTCHEVNT③中断程序任何时候,只能有一个中断程序被执行。一旦中断程序开始执行,必须执行到结束,不会被更高优先级的中断事件所打断。多个中断事件可调用同一个中断程序,但一个中断事件不能同时指定调用多个中断程序。中断程序的激活有中断事件与该中断程序关联。当中断事件产生时,可以激活该中断程序。不可能在主程序或子程序中去调用中断程序。中断使用示例

主程序OB1子程序SBR_0中断程序INT_04.PID回路控制⑴

模拟量的数据字格式模拟量模块的配置

信号极性输入范围DIP开关分辨率SW1SW2SW3SW4SW5SW6单极性0~50mV10010112.5μV0~100mV01010125μV0~500mV100011125μV0~1V010011250μV0~5V1000011.25mV0~20mA1000015μA0~10V0100012.5mV

信号极性输入范围DIP开关分辨率SW1SW2SW3SW4SW5SW6双极性±25mV10010012.5μV±50mV01010025μV±100mV00110050μV±250mV100010125μV±500mV010010250μV±1V001010500μV±2.5V1000001.25mV±5V0100002.5mV±10V0010005mV①模拟量输入的数据字格式

12位左对齐的。最高位是符号位(0表示正值)。单极性数据字格式最高位为0,最低3个位为0。

A/D转换的数字量每变化1个单位,输入的数据字以8为单位来变化。双极性数据字格式

12位数字量将存放在第4~15位中。数据字的最低4个位为0。

A/D转换的数字量每变化1个单位,输入的数据字以16为单位来变化。②模拟量输出的数据字格式

12位左对齐,输出字在装载到D/A转换时,最低的4个连续位将被截断。电压形式的输出范围是-10V~+10V;电流形式的输出范围是0~20mA。③

模拟量的信号处理示例模拟量的输入范围是0~10V。模拟量的输出范围是-10V~+10V。梯形图语句表网络1LDSM0.0MOVWAIW0,AQW0//模拟量输入直接送输出端;MOVWAIW0,VW0SRWVW0,3//输入字右移3位,将最低的3个0移出。梯形图语句表网络2LDSM0.0ITDVW0,VD2//整数变双整数;DTRVD2,VD2//双整数变实数;MOVRVD2,VD6/R4096.0,VD6//除以4096,模拟量输入变成0.0~1.0之间的数据。⑵PID输入、输出值的转换

PID输入变量是0.0~1.0之间无量纲的标准化数据。

PID输出变量是0.0~1.0之间无量纲的标准化数据,在输出前须将其再变成有量纲的刻度化整数。①输入变量的标准化

PID的输入变量:给定值SP(Setpoint)、过程变量PV(ProcessVariable)。输入变量的标准化分为两步:第一步:把16位的整数转换成32位浮点数格式的实数。例如:对于一个双极性的输入AIW0ITDAIW0,VD0DTRVD0,VD0第二步:将实数转换成0.0~1.0之间的标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论