醉卧美人膝
做个俗人,贪财好色
级别: 略有小成
精华主题: 0
发帖数量: 60 个
工控威望: 202 点
下载积分: 773 分
在线时间: 53(小时)
注册时间: 2013-12-20
最后登录: 2024-10-29
查看醉卧美人膝的 主题 / 回贴
楼主  发表于: 2021-01-05 16:40
图片:
现场这四个数码快显示PLC最终模拟量的数值,好比现场数据是2345,2345的数要在这四个数码块上显示2345,我200PLC的程序要咋编写?
gxtmdb82164
级别: 论坛先锋
精华主题: 0
发帖数量: 757 个
工控威望: 1135 点
下载积分: 373 分
在线时间: 594(小时)
注册时间: 2019-09-22
最后登录: 2024-11-22
查看gxtmdb82164的 主题 / 回贴
1楼  发表于: 2021-01-06 16:23
引用
引用第6楼醉卧美人膝于2021-01-06 12:33发表的  :
最终模拟量来的数是16.32吨,16.32分别再那四个数码块上显示,控制数码容易,提取这四个数比较费事,200不像300里面可以分别提取某一位数


就最常见的整数除法就行了啊,预估一个最大范围,从这个地方开始逐位除就可以了,但是最好是要是整数,小数点是可以额外处理的,只用来显示.

比如16.42,规定的范围是±99.00,那么你需要显示4位,最大除数就是10,最小是0.01

16.42除以10,获得1

16.42-1*10 = 6.42

06.42除以1获得6

06.42-6*1 = 0.42

00.42除以0.1获得4

00.42-4*0.1=0.02

00.02除以0.01获得2

每次除法最后的结果就是1642.
但是PLC上处理的时候,小数除法是非常讨厌的,甚至用浮点指令因为单精度误差的原因导致明明是1,但是计算出来是0.999999...的情况,所以最好提前乘上一个大整数比如100把小数位数去掉,剩下的都是整数除法很简单的.小数点判断在位数不多的情况可以直接写死,比如<0.09,<0.9,<9.但是实际情况下,一般固定小数点位置也是可以的.