登录
首页
PLC论坛
西门子SIEMENS
回帖
发帖
正文
主题:如何从实数中提取出百位十位个位数
点击:4311 回复:15
楼主
编辑
引用
管理
MU7668
我是一名PLC初学者,前几天编了个程序,在PLC的输出端口直接驱动三个数码管,能显示0-999的数字。现在想编个程序,把231TC模块热电偶检测到的温度,从PLC的输出端口直接显示温度值,要求显示百位十位个位,琢磨了很长时间,就是不知道怎么样能把转换成实数后的数据分离出百位数十位数个位数,让各位数通过SEG转换成段码后分别去驱动QB0、QB1、QB2。谢谢各位老师给予指点!
最后修改:
2019/9/21 10:27:19
19-09-21 10:26
1楼
编辑
引用
管理
2233296153
实际的测温范围大概有多少?分离后的百位数十位数个位数是要实数还是要整型?
19-09-21 10:44
2楼
编辑
引用
管理
MU7668
实际温度大约二百多度,分离出来的要整数,希望得到您的指点,谢谢!
19-09-21 10:48
3楼
编辑
引用
管理
FORELF
先转化成整型,再用数学公式啊
19-09-21 11:01
4楼
编辑
引用
管理
tigermu
plc应该可以取模吧,如果可以就行。或者除100取余数得到百位,具体这类的可以直接百度编程语言的取位数的方法。
19-09-21 11:14
5楼
编辑
引用
管理
2233296153
首先用round去除小数部分,再每次/10取余,依次得个位,十位,百位
19-09-21 12:44
6楼
编辑
引用
管理
MU7668
老师你好,假如热电偶检测到的温度285度(温度会变化),我需要分别提取出2、8、5这三位数字的。
19-09-21 16:18
7楼
编辑
引用
管理
cvlsam
引用
MU7668
在 2019/9/21 16:18:17 发言
【内容省略】
温控模块读取到的数值本身就是一个整数,只是最后一位作为小数显示,例如285度,实际采集进来的数值为2850,因此,你可以除以1000求余得到2………………
Good Luck~
19-09-21 19:28
8楼
编辑
引用
管理
机栝
用一种简单的逻辑分离,用整数指令就可以省掉小数部分
假如是一个3位数的M,求X,Y,Z,则M=100*X+10*Y+Z.
M/100=X, (本来结果为X.YZ,但是由于使用的是整数指令,则小数就会自动省略掉)
(M-100*X)/10=Y,
{M-(100*X+10*Y)}=Z.
再看程序
19-09-23 14:45
9楼
编辑
引用
管理
逆水行舟
分别除100.取商,得到百位数,其他类推
19-09-23 14:48
上一页
下一页
工控新闻
丹佛斯传动携源网荷储一体化方案亮相光储直柔大会,助推绿色高质量发展
优必选推出面向智能制造场景的全尺寸工业人形机器人Walker S2
伊顿收购北美固态变压器品牌RPS,技术版图再扩张
华北工控EPC-3132LX-A加固计算机:搭载龙芯LS3A4000处理器,满足指挥通信车核心控制需求
前5个月融资额232亿元 超去年全年!京东美团等大厂“疯投”机器人
产教联动 共筑未来——北京化工大学信息学院师生参访和利时集团
非计划停机、试错烧钱?一本白皮书给出破解答案
华北工控亮相2025中国(西安)军工科技产业博览会,筑基数智未来基座
更多新闻资讯