1、需求说明
- 输入信号分别是1/2/3/4、输入就一个信号
- 信号源的优先级从高到低,为1~4
- 可以手动或自动切换两种方式
- 代码如下
#DEFAULT_VOLATILE #ENABLE_STACK_CHECKING #ENABLE_TRACE DIGITAL_INPUT Enable,_skip_,Video_Detecte[4]; ANALOG_INPUT Ain[2]; ANALOG_OUTPUT out[2]; change Video_Detecte { if(enable) { if(Video_Detecte[1] = 1) { out[1] = 1; out[2] = 1; } else if(Video_Detecte[1] = 0&&Video_Detecte[2] = 1) { out[1] = 2; out[2] = 2; } else if(Video_Detecte[1] = 0&&Video_Detecte[2] = 0 &&Video_Detecte[3] = 1) { out[1] = 3; out[2] = 3; } else if(Video_Detecte[1] = 0&&Video_Detecte[2] = 0 &&Video_Detecte[3] = 0 &&Video_Detecte[4] = 1) { out[1] = 4; out[2] = 4; } else if(Video_Detecte[1] = 0&&Video_Detecte[2] = 0 &&Video_Detecte[3] = 0 &&Video_Detecte[4] = 0) { out[1] = 1; out[2] = 1; } } } change AIN { integer i; i = GetLastModifiedArrayIndex (); out[i] = ain[i]; }
- enable = 1 是启动自动切换 0未禁用自动切换
-
Video_Detecte表示信号源输入
-
AIN 模拟量信号输入
-
out模拟量信号输出
标签:&&,Detecte,else,Video,切换,模块,自动,out From: https://www.cnblogs.com/zp513/p/17874691.html