求助 点击:727 | 回复:15



ekinwut

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-09 10:12:00
楼主
PLC是DVP-10SX,CH0采集一压力值,采集时间用T0控制,时间到停止采集.现在可以通过程序找出某段时间内的压力最大值和最小值(F1和F2),然后编写F2+10(F1-F2)/100的计算程序,问题是上式计算结果对应的时间怎么通过程序找出来?还请高手们指教一下!



xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-09-11 09:12:00
1楼
没明白你的意思,你都已经找出的是某段时间的压力最大值最小值了,某段时间不是已知了吗?难到你是要求F2对应的时间F1对应的时间,然后带入那个公式再求出一个时间??

teamo.wan

  • 精华:1帖
  • 求助:0帖
  • 帖子:40帖 | 442回
  • 年度积分:0
  • 历史总积分:732
  • 注册:2005年12月13日
发表于:2007-09-11 15:05:00
2楼
楼住应该讲明白一些

一棵葱

  • 精华:0帖
  • 求助:0帖
  • 帖子:15帖 | 971回
  • 年度积分:0
  • 历史总积分:1506
  • 注册:2007年4月04日
发表于:2007-09-11 15:57:00
3楼
TEAMO.WAN好久不见阿,最近工作如何?

西玛仪表 028-66505957 13808018567

  • 精华:0帖
  • 求助:2帖
  • 帖子:54帖 | 1652回
  • 年度积分:0
  • 历史总积分:2355
  • 注册:2006年4月18日
发表于:2007-09-11 22:47:00
4楼
yiyi说得对~~~不知道楼主所谓的某段时间是自己设定的时间区间,还是外部I/O信号触发所确定的时间.假如是自己设定的话,就没有这个问题咯.我估计楼主可能是外部条件导致的一个不可知(或不确定的)时间段.这个我认为比较笨的办法就是用定时器做个累加~比如每10ms定时器输出,D0累加1,等触发信号结束时,读取D0中的值*10ms就可了。而且这样做,采用不同的定时器,可以自己控制时间精度。


郁闷的是好象台达没有象西门子的循环时间设定0.3s、0.5s、0.8s、1s、2s、等的等占空比内部M用的脉冲

ekinwut

  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-28 16:39:00
5楼
F1=1.21,F2=3.42,那么通过以下计算:m=F2+10(F1-F2)/100,则m=1.431.
现在的问题是1.431这个压力值对应的时刻怎么计算?也就是什么时候压力达到的这个值.我用MCGS组态软件做还是搞不定,也许是个人能力问题,大家有什么高见可以探讨一下,特别是熟悉MCGS组态软件的工程师.

xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-09-29 08:21:00
6楼
to  ekinwut:按你给出的F1,F2和公式计算出的M不是1.431而是3.199,如果按m=F1+10(F2-F2)/100这个公式m才应该是1.431
如果你时间与压力是成正比的话,那么你知道F1,F2压力对应的时间按公式也就同样就能求出M对应的时间的.
to 周中滔:台达有M1011,M1012,M1013,M1014分别对应的是10ms(5ms ON,5ms OFF),100ms,1s,1min时钟脉冲.

ekinwut

  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-29 08:38:00
7楼
to yi yi:
就是因为时间与压力不成正比,所以才难找出这个对应的瞬时时间.不知道你对MCGS组态软件了不了解,在组态里面这个问题能不能解决?

xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-09-29 09:02:00
8楼
to  ekinwut:不好意思,我不了解MCGS组态,如果压力与时间不成正比的话,你要是想求出那个时间还有比较低笨的办法就是在程序中做比较求出,也就是说开始测量压力时就触发一计时器,你将公式计算出的结果放到一寄存器中如D0,然后用D0与一系列已知常数(这些常数就是一些压力值如1.21,1.431,3.42等)进行比较,当D0=常数值时将对应的时间值移出到一寄存器中,计时器满足条件时复位.当然这个方法只是有少量值还可以,如果有大量数据就不适合了.

ekinwut

  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-29 09:06:00
9楼
采集频率为1.7Hz,所以数据量还是比较大的,一半情况下要采集半个小时.

xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-09-29 09:15:00
10楼
to  ekinwut:数据量太大用PLC处理很麻烦,来你可能得通过MCGS组态或是其它办法处理了,但对于MCGS我不清楚所以无能为力了,不好意思,你自已想想办法吧.

ekinwut

  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-29 09:23:00
11楼
 to yi yi:
问题是上面所说的压力值m (F1代表半个小时内的最小压力值,F2代表半个小时内的最大压力值)是采集时间到之后通过F1和F2计算出来的,就是说m的值等采集时间到才能计算出来,这样的话在程序里面很难处理,不知道你有没有好的解决办法?

xiao a

  • 精华:1帖
  • 求助:0帖
  • 帖子:102帖 | 555回
  • 年度积分:0
  • 历史总积分:958
  • 注册:2005年12月10日
发表于:2007-09-29 09:35:00
12楼
to  ekinwut:我没想到更好的办法,所以上面才想到用与常数(按事先测量好的变化率或是事先测量各个采样点的压力值设定这些常数值)比较相等立即输出对应的时间.但是这种方法看来不行.

zanor

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 57回
  • 年度积分:0
  • 历史总积分:96
  • 注册:2007年9月20日
发表于:2007-09-29 09:51:00
13楼
我觉得这个问题好矛盾啊,搂主想知道的时间是由m的值确定的,而m 要在数据采集完以后才能得出,现在又要返回去知道m的对应时间,除非有专门的寄存器储存每个时间的对应值,然后与m 比较得出 最后的时间。

ekinwut

  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-30 08:56:00
14楼
用组态软件做可不可以

ekinwut

  • 精华:0帖
  • 求助:2帖
  • 帖子:77帖 | 141回
  • 年度积分:0
  • 历史总积分:865
  • 注册:2006年3月19日
发表于:2007-09-30 08:56:00
15楼
用组态软件做可不可以

热门招聘
相关主题

官方公众号

智造工程师