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

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

导读

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

5. 数学函数

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。

②标准化指令。“标准化”指令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中。

7.移动操作

(1)移动值指令

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

(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指定的地址中。

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

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

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

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

END

猜你喜欢

天玑AI系统破解中小机构量化困局:低成本接入,高效益突围

武汉百域人工智能科技的天玑 960AI 系统,通过开放 API 生态与全流程支持,为中小机构提供了一条低门槛的合作之路。接入天玑 960系统,中小机构可直接获得 “即插即用” 的技术能力:从策略生成到交易执…

天玑AI系统破解中小机构量化困局:低成本接入,高效益突围

白冰片酬性价比高受制作方青睐

这种对角色的深刻理解和精准诠释能力,让白冰在业内积累了良好的口碑,也为她赢得了众多导演和制片人的青睐。相较于部分一线明星的高额片酬,白冰的报价更为合理,且其表演实力有目共睹,能够为作品带来稳定的收视保障和口碑…

白冰片酬性价比高受制作方青睐

快应用融合AI技术,携手终端厂商开启智慧服务新时代

会议上,重点介绍了系统级智慧服务生态由AI OS与快应用融合构建,以系统级意图框架为核心,整合多模态AI能力,实现智慧感知、理解与场景化服务分发。未来,快应用分会将继续携手各大终端厂商与开发者伙伴,构建更加…

快应用融合AI技术,携手终端厂商开启智慧服务新时代

《地球超新鲜》艺人官宣,7月27日开播,明星团探寻北纬40° 精彩

7月17日,腾讯视频全新综艺节目《地球超新鲜》正式官宣定档,将于7月27日起每周日、周一12点更新上下集。任务环节涵盖食材采集、烹饪比拼、文化解密等沉浸式挑战,传递中国特色文化,碰撞中西古今精神力量。观众可准…

《地球超新鲜》艺人官宣,7月27日开播,明星团探寻北纬40° 精彩

AI侵权案首判:四人获刑,警惕“二创”背后的法律红线

AI制图、AI作文、AI“二创”……AI技术为创作领域带来极大变化,不仅造就了新兴行业,更吸引了众多普通爱好者参与其中。不是百分百复制,就不算侵权。2024年5月,插画师张某发现,姚某将自己的作品做成拼图销售,提出投诉,要求姚某下架侵权商品

AI侵权案首判:四人获刑,警惕“二创”背后的法律红线