程序错误,还请各位帮忙

问题出在主程序的网络8和网络9上,在线监控时温度传感器1:VD0的数值是31.5,低温设置点:VD364为15,高温设置点:VD368为45,但是网络8和网络9同时输出报警,温度1低:V244.1和温度1高:V243.1同时为1,也就是说温度传感器1:VD0即大于45又小于15,我也没有检查出程序哪里有错误,就向各位大大请教了。
 
在线监控时,有的触点变为蓝色,中间有蓝色的方块;还有的左边变成蓝色,右边变成银灰色,请问这代表什么意思啊?而SM0.0的开点和闭点竟然同时为1,这是不是也不合常理啊?


主程序
Network 1 //温度传感器1低温报警// 网络注释
 LD     SM0.0
=      L60.0
LD     SM0.0
=      L63.7
LD     L60.0
CALL   AI_alarm:SBR7, L63.7, 温度传感器1:VD0, 低温设置点:VD364, 2.0, 温度1低:V244.1

Network 2 //温度传感器1高温报警// 网络注释
=      L60.0
LDN    SM0.0
=      L63.7
LD     L60.0
CALL   AI_alarm:SBR7, L63.7, 温度传感器1:VD0, 高温设置点:VD368, 2.0, 温度1高:V243.1


子程序变量IN:
L0.0:ALARM_L_LL
LD1:PV
LD5:Set_point
LD9:Set_point
变量OUT:
L13.0:Alarm_Out
变量TEMP:
L13.1:Alarm_Threshold_Latch
L13.2:Alarm_Done
L13.3:Reset_Alarm_Done
LD14:Reset_Set_point

子程序AI_alarm:
Network 1 // 高位报警复位阈值为报警点减去死区
// 网络注释
LDN    L0.0
MOVR   LD5, LD14
-R     LD9, LD14
Network 2 // 低位报警复位阈值为报警点加上死区
LD     L0.0
MOVR   LD5, LD14
+R     LD9, LD14
Network 3 // 报警误差带设置:从高设置点到高点减死区,都是高报警的范围;
             从低设置点到低点加死区,都是低报警的范围。
LD     L0.0
LDR<=  LD1, LD5
LD     L13.1
AR<    LD1, LD14
OLD
ALD
LDN    L0.0
LDR>=  LD1, LD5
LD     L13.1
AR>    LD1, LD14
OLD
ALD
OLD
=      L13.1
Network 4 // 报警复位使能延迟1秒
LDN    SM0.1
AN     L13.1
TON    T40, 10
Network 5 // 报警置位使能延迟1秒
LDN    SM0.1
A      L13.1
TON    T41, 10
Network 6 // 报警状态置位
LD     T41
=      L13.2
S      L13.0, 1
Network 7 
LD     T40
=      L13.3
Network 8 
LDN    L13.2
A      L13.3
A      M0.2
R      L13.0, 1
Network 9 
Network 10 

问题补充:
这个子程序的目的是14个模拟量在高位和低位时给出一个报警信号,ALARM_L_LL为1时输出为低位报警,ALARM_L_LL为0时输出为低位报警,以上面的例子为例,温度传感器VD0的数值是31.5,低温设置点VD364为15,那么,当VD0小于低温设置点时报警,大于低温设置点加死区时取消报警,也就是起到一个误差带的作用。

刚才一楼的大大说子程序使用了定时器,多次调用就不能正常运行了,请问这是为什么?

还有,在线监控时,而SM0.0的开点和闭点竟然同时显示为ON,这是不是故障了啊?

最佳答案

是主程序的网络1和2吧,你是在子程序里使用定时器,然后多次调用子程序,相当于同一个定时器被多次调用,你只需要把定时器从子程序挪到主程序里就可以了。

提问者对于答案的评价:
那子程序允许嵌套多少次啊

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午2:06
下一篇 2020年11月1日 下午2:06

相关推荐

  • 采集变频器频率问题

    在看工程师编写的程序时,发现对变频器频率采集,模拟量处理时,进行A/D转换,AD转换上限(实数)为16000.0,AD转换下限(实数)为3200.0,模拟量上量程(实数)为1,模拟…

    2018年12月7日
  • iot2000通过node-red连接到IBM云平台的问题

    问题如图,一直显示disconnected,就连最简单的快速开始模式也不行,问题到底何在。甚至我曾经都连接成功过,后来因为要装iot2000 user led,…

    SIMATIC S7-200 2021年7月5日
  • S7-200 CPU 224XP 位控向导 无法运行?

    S7-200 CPU 224XP 位控向导做PWM可以正常运行,但做PTO,编译正常但下载到PLC里后就导致PLC无法启动。经测试一个空程序只要位控向…

    2021年7月5日
  • 关于TD400

    请教:报警位Alarm0_0与编辑通知位Data_2_0怎么在程序中引用 问题补充:上面的问题明白了,又多一个问题? 如何记录AIW0里的最大值 最佳答案 符号表TD_S…

    SIMATIC S7-200 2021年7月5日
  • 我想用win cc和s7-200通讯。可是能讯不了

    用的是否win cc6.2.的。s7-200PLC的cpu是224xp的。现在想把这俩个连起来。可是总是连不上。也不知道在那里激活IP protocol&nbs…

    SIMATIC S7-200 2021年7月5日
  • S7-200高速计数器处理

    利用S7-200高速计数器,对旋转编码器进行计数,计算缆绳的长度、缆绳运行速度和状态,正转反转表示上升和下降。利用SM36.5判断上升还是下降,但是计算速度时。需要将脉冲计数HSC…

    SIMATIC S7-200 2020年11月1日
  • 西门子触摸屏与西门子s7-200PLC如何实现在线仿真

    西门子触摸屏与西门子s7-200PLC如何实现在线仿真(不添加以太网的情况下) 钻石用户推荐最佳答案 200可以用ppi方式与触摸屏通讯的,当然触摸屏需要有这个通讯接口才能够。做这…

    SIMATIC S7-200 2021年7月5日
  • s7-200 pc access通讯问题

    我昨天因对公司的程序进行了大量修改,在s7-200 pc access中定义了新的变量,为了节约时间把编辑好了的opc文件直接拷到另外一台电脑,并且把以前的OP…

    SIMATIC S7-200 2021年7月5日
  • S7-200与DP/DP COUPLER能进行通讯吗?

    S7-200  CPU224CN 可以通过DP/DP COUPLER与S7-300进行数据交换吗?能的话S7-200怎么做的? 最佳答案 1…

    SIMATIC S7-200 2020年10月31日
  • 蒸汽压力PID控制

    在一个设备上安装一只西门子电动调节阀,阀后面装了一个压力变送器。现在已把压力变送器接入S7-224XP的A+、M(已用信号隔离器变为0-10V的信号),想把压力稳定一固定值,应该如…

    SIMATIC S7-200 2020年10月31日