西门子smart200模拟量处理求助 点击:1097 | 回复:16



aygzc

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 34回
  • 年度积分:0
  • 历史总积分:83
  • 注册:2010年10月27日
发表于:2020-07-02 22:07:32
楼主
求助帖100分-已结帖

论坛的各位前辈,大家好。我是一个刚入门西门子200smart编程的新手。现在要处理16个不断变化的湿度模拟量,判断出其中最大的那个模拟量。16个模拟量都是不断变化的,始终要求取最大的值。用比较指令,指令就太多条了。望论坛你的前辈指教,十分感谢。

1分不嫌少!


楼主最近还看过



关育谋

  • [版主]
  • 精华:5帖
  • 求助:22帖
  • 帖子:738帖 | 5640回
  • 年度积分:68
  • 历史总积分:84034
  • 注册:2004年5月28日
发表于:2020-07-03 10:09:37
1楼

想想以前学高级程序语言时编写的一些小程序,求若干数中的最大数、最小数,用循环实现。

aygzc

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 34回
  • 年度积分:0
  • 历史总积分:83
  • 注册:2010年10月27日
发表于:2020-07-04 19:51:08
2楼

回复内容:

对:关育谋 想想以前学高级程序语言时编写的一些小程序,求若干数中的最大数、最小数,用循环实现。     内容的回复:

谢谢前辈的回复,但是很惭愧我只会pLc梯形图。

工控学徒X

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:130
  • 注册:2018年2月11日
发表于:2020-07-04 22:00:44
3楼

如果你不想一个一个比较,可以做一个类似MODBUS通讯轮询的程序

因为你检测的是湿度,所以肯定不会像速度那样变化的很快

你可以按照下边的思路写

先用SM0.5加上升沿控制一个整数的递增,比如VW100,每秒让VW100自累加1

当VW100=1时,将1#点湿度写入VD200

当VW100=2时,将2#点湿度写入VD200(覆盖掉之前写入的1#点的数据)

。。。。。。依此论推。。。

直到VW100大于16时,重新将VW100重置为1

这些写好以后,再写一个比较,如果VD200大于等于VD204,加一个上升沿,就把VD200的值写入VD204

这样,每隔8秒,VD204就能刷新出一个最大值,如果嫌慢,可以换掉SM0.5

说白了就是先用0作为初始被比较数,然后不停的用16个湿度值轮番的和这个值比较,大于等于就留下,作为新的被比较数   ,小于就掠过

不过这种写法你需要注意出现两个点湿度相等的情况




soul0010

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 194回
  • 年度积分:0
  • 历史总积分:214
  • 注册:2014年8月28日
发表于:2020-07-06 11:08:07
4楼

这东西想着不麻烦  做起来还是很麻烦的

太月星辰

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 349回
  • 年度积分:583
  • 历史总积分:3218
  • 注册:2011年11月02日
发表于:2020-07-06 14:29:27
5楼

参考C语言的冒泡算法,最简单的应用。你也可以先让1、2路数值比较,取大值,接着和第3路的数值比较,同样取大的那个,以此类推就行了!

siemens400

  • 精华:0帖
  • 求助:11帖
  • 帖子:17帖 | 158回
  • 年度积分:0
  • 历史总积分:109
  • 注册:2010年8月09日
发表于:2020-07-06 14:59:33
6楼

这个你要自己编写程序去判断

太月星辰

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 349回
  • 年度积分:583
  • 历史总积分:3218
  • 注册:2011年11月02日
发表于:2020-07-08 10:29:01
7楼

"undefined" 的回复,发表在楼
        对内容: 【】进行回复:

        -----------------------------------------------------------------


抱歉,这几天工控网论坛应该是出bug了,各种帖子打不开,回复没反应,结果造成今天能看见回复了,又回复了很多条!

asd10asdgw

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2010年10月30日
发表于:2020-07-09 14:15:03
8楼

来看看,怎么做。

东哥和你妹

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 25回
  • 年度积分:0
  • 历史总积分:55
  • 注册:2019年8月09日
发表于:2020-07-10 13:49:08
9楼

试试使用其他语言编程。

Mrquang

  • 精华:0帖
  • 求助:0帖
  • 帖子:8帖 | 187回
  • 年度积分:91
  • 历史总积分:3069
  • 注册:2010年11月25日
发表于:2020-07-13 22:08:06
10楼

可以写一个库文件 调用就可以了。

思则动

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 3回
  • 年度积分:0
  • 历史总积分:54
  • 注册:2018年1月29日
发表于:2020-07-22 10:43:43
11楼

可以使用循环指令,然后从第一开始,两个两个进行比较,把两个中大的与第三个数相比,这样就可以了

农民儿子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 127回
  • 年度积分:0
  • 历史总积分:763
  • 注册:2016年4月30日
发表于:2020-07-22 15:04:33
12楼

1、控制送风露点 2、用送风量控制各点的相对湿度

农民儿子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 127回
  • 年度积分:0
  • 历史总积分:763
  • 注册:2016年4月30日
发表于:2020-07-22 15:08:59
13楼

你这个不是自控能解的问题,是暖通设计问题,要用变风量系统

李金帅

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 12回
  • 年度积分:0
  • 历史总积分:290
  • 注册:2016年3月02日
发表于:2020-08-05 10:45:19
14楼

image.png这样应该可以的,这是五个里面将最大值存到VD100

Smile-lyc

  • [管理员]
  • 精华:127帖
  • 求助:50帖
  • 帖子:3482帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2020-08-23 10:43:59
15楼

感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。

对于求助者要求:

1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;

2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。


  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 44回
  • 年度积分:0
  • 历史总积分:83
  • 注册:2004年1月30日
发表于:2021-09-03 16:07:20
16楼

李老师的比较方法很受益。


热门招聘
相关主题

官方公众号

智造工程师