设为首页
收藏本站
切换到宽版
首页
Index
技术论坛
BBS
活动公告
视频中心
资料下载
积分商城
登录
立即注册
英威腾技术论坛
»
技术论坛
›
产品
›
控制器
›
PLC
›
无符号数据类型的转换、比较及运算解决方案 ...
返回列表
发布新帖
无符号数据类型的转换、比较及运算解决方案
408
0
1572237464
Lv.1
发表于 2024-7-10 18:16:53
|
查看全部
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
解决方案
1. 转换
无符号数据类型的转换相对比较容易。如果是小转大,先清空目标数据,然后直接将源数据传送至目标数据的低字节或字;如果是大转小,则要先判断目标数据是否会溢出,如果会,则直接将目标数据赋最大值,如果不会,将源数据的低字节或字传送至目标数据,这里,我增加了大转小的间接溢出功能(如有溢出,SM1.1会置位)。
有 无符号数据的转换,当然就有无符号和实型数据的相互转换需求。这里我增加了"B_R"、"W_R"、"DW_R"、"ROUND_B"、"ROUND_W"、"ROUND_DW"、"TRUNC_B"、"TRUNC_W"和"TRUNC_DW",分别是无符号字节转实型、无符号整型转实型、无符号双整型转实型、实型四舍五入小数后转无符号字节、实型四舍五入小数后转无符号整型、实型四舍五入小数后转无符号双整型、实型丢弃小数后转无符号字节、实型丢弃小数后转无符号整型、实型丢弃小数后转无符号双整型。关于整型和实型数据的相互转换,我在这里不详细说明,有兴趣的朋友可以去查阅相关资料。
另外,由于系统没有SByte数据类型,当然就没有相应的转换指令,基于此,我增加了"SB_I"、"SB_DI"和"SB_R",即有符号字节转有符号整型、有符号字节转有符号双整型和有符号字节转实型。
2. 比较
无符号数据类型的比较是利用系统现有有符号比较指令实现的。具体办法是将数分成负数和非负数两部分,那么两个相互比较的数就有四种排列组合,即非负数和非负数比较、非负数和负数比较、负数和负数比较、负数和非负数比较,四种情况比较后即可得到想要的bool结果。其实从应用结果来看,可以归纳成同号比较和异号比较。
另外,我的无符号数据比较指令中没有"=="指令,是因为可以利用系统现有有符号"=="比较指令进行比较,而不影响比较结果。
同样,由于系统没有SByte数据类型,我增加了">SB"、">=SB"、"<SB"、"<=SB",即有符号字节大于比较指令、有符号字节大于等于比较指令、有符号字节小于比较指令和有符号字节小于等于比较指令。
3. 运算
无符号数据类型的运算解决方案我还在思考中,目前初步想到的是用门电路去做,但这样做带来缺点很明显。有比较好的解决思路的兄弟朋友可以提供参考一下,感谢支持。运算指令后面完善后奉上。
说明:
1. 此程序为无偿奉献,不喜勿喷,程序已做测试和应用,但仍可能存在BUG,使用者风险自担;
2. 程序软件版本为STEP 7-MicroWIN SMART V2.6,请使用不低于此版本的软件打开;
3. 双精度整型LDint和双精度浮点型LReal在实际应用中较少,故本次不涉及。
回复
举报
返回列表
发布新帖
回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
1572237464
Lv.1 新手上路
主题
9
回帖
0
积分
24
+ 关注
发消息
图文热点
[英选课堂]关注英威腾技术支持与服务公众号
175 人气
#通用伺服系统
GD5000运行中频繁报单元过压或输出缺相故障
987 人气
#高压变频器
TS系列PLC 轴组态编码器模式如何选择?
3690 人气
#PLC
TM系列PLC能够自动对E-CAT总线的伺服复位吗
2213 人气
#PLC
推荐话题
1
DA200 编码器调零
3504 阅读
Zhang8080
2
TS系列PLC 轴组态编码器模式如何选择?
3690 阅读
13031738528
3
GD20系列变频器功能地址如何换算成寄存器编号用于PLC的MODBUS编程?
1653 阅读
Frankshi
4
DA200伺服可以在运行过程中实时整定吗?
2936 阅读
曹理
5
TM752
2566 阅读
uma.automation
最新发布
[英选课堂]关注英威腾技术支持与服务公众号
英威腾 TM750 Modbus-TCP为什么无法通讯操
变频器过流
英威腾云
RC吸收电路
GD5000运行中频繁报单元过压或输出缺相故障
07版GD5000报变压器故障跳闸原因分析
GD20变频器能进行ModbusASCII通讯吗?
Copyright © 2001-2025
英威腾技术论坛
版权所有
All Rights Reserved.
粤ICP备07504406号
关灯
在本版发帖
扫一扫添加微信客服
返回顶部
快速回复
返回顶部
返回列表