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

简介: 本文讲的是工业控制网络安全技术与实践一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的基本指令系统

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
1天前
|
机器学习/深度学习 存储 算法
m基于Yolov2深度学习网络的螺丝检测系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2算法的螺丝检测仿真结果,该系统基于深度学习的YOLOv2网络,有效检测和定位图像中的螺丝。YOLOv2通过批标准化、高分辨率分类器等优化实现速度和精度提升。核心代码部分涉及设置训练和测试数据,调整图像大小,加载预训练模型,构建YOLOv2网络并进行训练,最终保存检测器模型。
12 3
|
5天前
|
机器学习/深度学习 自动驾驶 安全
基于深度学习的图像识别技术在自动驾驶系统中的应用网络安全与信息安全:防御前线的关键技术与意识
【4月更文挑战第30天】随着人工智能技术的飞速发展,深度学习已成为推动多个技术领域革新的核心力量。特别是在图像识别领域,深度学习模型已展现出超越传统算法的性能。在自动驾驶系统中,准确的图像识别是确保行车安全和高效导航的基础。本文将探讨深度学习在自动驾驶中图像识别的应用,分析关键技术挑战,并提出未来的发展方向。
|
6天前
|
机器学习/深度学习 数据采集 安全
基于机器学习的网络安全威胁检测系统
【4月更文挑战第30天】 随着网络技术的迅猛发展,网络安全问题日益凸显。传统的安全防御机制在应对复杂多变的网络攻击时显得力不从心。为了提高威胁检测的准确性和效率,本文提出了一种基于机器学习的网络安全威胁检测系统。该系统通过集成多种数据预处理技术和特征选择方法,结合先进的机器学习算法,能够实时识别并响应各类网络威胁。实验结果表明,与传统方法相比,本系统在检测率、误报率以及处理速度上均有显著提升,为网络安全管理提供了一种新的技术手段。
|
6天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的智能零售柜商品识别系统matlab仿真,带GUI界面
MATLAB 2022a中展示了YOLOv2目标检测算法的仿真结果,包括多张检测图像。YOLOv2是实时检测算法,由卷积层和全连接层构成,输出张量包含边界框坐标和类别概率。损失函数由三部分组成。程序使用75%的数据进行训练,剩余25%作为测试集。通过ResNet-50预训练模型构建YOLOv2网络,并用SGDM优化器进行训练。训练完成后,保存模型为`model.mat`。
21 2
|
8天前
|
机器学习/深度学习 监控 安全
入侵检测系统:实时监测与防范网络攻击
网络攻击频发,防火墙并非万全之策。入侵检测系统(IDS)成为重要补充,监控可疑活动并发出警报。IDS分为网络IDS(NIDS)、主机IDS(HIDS)等类型,分别监控网络流量和主机行为。NIDS部署在边界或内部网络,HIDS关注单台主机安全。IDS结合机器学习能检测异常行为,有效应对已知和未知威胁。在容器安全领域,如德迅蜂巢,通过多锚点监测实现入侵的实时响应和闭环处理,确保业务系统安全,同时具备低影响和高准确性。未来,研究人员将继续借助深度学习等技术提升入侵检测效能。
|
8天前
|
监控 负载均衡 网络协议
|
10天前
|
机器学习/深度学习 运维 监控
|
10天前
|
机器学习/深度学习 算法 计算机视觉
m基于Yolov2深度学习网络的人体喝水行为视频检测系统matlab仿真,带GUI界面
MATLAB 2022a中使用YOLOv2算法对avi视频进行人体喝水行为检测,结果显示成功检测到目标。该算法基于全卷积网络,通过特征提取、锚框和损失函数优化实现。程序首先打乱并分割数据集,利用预训练的ResNet-50和YOLOv2网络结构进行训练,最后保存模型。
22 5
|
12天前
|
调度 数据中心 网络架构
PON系统“被动光网络”
PON(Passive Optical Network)是一种光纤接入网架构,由光线路终端(OLT)、光分配网络(ODN)和光网络单元(ONU)组成。OLT位于中心办公室,管理并调度数据传输;ODN是连接OLT和ONU的光纤网络,通过光分配器被动分发信号;ONU位于用户端,接收和转发数据,维护与OLT的同步。
17 2
|
1天前
|
存储 SQL 安全
数字堡垒的构筑者:网络安全与信息安全的深层剖析
【5月更文挑战第5天】在数字化时代的浪潮中,每一次键入和点击都可能是安全威胁的潜伏点。本文将深入探讨网络安全的漏洞、加密技术的最新进展以及提升个人和企业的安全意识的重要性。通过分析当前网络环境中存在的风险,我们将揭示如何利用先进的加密方法和防御策略来构建一个更加安全的网络环境。文章还将强调持续教育和培训在维持信息完整性方面的核心作用,为读者提供一系列切实可行的安全建议。