《工业控制网络安全技术与实践》一2.5.3 PLC的基本指令系统

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 本文讲的是工业控制网络安全技术与实践一2.5.3 PLC的基本指令系统,本节书摘来华章计算机《工业控制网络安全技术与实践》一书中的第2章,第2.5.3节,姚 羽 祝烈煌 武传坤 编著 译更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.5.3 PLC的基本指令系统

本文讲的是工业控制网络安全技术与实践一2.5.3 PLC的基本指令系统,PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同于一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。各公司的产品有它们自己的编程语言,分别介绍几种典型的编程语言如下。

1.欧姆龙CPM系列小型PLC的基本指令[17]

(1)LD和LD NOT指令
LD和LD NOT指令用于决定指令执行的第一个条件。LD指令表示指令执行的条件;LD NOT指令表示将指令执行的条件取反。LD、LD NOT指令只能以位为单位进行操作,且不影响标志位。
(2)OUT和OUT NOT指令
OUT和OUT NOT用于输出指定位的状态。OUT指令输出逻辑运算结果,OUT NOT 指令将逻辑运算结果取反后再输出。
(3)AND和AND NOT指令
AND指令表示操作条件和它的位操作数之间进行逻辑“与”运算;AND NOT指令表示将它的位操作数之间取“反”后再与其前面的操作条件进行逻辑“与”运算。
(4)OR和OR NOT指令
OR指令表示操作条件和它的位操作数之间进行逻辑“或”运算;OR NOT指令表示后面的位操作数取“反”后再与其前面的操作条件进行逻辑“或”运算。
(5)AND LD指令
AND LD指令用于两个逻辑块的串联连接,即对逻辑块进行逻辑“与”操作。
(6)OR LD指令
OR LD指令用于两个逻辑块的并联连接,即对逻辑块进行逻辑“或”操作。
(7)置位和复位指令(SET和RESET)
当SET指令的执行条件为ON时,使指定继电器位置为ON;当执行条件为OFF时,SET指令不改变指定继电器的状态。当RESET指令的执行条件为ON时,使指定继电器复位为OFF;当执行条件为OFF时,RESET指令不改变指定继电器的状态。
(8)保持指令(KEEP(11))
根据置位输入和复位输入条件,KEEP用来保持指定继电器M保持为ON状态或OFF状态。当置位输入端为ON时,继电器M保持为ON状态,直至复位输入端为ON时使其变为OFF。
(9)上升沿微分和下降沿微分指令(DIFU(13)/DIFD(14))
当执行条件由OFF变为ON时,上升沿微分DIFU使指定继电器在一个扫描周期内为ON;当执行条件由ON变为OFF时,下降沿微分DIFD使指定继电器在一个扫描周期内为ON。
(10)空操作指令(NOP(00))
空操作指令用来取消某一步操作。此指令无操作数,无梯形符号。
(11)结束指令(END(01))
END(01)指令表示程序结束,放在程序的最后。

  1. FX系列PLC指令
    FX系列PLC共有基本指令20条,步进指令2条,应用指令85条。基本指令和应用指令可通过增加后缀或前缀进行扩充,若考虑此种情况,则实际基本指令有27条,应用指令有245条。

(1)逻辑取、输出线圈驱动指令(LD、LDI、OUT)
3个指令的介绍如表2-1所示。
screenshot
说明:
① LD、LDI指令用于将触点连接到母线上,逻辑运算开始,连接触点可以是X、Y、M、S、T、C继电器的触点。与ANB指令配合,在分支起点处也可使用。
② OUT指令是对Y、M、S、T、C继电器线圈的驱动指令。
③ 并行输出指令可以多次使用。
④ LD、LDI指令的程序步数为1步。OUT指令的程序步数与输出元件有关,若为输出继电器及通用辅助继电器,其步数为1;若为特殊辅助继电器,其步数为2;若为定时器及16位计数器,其步数为3;若为32位计数器,其步数为5。
⑤ 对定时器的定时线圈和计数器的计数线圈,在OUT指令后还必须设定常数K。
(2)触点串联指令(AND、ANI)
AND、ANI指令用于触点的串联连接,对串联触点的个数没有限制。具体如表2-2所示。
screenshot
(3)触点并联指令(OR、ORI)
OR、ORI指令用于1个触点的并联连接。OR、ORI指令是从当前步开始,对前面的LD、LDI指令并联连接,对并联的次数没有限制。具体如表2-3所示。
screenshot
(4)电路块串、并联指令(ANB、ORB)
ORB、ANB指令均为无操作对象的指令。ORB、ANB指令可以重复使用,但由于LD、LDI指令的重复次数有限制,注意电路块的串、并联应在8次以下。两个以上触点串联连接的电路称为串联电路块。串联电路块并联连接时,分支的开始用LD、LDI指令,分支的结束用ORB指令。两个以上触点并联连接的电路称为并联电路块。分支电路并联电路块与前面电路串联连接时,使用ANB指令。分支的开始用LD、LDI指令,并联电路块结束后用ANB指令,表示与前面的电路串联。具体如表2-4所示。
screenshot
(5)多重输出指令(MPS、MRD、MPP)
在PLC中有11个存储器,用来存储运算的中间结果,称作堆栈存储器。其中,使用一次MPS指令便将此时的运算结果压入堆栈的第一层,同时原来存在第一层的数据被压入第二层,以此类推。使用一次MPP指令,将第一层的数据读出,同时其他数据依次上移。MRD指令只是用来读第一层的数据,堆栈内的所有数据均不移动。MPS、MPP指令必须成对使用,而且连续使用次数应少于11次。MPS、MPP、MRD指令都是不带操作对象的指令。具体如表2-5所示。
screenshot
(6)置位与复位指令(SET、RST)
对同一元件可多次使用SET、RST指令,但最后一次执行的结果才有效。SET指令使元件的结果置位(置“1”),其操作对象可以是Y、M、S。RST指令使元件的结果复位(清“0”),其操作对象可以是Y、M、S、T、C、D、V、Z。具体如表2-6所示。
screenshot
(7)脉冲输出指令(PLS、PLF)
PLS、PLF指令的操作元件为输出继电器及通用辅助继电器。使用PLS指令,其后的Y、M元件仅在驱动输入接通后的1个扫描周期内动作(置“1”),随后立即清零。使用PLF指令,其后的Y、M元件仅在驱动输入断开后的1个扫描周期内动作(置“1”),随后立即清零。具体如表2-7所示。
screenshot
(8)NOP及END指令
NOP指令主要用于预先插入程序中,在修改或追加程序时可减少步序号的变化。将程序全部清除时,全部指令变为空操作指令。END指令表示程序的结束。在调试程序时,可分段加入END指令,以便进行分段检查。具体如表2-8所示。
screenshot
(9)其他基本指令
1)9个基本指令。
MC、MCR指令:主控及主控复位指令,可用于公共串联触点的连接及清除。
INV指令:反转指令,即对前面的运算结果取反。
LDP、LDF、ANDP、ANDF、ORP、ORF指令:分别由LD、AND、OR 3个指令加后缀而来,其中“P”表示上升沿(“0”变为“1”),“F”表示下降沿(“1”变为“0”),这几个指令分别表示在前面结果的上升沿或下降沿接通一个扫描周期。
2)步进指令。
步进指令只有STL、RET两条,用来进行流程图程序的编制。步进阶梯指令(STL)是利用内部软元件S在顺控程序上面进行工序步进式控制的指令,STL指令的意义为激活某状态,有建立子母线的功能。返回指令(RET)表示状态(S)流程的结束,用于返回主母线,状态转移程序的结尾必须使用RET指令。
3)应用指令。
应用指令又称功能指令,主要包括程序流向控制指令、算术与逻辑运算指令、循环与移位指令、数据处理指令、高速处理指令、外部输入输出处理指令、浮点运算指令等。这些功能指令实际上就是一个一个功能不同的子程序,某些复杂运算只需一条功能指令即可完成,大大提高了PLC的实用性。

原文标题:工业控制网络安全技术与实践一2.5.3 PLC的基本指令系统

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
11天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
36 2
|
1月前
|
机器学习/深度学习 数据采集 人工智能
未来的守护神:AI驱动的网络安全之盾,如何用智慧的光芒驱散网络黑暗势力?揭秘高科技防御系统背后的惊天秘密!
【10月更文挑战第3天】随着网络技术的发展,网络安全问题日益严峻,传统防御手段已显不足。本文探讨了构建AI驱动的自适应网络安全防御系统的必要性及其关键环节:数据采集、行为分析、威胁识别、响应决策和执行。通过Python库(如scapy、scikit-learn和TensorFlow)的应用实例,展示了如何利用AI技术提升网络安全防护水平。这种系统能够实时监控、智能分析并自动化响应,显著提高防护效率与准确性,为数字世界提供更强大的安全保障。
61 2
|
25天前
|
监控 安全 测试技术
网络信息系统的整个生命周期
网络信息系统规划、设计、集成与实现、运行维护及废弃各阶段介绍。从企业需求出发,经过可行性研究和技术评估,详细设计系统架构,完成设备安装调试和系统集成测试,确保稳定运行,最终安全退役。
33 1
网络信息系统的整个生命周期
|
11天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
46 3
|
12天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
43 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
25天前
|
机器学习/深度学习 存储 运维
图神经网络在复杂系统中的应用
图神经网络(Graph Neural Networks, GNNs)是一类专门处理图结构数据的深度学习模型,近年来在复杂系统的研究和应用中展现了强大的潜力。复杂系统通常涉及多个相互关联的组件,其行为和特性难以通过传统方法进行建模和分析。
46 3
|
25天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
域名解析 缓存 网络协议
【网络】DNS,域名解析系统
【网络】DNS,域名解析系统
98 1
|
1月前
|
物联网 5G 调度
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
58 0
下一篇
无影云桌面