数值比较

现在手头上有一个20缸的发电机组,20个气缸温度通过opc已经读到,业主想在上位画面上显示缸温的最大值及最小值,请问如何通过上位程序的编写实现比较20个气缸温度的最大值,最小值,谢谢!!!

最佳答案

一般,这样的排序在PLC中进行最为简便,排序后传给上位机。例如采用冒泡法:
转帖:
假定20个数据,放在DB1中,安放顺序如下:
DBD0
DBD4

DBD36
下面是西门子的程序
OPN   DB    1                 /////打开DB1这个数据块
      L     20  ////装载20到MB0中,因为有20个数据,要进行20次排序,
LL0:  T     MB    0
      L     P#0.0   ////装载地址指针,这是关键,不要搞错了
      LAR1  
      L     19
LL1:  T     MB    2   ////内部循环,进行19次,直到把最大值排到最后
      L     DBD [AR1,P#0.0]
      L     DBD [AR1,P#4.0]
      <R    
      JC    LL2          ////比较前后两个值,如果前面大于后面的,则前后数据交换
      L     DBD [AR1,P#0.0]
      T     #m_temp
      L     DBD [AR1,P#4.0]
      T     DBD [AR1,P#0.0]
      L     #m_temp
      T     DBD [AR1,P#4.0]
LL2:  +AR1  P#4.0     ////指针自动进行加4,因为是浮点数,所以要跳过4个字节
      L     MB    2
      LOOP  LL1       ///这个指令自动的将A寄存器里的值减1
      L     MB    0
LOOP  LL0

提问者对于答案的评价:
谢谢了~~~~~~

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc264168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:47
下一篇 2019年6月11日 上午2:48

相关推荐

  • 不使用PLC的情况下,PC机通过Profibus-DP与变频器通讯

    在不使用PLC的情况下,PC机通过Profibus-DP与汇川的MD380变频器连接对其进行Wincc监控,实现变频器参数的读写与给定。都设定好了,就是最后的WINCC的图形编辑器…

    2017年7月25日
  • wincc内部变量和外部变量

    我的WINCC系统中,从操作界面输入一个数值。如果这个数值被修改,在报警记录或事件记录中记下修改前后的值。如何通过内部变量来处理? 最佳答案 请参考: 如何通过脚本或过程…

    SIMATIC WinCC 2019年6月11日
  • wincc OS 单站冗余

    现有一工程项目,要求AS冗余,OS也要冗余,AS冗余选用414hCPU,两台OS站都安装上cp1623网卡,S7-REDCONNECT授权,但不清楚两台OS单站的wincc冗余配置…

    SIMATIC WinCC 2021年7月5日
  • WinCC MPI通讯,变量显示为什么时有时无?

    CPU314-2DP的MPI口与WinCC通讯,变量显示为什么时有时无? 最佳答案 参考论坛与找答案中的同类问题答案:、wincc 有的画面通讯断续?http://www…

    SIMATIC WinCC 2019年6月11日
  • window7能装STEP7和wincc吗

    window7能装STEP7和wincc吗?如果能装,STEP7要哪个版本?wincc要哪个版本?最好详细说明一下怎么安装,谢谢! 最佳答案 可以使用STEP7V5.5,种子给你发…

    SIMATIC WinCC 2021年7月5日
  • wincc 中C脚本执行问题

    我想做个带确认的输入/输出域,就是在画面中添加一个IO域并关联一个变量,在输入数值后弹出一个对话框提示需要确认,确认完后才将该数值传递给IO域。我的思路是创建一个中间变量,在输入/…

    SIMATIC WinCC 2021年7月5日
  • WINCC 开方

    A,B为PLC中两个设定值变量,在WINCC里给的数据类型为32浮点型。新建按钮,按钮按下时想让A的值开11次方然后赋给B。作C脚本如下:SetTagFloat("B&q…

    SIMATIC WinCC 2019年6月11日
  • wincc7.0报警显示

    一个项目用一台wincc7.0监控二台同样的设备,在报警组态里组态了二台设备的所有报警消息,二台设备二个监控画面二个报警显示画面,请问怎样能够使二个报警显示画面分别显示各自的报警消…

    SIMATIC WinCC 2019年6月11日
  • wincc和labview的比较

    哪位能给介绍一下wincc和labview的区别,他们都属于上位机软件吗?我对wincc比较了解,做过实际工程,labview就不太清楚了,我的导师力推labview 最佳答案 W…

    SIMATIC WinCC 2019年6月11日
  • wincc v7.3安装问题

    如图,安装wincc v7.3时总是出现simatic net安装错误,想知道如何解决?感谢! 问题补充:图 图片说明:    最佳答案 1…

    2020年11月1日