s71200 plc的指令
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§5 S7-1200 PLC的指令
§5.1 数据处理指令
E-mail:
2021/7/17
1
1
基本指令——比较指令 1/2
比较指令用来比较数据类型相同的两个数IN1与IN2的大小。操作数可以是I/Q/M/L/D 存储区中的变量或常量。 满足比较关系式给出的条件时,等效触点接通。
2021/7/17
2
基本指令——比较指令 2/2
RD_LOC_T(读本地时间)的输出OUT提供数据类型为DTL的PLC中的当前本地时间。 为了保证读取到正确的时间,在组团CPU的属性时,应设置实时时间的时区为北京, 不设夏时制。在读取实时时间时,应调用RD_LOC_T指令。
2021/7/17
29
扩展指令——日期时间指令—时钟指令2/2
用实时时钟指令控制路灯的定时接通和断开,20:00开灯,6:00关灯。 用RD_LOC_T读取实时时间,保存在数据类型为DTL的局部变量DT5中,其中的HOUR 是小时值,其变量名为DT5.HOUR。用Q0.0来控制路灯。
基本指令数学运算指令浮点数函数运算指令23201982715基本指令数学运算指令浮点数函数运算指令33201982716基本指令数据传送指令12201982717基本指令数据传送指令22201982718基本指令数学运算指令转换指令201982719浮点数转换为双整数指令说明round10061006101101四舍五入ceil10021006101100将浮点数转换为大于或等于它的最小双整数floor10061002100101将浮点数转换为小于或等于它的最大双整数trunc10071007100100将浮点数转换为截位取整的双整数由于浮点数的数值范围远远大于32位整数有点浮点数不能成功转换为32位整数此时eno为0状态
2021/7/17
5
基本指令——比较指令——IN_RANGE
例:在HMI设备上可以设定电动机的转速,设定值MW20的范围为100-1440转/分 钟,若输入的设定值在此范围内,则延时5秒钟启动电动机Q0.0,否则Q0.1长亮提 示。
2021/7/17
6
基本指令——比较指令——OK和NOT_OK指令
2021/7/17
23
基本指令——循环和移位指令 1/2
2021/7/17
24
基本指令——循环和移位指令 2/2
通过循环指令实现彩灯控制: I0.0为控制开关,M1.5为周期为1s的时钟存储器位,实现的功能为当按下I0.0,QD4 中为1的输出位每秒钟向左移动1位。第1段程序的功能是赋初值,即将QD4中的Q7.0 置位,第2段程序的功能是每秒钟QD4循环左移一位。
2021/7/17
14
基本指令——数学运算指令——浮点数函数运算指令 3/3
c a2 b2
2021/7/17
15
基本指令——数据传送指令 1/2
2021/7/17
16
基本指令——数据传送指令 2/2
2021/7/17
17
基本指令——数学运算指令——转换指令
2021/7/17
18
基本指令——取整指令
2021/7/17
25
扩展指令——日期时间指令
S7-1200的扩展指令包括日期和时间指令,字符串和字符指令,程序控制指令,通信 指令,中断指令,PID控制指令,运动控制指令,脉冲指令等。
CPU的实时时钟(Time-of-day Clock)在CPU断电时由超级电容提供的能量保证时钟的 运行。CPU上电至少24h后,超级电容充的能量可供时钟运行10天。打开在线与诊断 视图,可以设置实时时钟的时间值,也可以用时钟指令来读、写实时时钟。
使用OK和NOT_OK指令可测试输入的数据是否为符合IEEE规范754的有效实数。 当MD0和MD4中为有效的浮点数时,会激活“实数乘”(MUL) 运算并置位输出,即 将MD0的值将与MD4的值相乘,结果存储在MD10中同时Q4.0输出为1。
2021/7/17
7
基本指令——比较指令——举例 1/2
T_ADD(时间相加)和T_SUB(时间相减)的输入参数IN1和输出参数OUT的数据类型可选 DTL或Time,他们的数据类型应该相同。IN2的数据类型为Time。
T_DIFF(时间差)的输入IN1的DTL值减去IN2的DTL值,参数OUT提供数据类型为Time 的差值,即D范围 数据
2
19702554
h
1
1 12
min
1
1 31
s
1 17(周日周六) ns
字节数 取值范围
1
023
1
059
1
059
4 0999999999
2021/7/17
27
扩展指令——日期时间指令—时间转换、相加、相减、时间差
T_CONV(时间转换)用于将数据类型Time转换为DInt,或者作反向的转换。IN和OUT 参数均可以去数据类型Time转换为Dint。
三角函数和反三角函数指令中的角度均为以弧度为单位的浮点数。
2021/7/17
13
基本指令——数学运算指令——浮点数函数运算指令 2/3
测量远处物体的高度时,已知被测物体到测量点的距离L和以度为单位的夹角,求被 测 物 体 的 高 度 H , H=L*tan() , 角 度 的 单 位 为 度 。 假 设 以 度 为 单 位 的 实 数 角 度 值 在 MD116,乘以/180=0.0174533,得角度的弧度值,运算的中间结果保存在数据类型为 Real的临时局部变量temp1中。L的值保存在MD128中,最终结果H保存在MD132中。
2021/7/17
35
基本指令——位逻辑指令——抢答题设计 2/2
2021/7/17
36
基本指令——位逻辑指令——乒乓电路设计
按动一次瞬时按钮I0.0,输出Q4.0亮,再按动一次按钮,输出Q4.0灭;重复以上。
2021/7/17
37
11
基本指令——数学运算指令——其他整数数学运算指令
MOD指令:除法指令只能得到商,余数被丢掉,MOD指令可以用来求除法的余数。 NEG指令:将输入IN的值取反,保存在OUT中。 INC和DEC指令:参数IN/OUT的值分别加1和减1。 绝对值指令ABS:求输入IN中有符号整数或实数的绝对值。
2021/7/17
2021/7/17
3
基本指令——比较指令——举例 1/2
用比较和计数指令编写开关灯程序,要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两 次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
分析:在程序中所用计数器为加法计数器,当加到3时,必须复位计数器,这是关键。
2021/7/17
4
基本指令——比较指令——举例 2/2
2021/7/17
9
基本指令——数学运算指令——四则运算指令
ADD,SUB,MUL和DIV分别是加、减、乘、除指令。 操作数的数据类型可选SInt, Int, Dint, USInt, UInt, UDInt和Real。 操作数的数据类型应该相同。
压力变送器的量程为010MPa,输出信号为010V,被CPU集成的模拟量输入通道 0(地址为IW64)转换为027648的数字。假设转换后的数字为N,求以kPa为单位的压力 值。 对应的转换公式为:
浮点数转换为双整数
指令 ROUND
CEIL FLOOR TRUNC
取整前 100.6 -100.6 100.2 -100.6 100.6 -100.2 100.7 -100.7
取整后 101 -101 101 -100 100 -101 100 -100
说明 四舍五入 将浮点数转换为大于或等于它的最小双整数 将浮点数转换为小于或等于它的最大双整数 将浮点数转换为截位取整的双整数
2021/7/17
28
扩展指令——日期时间指令—时钟指令1/2
WR_SYS_T(写系统时间):将输入IN的DTL值写入PLC的实时时钟。输出RET_VAL是 返回的指令执行的状态信息。
RD_SYS_T(读系统时间):将读取的PLC当前系统时间保存在输出OUT中,数据类型为 DTL。输出RET_VAL是返回的指令执行的状态信息。
NORM_X指令的整数输入数值VALUE(在下限和上限之间)被线性转换为0.01.0之间 的浮点数整数,如果VALUE超出了下限或上限,可以生成小于0.0或者大于1.0的浮点数。
OUT=(VALUE-MIN)/(MAX-MIN)
2021/7/17
21
基本指令——程序控制指令
2021/7/17
22
基本指令——字逻辑运算指令
2021/7/17
30
扩展指令——字符串转换指令
2021/7/17
31
扩展指令——字符串操作指令
2021/7/17
32
扩展指令——程序控制指令
2021/7/17
33
Q&A
34
34
基本指令——位逻辑指令——抢答题设计 1/2
抢答器有三个输入,分别为I0.0、I0.1和I0.2,输出分别为Q4.0、Q4.1和Q4.2,复位 输入是I0.4。 要求:三人中任意抢答,谁先按按钮,谁的指示灯优先亮,且只能亮一盏灯,进行 下一问题时主持人按复位按钮,抢答重新开始。
P=(10000N)/27648=0.361690 N 在运算时要先乘后除,否则会损失原始数据的精度。
2021/7/17
10
6.3 基本指令——数学运算指令——四则运算指令
方法1:双整数运算。乘法运算的结果可能会大于一个字能表示的最大值,因此使用 双整数的乘法和除法。
方法2:浮点数运算。
2021/7/17
12
基本指令——数学运算指令——浮点数函数运算指令 1/3
梯形图 SQR SQRT LN EXP SIN COS
描述 平方 平方根 自然对数 自然指数 正弦函数 余弦函数
梯形图
描述
TAN
正切函数
ASIN
反正弦函数
ACOS
反余弦函数
ATAN
反正切函数
FRAC 求浮点数的小数部分
EXPT 求浮点数的普通对数
由于浮点数的数值范围远远大于32位整数,有点浮点数不能成功转换为32位整数,此 时ENO为0状态。
2021/7/17
19
基本指令——标定指令
SCALE_X指令的浮点数输入值被线性转换为下限和上限定义数值范围之内的整数:
OUT=VALUE*(MAX-MIN)+MIN
2021/7/17
20
基本指令——标准化指令
2021/7/17
26
扩展指令——日期时间指令—日期时间的数据类型
数据类型Time的长度为4B,取值范围为: T#-24d_20h_31m_23s_648ms T#24d_20h_31m_23s_648ms -2147483648ms 2147483647ms
数据结构DTL(日期时间)如表:
数据 年 月 日 星期
用接通延时定时器和比较指令组成占空比可调的脉冲发生器。
M2.0和接通延时定时器TON组成一个脉冲发生器,使MD4中TON的已耗时间从0到 3000不断变化。
2021/7/17
8
基本指令——比较指令——举例 2/2
M2.0
一个扫描周期
Q0.0
2s
3s
Q0.0为0的时间取决于比较触点下面的操作数的值。
§5.1 数据处理指令
E-mail:
2021/7/17
1
1
基本指令——比较指令 1/2
比较指令用来比较数据类型相同的两个数IN1与IN2的大小。操作数可以是I/Q/M/L/D 存储区中的变量或常量。 满足比较关系式给出的条件时,等效触点接通。
2021/7/17
2
基本指令——比较指令 2/2
RD_LOC_T(读本地时间)的输出OUT提供数据类型为DTL的PLC中的当前本地时间。 为了保证读取到正确的时间,在组团CPU的属性时,应设置实时时间的时区为北京, 不设夏时制。在读取实时时间时,应调用RD_LOC_T指令。
2021/7/17
29
扩展指令——日期时间指令—时钟指令2/2
用实时时钟指令控制路灯的定时接通和断开,20:00开灯,6:00关灯。 用RD_LOC_T读取实时时间,保存在数据类型为DTL的局部变量DT5中,其中的HOUR 是小时值,其变量名为DT5.HOUR。用Q0.0来控制路灯。
基本指令数学运算指令浮点数函数运算指令23201982715基本指令数学运算指令浮点数函数运算指令33201982716基本指令数据传送指令12201982717基本指令数据传送指令22201982718基本指令数学运算指令转换指令201982719浮点数转换为双整数指令说明round10061006101101四舍五入ceil10021006101100将浮点数转换为大于或等于它的最小双整数floor10061002100101将浮点数转换为小于或等于它的最大双整数trunc10071007100100将浮点数转换为截位取整的双整数由于浮点数的数值范围远远大于32位整数有点浮点数不能成功转换为32位整数此时eno为0状态
2021/7/17
5
基本指令——比较指令——IN_RANGE
例:在HMI设备上可以设定电动机的转速,设定值MW20的范围为100-1440转/分 钟,若输入的设定值在此范围内,则延时5秒钟启动电动机Q0.0,否则Q0.1长亮提 示。
2021/7/17
6
基本指令——比较指令——OK和NOT_OK指令
2021/7/17
23
基本指令——循环和移位指令 1/2
2021/7/17
24
基本指令——循环和移位指令 2/2
通过循环指令实现彩灯控制: I0.0为控制开关,M1.5为周期为1s的时钟存储器位,实现的功能为当按下I0.0,QD4 中为1的输出位每秒钟向左移动1位。第1段程序的功能是赋初值,即将QD4中的Q7.0 置位,第2段程序的功能是每秒钟QD4循环左移一位。
2021/7/17
14
基本指令——数学运算指令——浮点数函数运算指令 3/3
c a2 b2
2021/7/17
15
基本指令——数据传送指令 1/2
2021/7/17
16
基本指令——数据传送指令 2/2
2021/7/17
17
基本指令——数学运算指令——转换指令
2021/7/17
18
基本指令——取整指令
2021/7/17
25
扩展指令——日期时间指令
S7-1200的扩展指令包括日期和时间指令,字符串和字符指令,程序控制指令,通信 指令,中断指令,PID控制指令,运动控制指令,脉冲指令等。
CPU的实时时钟(Time-of-day Clock)在CPU断电时由超级电容提供的能量保证时钟的 运行。CPU上电至少24h后,超级电容充的能量可供时钟运行10天。打开在线与诊断 视图,可以设置实时时钟的时间值,也可以用时钟指令来读、写实时时钟。
使用OK和NOT_OK指令可测试输入的数据是否为符合IEEE规范754的有效实数。 当MD0和MD4中为有效的浮点数时,会激活“实数乘”(MUL) 运算并置位输出,即 将MD0的值将与MD4的值相乘,结果存储在MD10中同时Q4.0输出为1。
2021/7/17
7
基本指令——比较指令——举例 1/2
T_ADD(时间相加)和T_SUB(时间相减)的输入参数IN1和输出参数OUT的数据类型可选 DTL或Time,他们的数据类型应该相同。IN2的数据类型为Time。
T_DIFF(时间差)的输入IN1的DTL值减去IN2的DTL值,参数OUT提供数据类型为Time 的差值,即D范围 数据
2
19702554
h
1
1 12
min
1
1 31
s
1 17(周日周六) ns
字节数 取值范围
1
023
1
059
1
059
4 0999999999
2021/7/17
27
扩展指令——日期时间指令—时间转换、相加、相减、时间差
T_CONV(时间转换)用于将数据类型Time转换为DInt,或者作反向的转换。IN和OUT 参数均可以去数据类型Time转换为Dint。
三角函数和反三角函数指令中的角度均为以弧度为单位的浮点数。
2021/7/17
13
基本指令——数学运算指令——浮点数函数运算指令 2/3
测量远处物体的高度时,已知被测物体到测量点的距离L和以度为单位的夹角,求被 测 物 体 的 高 度 H , H=L*tan() , 角 度 的 单 位 为 度 。 假 设 以 度 为 单 位 的 实 数 角 度 值 在 MD116,乘以/180=0.0174533,得角度的弧度值,运算的中间结果保存在数据类型为 Real的临时局部变量temp1中。L的值保存在MD128中,最终结果H保存在MD132中。
2021/7/17
35
基本指令——位逻辑指令——抢答题设计 2/2
2021/7/17
36
基本指令——位逻辑指令——乒乓电路设计
按动一次瞬时按钮I0.0,输出Q4.0亮,再按动一次按钮,输出Q4.0灭;重复以上。
2021/7/17
37
11
基本指令——数学运算指令——其他整数数学运算指令
MOD指令:除法指令只能得到商,余数被丢掉,MOD指令可以用来求除法的余数。 NEG指令:将输入IN的值取反,保存在OUT中。 INC和DEC指令:参数IN/OUT的值分别加1和减1。 绝对值指令ABS:求输入IN中有符号整数或实数的绝对值。
2021/7/17
2021/7/17
3
基本指令——比较指令——举例 1/2
用比较和计数指令编写开关灯程序,要求灯控按钮I0.0按下一次,灯Q4.0亮,按下两 次,灯Q4.0,Q4.1全亮,按下三次灯全灭,如此循环。
分析:在程序中所用计数器为加法计数器,当加到3时,必须复位计数器,这是关键。
2021/7/17
4
基本指令——比较指令——举例 2/2
2021/7/17
9
基本指令——数学运算指令——四则运算指令
ADD,SUB,MUL和DIV分别是加、减、乘、除指令。 操作数的数据类型可选SInt, Int, Dint, USInt, UInt, UDInt和Real。 操作数的数据类型应该相同。
压力变送器的量程为010MPa,输出信号为010V,被CPU集成的模拟量输入通道 0(地址为IW64)转换为027648的数字。假设转换后的数字为N,求以kPa为单位的压力 值。 对应的转换公式为:
浮点数转换为双整数
指令 ROUND
CEIL FLOOR TRUNC
取整前 100.6 -100.6 100.2 -100.6 100.6 -100.2 100.7 -100.7
取整后 101 -101 101 -100 100 -101 100 -100
说明 四舍五入 将浮点数转换为大于或等于它的最小双整数 将浮点数转换为小于或等于它的最大双整数 将浮点数转换为截位取整的双整数
2021/7/17
28
扩展指令——日期时间指令—时钟指令1/2
WR_SYS_T(写系统时间):将输入IN的DTL值写入PLC的实时时钟。输出RET_VAL是 返回的指令执行的状态信息。
RD_SYS_T(读系统时间):将读取的PLC当前系统时间保存在输出OUT中,数据类型为 DTL。输出RET_VAL是返回的指令执行的状态信息。
NORM_X指令的整数输入数值VALUE(在下限和上限之间)被线性转换为0.01.0之间 的浮点数整数,如果VALUE超出了下限或上限,可以生成小于0.0或者大于1.0的浮点数。
OUT=(VALUE-MIN)/(MAX-MIN)
2021/7/17
21
基本指令——程序控制指令
2021/7/17
22
基本指令——字逻辑运算指令
2021/7/17
30
扩展指令——字符串转换指令
2021/7/17
31
扩展指令——字符串操作指令
2021/7/17
32
扩展指令——程序控制指令
2021/7/17
33
Q&A
34
34
基本指令——位逻辑指令——抢答题设计 1/2
抢答器有三个输入,分别为I0.0、I0.1和I0.2,输出分别为Q4.0、Q4.1和Q4.2,复位 输入是I0.4。 要求:三人中任意抢答,谁先按按钮,谁的指示灯优先亮,且只能亮一盏灯,进行 下一问题时主持人按复位按钮,抢答重新开始。
P=(10000N)/27648=0.361690 N 在运算时要先乘后除,否则会损失原始数据的精度。
2021/7/17
10
6.3 基本指令——数学运算指令——四则运算指令
方法1:双整数运算。乘法运算的结果可能会大于一个字能表示的最大值,因此使用 双整数的乘法和除法。
方法2:浮点数运算。
2021/7/17
12
基本指令——数学运算指令——浮点数函数运算指令 1/3
梯形图 SQR SQRT LN EXP SIN COS
描述 平方 平方根 自然对数 自然指数 正弦函数 余弦函数
梯形图
描述
TAN
正切函数
ASIN
反正弦函数
ACOS
反余弦函数
ATAN
反正切函数
FRAC 求浮点数的小数部分
EXPT 求浮点数的普通对数
由于浮点数的数值范围远远大于32位整数,有点浮点数不能成功转换为32位整数,此 时ENO为0状态。
2021/7/17
19
基本指令——标定指令
SCALE_X指令的浮点数输入值被线性转换为下限和上限定义数值范围之内的整数:
OUT=VALUE*(MAX-MIN)+MIN
2021/7/17
20
基本指令——标准化指令
2021/7/17
26
扩展指令——日期时间指令—日期时间的数据类型
数据类型Time的长度为4B,取值范围为: T#-24d_20h_31m_23s_648ms T#24d_20h_31m_23s_648ms -2147483648ms 2147483647ms
数据结构DTL(日期时间)如表:
数据 年 月 日 星期
用接通延时定时器和比较指令组成占空比可调的脉冲发生器。
M2.0和接通延时定时器TON组成一个脉冲发生器,使MD4中TON的已耗时间从0到 3000不断变化。
2021/7/17
8
基本指令——比较指令——举例 2/2
M2.0
一个扫描周期
Q0.0
2s
3s
Q0.0为0的时间取决于比较触点下面的操作数的值。