当前位置:
文档之家› S7-1200指令讲解(内部培训教程)
S7-1200指令讲解(内部培训教程)
17
【例】压力变送器的量程为0~10MPa,输出信号为0~ 10V,被CPU集成的模拟量输入的通道0(地址为IW64) 转换为0~27648的数字。假设转换后的数字为N,试求 以kPa为单位的压力值。
解:0~10MPa(0~10000kPa)对应于转换后的数字 0~27648,转换公式为
P=(10000×N)/27648 (kPa) 注意:在运算时一定要先乘后除,否则会损失原始数 据的精度。
内部培训
• 名称:S7-1200指令讲解 • 所属部门:XX • 汇报人:xxX
.1数据处理指令
.1.1比较指令
2
1.比较指令 2.范围内与范围外比较指令
3
例-1用接通延时定时器和比较指令组成占空比可调的脉冲发生器
3.OK与NOT_OK指令
5
.1.2 使能输入和使能输出
1.BCD码:BCD (Binary-coded Decimal)是二进制编码 的十进制数的缩写,BCD码用4位二进制数表示一位十 进 制 数 , 每 一 位 BCD 码 允 许 的 数 值 范 围 为 2#0000 ~ 2#1001;对应于十进制数0-9。4位二进制数共有16种 组合,有6种组合(2#1010 ~ 2#1111)没有在BCD码中 使用。
7
2.EN与ENO
令MW32=F983,则输出MW34=-983 下列指令使用EN/ENO:数学运算指令、传送与转换 指令、位移与循环指令、字逻辑运算指令等。 下列指令不使用EN/ENO:位逻辑指令、比较指令、 计数器指令、定时器指令和程序控制指令。
8
.1.3数据转换指 令 1.CONV指令
2.浮点数转换为双整
在输出OUT中,IN和OUT的数据类型可以是SInt, Int,
DInt和Real,输入IN还可以是常数。
(3)INC与DEC指令
执行指令INC与DEC时,参数IN/OUT的值分别被加1和
减1。IN/OUT的数据类型可选SInt, USInt, Int, UInt,
DInt和UDInt(有符号或无符号的整数)。
3数.S指CA令L_X指令
OUT=VALUE(MAX-MIN)+MIN
例如:如果MAX=1000,
MIN=200,则
0.4→20;1.2 →1160 4.NORM_X指令
OUT= (VALUE-MIN)
9
/(MAX-MIN)
.1.4数据传送指 令 1.MOV指令
输入输出数据类型可以不一样,如:MB0→MW2
18
【例】使用浮点数运算计算上例以kPa为单位的压力值。 将上例改写为:
p=(10000 x N)/27648=0.361690 X N (kPa)
20
2.其它整数数学运算指令
(1)MOD指令
用MOD指令来求除法的余数。
(2)NEG指令
NEG (negation)将输入IN的值的符号取反后,保存
BCD码的最高位二进制数用来表示符号、负数为1, 正数为0;一般令负数和正数的最高4位二进制数分别
-862 为 1111 和 0000 。 16 位 BCD 码 的 范 围 为芯 片
用PLC的输入 点读取拨码开 关的输出
PLC的四个输 出点 后接一个译码 芯片
21
(4)绝对值指令ABS ABS 指 令 用 来 求 输 入 IN 中 的 有 符 号 整 数 (SInt, Int 宁
DInt或实数(Real) 的绝对值,将结果保存在输出OUT中。IN和OUT的数据类型应 相同。 () MIN与MAX指令
MIN (minimum)指令比较输入IN1和IN2的值,将其中较 小的值送给输出OUT。
数组元素,IN还可以是常数。COUNT为填充的数组元素 .的MO个VE数_B,LK数与据UM类OV型E_为BLDKI指nt令或常数。
6.块填充和快传送指令的实验(演示)
12
.1.位移与循环位移指令
1.位移指令 移位指令SHR和SHL将输入参数IN指定的存储单元的 整个内容逐位右移或左移若干位,移位的位数用输 入参数N来定义,移位的结果保存在输出参数OUT指 定的地址。
无符号数移位和有符号数左移后空出来的位用0填 充。有符号数右移后空出来的位用符号位(原来的 最高位)填充,正数的符号位为0.节负数的符号位 为1。
13
2.循环移位指令 循环移位指令ROR和ROL将输入参数IN指定的存储单 元的整个内容逐位循环右移或循环左移若干位,即 移出来的位又送回存储单元另一端空出来的位,原 始的位不会丢失。N为移位的位数,移位的结果保存 在输出参数OUT指定的地址。
14
3.使用循环移位指令的彩灯控制器
15
.2 数学运算指令
.2.1数学运算指令 数学运算包括数学运算指令、浮点数函数运算指令、逻 1.辑四运则算运指算令指。令
16
数学运算指令中的ADD、SUB、MUL和DIV分别是加、 减、乘、除指令、它们执行的操作数的数据类型可选 SInt, Int, DInt, USInt, UInt, UDInt和Real, IN1和 IN2可以是常数。IN1、IN2和OUT的数据类型应该相同。
MAX(maximum )指令比较输入IN1和IN2的值,将其中较 大的值送给输出OUT。
INI和IN2的数据类型相同才能执行指定的操作。
22
(6)LIMIT指令 LIMIT指令检查输入IN的值是否在参数MIN和MAX指
16#AABBCCDD→16#DDCCBBAA
10
3.全局数据块和数组 数组由相同数据类型的多个元素组成,数组元素的
数据类型可以是所有的基本数据类型。 全局数据块的生成方法:演示
11
4.FILL_BLK与UFILL_BLK指令 FILL BLK指令将输入参数取设置的值填充到输出参
数OUT指定起始地址的目标数据区。 IN和OUT必须是D、L(数据块或块的局部数据)中的
低字节中;
MW4→MB6,但是如果MW4超过2,则只传送低字 节2.中SW的AP数指值令。
IN和OUT为数据类型Word时,SWAP指令交换输入IN
的高、低字节后,保存到OUT指定的地址。
IN和OUT为数据类型Dword时,交换4个字节中数
据 的 顺 序 , 交 换 后 保 存 到 OUT 指 定 的 地 址 。 如 :