三菱FX3G软元件类型不正确 点击:1530 | 回复:3



bear5729

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2020年2月18日
发表于:2020-03-19 19:12:35
楼主

用的是三菱简单模式,新建了一个FB,里面有3个中间变量(上限,下限,计数),上下限是有输入变量乘以小数得到的,计数则是每秒自加1。上限=设定压力X1.05,下限=设定压力X0.95。我已经将上下限设为 float型,计数设为word型,结果编译的时候提示我这里有错误,这3个软元件类型不正确。求解。




楼主最近还看过



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10219回
  • 年度积分:3353
  • 历史总积分:48938
  • 注册:2005年4月22日
发表于:2020-03-20 08:52:04
1楼

SIR:看来您没有搞清楚类型啊.


您的类型定义为VAR_CONSTANT,即常量,但是您却在给常量赋值,这是低级程序员都不会犯的错误.

workpicture1.JPG

HAVE FUN!


bear5729

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 2回
  • 年度积分:0
  • 历史总积分:70
  • 注册:2020年2月18日
发表于:2020-03-20 11:36:52
2楼


回复内容:

对: yuanle SIR:看来您没有搞清楚类型啊.您的类型定义为VAR_... 内容的回复!

-------------------------

十分感谢,我已经解决了这个问题,然后我又遇到了新的问题。

我在MAIN 中设定 D10=1.000,并传给FB的INPUT“设定压力”,同时赋值D0=1.05。

但是在FB中,INPUT“设定压力”为0,似乎没有传参成功。另外,FB中读到的D0为26214,并不是1.05。



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10219回
  • 年度积分:3353
  • 历史总积分:48938
  • 注册:2005年4月22日
发表于:2020-03-20 13:33:44
3楼


引用 bear5729 的回复内容: 回复内容:对: yuanle  SIR:看来您没有搞清...

-------------------------

1、您的PLC的水平是十分低下的,您甚至于不知道既然输入参数设定为浮点数,那么应该使用浮点数乘法EMUL指令。

workpicture1.JPG

2、至于您看到D0的值为26214,而不是1.05,仍然是您的基础太差了,花点时间去学习基础,暂时忘记FB这种东西,把基础的东西学学好吧。

1.05转换为16进制是3F 86 66 66

workpicture3.JPG因为浮点数是32位数据,你使用16位指令MUL,因此其展示的是16位数据,也就是该数据的低16位。

0110 0110 0110 0110转换为10进制不就是了么。

workpicture2.JPG


HAVE FUN!!!


热门招聘
相关主题

官方公众号

智造工程师