求助 点击:556 | 回复:5



还没学会游泳的鱼

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 63回
  • 年度积分:0
  • 历史总积分:191
  • 注册:2006年5月22日
发表于:2007-07-17 21:07:00
楼主
高手帮忙写个程序,谢谢.现在需要用增量型编码器(20线的)监测走行距离,采用编码器的A,B两相一个做记数(编码器转的圈数)另一个做记方向(正负两个方向走行)检测这两个信号,正圈数就加一,负圈数就减一.输出要的是所在位置的具体值(实际距离的米数).PLC用的是西门子的313C-2DP没有用高速记数.这是我自己的构思不知到能否实现,我现在不知到怎么取这两个信号,取来的信号用什么方式处理?如果此方案不可行怎么解决?有高手帮忙指点.谢谢!



金粟兰看法

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 479回
  • 年度积分:0
  • 历史总积分:975
  • 注册:2006年8月23日
发表于:2007-07-18 16:13:00
1楼
PLC用的是西门子的313C-2DP没有用高速记数?没有搞错吧。
这个方案肯定可以。前提你的清楚编码器出来的是什么信号。如果是5V的差分信号就可能要做块信号转换板。
313C-2DP的硬件里有计数功能。要先硬件组态才能用。具体看西门子的相关资料。
程序就自己写吧。一方面提高自己的水平。另一方面别人的劳动成果也不是免费的。不难,多琢磨就是。

还没学会游泳的鱼

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 63回
  • 年度积分:0
  • 历史总积分:191
  • 注册:2006年5月22日
发表于:2007-07-18 21:41:00
2楼
谢谢芙蓉王,我用的编码器是图尔克的EH50A20S8/24L8S3PR推挽带反相输出,我只知道它的A相与B相相差90度的相位差,你所说的5V差分信号指的是什么呢?如果需要做信号转换板又该怎么做呢?我是新手不太懂请指教,谢谢.

还没学会游泳的鱼

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 63回
  • 年度积分:0
  • 历史总积分:191
  • 注册:2006年5月22日
发表于:2007-07-18 21:45:00
3楼
编码器出来的是脉冲信号每转20个脉冲,没分钟3000转.

金粟兰看法

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 479回
  • 年度积分:0
  • 历史总积分:975
  • 注册:2006年8月23日
发表于:2007-07-19 14:43:00
4楼
5V差分信号指的是什么呢?
比如编码器A相的A和A-就是。频率相同,大小相反。
5V是指编码器输出信号电平。编码器的输出信号电平有几种。但西门子PLC高速口要24V的,如果编码器输出电平和西门子PLC要求的不同就要进行电平的转换。最简单的就是用快恢三极管做。
如果干扰不大,距离不远。就只要A、B、Z三相信号就够了(电平转换简单)
图尔克的EH50A20S8/24L8S3PR。没用过不清楚。
救人救到底吧/
 CALL  SFB   47 , DB47
       LADDR   :=W#16#300
       CHANNEL :=硬件组态选择的通道
       SW_GATE :=软件门开关
       COUNTVAL:=计数值存放地址
只要硬件组态正确,把软件门打开,就能计数。其他的想用就看西门子的资料自己选择。     

还没学会游泳的鱼

  • 精华:0帖
  • 求助:0帖
  • 帖子:18帖 | 63回
  • 年度积分:0
  • 历史总积分:191
  • 注册:2006年5月22日
发表于:2007-07-19 16:09:00
5楼
首先非常感谢你芙蓉王.你说的调用SFB  47 高速记数功能块我知道,我也想那样做,可是现在项目已经做完了,没有用高速记数.设计方案当初也是没有选择用高速记数而是用的:采用编码器的A,B两相一个做记数(编码器转的圈数)另一个做记方向(正负两个方向走行)检测这两个信号,正圈数就加一,负圈数就减一.输出要的是所在位置的具体值(实际距离的米数):这个方案.我现在弄不明白怎么采集A,B相的信号,通过什么条件来判断是正转还是反转,只有采集到信号才能比较那一个超前那一个滞后然后做加减计算.大的思路我明白可是具体怎么做我还不清楚,我也问过别人说这样做简单可没见几个有高速记数而不用的不知道出于什么考虑.项目是别人设计的程序让我来做,具体我也没有思路就想到这么多.还请多指点.谢谢你的帮助芙蓉王.

热门招聘
相关主题

官方公众号

智造工程师