IF "WORD_QW0" = 2#0000_0000_0000_0000 THEN//移到最后一位后需要补一个位或则一值是0
"WORD_QW0" := 2#0000_0000_0000_0001;//填补一个1
END_IF;
IF "WORD_QW2" = 2#0000_0000_0000_0000 THEN
"WORD_QW2" := 2#1000_0000_0000_0001;
END_IF;
"R_TRIG_DB"(CLK := "Clock_1.25Hz",
Q => "Start_P");//一个上升沿移一次
IF "Start_P" = TRUE THEN
"WORD_QW0" := SHL(IN := "WORD_QW0", N := 1);//字左移1位
END_IF;
IF "Start_P" = TRUE THEN
"WORD_QW2" := SHR(IN := "WORD_QW2", N := 1);//字右移1位
END_IF;
ELSIF "Start_SLR" = FALSE THEN//停止移位后全部清零
"WORD_QW0" := 16#0000;
以上程序测试OK,请问还有其他方法吗,请分享谢谢!