S7-1200指令讲解培训(高端培训)

上传人:TH****3P 文档编号:119034567 上传时间:2020-01-04 格式:PPTX 页数:89 大小:14.49MB
返回 下载 相关 举报
S7-1200指令讲解培训(高端培训)_第1页
第1页 / 共89页
S7-1200指令讲解培训(高端培训)_第2页
第2页 / 共89页
S7-1200指令讲解培训(高端培训)_第3页
第3页 / 共89页
亲,该文档总共89页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《S7-1200指令讲解培训(高端培训)》由会员分享,可在线阅读,更多相关《S7-1200指令讲解培训(高端培训)(89页珍藏版)》请在金锄头文库上搜索。

1、工程师培训资料,标题:S7-1200指令讲解培训(高端培训) 培训人:xx,内部工程师培训资料,3,.1数据处理指令,.1.1比较指令,4,1.比较指令 2.范围内与范围外比较指令,例-1用接通延时定时器和比较指令组成占空比可调的脉冲发生器,6,3.OK与NOT_OK指令,.1.2 使能输入和使能输出 1.BCD码:BCD (Binary-coded Decimal)是二进制编码的十进制数的缩写,BCD码用4位二进制数表示一位十进制数,每一位BCD码允许的数值范围为2#00002#1001;对应于十进制数0-9。4位二进制数共有16种组合,有6种组合(2#1010 2#1111)没有在BCD码

2、中使用。 BCD码的最高位二进制数用来表示符号、负数为,正数为0;一般令负数和正数的最高4位二进制数分别为1111和0000。16位BCD码的范围为999十999、32位BCD码的范围为-999999 +9999999。,-862,8,拨码开关,译码芯片,PLC的四个输出点 后接一个译码芯片,用PLC的输入点读取拨码开关的输出,9,2.EN与ENO,令MW32=F983,则输出MW34=-983 下列指令使用EN/ENO:数学运算指令、传送与转换指令、位移与循环指令、字逻辑运算指令等。 下列指令不使用EN/ENO:位逻辑指令、比较指令、计数器指令、定时器指令和程序控制指令。,10,.1.3数据

3、转换指令,1.CONV指令,2.浮点数转换为双整数指令,3.SCAL_X指令 OUT=VALUE(MAX-MIN)+MIN 例如:如果MAX=1000,MIN=200,则 0.420;1.2 1160,4.NORM_X指令 OUT= (VALUE-MIN)/(MAX-MIN),11,.1.4数据传送指令,1.MOV指令,输入输出数据类型可以不一样,如:MB0MW2低字节中; MW4MB6,但是如果MW4超过2,则只传送低字节中的数值。,2.SWAP指令 IN和OUT为数据类型Word时,SWAP指令交换输入IN的高、低字节后,保存到OUT指定的地址。 IN和OUT为数据类型Dword时,交换个

4、字节中数据的顺序,交换后保存到OUT指定的地址。如:16#AABBCCDD16#DDCCBBAA,12,3.全局数据块和数组 数组由相同数据类型的多个元素组成,数组元素的数据类型可以是所有的基本数据类型。 全局数据块的生成方法:演示,4.FILL_BLK与UFILL_BLK指令 FILL BLK指令将输入参数取设置的值填充到输出参数OUT指定起始地址的目标数据区。 IN和OUT必须是D、L(数据块或块的局部数据)中的数组元素,IN还可以是常数。COUNT为填充的数组元素的个数,数据类型为DInt或常数。,.MOVE_BLK与UMOVE_BLK指令,6.块填充和快传送指令的实验(演示),14,.

5、1.位移与循环位移指令,1.位移指令 移位指令SHR和SHL将输入参数IN指定的存储单元的整个内容逐位右移或左移若干位,移位的位数用输入参数N来定义,移位的结果保存在输出参数OUT指定的地址。 无符号数移位和有符号数左移后空出来的位用0填充。有符号数右移后空出来的位用符号位(原来的最高位)填充,正数的符号位为0.节负数的符号位为1。,15,2.循环移位指令 循环移位指令ROR和ROL将输入参数IN指定的存储单元的整个内容逐位循环右移或循环左移若干位,即移出来的位又送回存储单元另一端空出来的位,原始的位不会丢失。N为移位的位数,移位的结果保存在输出参数OUT指定的地址。,16,3.使用循环移位指

6、令的彩灯控制器,17,.2 数学运算指令 .2.1数学运算指令 数学运算包括数学运算指令、浮点数函数运算指令、逻辑运算指令。,1四则运算指令,18,数学运算指令中的ADD、SUB、MUL和DIV分别是加、减、乘、除指令、它们执行的操作数的数据类型可选SInt, Int, DInt, USInt, UInt, UDInt和Real, IN1和IN2可以是常数。IN1、IN2和OUT的数据类型应该相同。,19,【例】压力变送器的量程为010MPa,输出信号为010V,被CPU集成的模拟量输入的通道0(地址为IW64)转换为027648的数字。假设转换后的数字为N,试求以kPa为单位的压力值。 解:

7、010MPa(010000kPa)对应于转换后的数字027648,转换公式为 P=(10000N)/27648 (kPa) 注意:在运算时一定要先乘后除,否则会损失原始数据的精度。,21,【例】使用浮点数运算计算上例以kPa为单位的压力值。将上例改写为: p=(10000 x N)27648=0.361690 X N (kPa),22,2其它整数数学运算指令 (1)MOD指令 用MOD指令来求除法的余数。 (2)NEG指令 NEG (negation)将输入IN的值的符号取反后,保存在输出OUT中,IN和OUT的数据类型可以是SInt, Int, DInt和Real,输入IN还可以是常数。 (

8、3)INC与DEC指令 执行指令INC与DEC时,参数IN/OUT的值分别被加1和减1。IN/OUT的数据类型可选SInt, USInt, Int, UInt, DInt和UDInt(有符号或无符号的整数)。,23,(4)绝对值指令ABS ABS指令用来求输入IN中的有符号整数(SInt, Int宁DInt或实数(Real) 的绝对值,将结果保存在输出OUT中。IN和OUT的数据类型应相同。 () MIN与MAX指令 MIN (minimum)指令比较输入IN1和IN2的值,将其中较小的值送给输出OUT。 MAX(maximum )指令比较输入IN1和IN2的值,将其中较大的值送给输出OUT。

9、 INI和IN2的数据类型相同才能执行指定的操作。,24,(6)LIMIT指令 LIMIT指令检查输入IN的值是否在参数MIN和MAX指定的范围内,如果IN的值没有超出该范围,将它直接保存在OUT指定的地址中。如果IN的值小于MIN的值或大于MAX的值,将MIN或MAX的值送给输出OUT。,25,3.浮点数函数运算指令 浮点数(实数)数学运算指令的操作数IN和OUT的数据类型为Real。 浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数为2.71828。 浮点数开平方指令SQRT和LN指令的输入值如果小于0。输出OUT返回一个无效的浮点数。 浮点数三角函数指令和反三角函数指

10、令中的角度均为以弧度为单位的浮点数。如果输入值是以度为单位的浮点数,使用三角函数指令之前应先将角度值乘以/180.0,转换为弧度值。 浮点数反正弦函数指令ASIN和浮点数反余弦函数指令ACOS的输入值的允许范围为 -1.01.0, ASIN和ATAN的运算结果的取值范围为-/2+/2弧度,ACOS的运算结果的取值范围为0弧度。 求以10为底的对数时,需要将自然对数值除以2.3028(10的自然对数值)。 例如:lg100=ln100/2.30284.60170/2.3028=2。,26,27,28,【例】测量远处物体的高度时,已知被测物体到测量点的距离L和以度为单位的夹角,求被测物体的高度H,

11、 H= Ltan ,角度的单位为度。假设以度为单位的实数角度值在MD116,乘以/180=0.017433得角度的弧度值,运算的中间结果保存在数据类型为Real的临时局部变量Tempt中。L的实数值在MD128,运算结果在MD132。,29,.2.2逻辑运算指令 1逻辑运算指令 逻辑运算指令对两个输入IN1和IN2逐位进行逻辑运算。逻辑运算的结果存放在输出OUT指定的地址。 “与”(AND)运算时两个操作数的同一位如果均为1,运算结果的对应位为1,否则为0。 “或”(OR)运算时两个操作数的同一位如果均为0,运算结果的对应位为0,否则为1。,30,“异或“ (XOR)运算时两个操作数的同一位如

12、果不相同,运算结果的对应位为1,否则为0。 以上指令的操作数IN1、IN2和OUT的数据类型为十六进制的Byte, Word和Dword。 取反指令INV将输入IN中的二进制整数逐位取反,即各位的二进制数由0变1,由1变0,运算结果存放在输出OUT指定的地址。,31,解码与编码指令 假设输入参数IN的值为,解码(译码)指令DECO(Deode)将输出参数OUT的第位置位为,其余各位置0,相当于数字电路中译码电路的功能。利用解码指令,可以用输入IN的值来控制OUT中某一位的状态。 如果输入IN的值大于31,将取的值除以32以后,用余数来进行解码操作。 IN的数据类型为UInt,OUT的数据类型可

13、选yte、Word和Word。 IN的值为-7(位二进制数)时,输出的数据类型为位的字节。 IN的值为-1(位二进制数)时,输出OUT的数据类型为16位的字。 IN的值为-31(位二进制数)时,输出OUT的数据类型为位的双字。 例如IN的值为时,输出为00100000(1620),仅第位为。,32,编码指令ENCO(Ericode)与解码指令相反,将IN中为的最低位的位数送给输出参数OUT指定的地址,IN的数据类型可选Byte、Word和Dword,OUT的数据类型为INT。,33,SEL与MUX指令 指令SEL(Select)的Bool输入参数为时选中IN0,为时选中IN1,并将它们保存到输

14、出参数OUT指定的地址。 指令MUX(Multiplex,多路开关选择器)根据输入参数的值,选中某个输入数据,并将它传送到输出参数OUT指定的地址。如=时,将选中输入参数INm。如果的值超过允许的范围,将选中输入参数ELSE。 参数的数据类型为Uint; Inn、ELSE、OUT可以取12种数据类型,它们的数据类型应相同。,34,.3程序控制指令 .3.1程序控制指令 1跳转与标签指令 没有执行跳转指令时,各个程序段按从上到下的先后顺序执行,这种执行方式称为线性扫描。JMP跳转指令中止程序的线性扫描跳转到指令中的地址标签所在的目的地址。跳转时不执行跳转指令与标签之间的程序,跳到目的地址后,程序

15、继续按线性扫描的方式顺序执行。 跳转指令可以往前跳,也可以往后跳。 只能在同一个代码块内跳转,即跳转指令与对应的跳转目的地址应在同一个代码块内。在一个块内,同一个跳转目的地址只能出现一次。 JMPN指令的线圈断电时,将跳转到指令给出的标签处,执行标签之后的第一条指令。,35,2.返回指令RET RET指令的线圈通电时,停止执行当前的块,不再执行该指令后面的指令,返回调用它的块后,执行调用指令之后的指令。RET指令的线圈断电时,继续执行它下面的指令。RET线圈的上面是块的返回值,数据类型为Bool。如果当前的块是OB,返回值被忽视。,.3.2扩展指令中的程序控制指令,1RE_TRIGR指令 监控

16、定时器又称看门狗(Watchdog),每次扫描循环它都被自动复位一次,正常工作时最大扫描循环时间小于监控定时器的时间设定值,它不会起作。 以下情况扫描循环时间可能大于监控定时器的设定时间,监控定时器将会起作用: 1)用户程序很长; 2)一个扫描循环内执行中断程序的时间很长; 3)循环指令执行的时间太长。 可以在程序中的任意位置使用指令RE_TRIGR(重新触发循环时间监视),来复位监控定时器。,37,2.STP指令 STP指令的EN输入为1状态时,使PLC进入STOP模式。 STP指令使CPU集成的输出、信号板和信号模块的数字量输出或模拟量输出进入组态时设置的安全状态。可以使输出冻结在最后的状态,或用替代值设置为安全状态。 默认的数字量输出状态为FALSE,默认的模拟量输出值为0。 3. GET_ERROR与GET_ERR_ID指令 GET_ERROR指令用来提供有关程序块执行错误的信息, 用输出参数ERROR显示发生的程序块执行错误,并且将详

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 工业设计

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号