数值范围_如何理解PLC对数值运算的定义与处理方式?

戳上方 蓝字  "技成电工课堂”  关注我们哦!

a57396ccbe4bd16ff1b63917266a3a8b.gif

所谓数值运算,就是通过加减乘除来实现数值的变换。在PLC中,数值运算的指令不算难,难的是怎样理解PLC对这些数值的定义与处理方式。所以,我将这部分知识分为上下两篇文章来述说。 7e8ca43b4f01e9acb219920ba44c8aee.png 在学习数值指令之前,我们得先了解这些数值有哪些特点。 在数学中,数的分类有很多,那在PLC中,数值的分类是不是也有很多的?在学习之前,看到数值运算指令,我顿时瑟瑟发抖,不会在PLC中也要学习数学吧! 0d76cf1ee7e2a41413389f520fee632f.png 后来才发现,是我杯弓蛇影了,PLC中的数值,除了我之前所说的各种进制数外,其实也不过是有整数与小数之分、整数与负数之分而已。这让我松了一口气。那么,我们正式开始这次的学习分享吧!

一、PLC的正数和负数

在数学中,负数和正数的区别,在于前面的正负号,例如-5和+5,而PLC中是不是也是这样的呢? 并不是的。 PLC中,正负之分是通过最高位(b15或b31)的值来判定的。最高位为0表示正数,最高位为1表示负数。 ba638ec82c8b9e6b487bb9d6db9f9368.png 例如数据寄存器D0中最高位b15=0,表示D0的值为正数;若b15=1,那么D0的值就为负数。 另外,除了最高位用于区分正负之外,其他位(b14…b0或b30…b0)的值也有区别,这主要是体现在负数的表示中。在说明这一点之前,我们先来了解一下什么是原码、反码和补码。 在数字电路中,数码有原码、反码和补码之分,这样可以使得数值运算变得更为简单。结合符号位(最高位),所谓原码,是指数值本身,例如十进制数+11、-5用二进制数表示的原码分别为01011、10101,此时最高位的“0”、“1”为符号位。 47b5c79c70e211c0a1ece522eb033f67.png 在数字电路中规定,正数的原码=反码=补码,也就是正数的原码、反码和补码都是其本身,如上图所示的+11,其反码和补码也是01011。 而负数就不一样了,符号位始终保持不变,负数的反码就是对各数值位分别取反,如上图所示的-5,反码就是把1 0101变成1 1010。而负数的补码等于其反码加1,如1 1010+1=1 1011。 那么,反码和补码存在的意义又是什么呢?其实,补码的作用就是使运算变得更方便快捷,一个数减去另一个数,就等于这个数加上另一个数的相反数的补码,从而把减法运算转化为加法运算。 如下图所示,求解11-5,5的相反数为-5,从而把11-5转化为11+(-5的补码),并舍去进位,最后得到的结果恰好为6。 df8ed0068eb280babf0615031538cad9.png 为什么把减法转化为加法就可以变得方便呢?这是因为加法的电路可以更为容易设计,这是数字电路的知识,在此我就不再展开阐述,大家感兴趣的可以自行了解。 类似于数字电路对原码、反码和补码的定义,在PLC中,正数(符号位为0)直接用其原码表示,而(符号位为1)负数就用其补码表示。这说明,数据寄存器中的数据若为负数,那它各个数位的值并不代表它本身的值,而是其补码。例如D0所存的数据为H8003,如下图所示,其最高位b15=1,为负数,所以这是补码,不能认为D0的数值大小为-3。 e8b16bd2400b7d034817d640a8942d01.png 由于最高位为符号位,所以PLC中数值的取值范围也会有所不同,如16位和32位的取值范围如下图所示,此时取值范围显然不是±65536(16位)。 另外,PLC中还对两个数作出特别的规定,如图所示的K0和K-32768,特别是B1000 0000 0000 0000不是表示负零。 c95619a0f49e0b29ae731779e552df96.png 知道了PLC中对正负数的定义,我们继续往下看它是怎么定义整数和小数的。

二、PLC的定点数与浮点数

在PLC中,也可以根据小数点位置的不同,将数值分为整数和小数。其中整数就属于定点数,那么,所谓定点数具体指的又是什么呢? 1、定点数 所谓定点,是指小数点是固定的,要么在最高位的左边、要么在最低位的右边。 6683a05575523cbce567c2f31dc1703c.png 如上图所示,若将小数点至于数值最高位的左边,该数值就为纯小数,所谓纯小数,就是指整数部分为零的数,例如0.12、0.07等;若将小数点至于数值最低位的右边,该数值就为整数,没有小数部分,例如7、8、9等。一般都是采用整数的定点数表示,所以在谈及定点数时,很多时候都默认是整数。 结合上文所提的符号位,即带符号的二进制整数称为BIN数。大家细心点也可以发现,编程手册中经常出现“BIN”这个词,没错,它代表的就是二进制整数,而且带有符号。 e4f89904a862e963c2439610c0909d4b.png 所以,在之后谈及BIN运算指令时,要注意其数值的正负。 2、浮点数 所谓浮点数,其实就是小数,“浮点”表示小数点是浮动的,随着小数点位置的不同,数值的大小也会有所不同。在了解浮点数之前,我们先来了解一个概念:科学计数法。 (1)科学计数法 科学记数法是一种记数的方法。就是把一个数表示成a×10n的形式。如下图所示,其中底数10是固定不变的,变的是a和n,所以要用科学计数法去表示一个数,只需知道a和n即可。 1345ea6f2749ca909df042a6b7dfa7b9.png 类似的,在PLC中,浮点数就是用科学计数法表示的,又因为它由两部分构成(a与10n),所以浮点数都是用32位表示,即占用两个字元件。其中又分为十进制浮点数和二进制浮点数。 (2)十进制浮点数 根据上文所提,浮点数用两个连续编号的数据寄存器(Dn+1,Dn)表示。如下图所示,Dn保存浮点数的基数,Dn+1保存浮点数的指数,且两个数都带有符号位。例如(D0)=K666,(D1)=K-2,(D1,D0)就表示了十进制数666×10-2=6.66。 ba169a145367b3ac23ba479b5a4f18d1.png 在三菱PLC FX2N中,基数和指数的取值范围各有不同,表示基数的Dn的取值范围为±1000~9999或0,表示指数的Dn+1的取值范围为-41~35。另外,十进制浮点数中,最小的数是1175×10-41,最大的数为3402×1035。至于为什么是这样,我也不甚清楚,反正这是PLC中的规定。 499985e18d6d013905358660bdce8f55.png 在PLC中,十进制浮点数是不能直接用来运算的,而是用二进制浮点数进行运算的,但它可以和二进制浮点数相互转换,可用来进行数据监视。这就像是计算机系统,计算机中处理数据是基于二进制数的,但我们查看的时候看到的是十进制数,这是因为计算机把二进制数转换为十进制数以便我们查看。 (3)二进制浮点数 c070b3a7ef1bbf6b31312ff86d89cc46.png 二进制浮点数在PLC中的表示比较复杂,如上图所示,同样是用两个连续编号的数据寄存器表示,其最高位(b31)仍然表示符号位,这个符号位表示的该浮点数本身的正负,而不是指数的正负。从上图可以看出,指数N占有8位,即b30~b23,而基数a占有23位,即b22~b0。它们的取值如下图所示,其中b0~b30的值为0或1。 691e080028dcd5f55d2b6ef5d234a7ef.png 虽然二进制浮点数的表示方式比较复杂,但是能不能完全理解它,都不妨碍我们对浮点数的理解,对数值运算指令的运用。所以,不理解二进制浮点数的表方法,问题不大,能理解二进制浮点数本身就行。 例如在三菱PLC FX3U中想输入浮点数3.14,直接输入“E3.14”就行,但在三菱PLC FX2N中不能直接输入浮点数,想输入浮点数,就得先输入整数,再运用相应指令运算或转化。 知道了这些数值的相关定义和处理方式,那么我们在下篇文章就可以继续分享数值运算的相关指令啦! 最后,这次的学习分享就到这里吧! 注:本文章内容都是基于三菱FX PLC 2N所写 选自《三菱FX系列PLC功能指令详解》第五章第27~28课时

(技成培训网原创,作者:杨思慧,未经授权不得转载,违者必究)


65496a70b3c4197cc677409c9daaffcc.png

如何0基础学习PLC?

关注回复 “ 工控全套  

获取更多工控案例与电气软件大全!

42cdc2e27555653976ff2d5e842f7921.png

7ba14e9d082ae4086dc01b7be917ed4e.gif你的分享、点赞、在看我都喜欢 7ba14e9d082ae4086dc01b7be917ed4e.gif
weixin_39942637
关注 关注
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
flink工作原理
qw3276425405的博客
05-27 2112
一.flink运行时的组件 1.Dispatcher(分发器) 一个可有可无的组件,提供了一个webUI,可以用webUI提交任务,也可以选择命令行提交 2.JobManager主节点(作业管理器) 接收要执行的应用程序(application),对job任务做整体的资源调度,划分很多个task任务,分布给TaskManager执行 3.ResourceManager(资源管理器) 根据不同情况进行分配slot(资源),对JobManager提供的slot请求,根据现有的slot情况进行分配sl
Flink 基本工作原理
热门推荐
sxiaobei的博客
06-30 5万+
      Flink是新的stream计算引擎,用java实现。既可以处理stream data也可以处理batch data,可以同时兼顾Spark以及Spark streaming的功能,与Spark不同的是,Flink本质上只有stream的概念,batch被认为是special stream。Flink在运行中主要有三个组件组成,JobClient,JobManager 和 TaskMa...
Flink架构和执行原理
10-29 2046
摘自拙作《Flink实用教程_1.13.2》一书。 在大数据领域,有许多流计算框架,但是通常很难兼顾延迟性和吞吐量。Apache Storm提供低延迟,但目前不提供高吞吐量,也不支持在发生故障时正确处理状态。Apache Spark Streaming的微批处理方实现了高吞吐量的容错性,但是难以实现真正的低延时和实时处理,并且表达能力方面也不是特别丰富。而Apache Flink兼顾了低延迟和高吞吐量,是企业部署流计算时的首选。 1、Flink架构 Flink 是可以运行在多种不同的环境中的,例.
工作原理如下图
大JAVA解决方案
09-26 281
Flink是新的stream计算引擎,用java实现。既可以处理stream data也可以处理batch data,可以同时兼顾Spark以及Spark streaming的功能,与Spark不同的是,Flink本质上只有stream的概念,batch被认为是special stream。Flink在运行中主要有三个组件组成,JobClient,JobManager 和 TaskMan...
指数运算.rar_instantts2_指数运算_西门子200指数_西门子PLC SMART
07-14
这些指令可能包括乘方(Power)操作,允许用户对一个数值进行指数处理。例如,如果你需要计算\(a^b\),可以设置一个输入变量为基数a,另一个输入变量为指数b,然后通过相应的指令得到结果。 标签“instantts2”可能...
西门子PLC以太网通讯组件C#_C#_runtle_PLC编译_西门子PLC网口RJ45与上位机通信_PLC_
10-03
西门子PLC以太网通讯组件C#是一款基于C#编程语言的软件工具,用于实现上位机与西门子PLC(Programmable Logic Controller)之间的通信。这款组件利用了西门子PLC的以太网接口,通常是一个RJ45连接,来实现数据的高效...
西门子S7_200PLC数据处理与运算指令详解
本文主要介绍了西门子S7-200PLC的数据处理和运算指令,包括数据传送、算术运算、逻辑运算以及表操作等指令的使用方和应用场景。 1. 数据处理指令 - 数据传送指令MOV: MOV指令用于单个字节、字、双字和实数之间...
西门子S7_200PLC指令简介与实例分析.doc
07-08
西门子S7_200PLC是西门子推出的一种小型可编程逻辑控制器,广泛应用于自动化领域的数据处理和控制任务。S7_200PLC支持多种指令,这些指令是其进行逻辑控制的基础。本文将详细介绍其中的数据处理、运算指令,并通过...
显控plc上位软件整数运算指令说明.pdf
11-11
显控PLC上位软件中整数运算指令是进行整数算术运算的基本工具,它们可以处理不同类型的数据运算,包括加、减、乘和除。显控PLC是专门用于工业自动化的可编程逻辑控制器,其上位软件则是通过图形化界面或编程...
flink内部机制和tableAPI
04-07
Apache Flink是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个Flink运行时,提供支持流处理和批处理两种类型应用的功能。
PLC程序中_数值运算
01-14
PLC程序中的数值运算知识,浮点运算比较费时间,假设你需要两位小数的精度,你可以将数据x100,再需要正确显示结果的地方/100就行了,这样程序的扫描速度可以提高n倍!
flink原理简介
WangYouJin321的博客
01-16 554
一、Flink是什么? Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算的执行。 二、Flink的优点: (1)同时支持高吞吐、低延迟、高性能; Flink 是目前唯一能...
flink keyby操作的原理
zc280330的博客
01-20 3099
对比spark:spark的keyby操作是按照key将所有的value聚合成一个collection flink的keyby:则主要是将相同key的元素拉到同一个partition,因此也会在同一个task中被处理,但是元素与元素之间并没有聚合的操作。 ...
Flink 中KeyBy、分区、分组的正确理解
文文x的博客
10-13 3844
数据具体去往哪个分区,是通过指定的 key 值先进行一次 hash 再进行一次 murmurHash,通过上述计算得到的值再与并行度进行相应的计算得到。在Flink中,KeyBy作为我们常用的一个聚合类型算子,它可以按照相同的Key对数据进行重新分区,分区之后分配到对应的子任务当中去。Flink中的KeyBy底层其实就是通过Hash实现的,通过对Key的值进行Hash,再做一次murmurHash,取模运算。注意:数据如果具有相同的key将一定去往同一个分组和分区,但是同一分区中的数据不一定属于同一组。
Flink LocalKeyBy 实现原理详解
qq_43224174的博客
05-15 848
Flink的LocalKeyBy操作是用于在本地对数据流进行分组的操作。它基于数据流的键(Key)对数据进行分组,将具有相同键的数据分配到同一个任务或线程上进行处理。
Flink 架构及其工作原理
张伟的专栏
02-14 345
转载自:https://www.cnblogs.com/code2one/category/1331180.html 目录 System Architecture Data Transfer in Flink Event Time Processing State Management Checkpoints, Savepoints, and State Recovery System Architecture 分布式系统需要解决:分配和管理在集群的计算资源、处理配合、持久和可访问...
Flink之keyBy操作
最新发布
技术博客
08-03 1281
在Flink中,‌当我们需要对海量数据进行聚合处理时,‌通常会先进行分区,‌以提高处理效率。‌通过keyBy操作,‌我们可以根据指定的键将数据流划分为不同的分区,‌每个分区内的数据将发送到同一个分区进行处理。‌这种分区的方式是通过计算键的哈希值,‌并通过对分区数取模运算来实现的。‌因此,‌具有相同键的数据会被发送到同一个分区进行处理,‌从而实现数据的并行聚合。综上所述,‌Flink中的keyBy操作是数据处理中不可或缺的一步,‌它通过指定键对数据进行分区,‌以实现并行处理和聚合操作的高效执行。
写文章

热门文章

  • 初中数学四十二个几何模型_模型 | 一文搞定初中数学9大重要几何模型(优选)... 18638
  • 塞尔达 amiibo数据_塞尔达传说:旷野之息Amiibo道具制作_碧海风云 17459
  • 思科模拟器路由表怎么看_思科路由器查看配置命令 13865
  • python把字符串放到列表_python中for循环把字符串或者字典添加到列表的方法 13782
  • python中的seth函数_Python入门——turtle库的使用 8022

最新文章

  • 服务器部署的参数文档,服务器的基本配置参数
  • 服务器操作系统百度文库,Linux操作系统配置服务器的方法及实现_百度文库(6页)-原创力文档...
  • ajax remotecall,Rails 3 AJAX remote form call backs
2021年137篇
2020年197篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家北京景区玻璃钢雕塑定制云浮园林玻璃钢卡通雕塑江苏艺术商场美陈售价许昌抽象玻璃钢彩绘雕塑中山辽宁玻璃钢雕塑商场美陈概念方案户外玻璃钢雕塑源头好货保定玻璃钢熊猫雕塑盐城玻璃钢人物雕塑玻璃钢雕塑消防玄武主题商场美陈辽宁玻璃钢桃子雕塑商丘玻璃钢景观雕塑生产厂家玻璃钢雕塑的专用清漆松江区拉丝玻璃钢雕塑厂家直供广东景区玻璃钢雕塑哪家便宜商场美陈作品设计方案ppt锦州玻璃钢雕塑设计led发光玻璃钢雕塑厂家玻璃钢花盆设计图片各类商场美陈ppt广东走廊商场美陈生产厂家镂空不锈钢玻璃钢卡通雕塑定制玻璃钢雕塑现货销售河北商业商场美陈生产厂家山西玻璃钢海豚雕塑设计及定制辽宁玻璃钢雕塑定制七台河校园玻璃钢雕塑安装蚌埠定制玻璃钢雕塑厂家沈阳定制玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化