登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:三菱FX3U PID指令用的是16位寄存器,就是说不能计算浮点数吗?

点击:5576 回复:8

三菱FX3U中的PID指令没有32位运算,如果我想把温度稳定在±0.5°,是没有办法吗?还请高手说说可以怎么做来实现?谢谢!
17-04-17 10:22

引用 gangbook2000 在 2017/4/17 10:22:38 发言【内容省略】

其实日系的PID控制是百分比,0-10000,相当于0.00~100.00,所以,你需要使用线性化输入以及线性化输出,FX3U中可以使用SCL指令来线性化。
HAVE FUN!
17-04-17 10:38

引用 fujifa 在 2017/4/17 10:38:39 发言【内容省略】

不是太懂,fx3u手册上看,它应该是增量式PID,我的输出应该是u(K)=u(k-1)+ △u, 那么这个△u就是0-10000?不应该吧?
17-04-17 10:58

引用 fujifa 在 2017/4/17 10:38:39 发言【内容省略】

因为它的目标值寄存器和实际值寄存器都是16位的,比如我的目标值是50°,检测到的实际值是49.6°(它变成16位的话就成了50°),这样的话,PID就没有了输入误差从而不会有输出,使这个意思吗?还是我理解错了,还请指导一下,谢谢
17-04-17 11:06
呵呵;你以为你PLC上采集到的温度信号是小数显示的?
三菱的温度模块大多单位是0.1度,比如你读出的数据是500,就代表50.0度,所以你的根本不是问题;
17-04-17 11:57

引用 ZCMY 在 2017/4/17 11:57:47 发言【内容省略】

哦,这样啊,因为我用的是4AD,数字量又经过浮点运算,得到的就是温度(比如50.1°),那么我就把它再认为的乘以10,相应的目标值也乘以10,就可以了吧?谢谢
17-04-17 12:28

引用 ZCMY 在 2017/4/17 11:57:47 发言【内容省略】

剩下的问题,就是得到的输出量是1~32767吗?还是像如fujifa说的那样是百分比?比如输出MV放在d30,那么增量式的话,实际输出应该是 d0=d0+d30, 如果是百分比的话该怎么处理啊,
17-04-17 12:38
没有浮点,就是整数放大处理.
比如100,为了有多两位有效数,放大成10000.
17-04-17 17:40

引用 pqsh 在 2017/4/17 17:40:25 发言【内容省略】

嗯,这个也是ZCMY说了我才理解的,自己居然没想到这么处理(/ □ \)。谢谢
17-04-18 07:52

工控新闻

更多新闻资讯