12.S7-1200指令(数学运算、控制、高速计数器等)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
只能在“代码块界面区” 或 “全局数据块” 中定义 字符串
如果类型为String,没有[ ],则默认占256Byte
5.3.1 字符串转换指令
➢ S_CONV 1)字符串数值
允许转换:0到9、加减号、小数点 若有其他字符,转换停止,ENO = 0
2)数值字符串
将有符号、无符号整数、浮点数转换为字符串
✓ PWM要通过设备组态(P119),设定周期值等参数 ✓ PWM的编程指令(属于扩展指令)
5.5 高速脉冲输出和高速计数器
➢ 高速计数器
✓ 一般与增量式编码器一起用(编码器见P120-121) ✓ 普通计数器最高工作频率仅几十赫兹 ✓ S7-1200集成6个高速计数器(HSC)
HSC1-HSC3:最高计数频率:100kHZ ✓ HSC需要设备组态来设置(P122-P123)
3)复制字符串:输入输出同为String,注意字符串长度
5.3.1 字符串转换指令
➢ STRG_VAL和VAL_STRG
STRG_VAL:数字字符串数值 允许0-9、加减号、小数点、字符e和E
VAL_STRG:数值数字字符串 有符号、无符号整数、浮点数变为字符串
5.3.2 字符串操纵指令
1)LEN:求字符串长度 2)CONCAT:合并IN1和IN2两个字符串 3)LEFT:截取 IN 字符串的左侧若干字符 4)RIGHT:截取 IN 字符串的右侧若干字符 5)MID:截取IN字符串的中间若干字符 6)DELETE:从IN字符串中删除若干字符 7)INSERT:将IN2字符串插入IN1字符串指定位置 8)REPLACE:用IN2字符串替换IN1中某些字符 9)FIND:查找IN2字符串在IN1字符串中的位置
5.2.1 算术运算指令
➢ 其他整数算术运算
• MOD(求模): IN1 以 IN2 为模,OUT存余数
• NEG(符号求反):OUT= IN
• INC(增1)、DEC(减1) • ABS:IN中的有符号整数和实数的绝对值
5.2.1 算术运算指令
➢ 其他整数算术运算
• MIN、MAX:以MIN为例,将IN1和IN2中较小的值 存入OUT
• LIMIT指令: 若IN在MN和MX之间,则OUT=IN 若IN小于MN,则OUT=MN 若IN大于MX,则OUT=MX
5.2.1 算术运算指令
➢ 浮点数函数运算
• SQR: 平方 • SQRT:平方根 • LN:自然对数 • EXP:自然指数 • SIN、COS、TAN:三角函数 • ASIN、ACOS、ATAN:反三角函数 • FRAC:求浮点数的小数部分 • EXPT:普通指数
算
对应位逻辑运算
• INV:获得参数 IN 的二进制反码
5.2.2 逻辑运算指令(2)
➢ 解码与编码 (P109)
• DECO:解码。用IN的整数值来控制OUT中某一位的状态
IN:Uint
OUT:Byte、Word、DWord
• ENCO:编码。可判断IN中为“1”的最低位的位号
IN: Byte、Word、Dword
5.2 程序控制指令
➢ 基本的程序控制指令
一般是向后跳转
5.2 程序控制指令
➢ 运行时的程序控制指令
✓ RE_TRIGR:复位监控定时器(Watchdog) Watchdog用于监控PLC程序的扫描循环时间是否太长
✓ STP:使PLC进入STOP模式 ✓ GET_ERROR、GET_ERROR_ID指令 可获取PLC错误信息,类型:ErrorStruct(P112,表5-6)
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
5.3 字符串指令
➢ 字符串转换指令 负责字符串与数值之间相互转换
➢ 字符串操作指令 字符串的连接、截取、查找等等
5.3 字符串指令
➢ S7-1200中的字符串结构?
5.2.1 算术运算指令
➢ 四则运算
• ADD: 加法 (IN1 + IN2 = OUT) • SUB: 减法 (IN1 - IN2 = OUT) • MUL: 乘法 (IN1 * IN2 = OUT) • DIV: 除法 (IN1 / IN2 = OUT)
➢ ADD和MUL指令,可以增加输入的操作数 ➢ DIV指令,商截位取整,存入OUT
5.2.1 算术运算指令
• 例:(P106)过程控制任务中,压力变送器接PLC模拟输入 通道0(地址为IW64)。变送器量程0-10MPa、输出信号 0-10V,被PLC转换为0-27648。编程计算IW64中的数值 对应的压力值(单位为kPa)。
P (10000 N ) / 27648
➢ 注意运算顺序 ➢ 为防止超限,将IW64的数据转换为DINT
数据类型:STRING,多个ASCII码字符 存储结构:
✓ 头部占2Byte。首字节:最大长度;第二字节: 当前长度
✓ 最多254个字符,可定义字符串最大长度
例如:MyString[10]
5.3 字符串指令
➢ 如何在S7-1200中定义字符串?
不能在PLC变量表中定义
5.3 字符串指令
➢ 如何在S7-1200中定义字符串?
5.3.2 字符串操纵指令
5.3.2 字符串操纵指令
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
5.5 高速脉冲输出和高速计数器
➢ 高速脉冲输出
✓ CPU有两个PTO/PWM发生器,通过Q0.0 - Q0.3输 出或者信号板的Q4.0-Q4.3输出 PTO:占空比固定的方波 PWM:脉冲宽度可调,程序控制
5.2.1 算术运算指令 综合例子: c a2 b2 a和b是整数
注意运算过程中的数据类型变化
5.2.2 逻辑运算指令(1)
➢ 逻辑运算(P108)
• AND:BYTE、WORD 和 DWORD 数据类型的逻辑与运算 • OR:BYTE、WORD 和 DWORD 数据类型的逻辑或运算 • XOR:BYTE、WORD 和 DWORD 数据类型的逻辑异或运
如果采用S7-1200 CPU完成运动控制任务,请 仔细学习“高速计数器和高速脉冲输出”
5.2 程序控制指令
➢ 基本的程序控制指令 可以改变PLC程序的执行顺序
✓ JMP:线圈是否接通,若通,则跳转 ✓ JMPN:线圈是否断开,若断,则跳转
JMP和JMPN跳转有目标标签
✓ RET:返回指令。常用于FC和FB,终止当前块 ,返回TRUE、FALSE。
✓ JMP_LIST:跳转列表 ✓ SWITCH:跳转分支指令
2016年春
电气控制与可编程控制器 PLC
自动化与电子工程学院 邢关生
xinggs@
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
OUT:Int
5.2.2 逻辑运算指令(3)
➢ 选择命令 (P109)
• SEL:根据位状态的“0”和“1”,输入IN0、IN1二选一 • MUX:多路开关选择器。根据输入参数k值,选择输入数据
SEL、MUX指令要设定输入数据的类型
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
5.2 数学运算指令
➢ 算术运算指令
✓ 四则运算:ADD、SUB、MUL、DIV ✓ 其他整数运算:MOD、NEG、ABS等 ✓ 浮点数函数运算指令:SQR、SQRT、LN、
EXP、三角函数等
➢ 逻辑运ቤተ መጻሕፍቲ ባይዱ指令
✓ 基本逻辑:AND、OR、XOR、INV ✓ 解码和编码:DECO、ENCO ✓ 多路选择:SEL、MUX
如果类型为String,没有[ ],则默认占256Byte
5.3.1 字符串转换指令
➢ S_CONV 1)字符串数值
允许转换:0到9、加减号、小数点 若有其他字符,转换停止,ENO = 0
2)数值字符串
将有符号、无符号整数、浮点数转换为字符串
✓ PWM要通过设备组态(P119),设定周期值等参数 ✓ PWM的编程指令(属于扩展指令)
5.5 高速脉冲输出和高速计数器
➢ 高速计数器
✓ 一般与增量式编码器一起用(编码器见P120-121) ✓ 普通计数器最高工作频率仅几十赫兹 ✓ S7-1200集成6个高速计数器(HSC)
HSC1-HSC3:最高计数频率:100kHZ ✓ HSC需要设备组态来设置(P122-P123)
3)复制字符串:输入输出同为String,注意字符串长度
5.3.1 字符串转换指令
➢ STRG_VAL和VAL_STRG
STRG_VAL:数字字符串数值 允许0-9、加减号、小数点、字符e和E
VAL_STRG:数值数字字符串 有符号、无符号整数、浮点数变为字符串
5.3.2 字符串操纵指令
1)LEN:求字符串长度 2)CONCAT:合并IN1和IN2两个字符串 3)LEFT:截取 IN 字符串的左侧若干字符 4)RIGHT:截取 IN 字符串的右侧若干字符 5)MID:截取IN字符串的中间若干字符 6)DELETE:从IN字符串中删除若干字符 7)INSERT:将IN2字符串插入IN1字符串指定位置 8)REPLACE:用IN2字符串替换IN1中某些字符 9)FIND:查找IN2字符串在IN1字符串中的位置
5.2.1 算术运算指令
➢ 其他整数算术运算
• MOD(求模): IN1 以 IN2 为模,OUT存余数
• NEG(符号求反):OUT= IN
• INC(增1)、DEC(减1) • ABS:IN中的有符号整数和实数的绝对值
5.2.1 算术运算指令
➢ 其他整数算术运算
• MIN、MAX:以MIN为例,将IN1和IN2中较小的值 存入OUT
• LIMIT指令: 若IN在MN和MX之间,则OUT=IN 若IN小于MN,则OUT=MN 若IN大于MX,则OUT=MX
5.2.1 算术运算指令
➢ 浮点数函数运算
• SQR: 平方 • SQRT:平方根 • LN:自然对数 • EXP:自然指数 • SIN、COS、TAN:三角函数 • ASIN、ACOS、ATAN:反三角函数 • FRAC:求浮点数的小数部分 • EXPT:普通指数
算
对应位逻辑运算
• INV:获得参数 IN 的二进制反码
5.2.2 逻辑运算指令(2)
➢ 解码与编码 (P109)
• DECO:解码。用IN的整数值来控制OUT中某一位的状态
IN:Uint
OUT:Byte、Word、DWord
• ENCO:编码。可判断IN中为“1”的最低位的位号
IN: Byte、Word、Dword
5.2 程序控制指令
➢ 基本的程序控制指令
一般是向后跳转
5.2 程序控制指令
➢ 运行时的程序控制指令
✓ RE_TRIGR:复位监控定时器(Watchdog) Watchdog用于监控PLC程序的扫描循环时间是否太长
✓ STP:使PLC进入STOP模式 ✓ GET_ERROR、GET_ERROR_ID指令 可获取PLC错误信息,类型:ErrorStruct(P112,表5-6)
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
5.3 字符串指令
➢ 字符串转换指令 负责字符串与数值之间相互转换
➢ 字符串操作指令 字符串的连接、截取、查找等等
5.3 字符串指令
➢ S7-1200中的字符串结构?
5.2.1 算术运算指令
➢ 四则运算
• ADD: 加法 (IN1 + IN2 = OUT) • SUB: 减法 (IN1 - IN2 = OUT) • MUL: 乘法 (IN1 * IN2 = OUT) • DIV: 除法 (IN1 / IN2 = OUT)
➢ ADD和MUL指令,可以增加输入的操作数 ➢ DIV指令,商截位取整,存入OUT
5.2.1 算术运算指令
• 例:(P106)过程控制任务中,压力变送器接PLC模拟输入 通道0(地址为IW64)。变送器量程0-10MPa、输出信号 0-10V,被PLC转换为0-27648。编程计算IW64中的数值 对应的压力值(单位为kPa)。
P (10000 N ) / 27648
➢ 注意运算顺序 ➢ 为防止超限,将IW64的数据转换为DINT
数据类型:STRING,多个ASCII码字符 存储结构:
✓ 头部占2Byte。首字节:最大长度;第二字节: 当前长度
✓ 最多254个字符,可定义字符串最大长度
例如:MyString[10]
5.3 字符串指令
➢ 如何在S7-1200中定义字符串?
不能在PLC变量表中定义
5.3 字符串指令
➢ 如何在S7-1200中定义字符串?
5.3.2 字符串操纵指令
5.3.2 字符串操纵指令
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
5.5 高速脉冲输出和高速计数器
➢ 高速脉冲输出
✓ CPU有两个PTO/PWM发生器,通过Q0.0 - Q0.3输 出或者信号板的Q4.0-Q4.3输出 PTO:占空比固定的方波 PWM:脉冲宽度可调,程序控制
5.2.1 算术运算指令 综合例子: c a2 b2 a和b是整数
注意运算过程中的数据类型变化
5.2.2 逻辑运算指令(1)
➢ 逻辑运算(P108)
• AND:BYTE、WORD 和 DWORD 数据类型的逻辑与运算 • OR:BYTE、WORD 和 DWORD 数据类型的逻辑或运算 • XOR:BYTE、WORD 和 DWORD 数据类型的逻辑异或运
如果采用S7-1200 CPU完成运动控制任务,请 仔细学习“高速计数器和高速脉冲输出”
5.2 程序控制指令
➢ 基本的程序控制指令 可以改变PLC程序的执行顺序
✓ JMP:线圈是否接通,若通,则跳转 ✓ JMPN:线圈是否断开,若断,则跳转
JMP和JMPN跳转有目标标签
✓ RET:返回指令。常用于FC和FB,终止当前块 ,返回TRUE、FALSE。
✓ JMP_LIST:跳转列表 ✓ SWITCH:跳转分支指令
2016年春
电气控制与可编程控制器 PLC
自动化与电子工程学院 邢关生
xinggs@
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
OUT:Int
5.2.2 逻辑运算指令(3)
➢ 选择命令 (P109)
• SEL:根据位状态的“0”和“1”,输入IN0、IN1二选一 • MUX:多路开关选择器。根据输入参数k值,选择输入数据
SEL、MUX指令要设定输入数据的类型
第五章 S7-1200的指令
5.1 数据处理指令 5.2 数学运算指令 5.3 程序控制指令 5.4 字符串指令 5.5 高速脉冲输出和高速计数器
5.2 数学运算指令
➢ 算术运算指令
✓ 四则运算:ADD、SUB、MUL、DIV ✓ 其他整数运算:MOD、NEG、ABS等 ✓ 浮点数函数运算指令:SQR、SQRT、LN、
EXP、三角函数等
➢ 逻辑运ቤተ መጻሕፍቲ ባይዱ指令
✓ 基本逻辑:AND、OR、XOR、INV ✓ 解码和编码:DECO、ENCO ✓ 多路选择:SEL、MUX