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

已锁定

勿在浮沙筑高台

  • 帖子

    92
  • 精华

    0
  • 被关注

    1

论坛等级:侠客

注册时间:2024-07-01

钻石 钻石 如何晋级?

发布于 2024-09-25 10:27:13

3楼

展开查看
以下是引用lu_zhao_long在2024-09-24 20:27:57的发言 >1楼

有点好奇,你为什么不写 "自动模式" = false,却写成 false = "自动模式"?!

个人理解,“ :=” 作为赋值语句,即使前面条件消失了,它的值是不变的。有点类似于 LAD 语句中的 Set 指令。

所以,如果你不希望是 Set 指令的结果,可能用这个表达式会更简单:

"功能块控制开关" := NOT ("自动模式") AND "HMI控制开关"


你所附截图中的 程序段 4,相当于一个 FBD 块,它的 EN 端 信号就是 NOT("开关数据".自动模式),它的惟一的一个 Input 端信号就是 "开关数据".HMI 控制开关。

此时它的功能就类似一个 可控硅。当 EN 端为 true 时,Out := Input

不同之处在于,当 EN = false 时,(Out)n = (Out)n-1。就是 EN 从 true 向 false 转换前的 Out 值会被保持。

EN 端信号的描述很好,

EN true就执行FBD内的流程("功能块控制开关" := "HMI控制开关")

EN false就不执行FBD内的流程("功能块控制开关" := "HMI控制开关"),也就是"HMI控制开关"不会影响"功能块控制开关"。


"功能块控制开关" := NOT ("自动模式") AND "HMI控制开关" 但这句话就不一样了

NOT ("自动模式") true: "功能块控制开关" := "HMI控制开关"

NOT ("自动模式") false: "功能块控制开关" := false

所以EN端的FBD是不能用    A:= NOT B AND C的形式替换的





评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有11204条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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