登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
PLC结构化文本(ST)——AND_THEN & OR_ELSE ...
PLC结构化文本(ST)——AND_THEN & OR_ELSE
[ 复制链接 ]
箝德孜
2025-6-5 15:40:55
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
PLC Structured Text Object Oriented Programming
PLC结构化文本(ST)——AND_THEN & OR_ELSE
特殊机制
运算符AND_THEN和OR_ELSE与我们常用的AND和OR功能相同却有点区别。
IF FALSE AND calculate() THEN
Auto.Run();
END_IF
复制代码
假如IF前一个条件一直为FALSE那么后一个条件calculate()仍然会继续执行,得出结果。当然Auto.Run()不会继续执行。
IF TRUE OR calculate() THEN
Auto.Run();
END_IF
复制代码
假如IF前一个条件一直为TRUE那么后一个条件calculate()仍然会继续执行,返回BOOL值得出结果。
上述这两种情况,对于IF条件语句使用运算符AND来说,只要有一个条件是FALSE整条判断语句结果就为FALSE,同样对于使用运算符OR来说,只要有一个条件为TRUE整条判断语句结果就为TRUE。后一个条件就没必要继续运行判断直接执行下一个语句即可。
把上面程序中的运算符AND和OR替换成AND_THEN和OR_ELSE。
IF FALSE AND_THEN calculate() THEN
Auto.Run();
END_IF
复制代码
由于IF条件语句第一个条件是FALSE所以使用AND_THEN运算符后calculate()方法/函数/程序并不会进入执行,也就是说当检测到第一个条件为FALSE时条件判断提前返回结果FALSE。
IF TRUE OR_ELSE calculate() THEN
Auto.Run();
END_IF
复制代码
同理,条件语句使用的是OR_ELSE运算符,结果提前返回TRUE,并且calculate()不参与执行。
如何使用
既然我们已经了解运算符AND_THEN & OR_ELSE的特殊机制。是否可以用来简化代码?提高计算机运行效率?
简化代码
IF bCondition1 THEN // 条件1
IF bCondition2 THEN // 条件2
IF bCondition3 THEN // 条件3
Auto.Run();
END_IF
END_IF
END_IF
复制代码
使用AND
IF bCondition1 AND bCondition2 AND bCondition3 THEN
Auto.Run();
END_IF
复制代码
使用AND_THEN
IF bCondition1 AND_THEN bCondition2 AND_THEN bCondition3 THEN
Auto.Run();
END_IF
复制代码
多个IF条件嵌套使用,代码结构复杂,使用AND_THEN简化之后在同一行形成一个IF条件,代码清晰简洁。
IF ptrMachine <> 0 THEN // ptrMachine 是一个指针
IF NOT ptrMachine^.IsAutoRun() THEN
Auto.Run();
END_IF
END_IF
复制代码
不能
使用AND运算符简化
// 这是一个错误示例
IF ptrMachine <> 0 AND NOT ptrMachine^.IsAutoRun() THEN
Auto.Run();
END_IF
复制代码
无论这个表达式ptrMachine 0结果是什么,后面的表达式ptrMachine^.IsAutoRun()都会被执行,如果指针是空引用则会导致指针空引用异常。
IF ptrMachine <> 0 AND_THEN NOT ptrMachine^.IsAutoRun() THEN
Auto.Run();
END_IF
复制代码
如果指针(ptrMachine)为空(null),IF的第一个条件ptrMachine 0不成立返回FALSE判断直接退出
不执行
ptrMachine^.IsAutoRun()表达式。如果指针不为空,两个判断条件均执行,并且不会出现空指针异常。
总结
合理使用OR、AND、OR_ELSE、AND_THEN运算符,而且OR和OR_ELSE并
不是
可以随意替换使用的,同理AND和AND_THEN也是如此。一切要以自身程序需求来判断使用合适的运算符。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
PLC
结构化
文本
ST
AND
相关帖子
从零实现富文本编辑器#10-React视图层适配器的模式扩展
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
前端技巧:检测到省略号文本自动显示 Tooltip
前端技巧:检测到省略号文本自动显示 Tooltip
前端技巧:检测到省略号文本自动显示 Tooltip
前端技巧:检测到省略号文本自动显示 Tooltip
CF1032F Vasya and Maximum Matching 题解
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
从零实现富文本编辑器#10-React视图层适配器的模式扩展
6
624
吞脚
2026-01-12
安全
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
12
571
诀锺
2026-01-15
安全
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
5
611
滕佩杉
2026-01-15
安全
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
8
421
予捻
2026-01-15
安全
【2026 最新教程】Java 自动化提取 PDF 表格:从文本到 Excel/CSV 的全场景实现
9
1030
后彼
2026-01-15
安全
前端技巧:检测到省略号文本自动显示 Tooltip
0
1
忙贬
2026-01-21
安全
前端技巧:检测到省略号文本自动显示 Tooltip
0
4
县挫伪
2026-01-21
安全
前端技巧:检测到省略号文本自动显示 Tooltip
0
3
毡轩
2026-01-21
安全
前端技巧:检测到省略号文本自动显示 Tooltip
0
5
佟棠华
2026-01-21
安全
CF1032F Vasya and Maximum Matching 题解
4
846
菅舛
2026-01-28
回复
(15)
羔迪
2025-11-2 09:01:02
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
前排留名,哈哈哈
讣丢
2025-12-21 10:20:28
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
兜蛇
2026-1-2 01:59:04
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
懂技术并乐意极积无私分享的人越来越少。珍惜
拼匍弦
2026-1-4 14:58:45
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
猷浮
2026-1-12 07:27:36
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
廖雯华
2026-1-12 13:33:30
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
橘芜
2026-1-15 09:05:26
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
鼓励转贴优秀软件安全工具和文档!
艾曼语
2026-1-16 08:59:16
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
很好很强大 我过来先占个楼 待编辑
闻人莹华
2026-1-17 17:23:37
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
撒阗奕
2026-1-18 15:11:54
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢楼主提供!
跑两獗
2026-1-18 20:07:07
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
热心回复!
梨恐
2026-1-19 23:13:30
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
敖雨燕
6 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
东西不错很实用谢谢分享
呶募妙
3 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
福清婉
3 天前
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,下载保存了,貌似很强大
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
箝德孜
3 天前
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9939
6
韶又彤
9952
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9921
10
俞瑛瑶
9998
查看更多
今日好文热榜
871
一个昏暗的编程教室,电脑屏幕前坐着一位程
532
C++算法算法训练第十二天
912
语言开发随笔2
878
Ivanti EPMM RCE CVE-2026-1340/1281完整分
741
城市智能体:宜昌点军区算力供应链平台的区
248
微软发布Maia200,它也开始与英伟达谷歌掰
921
微软发布Maia200,它也开始与英伟达谷歌掰
470
选型指南】医用控温仪显示屏如何兼顾IEC606
457
IDEA 终于也能爽用 Claude Code 了!!
855
GIM 2.0 发布:真正让 AI 提交消息可定制、
172
C# 设置 Word 文档背景颜色/背景图
845
妙手ERP荣膺TikTok Shop 2025 H1“优质招商
162
题解:P15049 [UOI 2022 II Stage] 图 2
975
vue 甘特图 vxe-gantt 自定义任务条插槽模
240
Qt 技巧笔记(四)QVector 的底层原理与高
714
零门槛搭建部署 OpenClaw/Moltbot/Clawdbot
763
如何保障分布式IM聊天系统的消息可靠性(即
987
【面试题】MySQL 中 count(*)、count(1) 和
547
MWGA让千亿行代码在Web端“复活”!
30
spring6-多种类型的注入方式