请高手帮忙看一下这个程序怎么编写? 点击:710 | 回复:18



pilihuowu

    
发表于:2012-02-10 16:31:17
楼主
我用模拟量模块控制一个电磁比例阀,0-5V控制,需要在设定的时间内线性的从零到最高值,但是这个时间是个变量值,可以随时调整。用OMRON的PLC编程吧。
注意一定是线性递增的控制方式,在设定时间内线性递增。

PLC的模拟量模块设定我都会,只是程序这部分如何编程请高手指点!谢谢!


楼主最近还看过



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10267回
  • 年度积分:504
  • 历史总积分:50650
  • 注册:2005年4月22日
发表于:2012-02-10 17:01:05
1楼
为何不在工控人家园就同一个帖子继续问下去呢?

怪话二王

  • 精华:3帖
  • 求助:10帖
  • 帖子:160帖 | 6809回
  • 年度积分:0
  • 历史总积分:24592
  • 注册:2004年2月03日
发表于:2012-02-10 17:09:04
2楼

 

俄滴小乖乖~~~~~~~~~~~~~~~·

                    .

火疯鸟

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 619回
  • 年度积分:0
  • 历史总积分:2332
  • 注册:2004年11月23日
发表于:2012-02-10 17:10:10
3楼
这个好办,你可以取变量(T)的平均点呀。如,我在10分钟要内取10个点线性上升,那么每分钟一个点10/5=2分种,也就是每2分种加1V,10分种不就加到了5V吗。

老山

  • 精华:0帖
  • 求助:16帖
  • 帖子:29帖 | 27回
  • 年度积分:0
  • 历史总积分:532
  • 注册:2003年3月19日
发表于:2012-02-10 17:14:41
4楼

回复内容:
对:火疯鸟关于这个好办,你可以取变量(T)的平均点呀。如,我在10分钟要内取10个点线性上升,那么每分钟一个点10/5=2分种,也就是每2分种加1V,10分种不就加到了5V吗。内容的回复:


说的很在理! 支持下!


EBN战略军团厦门-alive

  • 精华:0帖
  • 求助:7帖
  • 帖子:13帖 | 248回
  • 年度积分:0
  • 历史总积分:1307
  • 注册:2011年3月10日
发表于:2012-02-10 17:24:15
5楼

找到一个这样的指令

功能:

1.

 

指令内部运算公式为: D = (S1 × S2) ÷ 1000 + S3

2.

 

S2 S3的数值须由使用者依下列斜率与偏移量公式先行运行, 然后将小数点45入后, 再取16位的整数值输入。

3.

 

斜率公式为: S2 = 【(目的数值最大值目的) ÷ (来源数值最大值来源数值最小值)】 × 1000

4.

 

偏移量公式为: S3 =目的数值最小值来源数值最小值 × S2 ÷ 1000

五:输出曲线如上图

EBN战略军团厦门-alive

  • 精华:0帖
  • 求助:7帖
  • 帖子:13帖 | 248回
  • 年度积分:0
  • 历史总积分:1307
  • 注册:2011年3月10日
发表于:2012-02-10 17:28:49
6楼

你想想怎么处理一下你的5V,然后怎么处理一下让你的时间跟S2成一定的关系。看能不能用

chenshiji2006

  • [版主]
  • 精华:25帖
  • 求助:20帖
  • 帖子:532帖 | 7001回
  • 年度积分:16
  • 历史总积分:66978
  • 注册:2010年6月26日
发表于:2012-02-10 18:07:24
7楼
俺是来观看学习嘀···楼下高手继续

wyb2866255

  • 精华:73帖
  • 求助:0帖
  • 帖子:218帖 | 2872回
  • 年度积分:0
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2012-02-10 21:23:30
8楼

      模拟量模块控制一个电磁比例阀,0-5V控制,需要在设定的时间内线性的从零到最高值,但是这个时间是个变量值可以随时调整

    回复: 模拟量模块输出0~5V对应的数字量为0~Sm,如设定时间为T,将其换算为0.1秒为单位的数(如1分20秒转换为800),用Sm÷T,其商值(Sm/T)即为每0.1秒增长的数字量。 设模块的模拟量输出(0~5V)对应的数字量输入地址为AQW0,启始值AQW0=0,其模拟量输出=0V,PLC的25500为0.1秒时钟脉冲,用其前沿将 (Sm/T)值加在AQW0里,使输出电压由0每延时0.1秒增加 (5 / T) V,T秒后输出电压=5V。 即可实现0~5V线性增长的控制。

宇宙的眼泪

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 15回
  • 年度积分:0
  • 历史总积分:98
  • 注册:2010年7月20日
发表于:2012-02-11 10:46:15
9楼

首先算出斜率,k=s/t,然后调用时间就可以得到当前的电压值:V=k*t了,计时器的时间是直接可以调用的

陈石头

  • 精华:33帖
  • 求助:2帖
  • 帖子:434帖 | 9288回
  • 年度积分:0
  • 历史总积分:54989
  • 注册:2008年3月07日
发表于:2012-02-11 12:52:36
10楼
  //每日擂台11日结帖标志//感谢以上回帖的网友,欢迎大家继续解惑答疑,奖励继续....

大武

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 25回
  • 年度积分:0
  • 历史总积分:129
  • 注册:2006年6月21日
发表于:2012-02-11 14:00:18
11楼

这么简单的东西都不会,那真的是,你别玩程序了,

 

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-02-12 15:00:27
12楼

需要在设定的时间内线性的从零到最高值,但是这个时间是个变量值,可以随时调整。用OMRON的PLC编程吧。

 

////  正好我做过这样一个 FB 功能块,就是给一个 整数变量在制定的时间里 线性递增到 设定值,

参数有: PV        : 过程值,        //  属性 INPUT (即输入输出型)

                  iBegin  :  其实值,(例如从 0开始增加) //  属性:INPUT

                  pTime  : 递增时间                                       //   属性:INPUT

                   iTarget: 目标值(例如要增加到 10000)  //  属性: INPUT

                  Out_PV :   输出过程值,可以和第一个同一个变量地址 //  属性 :OUTPUT

 需要留下邮箱吧! 

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-02-12 15:53:29
13楼

我的功能快 在 CP1H   PLC 上用过

 

CSUNXY62

  • [版主]
  • 精华:2帖
  • 求助:10帖
  • 帖子:164帖 | 2561回
  • 年度积分:0
  • 历史总积分:19259
  • 注册:2006年11月08日
发表于:2012-02-12 16:04:01
14楼
3楼正解,至于用哪个品牌的OLC,思路都是一样的

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-02-12 16:31:33
15楼

具体用法 看一下 3张图 :

 

 

 

陈石头

  • 精华:33帖
  • 求助:2帖
  • 帖子:434帖 | 9288回
  • 年度积分:0
  • 历史总积分:54989
  • 注册:2008年3月07日
发表于:2012-02-13 21:28:55
16楼
//每日擂台13日结帖标志//感谢以上回帖的网友,欢迎大家继续解惑答疑,本帖奖励继续....

caojie0723

  • 精华:2帖
  • 求助:9帖
  • 帖子:45帖 | 2883回
  • 年度积分:0
  • 历史总积分:22503
  • 注册:2004年2月22日
发表于:2012-02-14 14:16:47
17楼

假设设定时间为t,输出5v对应的数字量为m,得出斜率k=t/m

1.设置一延时继电器,时间设定值写入延时继电器时间设定地址,读取延时继电器运行时间并/k,输出到模拟量输出地址,从而实现0-5v的线性输出。

2.如果要实现随时可调整,会出现下图情况,就是在你运行一段时间后更改时间值,这样斜率也随之发生改变。

实现方法设置一暂停位,重新计算斜率,然后让延时继电器复位,使输出为t1的输出值+改变后的输出值!

miy_gongkong

  • 精华:0帖
  • 求助:2帖
  • 帖子:27帖 | 3065回
  • 年度积分:0
  • 历史总积分:12427
  • 注册:2008年9月18日
发表于:2012-02-15 09:32:09
18楼

楼上的思路倒是挺好的! 

SSI ļʱ