电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> PLC基础入门教程 >> 正文

西门子S7-200PLC中,如何将大于32767的整数转换成正实数?VD、VW、VB

作者:佚名    文章来源:本站原创    点击数:    更新时间:2022-09-10
来自西门子技术支持热线的故事:S7-200plc中,如何将大于32767的整数转换成正实数?
铃~~~!电话响起------您好!欢迎您拨打西门子技术支持热线。
客户:我这边是个S7-200的PLC系统,226 CN PLC 的port0口做modbus主站,读取一个仪表的数据,数据能通信,但是读过来的数据不对。
工程师:根据您的描述,那么应该已经通信上了,我们可以最后再排查程序问题。首先请检查接线,引脚3是信号+,引脚8是信号-。
另外,请问有核实两边的数据存储格式是否一致吗?因为西门子plc的数据存储格式是低位高字节,按照以VW0为例,就是高8位为VB0,低8位为VB1.如果仪表那边是高位高字节,即:高8位为VB1,低8位为VB0.那么两边正好相反,即便通信上了,数据对不上是可能的。西门子的低位高字节数据存储格式示意请参见:

VD和VW、VB的关系 
客户:好,我先去核实一下。= = = = = =
客户:您好,modbus通信已经没问题了。PLC这边数据已经读取进来,我想问下读到的数应该是什么格式的。我这边一个数65500,PLC这边为什么是负数。
工程师:PLC在程序中监控和运算多是以有符号整数进行的,VW或者VD的最高位是符号位,如果对于Word来说,大于32767后数据为负。
通过modbus通信过来的数都是负数是吗?刚才65500的数是多少?除了程序块监控外,状态表在线监控,数据格式选择无符号后数据读取是否正常。
客户:哦,都是大数才为负数,应该是都大于32767的。状态表里譬如VW100吧,无符号数是65500,有符号数是-35,数据格式选择无符号的就正确。
工程师:数据存储实际上都是按照二进制进行的,只是读取它时的数据格式不同而已,您可以在状态表中选择无符号数。
客户:不是啊,我就是要正数。关键是我把这个数转换成实数后还带着负号,我port 1口连了第三方的触摸屏,触摸屏上选择的是实数连接,读上来后屏那边显示的是负数,不行啊。
工程师:嗯~,请问您是怎么进行编程转换的。
客户:我就是先用I_DI,再DI_R。不行啊,大数就错了,小数才不带符号。
工程师:您先别着急,按照正常的编程方式,您的思路是正确的,可对于负数来说就不行了。可以换种思路来考虑,对于word或者d-word的格式来说,数据的最高位是符号位。那么我们最开始转换成双字的时候,去掉符号就行了。
客户:我也试过,让这个数与16#7F相乘来去掉符号位,那就不对了,数就不对了。你这也不行啊
工程师:请先不要着急,我说的不是这个方法。在转换成双字的时候不要把最高位当作符号位,如下图,先来了解符号位的定义:

 
通过I_DI的转化,实际上是将VW0-VD0,可是如果将VW0直接放在VW2上,同时VW0清0,直接去读取VD0是什么情况?原先VW0中的符号位,在VW2中,并不是VD0的最高位即符号位,在VD0里就是数据了。而与此同时,我们去掉了负号是吗。
举例:VW0=65500(无符号整数),经过I_DI给VD10.
对比:VD0,双字转换后的VD10,和仅仅将VW0传送给VW6后的VD4,这几个数的比较,请参见下面的实验结果:

 
客户:我明白了,是我把问题想复杂了,原来简单的传送就可以解决问题了。

Tags:S7-200,西门子plc,字节  
责任编辑:admin
相关文章列表
西门子plc S7-200系列中断指令第二部分 ENI和DISI指令
西门子plc置位与复位指令的功能说明
西门子plc与modbus设备进485通信详解(modbus多机轮询)读取仪表
寄存器PLC地址与寄存器modbus协议地址 三菱FX系列西门子s7系列pl
西门子PLC S7-200smart与汇川变频器通过通讯控制 梯形图实例
西门子PLC梯形图编程 控制汽车自动清洗装置
西门子PLC S7-200 实数运算指令的应用的指令表及梯形图 除法
西门子plc S7-200系列PLC整数乘除法指令的格式及使用
西门子plc梯形图实例 S7-200系列PLC转换指令练习实例 整数实数转
西门子plc梯形图实例 MOV指令数据传送
西门子plc S7-200系列梯形图实例:电机多段定时启动功能 READ_RT
西门子plc梯形图实例S7-200系列PLC增减计数指令入门 CTUD增减计数
西门子PLC试题5:小车往复运动控制系统梯形图实例
西门子plc比较指令的实例代码梯形图实例,计数器CTUD和比较指令
西门子plc实现8个彩灯移位控制的代码梯形图实例MOV_B,ROL_B,ROR_
西门子plc s7-200系列梯形图实例:设置时钟指令 SET_RTC和MOV_B
西门子plc S7-200系列梯形图实例:传送带生产计数 加法运算 比较
西门子plc梯形图实例 s7-200系列plc比较指令用法举例
西门子plc梯形图实例编程 控制喷泉系统梯形图与控制语句表
S7-200西门子PLC试题2:抢答器控制系统设计梯形图实例
西门子plc梯形图实例s7-200系列plc转换指令入门教程
西门子PLC S7-200系列梯形图实例:浮点数转换指令
西门子plc梯形图实例:传送带方向检测功能
西门子PLC梯形图实例LED舞台灯控制系统设计
西门子plc S7-200系列PLC实例:时钟指令进阶练习 时间日期梯形图
西门子PLC 简易机械手控制梯形图实例
西门子plc S7-200模拟量使用说明及模拟量编程实例
西门子plc程序实例:水塔水位控制系统设计 梯形图实例
西门子plc实现流水彩灯控制的梯形图程序及接线图 跑马灯梯形图实
西门子plc功能指令一览表
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
推荐文章
最新推荐
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询