醉臥美人膝
做個(gè)俗人,貪財(cái)好色
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 59 個(gè)
工控威望: 202 點(diǎn)
下載積分: 773 分
在線時(shí)間: 53(小時(shí))
注冊(cè)時(shí)間: 2013-12-20
最后登錄: 2025-01-08
查看醉臥美人膝的 主題 / 回貼
樓主  發(fā)表于: 2021-01-05 16:40
圖片:
現(xiàn)場這四個(gè)數(shù)碼快顯示PLC最終模擬量的數(shù)值,好比現(xiàn)場數(shù)據(jù)是2345,2345的數(shù)要在這四個(gè)數(shù)碼塊上顯示2345,我200PLC的程序要咋編寫?
gxtmdb82164
級(jí)別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 774 個(gè)
工控威望: 1152 點(diǎn)
下載積分: 408 分
在線時(shí)間: 609(小時(shí))
注冊(cè)時(shí)間: 2019-09-22
最后登錄: 2025-01-10
查看gxtmdb82164的 主題 / 回貼
1樓  發(fā)表于: 2021-01-06 16:23
引用
引用第6樓醉臥美人膝于2021-01-06 12:33發(fā)表的  :
最終模擬量來的數(shù)是16.32噸,16.32分別再那四個(gè)數(shù)碼塊上顯示,控制數(shù)碼容易,提取這四個(gè)數(shù)比較費(fèi)事,200不像300里面可以分別提取某一位數(shù)


就最常見的整數(shù)除法就行了啊,預(yù)估一個(gè)最大范圍,從這個(gè)地方開始逐位除就可以了,但是最好是要是整數(shù),小數(shù)點(diǎn)是可以額外處理的,只用來顯示.

比如16.42,規(guī)定的范圍是±99.00,那么你需要顯示4位,最大除數(shù)就是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

每次除法最后的結(jié)果就是1642.
但是PLC上處理的時(shí)候,小數(shù)除法是非常討厭的,甚至用浮點(diǎn)指令因?yàn)閱尉日`差的原因?qū)е旅髅魇?,但是計(jì)算出來是0.999999...的情況,所以最好提前乘上一個(gè)大整數(shù)比如100把小數(shù)位數(shù)去掉,剩下的都是整數(shù)除法很簡單的.小數(shù)點(diǎn)判斷在位數(shù)不多的情況可以直接寫死,比如<0.09,<0.9,<9.但是實(shí)際情況下,一般固定小數(shù)點(diǎn)位置也是可以的.