PID_Compact V2根据条件自动更改正反作用

已锁定

JustLee

  • 帖子

    164
  • 精华

    1
  • 被关注

    21

论坛等级:侠士

注册时间:2010-04-25

普通 普通 如何晋级?

PID_Compact V2根据条件自动更改正反作用

954

3

2022-03-15 09:20:06

看过这个块的说明,需要再state=0也就是未激活的模式下才能更改正反作用

按照动作逻辑写的程序如下

IF     "FC_CP_FP"(In_Signal :=     #PID_InOut.Input.BTN_ControlPoN, SaveStatus := #FP_SaveStatus[0])

    OR "FC_CP_FP"(In_Signal := NOT #PID_InOut.Input.BTN_ControlPoN, SaveStatus := #FP_SaveStatus[1])

THEN

    "DB_MISC".Last_State := #PID_InsDB.State;

    #PID_InOut.Input.SET_Mode := 0;

    #PID_InOut.Input.BTN_ModeActive := true;

    #PID_InsDB.Config.InvertControl := #PID_InOut.Input.BTN_ControlPoN;

    #PID_InsDB(ModeActivate := #PID_InOut.Input.BTN_ModeActive,

               Mode := #PID_InOut.Input.SET_Mode);

    #PID_InOut.Input.BTN_ModeActive := false;

    #PID_InOut.Input.SET_Mode := "DB_MISC".Last_State;

    #PID_InOut.Input.BTN_ModeActive := true;

    #PID_InsDB(ModeActivate := #PID_InOut.Input.BTN_ModeActive,

               Mode := #PID_InOut.Input.SET_Mode);

    #PID_InOut.Input.BTN_ModeActive := false;

END_IF;

逻辑很简单,就是发生更改正反作用的外部信号上升沿或者下降沿就保存上一次的模式(自动或手动)然后执行一次指令进入成未激活模式更改正反作用,再用保存下来的上一次的模式执行一次PID指令恢复到之前的模式

现在的情况是红色代码以上的部分结果都正常,但是就是恢复不到之前的模式,就停在未激活模式下了

第一次使用1500的PID块,不知道是不是还有什么其他的要求,求前辈指导

PID_Compact V2根据条件自动更改正反作用 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10584条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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