请大神帮忙数据处理 点击:387 | 回复:8



chendong_on

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 65回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2010年6月21日
发表于:2014-06-12 15:43:53
楼主

请大神帮忙。

我用一台台达B03S211人机与扭力校验仪串口相连,用人机接收扭力仪数据

得到一组数据格式01A+000007.1,后四位是扭力值。

标准值为07.0-08.0,在范围内就用一个指示灯显示PASS,不在范围就显示NG。

请大神们帮帮忙,怎么用宏指令实现,非常感谢!




公孙小天

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 263回
  • 年度积分:0
  • 历史总积分:1330
  • 注册:2005年12月27日
发表于:2014-06-12 15:53:14
1楼

是用GETCHARS指令接收的数据吗?接收的数据是ASCII字符还是浮点数?

chendong_on

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 65回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2010年6月21日
发表于:2014-06-12 15:59:40
2楼

回复内容:

对: 公孙小天  是用GETCHARS指令接收的数据吗?接收的数据是AS... 内容的回复!


是用GETCHARS指令接收的数据,接收的是ASCII字符

公孙小天

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 263回
  • 年度积分:0
  • 历史总积分:1330
  • 注册:2005年12月27日
发表于:2014-06-12 16:56:43
3楼

IF $0 > 3830H THEN GOTO LABEL 2

IF $0 < 3730H THEN GOTO LABEL 2

$10 = 1

END

LABEL 2

$10 = 0


公孙小天

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 263回
  • 年度积分:0
  • 历史总积分:1330
  • 注册:2005年12月27日
发表于:2014-06-12 17:00:42
4楼

用来判断值范围有用的就是小数点前面的两位,假设这两位数字以ASCII字符的形式存在$0里,那么就做上面的判断比较,最后给出$10一个值,回头用$10.0来控制状态指示灯显示文字就可以了。

chendong_on

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 65回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2010年6月21日
发表于:2014-06-13 08:22:31
5楼

回复内容:

对: 公孙小天  用来判断值范围有用的就是小数点前面的两位,假设这两位数... 内容的回复!


 谢谢!我试试!

jsyljb

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 1289回
  • 年度积分:0
  • 历史总积分:5847
  • 注册:2011年4月24日
发表于:2014-06-13 10:50:31
6楼

(1)数值显示(假设地址为$0)-设置值,整数位数改成2位、小数位数改成1位!然后把“前面数值补零”改成Yes。

(2)一般信息显示(假设地址为$1),状态总数设位2。

 

IF $0 >= 70
IF $0 <= 80
$1 = 1    #显示"PASS"
ELSE
$1 = 0
ENDIF    #显示"NG"

gh_3424

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 316回
  • 年度积分:0
  • 历史总积分:615
  • 注册:2011年1月16日
发表于:2014-06-16 18:47:43
7楼

宏?不就是脚本嘛,这个还是比较容易吧


//////////////////////////////////////////////////

针对行业应用定制HMI和控制器,就找上海繁易电子,中国工业触摸屏定制和工业电容屏制作专家,联系人,小王,13651915493,QQ1647674321

chendong_on

  • 精华:0帖
  • 求助:1帖
  • 帖子:4帖 | 65回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2010年6月21日
发表于:2014-07-25 10:51:00
8楼

好像没法判断,当08.1到08.9时都会误判为PASS


热门招聘
相关主题

官方公众号

智造工程师