kevin-q
一天加一分,总有一天可以达到100分。
级别: 家园常客
精华主题: 0
发帖数量: 105 个
工控威望: 888 点
下载积分: 346 分
在线时间: 91(小时)
注册时间: 2016-12-29
最后登录: 2019-07-03
查看kevin-q的 主题 / 回贴
楼主  发表于: 2019-01-24 11:58
图片:
图片:
今天想在设备上加一个生产的不良率,开始以为很简单,用不良数D202除以总数D212,然后把结果放在D216里,最后用D216乘以K100得出不良率放在D218里,可是写了两种方式还是不对,不知道为什么程序里的D218结果好像都不对,而且面板上显示的都是0,那位大哥可以教一下小弟要怎么写才行,谢谢了。
cvlsam
富士低压,POD(觸摸屏),PLC专卖
级别: VIP会员

精华主题: 3 篇
发帖数量: 6770 个
工控威望: 38371 点
下载积分: 3262 分
在线时间: 9513(小时)
注册时间: 2006-09-13
最后登录: 2024-11-26
查看cvlsam的 主题 / 回贴
1楼  发表于: 2019-01-24 12:13
整数除法:18除以46,商0,余数18

要得到结果,你需要全部使用浮点数来运算。

Good Luck~
楼主留言:
谢谢,我在试做一下
本帖最近评分记录:
  • 下载积分:+1(18306677573)
    zz2679493
    三十而立
    级别: 略有小成
    精华主题: 0
    发帖数量: 290 个
    工控威望: 457 点
    下载积分: 14881 分
    在线时间: 272(小时)
    注册时间: 2014-06-08
    最后登录: 2023-11-24
    查看zz2679493的 主题 / 回贴
    2楼  发表于: 2019-01-24 12:33
    一楼正解,整数型转成浮点数,用到的指令FLT
    楼主留言:
    感谢您的提示!
    本帖最近评分记录:
  • 下载积分:+1(18306677573)
    小侯
    小侯
    级别: 工控侠客
    精华主题: 0
    发帖数量: 482 个
    工控威望: 2612 点
    下载积分: 8093 分
    在线时间: 507(小时)
    注册时间: 2008-10-17
    最后登录: 2024-11-15
    查看小侯的 主题 / 回贴
    3楼  发表于: 2019-01-24 16:59
    第一張圖
    你用
    1、良數D200+不良數D202=生產總數D212
    2、不良數D202/生產總數D212=不良率D216
    3、不良率*k100=不良%數

    原本你的思路應該是這樣
    但是你整個都是用BIN碼計算
    在2 的時候會變成商數D216...餘數D217
    不良數一定低於生產總數那全部變成餘數
    在3 時你又用DMUL這是32位元相乘
    這樣當然會將(餘數D217,商數D216)*100變成一個很大的數

    第二張圖
    前面幾個還是一樣
    但是你最後用EMUL這是浮點相乘
    前面都是BIN碼到這邊才用浮點當然也會有問題

    那用浮點的話就全部浮點計算
    若是要用BIN碼的話
    那就調換一下順序


    楼主留言:
    受教了,谢谢!说的很详细,我明白了。
    本帖最近评分记录:
  • 下载积分:+1(18306677573)
  • 下载积分:+5(jeffwang2011) 热心助人!
    等待后独行
    级别: 略有小成
    精华主题: 0
    发帖数量: 83 个
    工控威望: 312 点
    下载积分: 3280 分
    在线时间: 17(小时)
    注册时间: 2019-01-07
    最后登录: 2020-02-17
    查看等待后独行的 主题 / 回贴
    4楼  发表于: 2019-01-25 09:41
    赞,学习了