西门子S7-1200指令培训(高端培训)

上传人:TH****3P 文档编号:119606640 上传时间:2020-01-20 格式:PPTX 页数:89 大小:14.48MB
返回 下载 相关 举报
西门子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 5 1数据处理指令 5 1 1比较指令 4 1 比较指令2 范围内与范围外比较指令 例5 1用接通延时定时器和比较指令组成占空比可调的脉冲发生器 6 3 OK与NOT OK指令 7 5 1 2使能输入和使能输出1 BCD码 BCD Binary codedDecimal 是二进制编码的十进制数的缩写 BCD码用4位二进制数表示一位十进制数 每一位BCD码允许的数值范围为2 0000 2 1001 对应于十进制数0 9 4位二进制数共有16种组合 有6种组合 2 1010 2 1111 没有在BC

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

3、V指令 2 浮点数转换为双整数指令 3 SCAL X指令OUT VALUE MAX MIN MIN例如 如果MAX 1000 MIN 200 则0 4 520 1 2 1160 4 NORM X指令OUT VALUE MIN MAX MIN 11 5 1 4数据传送指令 1 MOV指令 输入输出数据类型可以不一样 如 MB0 MW2低字节中 MW4 MB6 但是如果MW4超过255 则只传送低字节中的数值 2 SWAP指令IN和OUT为数据类型Word时 SWAP指令交换输入IN的高 低字节后 保存到OUT指定的地址 IN和OUT为数据类型Dword时 交换 个字节中数据的顺序 交换后保存到O

4、UT指定的地址 如 16 AABBCCDD 16 DDCCBBAA 12 3 全局数据块和数组数组由相同数据类型的多个元素组成 数组元素的数据类型可以是所有的基本数据类型 全局数据块的生成方法 演示 13 4 FILL BLK与UFILL BLK指令FILLBLK指令将输入参数取设置的值填充到输出参数OUT指定起始地址的目标数据区 IN和OUT必须是D L 数据块或块的局部数据 中的数组元素 IN还可以是常数 COUNT为填充的数组元素的个数 数据类型为DInt或常数 5 MOVE BLK与UMOVE BLK指令 6 块填充和快传送指令的实验 演示 14 5 1 5位移与循环位移指令 1 位移

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

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

7、0 27648 转换公式为P 10000 N 27648 kPa 注意 在运算时一定要先乘后除 否则会损失原始数据的精度 21 例 使用浮点数运算计算上例以kPa为单位的压力值 将上例改写为 p 10000 xN 27648 0 361690XN kPa 22 2 其它整数数学运算指令 1 MOD指令用MOD指令来求除法的余数 2 NEG指令NEG negation 将输入IN的值的符号取反后 保存在输出OUT中 IN和OUT的数据类型可以是SInt Int DInt和Real 输入IN还可以是常数 3 INC与DEC指令执行指令INC与DEC时 参数IN OUT的值分别被加1和减1 IN O

8、UT的数据类型可选SInt USInt Int UInt DInt和UDInt 有符号或无符号的整数 23 4 绝对值指令ABSABS指令用来求输入IN中的有符号整数 SInt Int宁DInt或实数 Real 的绝对值 将结果保存在输出OUT中 IN和OUT的数据类型应相同 5 MIN与MAX指令MIN minimum 指令比较输入IN1和IN2的值 将其中较小的值送给输出OUT MAX maximum 指令比较输入IN1和IN2的值 将其中较大的值送给输出OUT INI和IN2的数据类型相同才能执行指定的操作 24 6 LIMIT指令LIMIT指令检查输入IN的值是否在参数MIN和MAX指

9、定的范围内 如果IN的值没有超出该范围 将它直接保存在OUT指定的地址中 如果IN的值小于MIN的值或大于MAX的值 将MIN或MAX的值送给输出OUT 25 3 浮点数函数运算指令浮点数 实数 数学运算指令的操作数IN和OUT的数据类型为Real 浮点数自然指数指令EXP和浮点数自然对数指令LN中的指数和对数的底数为2 71828 浮点数开平方指令SQRT和LN指令的输入值如果小于0 输出OUT返回一个无效的浮点数 浮点数三角函数指令和反三角函数指令中的角度均为以弧度为单位的浮点数 如果输入值是以度为单位的浮点数 使用三角函数指令之前应先将角度值乘以 180 0 转换为弧度值 浮点数反正弦函

10、数指令ASIN和浮点数反余弦函数指令ACOS的输入值的允许范围为 1 0 1 0 ASIN和ATAN的运算结果的取值范围为 2 2弧度 ACOS的运算结果的取值范围为0 弧度 求以10为底的对数时 需要将自然对数值除以2 302585 10的自然对数值 例如 lg100 ln100 2 302585 4 605170 2 302585 2 26 27 28 例 测量远处物体的高度时 已知被测物体到测量点的距离L和以度为单位的夹角 求被测物体的高度H H Ltan 角度的单位为度 假设以度为单位的实数角度值在MD116 乘以 180 0 0174533得角度的弧度值 运算的中间结果保存在数据类型

11、为Real的临时局部变量Tempt中 L的实数值在MD128 运算结果在MD132 29 5 2 2逻辑运算指令1 逻辑运算指令逻辑运算指令对两个输入IN1和IN2逐位进行逻辑运算 逻辑运算的结果存放在输出OUT指定的地址 与 AND 运算时两个操作数的同一位如果均为1 运算结果的对应位为1 否则为0 或 OR 运算时两个操作数的同一位如果均为0 运算结果的对应位为0 否则为1 30 异或 XOR 运算时两个操作数的同一位如果不相同 运算结果的对应位为1 否则为0 以上指令的操作数IN1 IN2和OUT的数据类型为十六进制的Byte Word和Dword 取反指令INV将输入IN中的二进制整数

12、逐位取反 即各位的二进制数由0变1 由1变0 运算结果存放在输出OUT指定的地址 31 解码与编码指令假设输入参数IN的值为 解码 译码 指令DECO Deode 将输出参数OUT的第 位置位为 其余各位置0 相当于数字电路中译码电路的功能 利用解码指令 可以用输入IN的值来控制OUT中某一位的状态 如果输入IN的值大于31 将取的值除以32以后 用余数来进行解码操作 IN的数据类型为UInt OUT的数据类型可选 yte Word和 Word IN的值为 7 位二进制数 时 输出 的数据类型为 位的字节 IN的值为 15 位二进制数 时 输出OUT的数据类型为16位的字 IN的值为 31 位

13、二进制数 时 输出OUT的数据类型为 位的双字 例如IN的值为 时 输出为 00100000 16 20 仅第 位为 32 编码指令ENCO Ericode 与解码指令相反 将IN中为 的最低位的位数送给输出参数OUT指定的地址 IN的数据类型可选Byte Word和Dword OUT的数据类型为INT 33 SEL与MUX指令指令SEL Select 的Bool输入参数 为 时选中IN0 为 时选中IN1 并将它们保存到输出参数OUT指定的地址 指令MUX Multiplex 多路开关选择器 根据输入参数 的值 选中某个输入数据 并将它传送到输出参数OUT指定的地址 如 时 将选中输入参数I

14、Nm 如果 的值超过允许的范围 将选中输入参数ELSE 参数 的数据类型为Uint Inn ELSE OUT可以取12种数据类型 它们的数据类型应相同 34 5 3程序控制指令5 3 1程序控制指令1 跳转与标签指令没有执行跳转指令时 各个程序段按从上到下的先后顺序执行 这种执行方式称为线性扫描 JMP跳转指令中止程序的线性扫描跳转到指令中的地址标签所在的目的地址 跳转时不执行跳转指令与标签之间的程序 跳到目的地址后 程序继续按线性扫描的方式顺序执行 跳转指令可以往前跳 也可以往后跳 只能在同一个代码块内跳转 即跳转指令与对应的跳转目的地址应在同一个代码块内 在一个块内 同一个跳转目的地址只能

15、出现一次 JMPN指令的线圈断电时 将跳转到指令给出的标签处 执行标签之后的第一条指令 35 2 返回指令RETRET指令的线圈通电时 停止执行当前的块 不再执行该指令后面的指令 返回调用它的块后 执行调用指令之后的指令 RET指令的线圈断电时 继续执行它下面的指令 RET线圈的上面是块的返回值 数据类型为Bool 如果当前的块是OB 返回值被忽视 36 5 3 2扩展指令中的程序控制指令 1 RE TRIGR指令监控定时器又称看门狗 Watchdog 每次扫描循环它都被自动复位一次 正常工作时最大扫描循环时间小于监控定时器的时间设定值 它不会起作 以下情况扫描循环时间可能大于监控定时器的设定

16、时间 监控定时器将会起作用 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显示发生的程序块执行错误 并且将详细的错误信息填入预定义的ErrorStruct 错误结构 数据类型 可以用程序来分析错误信息 并作出适当的响应 第一个错误消失时 指令输出下一个错误的信息 GET ERR ID指令用来报告错误的ID 标识符 如果块执行时出现错误 且指令的EN输入为1状态 出现的第一个错误的标识符保存在指令的输出参数 ID 中 ID的数据类型为Word 第一个错误消失

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

当前位置:首页 > 电子/通信 > 电子电气自动化

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