quote:以下是引用liqr在2013-12-09 15:35:51的发言:quote:以下是引用Zane在2013-12-09 12:53:00的发言:
专门搞个CPU处理不就得了,CPU412即可
CPU不是问题,关键是如何编程实现?
我觉得还是蛮简单的。
1.首先你编一个FC或FB用来对单通道模拟量进行温度值转换和滤波处理(如平均值滤波)
2.然后在此FC或FB中,通道如果检测到断线或故障短路后值应该为32767或-32768,这时你在温度转换前可以直接跳过温度转换。直接赋0°出来。并且有个故障输出位。(如果你10路测温,你调用10次,应该有10个位来反映通道故障,最好这十个位是连续的,如放在MW100中,从M101.7开始)
3.在其他块中算 10个通道平均值的时候,在程序最前面加入一个故障点计数如记在MW200中,有1路故障由OFF变ON时,就把MW200+1,如故障点由ON变OFF,MW200-1,用循环做方便点。然后其实应该这样算Tave=(T1+T2+...+T10)/(n-故障点数),例如第二路有故障此时就是(T1+0+T2+..+T10)/10-1
4.用变址寻址来实现以上的功能,可以在引脚处输入到底是多少路模拟量,每路模拟量滤波多少次
5.而且你可以根据检测的故障值做其他程序上的处理,如有触摸屏做个报警,而且模块上“SF”灯也亮红色的