linsinging
天明
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 102 個
工控威望: 1817 點
下載積分: 408 分
在線時間: 301(小時)
注冊時間: 2021-03-22
最后登錄: 2024-11-09
查看linsinging的 主題 / 回貼
樓主  發(fā)表于: 2021-04-11 12:32
圖片:
A=a/b乘以B+1,如圖,B值觸摸屏可以改,會變,F(xiàn)X3U怎么寫程序
〇·微塵ベ
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 329 個
工控威望: 1174 點
下載積分: 3191 分
在線時間: 287(小時)
注冊時間: 2020-04-11
最后登錄: 2024-07-19
查看〇·微塵ベ的 主題 / 回貼
1樓  發(fā)表于: 2021-04-12 11:12
你數(shù)學模型都出來了,剩下的就是找到相應的指令,實現(xiàn)你的要求就可以了。
小侯
小侯
級別: 工控俠客
精華主題: 0
發(fā)帖數(shù)量: 482 個
工控威望: 2612 點
下載積分: 7953 分
在線時間: 503(小時)
注冊時間: 2008-10-17
最后登錄: 2024-11-07
查看小侯的 主題 / 回貼
2樓  發(fā)表于: 2021-04-12 13:33
圖片:




在PLC作計算時要考慮到乘除的轉(zhuǎn)換,在計算乘法會變成32位元,而除法時會有商數(shù)跟餘數(shù),且除數(shù)不得為零
而我算式內(nèi)超出±32767,用ST直接列算式計算,結果就有問題
Y=(A/X)*(X+1)

Y=[A(X+1)]/X
雖然計篹起來是一樣,但是在程式內(nèi)的先後順序也會造成結果不一樣
一般來說都會先乘後除,減少餘數(shù)造成的影響
轉(zhuǎn)換成浮點數(shù)以後再做浮點數(shù)運篹比較好

另外A=(A/B)*(B+1),直接列這樣算式在PLC內(nèi)一定有問題
本帖最近評分記錄:
  • 下載積分:+1(renzhigang79)
    xuxulaifeng
    級別: 探索解密
    精華主題: 0
    發(fā)帖數(shù)量: 31 個
    工控威望: 122 點
    下載積分: 637 分
    在線時間: 44(小時)
    注冊時間: 2015-01-03
    最后登錄: 2024-02-04
    查看xuxulaifeng的 主題 / 回貼
    3樓  發(fā)表于: 2021-04-16 17:07
    弄得太復雜了吧,A=A*(B+1)/B換算一下不就是A=A+A/B,就簡單幾行程序不就出來了嗎?唯一要注意的就是要用浮點數(shù)除法,直接D/會只有商,沒有余數(shù)
    進擊的工控人
    看什么看!
    級別: 家園?
    精華主題: 0
    發(fā)帖數(shù)量: 298 個
    工控威望: 630 點
    下載積分: 1697 分
    在線時間: 268(小時)
    注冊時間: 2019-05-29
    最后登錄: 2024-11-06
    查看進擊的工控人的 主題 / 回貼
    4樓  發(fā)表于: 2021-04-16 17:32
    引用
    引用第3樓xuxulaifeng于2021-04-16 17:07發(fā)表的  :
    弄得太復雜了吧,A=A*(B+1)/B換算一下不就是A=A+A/B,就簡單幾行程序不就出來了嗎?唯一要注意的就是要用浮點數(shù)除法,直接D/會只有商,沒有余數(shù)

    有余數(shù),你這個化簡一下的方便很多,老哥穩(wěn)!
    加油!