【PLC应用技术】S7-1200 PLC的基本指令(3)

导读

本章节主要介绍西门子公司S7-1200系列可编程序控制器(PLC)的基本结构与应用特点,对它的编程环境及应用进行详细的讲解,结合实例介绍典型指令编程方法,并介绍PLC应用设计中应注意的主要问题。

今日霍州(www.jrhz.info)©️

5. 数学函数

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

6.转换操作

(1)转换值指令

“转换值”指令CONVERT(CONV)的IN和OUT数据类型可以为位字符串、整数、浮点数、Char、 WChar、BCD16(16 位BCD码)、BCD32(32 位BCD码)。该指令将读取参数IN的内容,并根据指令框中选择的数据类型对其进行转换,转换值存储在OUT指定的地址中。

(2)浮点数转换为整数指令

“取整”指令ROUND是将浮点数转换为四舍五入的整数。“浮点数向上取整”指令CEIL是将浮点数向上转换为较大的相邻整数,比如将32.4转换为33。“浮点数向下取整”指令FLOOR是将浮点数向下转换为较小的相邻整数,比如将32.7转换为32。“截尾取整”指令TRUNC是只取浮点数的整数部分,舍去小数部分。

(3)缩放与标准化指令

①缩放指令。

“缩放”指令SCALE_X是将浮点数输入值VA L U E(0.0≤VALUE≤1.0)线性转换为MIN(下限值)和MAX(上限值)之间的数值,并将其保存在OUT指定的地址中。单击指令框内指令名称下的问号,从下拉列表中可以设置输入输出变量的数据类型,参数MIN、MAX和OUT的数据类型应相同。输入输出之间的线性关系如图2-52(a)所示,其线性转换关系满足OUT=VALUEX(MAX-MIN)+MIN。

今日霍州(www.jrhz.info)©️

②标准化指令。“标准化”指令NORM_X是将输入值VALUE(MIN≤VALUE≤MAX)线性转换为0.0~1.0之间的浮点数,称为标准化或归一化,转换结果保存在OUT指定的地址中。单击指令框内指令名称下的问号,从下拉列表中可以设置输入输出变量的数据类型,参数MIN、MAX和VALUE的数据类型应相同。输入输出之间的线性关系如图2-52(b)所示,其线性转换关系满足OUT=( VALUE-MIN)/(MAXMIN)。

转换指令的应用如图2-53所示,在程序段1中,当I0.0常开触点接通时,将MW30中的整数(45)转换为实数保存在MD40(45.0),将MD50中的实数(36.4)四舍五入取整保存在MW32(36)、向上取整保存在MW34(37)、向下取整保存在MW36(36)、截尾取整保存在MW38(36)。

在程序段2中,将设定速度MW10(范围为0~1430r/min)标准化为0.0~1.0之间的值,保存在局部变量“#归一化”中,同时通过缩放指令将“#归一化”中的值(0.0~1. 0)缩放为0~27648之间的值,保存在MW20中。

今日霍州(www.jrhz.info)©️

7.移动操作

(1)移动值指令

移动值指令MOVE是将IN输入的源数据传送到OUT指定的目标地址中,IN和OUT的数据类型可以是所有的数据类型。如果输入IN数据类型的位长度超出输出OUT数据类型的位长度,则源值的高位会丢失。如果输入IN数据类型的位长度低于输出OUT数据类型的位长度,则目标值的高位会被改写为0。

今日霍州(www.jrhz.info)©️

今日霍州(www.jrhz.info)©️

(2)块移动指令

“块移动”指令MOVE_BLK是将一个存储区( 源范围)的数据移动到另一个存储区(目标范围)中。输入COUNT用于指定将移动到目标范围中的元素个数,IN 和OUT是待移动源区域和目标区域的首个元素地址(可以不是第一个元素地址)。

“不可中断的存储区移动”指令UMOVE_BLK的功能与MOVE_BLK 基本相同,区别在于此移动操作不会被操作系统的其他任务打断。在执行UMOVE_BLK指令期间,CPU的中断响应时间会增加。

“移动块”指令MOVE_BLK_VARIANT是将一个存储区(源范围)的数据移动到另一个存储区(目标范围)中。可以将一个完整的数组或数组的元素复制到另一个相同数据类型的数组中。源数组和目标数组的大小(元素个数)可能会不同。可以复制一个数组内的多个或单个元素。

移动值指令和块移动指令如图2-54(a)所示,当I0.0常开触点接通时,执行MOVE指令,将3送到MB10~MB12中。执行MOVE_BLK_VARIANT 指令,将源数据块中的源数组(SRC)从索引7(SRC_INDEX)开始的5个(COUNT)数据移动到目标数据块中的目标数组(DEST)从索引7(DEST_INDEX)开始的5个元素中。

执行MOVE_BLK指令,将源数据块中从源数组[1]开始的5个数据移动到目标数据块的目标数组[0]开始的单元中。执行UMOVE_BLK指令,将源数据块中从源数组[10]开始的2个数据移动到目标数据块的目标数组[5]开始的元素中。执行结果如图2-54(b)所示。

(3)填充块指令

“填充存储区”指令FILL BLK是将用IN输入的值填充到从输出OUT指定起始地址的目标范围,参数COUNT指定填充元素的个数。源范围和目标范围的数据类型应相同。“不可中断的存储区填充”指令UFILL BLK与FIL_BLK指令的功能相同,区别在于前者的填充操作不会被操作系统的其他任务打断。

(4)交换指令

“交换”指令SWAP是交换输入IN中字节的顺序,保存到输出OUT指定的地址中。填充指令与交换指令的应用如图2-55所示,当I0.0常开触点接通时,执行FILL_BLK指令,将常数35填充到源数据块中从源数组[0]开始的5个元素中。执行UFILL_BLK指令,将常数23填充到源数据块中从源数组[5]开始的5个元素中。执行DWord数据类型的SWAP指令,交换4个字节中数据的顺序,保存到OUT指定的地址中。

今日霍州(www.jrhz.info)©️

(5)序列化和取消序列化指令

“序列化”指令Serialize是将多个PLC数据类型(UDT)、结构或数组转换为顺序表示而不会丢失结构部分。可以使用该指令临时将用户程序的多个结构化数据项保存到缓冲区中(最好位于全局数据块中),并发送到其他CPU。

“取消序列化”指令Deserialize是将PLC数据类型(UDT)、结构或数组的顺序表示进行反向转换,并填充所有内容。

内容来源:《电气工程基础与应用

END

特别声明:[【PLC应用技术】S7-1200 PLC的基本指令(3)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

香港著名女演员曾在TVB拍戏累到肝炎住院,但最终都没有得到续约(香港著名女演员有哪些人)

之后,在朋友的介绍下,她加入了亚洲电视(ATV),然而,她因为在当时流行的杂志上拍摄了一组尺度较为大胆的写真,仅工作十个月便被解雇。对于这一转变,颜仟汶表示非常乐意并享受这样的表演,虽然在这段时间里,她的角色…

香港著名女演员曾在TVB拍戏累到肝炎住院,但最终都没有得到续约(香港著名女演员有哪些人)

重看神探狄仁杰,了解唐朝官职变化(看电影神探狄仁杰)

这也正是梁冠华在诠释这段台词时,抑扬顿挫、铿锵有力的原因所在:我是正三品官,你不过是一个幽州刺史,竟敢在我面前胡说八道!在剧中,苏无名一直专注于破案,后来又转任为司马,这一职务也给我们带来了许多历史知识。在《

重看神探狄仁杰,了解唐朝官职变化(看电影神探狄仁杰)

实至名归!『肖战』三获影视榜样年度人气男演员(猋 『肖战』)

来源:滚动播报 (来源:猛犸新闻)【实至名归!#『肖战』三获影视榜样年度人气男演员#】1月31日,“影视榜样·2025年度总评榜”揭晓,#『肖战』获年度人气男演员# @『肖战』 凭借《藏海传》获评影视榜样2025年度人…

实至名归!『肖战』三获影视榜样年度人气男演员(猋 『肖战』)

晚上饮水别踩坑 医生说的“安全时间” 很多人都没做对(晚上饮水会肥吗)

  水是生命之源,充足饮水对维持身体健康至关重要。但很多人存在这样的疑问:晚上到底几点后不能喝水?有人担心睡前喝水导致夜尿频繁影响睡眠,也有人害怕引发水肿。晚上饮水什么时间喝好?其实,“晚上几点后不能喝水”没有绝对统一答案,它与个人体质、饮

晚上饮水别踩坑 医生说的“安全时间” 很多人都没做对(晚上饮水会肥吗)

千问让奶茶店爆单了 免单活动引发热潮(千百度奶茶店)

2月6日,阿里千问正式上线“春节30亿免单”活动,发放奶茶免单卡,用户仅需支付一分钱即可点单。新用户注册千问APP后可领取免单卡,并通过淘宝闪购下单。由于参与人数众多,许多用户在尝试下单时遇到了系统处理延迟的情况

千问让奶茶店爆单了 免单活动引发热潮(千百度奶茶店)