项目要求用两个输入信号时间差控制两个模拟量输出值。两个开关对应两个模拟量。
输入1对应模拟量1,手动设置模拟量输出值。输入2对应模拟量2,输出值由两个开关的输入前后及之间的时间差决定。
当输入1比输入2先输入时,模拟量2的值增加。当输入1比输入2后输入时模拟量2减小。模拟量2单次增加或减小的值由两个输入之间时间差决定。时间长增加减小值大,时间短增加减小值小。
求一个编程思路?用什么指令算两个输入之间的时间差?
钻石用户推荐最佳答案
如果输入点脉冲比较快,可以采用输入中断处理,否则可一般处理。
处理流程可以这样实现:
输入点1 对应M1 输入点1信号到 M1置位
输入点2 对应M2 输入点1信号到 M2置位
当输入1信号到,看M2是否置位, 如果M2为ON,说明输入2信号先到,按输入2信号记录的时间点计算时间间隔,按设定流程处理,M1和M2复位。如果M2为OFF,说明输入1先到,将M1置位,同时记录时间点。
当输入2信号到,看M1是否置位, 如果M1为ON,说明输入1信号先到,按输入1信号记录的时间点计算时间间隔,按设定流程处理,M1和M2复位。如果M1为OFF,说明输入2先到,将M2置位,同时记录时间点。
记录时间点可以读取当前时间,也可以使用BITIM和citim 指令处理,时间记录根据分辨率使具体使用不同的处理方法。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc347075.html