新手陷阱,LAD赋值()跟SCL赋值 :=

已锁定

勿在浮沙筑高台

  • 帖子

    92
  • 精华

    0
  • 被关注

    1

论坛等级:侠客

注册时间:2024-07-01

钻石 钻石 如何晋级?

新手陷阱,LAD赋值()跟SCL赋值 :=

2038

11

2024-09-24 20:03:54

背景:之前一直以为LAD的()用SCL写就是A:=B;所以在实现功能块的手自动时,我用了()。手动:hmi界面控制功能块;自动:自动化程序控制功能块。

第一感觉

  1. 增加一个功能块的bool输入引脚【自动模式】,true:自动,false:手动

  2. LAD里    |自动模式/|----|HMI界面控制|---(功能块其他功能的控制引脚)。 如下图LAD部分

新手本新,乍一看,合理,自动模式false,功能块控制开关的值随HMI控制开关的值变化,满足hmi控制需求

到这里我是还没发现错误的。。。

但是当我开始思考自动模式true的场景时。。。我去,这个逻辑下,功能块控制开关的值直接写死false。。。

仔细一想,()虽然名为【赋值】但跟 := 的【赋值】还是不一样的。

如下图LAD部分替换为SCL的话,其实是:

if false = 自动模式 and HMI控制开关 then

    功能块控制开关 := true;

else

    功能块控制开关 := false;

end_if;

跟我设想里的逻辑:

if false = 自动模式 then

    功能块控制开关 := HMI控制开关;

end_if;

不能说不一样,只能说天差地别

赶紧mark一下,防止以后又习惯性将两个等价。。。盲猜有不少道友犯过同样的错

顺便也请教下

1.下图SCL的逻辑,用LAD要怎么实现?

2.大家一般都是怎么实现功能块的手自动控制跟切换的。(就是如何替换功能块的控制流的)?








新手陷阱,LAD赋值()跟SCL赋值 := 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11107条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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