1
导读:
西门子S7-200smartV2.8软件更新以后多了很多的功能,需要CPU固件升级到V2.8才可以使用,这篇文章接着介绍西门子S7-200smartV2.8位逻辑和转换的新指令,西门子的S7-200smartV2.8新指令介绍分为上、中、下三篇,想了解更多内容可以关注“PLC发烧友”。
2
位逻辑指令
1.交替输出
交替输出,每个扫描周期都会进行一次交换,如图1所示,当Q0.0为1,接通M0.0则Q0.0会变为0。如果Q0.0为0,接通M0.0则Q0.0会变为1。
例如:当M0.0接通,第n个扫描周期Q0.0为1,第n+1个周期Q0.0为0,第n+2个周期Q0.0为1,以此往复,如视频1所示。
图1
,时长00:12视频1
2.脉冲交替输出
脉冲交替输出,每次沿脉冲进行一次交换,如图2所示,当Q0.1为1,接通M0.0则Q0.1会变为0。如果Q0.1为0,接通M0.0则Q0.1会变为1。
例如:第n个扫描周期Q0.1为1时,当M0.0从0变为1,第n+1个扫描周期Q0.1从1变为0,当第n+n个扫描周期M0.0从从0变为1时,下一个扫描周期Q0.1从0变为1,如视频2所示。
图2
,时长00:28视频2
3
转换指令
1.双精度浮点到实数
指令如图3所示,将双精度浮点值 IN 转换为实数值,并将结果存入分配给 OUT的地址处。如果转换的值过大以至于无法在输出中表示,则溢出位将置位,并且输出不受影响。
图3
2.BCD 到双精度整数
指令如图4所示,将二进制编码的十进制 DINT 数据类型值 IN 转换为双精度整数 DINT数据类型的值,并将结果加载至分配给 OUT 的地址中。IN 的有效范围为 0 到 99999999 BCD。
图4
3.双精度整数到 BCD
指令如图5所示,将输入双精度整数 DINT 数据类型值 IN 转换为二进制编码的十进制 DINT数据类型,并将结果加载至分配给 OUT 的地址中。IN 的有效范围为 0 到 99999999(整数)。
图5
4.量程转换公式
可使用“量程变换”指令通过将 IN输入的值映射到指定的值范围来缩放该值,图6显示了如何转换值的示例:
OUT = [(OSH - OSL) * (IN - ISL)/(ISH - ISL)] +OSL
lOUT:转换结果
lOSH:转换结果上限
lOSL:转换结果下限
lIN:换算对象
lISH:转换对象上限
llSL:转换对象下限
图6
(1)S_ITR指令
指令如图7所示,可使用此指令将模拟量输入转换为 S7-200 SMART 的内部数据。执行该指令时,输入 IN处的整数值被缩放到由参数 OSH 和 OSL 定义的值范围。缩放的结果是实数,该实数存储在输出 OUT 处。
图7
(2)S_RTR指令
指令如图8所示,可使用此指令将 REAL 转换为另一个 REAL。执行该指令时,输入 IN 处的实数值被缩放到由参数OSH 和 OSL 定义的值范围。缩放的结果是实数,该实数存储在输出 OUT 处。
图8
(3)S_RTI指令
指令如图9所示,可使用此指令将 S7-200 SMART 的内部数据转换为模拟量输出。执行该指令时,输入 IN处的实数值被缩放到由参数 OSH 和 OSL 定义的值范围。缩放的结果是整数,该整数存储在输出 OUT 处。
图9