怎么在力控6.1中实现数据的转化 点击:3851 | 回复:16



qq85257529

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-05 01:02:11
楼主

我怎么在力控6.1里面实现数据的转化啊?

我用s7200和力控进行组态

编码器给plc的脉冲信号我读出来以后,要让力控产生随机数与之进行比较,同时要把脉冲数转化成时间的长度,该怎么转化,在哪里转啊!?

有高手帮忙解答下,小弟感激不尽!




wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-05 10:24:10
1楼

编码器给plc的脉冲信号我读出来以后,要让力控产生随机数与之进行比较,同时要把脉冲数转化成时间的长度,该怎么转化,在哪里转啊!?

    如果编码器是匀速旋转,用编码器输出脉冲可转换为时间长度:即知道每发出1个脉冲的时间为T0,则N个脉冲的时间长度Tn=T0*N,如果编码器是非匀速旋转,就不能用输出脉冲个数来转换时间长度,此时可用时间中断方式产生一时钟脉冲F,再用F对一存储器(如MW10)进行加1计数。如F=100HZ,则每计1个脉冲的时间为0.01秒。你可用编码器输出的脉冲对MW10进行读取数,其值就是该脉冲对应的时间的长度值。

     这个转换过程在PLC内进行。

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-05 12:22:49
2楼

我现在是匀速运行的东西,编码器是一转60个脉冲的,我想把编码器的记的数转化成实际的米数值,比如我轮子转一周走了0.35米计数器是六十个脉冲,在力控的界面里我怎么才能将它转化成米数的值呢!?

 

pm;现在编码器不输出脉冲了怎么办啊!?型号是e6a2-cs5c的编码器,我现在测量24v和输出端会有脉冲产生但是com端和输出端却没有脉冲,原来是16211v的,反接一下电源就能好用,现在是12922k的  反接也没有脉冲啊,搞不懂了,您知道的话帮忙指导下啊,感激不尽,我的qq是85257529.请您指导下   谢谢了

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2012-11-05 14:26:52
3楼
一些计算转化;最好在PLC内部完成;让组态只做显示和数据存储的作用就行了啊!!!

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-05 19:00:15
4楼
回复内容:
对:bhdxzgp关于一些计算转化;最好在PLC内部完成;让组态只做显示和数据存储的作用就行了啊!!! 内容的回复:


关键是我在plc内  没法产生随机数啊!?

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-05 22:34:38
5楼
有没有人知道啊!?帮帮我啊!?

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-06 08:34:05
6楼

      原来你是测长度,这比较简单:最好将侧辊的直径改一改,使编码器输出脉冲直读无需计算,即让编码器每1个脉冲为标准的计长单位值,如直径=19.1mm,辊的周长=60mm,旋转1圈编码器输出的1个脉冲就表示长度=1mm。用高速计数器对其计数,其计数值即为测长值,测长单位为mm.

     关于编码器自身有输出脉冲,与PLC连接后无输出脉冲,而且编码器的电源线调换也无输出脉冲的话,说明编码器的输出逻辑反了,即如果现在的编码器是NPN型的OC门晶体管输出,应换PNP型的OC门晶体管输出的编码器试试,有关这方面问题你可看看我写的“对5V光电开关、编码器等有源器件如何与PLC输入点连接的讨论”,地址为:http://bbs.gongkong.com/Details/201205/2012050807514500001-1.shtml

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-06 08:44:03
7楼
回复内容:
对:wyb2866255---王者之师关于      原来你是测长度,这比较简单:最好将侧辊的直径改一改,使编码器输出脉冲直读无需计算,即让编码器每1个脉冲为标准的计长单位值,如直径=19.1mm,辊的周长=60mm,旋转1圈编码器输出的1个脉冲就表示长度=1mm。用高速计数器对其计数,其计数值即为测长值,测长单位为mm.     关于编码器自身有输出脉冲,与PLC连接后无输出脉冲,而且编码器的电源线调换也无输出脉冲的话,说明编码器的输出逻辑反了,即如果现在的编码器是NPN型的OC门晶体管输出,应换PNP型的OC门晶体管输出的编码器试试,有关这方面问题你可看看我写的“对5V光电开关、编码器等有源器件如何与PLC输入点连接的讨论”,地址为:http://bbs.gongkong.com/Details/201205/2012050807514500001-1.shtml内容的回复:


长度测出来是mm在组态中转化成米怎么转啊!?辊的长度是改不了的,已经是成品了。现在需要调整它的行走范围 ,我不知道在哪里调??谢谢你了,那个npn的输出,西门子大多数的plc都不认,需要加上拉电阻,我现在去现场,看看能不能找到电阻,试试,看看好不好用。谢谢你,非常感谢!

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-06 09:59:41
8楼

长度测出来是mm在组态中转化成米怎么转啊

在组态里用测长值除以1000,其商就是米的长度,在PLC里用实数除法,除以1000.0,也可得出米的长度值。

    不用加上拉电阻,你最好先看看我体给你的文章。

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-06 10:45:24
9楼
辊的长度是改不了的,已经是成品了,那么1个脉冲表示长度值为:0.35÷60=5.83mm,可在PLC里进行乘法运算,即:5.83×脉冲数,具体编程:可定时(如0.5秒)采集计数值,再将计数值乘以5.83,其积送入通讯变量(如VW0),上位机就自动读取长度值。

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-06 12:36:55
10楼

回复内容:
对:wyb2866255---王者之师关于辊的长度是改不了的,已经是成品了,那么1个脉冲表示长度值为:0.35÷60=5.83mm,可在PLC里进行乘法运算,即:5.83×脉冲数,具体编程:可定时(如0.5秒)采集计数值,再将计数值乘以5.83,其积送入通讯变量(如VW0),上位机就自动读取长度值。 内容的回复:



我理解您的意思了,可是我用的是上位机产生的随机数,这个随机数是脉冲的个数,我得转化成实际的米数,怎么转啊?在plc内能完成么?还是我得把上位机产生的数值再送到plc处理,然后再送回上位机啊?!上位机的程序我这有,而且已经是转化好的了,但是我不知道是在哪里转化的,是一个中间变量的显示,但是我不知道这个中间变量是在哪里运算的!

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-06 14:30:49
11楼
我用的是上位机产生的随机数,这个随机数脉冲的个数我得转化成实际的米数。。这句话是什么意思?难道编码器是与上位机连接,这个随机数是编码器发出的脉冲个数?如果是,可在组态里换算:在数据改变命令语言里编写-:测长变量=5.83*脉冲数变量。

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-06 17:19:58
12楼
因为s7 200 不能产生随机数,所以用的是上位机产生的随机数,编码器是接在plc上的,编码器产生的脉冲数直接送到上位机的,然后让它和产生的随机数进行比较,达到自动的目的,我知道脉冲的产生过程,但是不知道界面上显示的那个米数是怎么转化的!

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-06 22:25:06
13楼

    1、你所说的随机数是指在上位机能进行设置的长度值吧?如果是,编码器脉冲转换为长度值的运算应在PLC内进行,转换为长度值后再送给上位机的组态,再与随机数比较。

     2、但是不知道界面上显示的那个米数是怎么转化的!   见9楼所述 。

     3、如想在在组态里换算:在组态的数据改变命令语言里编写-:测长变量=5.83*脉冲数变量。 这样当脉冲数变化时,在数据改变命令语言里将自动的随着脉冲数的变化进行乘法运算,将乘积变量在界面上作显示处理,就可看到长度值的变化。

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-06 22:29:57
14楼

回复内容:
对:wyb2866255---王者之师关于    1、你所说的随机数是指在上位机能进行设置的长度值吧?如果是,编码器脉冲转换为长度值的运算应在PLC内进行,转换为长度值后再送给上位机的组态,再与随机数比较。     2、但是不知道界面上显示的那个米数是怎么转化的!   见9楼所述 。     3、如想在在组态里换算:在组态的数据改变命令语言里编写-:测长变量=5.83*脉冲数变量。 这样当脉冲数变化时,在数据改变命令语言里将自动的随着脉冲数的变化进行乘法运算,将乘积变量在界面上作显示处理,就可看到长度值的变化。内容的回复:

首先非常感谢您,你说的我明白了,但是事实上是,这个程序不是我做的,他是用组态产生的随机数,和plc的随机数进行比较的,是在组态中转化成米数的,我就不知道他在组态哪里转的,你说的那个程序运行时的那个数据改变命令里没有那个转化的,只是有随机数,plc的程序中也没有对脉冲进行换算。组态换算的地方我还没找到!

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-11-07 14:38:25
15楼
打开组态王,在文件栏有命令,点击命令,出现:应用程序命令语言、数据改变命令语言。。等5种,你可分别查查,可能在这里边。

qq85257529

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 9回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2011年4月21日
发表于:2012-11-09 12:19:09
16楼

回复内容:
对:wyb2866255---王者之师关于打开组态王,在文件栏有命令,点击命令,出现:应用程序命令语言、数据改变命令语言。。等5种,你可分别查查,可能在这里边。 内容的回复:



我用的是力控啊  不是组态王

你说的那个部分我找了  没有

 


热门招聘
相关主题

官方公众号

智造工程师