回复:关于三个按钮,哪个是最后一个按下的问题

路易十三

  • 帖子

    240
  • 精华

    0
  • 被关注

    5

论坛等级:游侠

注册时间:2010-12-01

普通 普通 如何晋级?

发布于 2012-07-31 07:57:41

5楼

FUNCTION_BLOCK FB400
const
nVarNumber := 3;
END_CONST

VAR_INPUT
nID : INT;
bOpt : INT;
// Block Parameters
END_VAR
VAR_IN_OUT
// I/O Parameters

END_VAR

VAR
m_nOrder : ARRAY[1..nVarNumber] OF INT:=nVarNumber(0);
END_VAR



VAR_OUTPUT
nNumber : INT;
nIDlast : INT;
END_VAR


VAR_TEMP
// Temporary Variables

i : INT;
k : INT;

END_VAR

begin
// Statement Section

IF bOpt = 0 THEN
// Statement Section_IF

FOR i := 1 TO nVarNumber-1 BY 1 DO
// Statement Section
m_nOrder[i] := m_nOrder[i+1];
;
END_FOR;
m_nOrder[nVarNumber] := nID;
;

ELSE
// Statement Section_ELSE
FOR i := nVarNumber TO 1 BY -1 DO
// Statement Section
k := i;
IF m_nOrder[i] = nID THEN
EXIT;
END_IF
;
END_FOR;
FOR i := k TO 2 BY -1 DO
// Statement Section
m_nOrder[i] := m_nOrder[i-1];

END_FOR;
m_nOrder[1] := 0;

END_IF;
nIDlast := m_nOrder[nVarNumber];
nNumber := 0;
FOR i := nVarNumber TO 1 BY -1 DO
// Statement Section
IF m_nOrder[i] <= 0 THEN
EXIT;
END_IF;
nNumber := nNumber +1;
;
END_FOR;

END_FUNCTION_BLOCK
一起从头来过
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。