数值比较

现在手头上有一个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日
下一篇 2019年6月11日

相关推荐

  • WINCC7.0找不到变量

    图形编辑器中的按钮或输入输出域链接变量时找不到变量,显示驱动链接下变量为空,没有变量,是什么原因?WINCC换成7.2版本的也是这样。 最佳答案 把与winCC有关的软件都删除后重…

    SIMATIC WinCC 2017年6月19日
  • 归档的问题

    我现在在变量归档和用户归档里设置了17个模拟量的数据,采用默认的循环采集,机子现在没有与PLC相连,所以所有模拟量的值都为0,而这个0它都自动记录,怎样设置才可以在为非0的状态下才…

    SIMATIC WinCC 2019年6月11日
  • 关于WINCC7.4能否仿真通信连接1500PLC

    两个问题。1.再用WINCC7.4时候可以仿真通信s7-1200PLC,网上说1500PLC需要下载Advanced版本的仿真器,可是我现在之后依然无法和WINCC仿真通信,一直处…

    SIMATIC WinCC 2021年7月5日
  • 2台电脑用CP5611通过profibus与315-2DP PLC通讯

    请问:两台电脑中的CP5611卡的地址怎么设置才不会重复呢? 最佳答案 2台电脑的CP5611和315-2DP PLC这三个profibus地址设置的不一样就可以。CP5…

    SIMATIC WinCC 2019年6月11日
  • WINCC的C脚步意外中止的问题

    这个问题我观察了好多天,目前也算是发现问题原因了,但不知道解决的办法,具体是现象和事情我详细的说一下:我一个设备上有两台IPC677D按键工控机,这两台工控机现场闲置2年后才开始调…

    SIMATIC WinCC 2021年7月5日
  • 管道液体动态

    污水处理工程中  1、我要在组态界面实现 管道里有液体流动的动态效果 并且能指示液体流动方向,该如何实现? 2、鼓风机的扇叶如何实…

    SIMATIC WinCC 2019年6月11日
  • wincc7.4里还有microsoft office spreadsheet这个控件吗

    wincc7.4里还有microsoft office spreadsheet这个控件吗,我没找到,谁知道有7.4还有没有,如果有,在哪儿? 问题补充:在win…

    SIMATIC WinCC 2020年11月1日
  • wincc Flexible触摸屏如何实现历史记录显示?

    现已将电机速度在触摸屏上实时显示。请问,可以用触摸屏实现电机速度的历史记录显示呢?可以的话,大概的实现步骤是什么呢?需要把一天或者一周的速度显示出来。 最佳答案 要首先做一个数据记…

    SIMATIC WinCC 2019年6月11日
  • excel进程不能结束

    #pragma code ()#pragma code("Shell32.dll")VOID ShellExecuteA…

    SIMATIC WinCC 2018年3月6日
  • STEP7能同时集成WINCC与WINCC FLEXIBLE吗?

    项目中既有WINCC(以太网),又有触摸屏(MPI),把WINCC项目与触摸屏项目都集成到STEP7以后,传递变量时无论选择以太网还是MPI,都是把变量传给WINCC项目了,触摸屏…

    SIMATIC WinCC 2019年6月11日