《工业控制网络安全技术与实践》一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推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
18 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
24天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
242 55
|
2月前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
93 2
|
1月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
169 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
21天前
|
数据采集 监控 安全
公司网络监控软件:Zig 语言底层优化保障系统高性能运行
在数字化时代,Zig 语言凭借出色的底层控制能力和高性能特性,为公司网络监控软件的优化提供了有力支持。从数据采集、连接管理到数据分析,Zig 语言确保系统高效稳定运行,精准处理海量网络数据,保障企业信息安全与业务连续性。
39 4
|
2月前
|
安全 Windows
【Azure Cloud Service】在Windows系统中抓取网络包 ( 不需要另外安全抓包工具)
通常,在生产环境中,为了保证系统环境的安全和纯粹,是不建议安装其它软件或排查工具(如果可以安装,也是需要走审批流程)。 本文将介绍一种,不用安装Wireshark / tcpdump 等工具,使用Windows系统自带的 netsh trace 命令来获取网络包的步骤
80 32
|
2月前
|
弹性计算 监控 数据库
制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程
本文通过一个制造企业ERP系统迁移至阿里云ECS的实例,详细介绍了从需求分析、数据迁移、应用部署、网络配置到性能优化的全过程,展示了企业级应用上云的实践方法与显著优势,包括弹性计算资源、高可靠性、数据安全及降低维护成本等,为企业数字化转型提供参考。
64 5
|
2月前
|
存储 数据可视化 API
重磅干货,免费三方网络验证[用户系统+CDK]全套API接口分享教程。
本套网络验证系统提供全面的API接口,支持用户注册、登录、数据查询与修改、留言板管理等功能,适用于不想自建用户系统的APP开发者。系统还包含CDK管理功能,如生成、使用、查询和删除CDK等。支持高自定义性,包括20个自定义字段,满足不同需求。详细接口参数及示例请参考官方文档。
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
42 1
|
2月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
128 3

热门文章

最新文章

下一篇
开通oss服务