热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

三菱PLC功能指令

三菱PLC功能指令:操作码(指令助记符,表示指令的功能)操作数(参与操作的对象,源S࿰

三菱PLC功能指令:操作码(指令助记符,表示指令的功能)+操作数(参与操作的对象,源S,目标D,其他m,n操作数,其他操作数是补充注释的常数,用十进制K和十六进制H表示)
MOV连续执行
MOVP脉冲执行

数据寄存器(D):fx2n系列plc每一个数据寄存器都是16位的,最高位为正负符号位,也可以用两个数据寄存器合并起来存储32位数据。
1、通用数据寄存器(D0-D199 断电数据清零)
2、断电保持数据寄存器 (D200-D999 )
其中D200-D511有断电保持功能,可以利用外部设备的参数设定改变通用数据寄存器与有断电保持功能数据寄存器的分配
D490-D509供通信使用
D512-D999的断电保持功能不能用软件改变,但可用指令清除他们的内容,根据参数设定可以将D1000以上作为文件寄存器。
3、文件寄存器(1000-2999)
4、RAM文件寄存器(6000-7999)
5、特殊数据寄存器(D8000-D8255)监视plc的运行状况,如扫描时间,电池电压,未加定义的特殊数据寄存器,用户不能使用。
6、变址寄存器(V/Z):FX2N系列plc有V0-V7和Z0-Z7共16个变址寄存器,它们都是16位的寄存器


1、传送与比较指令


  • CMP比较 (D)CMP(P)连续执行和脉冲执行。16位指令7步,32位指令13步。
    例:CMP K100 C2 M0:源操作数C2中的数据和K100作比较,大于小于等于三种结果,分别接通M0 M1 M2的常开点,使Y0 Y1 Y2分别得电运行。指定M0默认M0 M1 M2自动的被占用。使用复位指令ZRST M0 M3清除比较结果。
  • ZCP区域比较 (D)ZCP(P)16位指令7步,32位指令17步。
    例:ZCP K10 K150 T2 M0:将定时器T2中的数据和K10、K150比较,小于K10、大于K150、大于K10且小于K150三种情况,分别接通M0 M1 M2的常开点,使Y0 Y1 Y2分别得电运行。指定M0默认M0 M1 M2自动的被占用。使用复位指令ZRST M0 M3清除比较结果。
  • MOV传送 MOV(P) MOV K100 D10将源数据(可取所有数据类型)传送到指定的目标(目标操作数可以是KnY、KnM、KnS、T、C、D、V、Z),常数K100自动被转换为BIN码。
    注意:16位运算占5个程序步,32位占9个程序步。
    例1:传定时器的值:MOV T0 D20:把计数器T0的当前值读到数据寄存器D20中。
    例2:传常数:MOV K100 D10 ,OUT T20 D10:把K100常数传送到D10寄存器中,并将D10中的数据作为定时器T20的值
    位状态的存储KnX0: 每个K代表4个位,每个n代表多少个K,所以他们表示4乘以n个二进制位,可以转换为十进制数,0代表起始位置。K1X0代表X3 X2 X1 X0共4位,K2X0代表X7 X6 … X1 X0共8位
    例3:1、MOV K4X0 D0:将X15 X14 … X1 X0共16位输入信号数据放入16位数据寄存器D0中
    2、MOV D0 K4Y0:修改16位数据寄存器D0的相应位上的值为1,则Y15到Y0共16位相应位上则会有输出信号(点亮led灯)
    3、MOV K1X0 K1Y0表示X0 X1 X2 X3四个常开开关控制Y0 Y1 Y2 Y3四个线圈的程序。注意K1、K2、K3、K4是位组件的表示方法,每一组代表四位。如K1X0,就表示X0-X3这四个位元件组成的位组元件。
    例4:传双字数据寄存器:DMOV D0(D1) D10(D11)写成DMOV D0 D10,DMOV C235 D20(D21)写作DMOV C235 D20,运算结果以32输出的应用指令、32位数值或32位软元件的高速计数器当前值等数据的传送,必须使用D指令
    例5:浮点数据的传送:浮点数据必须用双字32位数据寄存器存储,二进制的表示方法分3部分:b31是符号位,b30-b23共8位是阶码位,b22-b0共23位是有效数字位。DEMOV E1.5 D0或DEMOV D0 D2(此处不能使用D1)
  • SMOV(P)移位传送 将源数据(16位二进制)自动转换为四位BCD码再进行移位传送。SMOV只有16位运算,占11个程序步。
    例:SMOV D1 K4 K2 D2 K3指令是将数据寄存器D1中的二进制数据所对应的BCD码(四位十进制数)右起第四位(K4)开始的两位(K2)BCD码 移动到 数据寄存器D2中的BCD码右起第三位和第二位。
  • CML倒转传送(反相传送)(D)CML(P) 16位指令5步,32位指令9步。
    例:CML D0 K1Y0:将数据寄存器D0中的数据取反(0变1,1变0)传送到目标地址,如果D0中的数据大于4位(K1)则只取右起前四位取反,并从Y0 Y1 Y2 Y3输出。注意K1、K2、K3、K4是位组件的表示方法,每一组代表四位。如K1X0,就表示X0-X3这四个位元件组成的位组元件。
  • BMOV一并传送(块传送指令) 将源操作数指定元件开始的n个数据组成数据块传送到指定的目标。16位操作,占用7个程序步。
    例:BMOV D10 D9 K3 将D10 D11 D12中的三位(K3)数据传送到D9 D10 D11中。(左移)
    例:BMOV D10 D11 K3将D10 D11 D12中的三位(K3)数据传送到D11 D12 D13中。(右移)
  • FMOV多点传送 (D)FMOV(P) 将源操作数中的数据传送指定目标开始的n个元件中,传送后n个元件中的数据完全相同。n小于512,16位操作数占7个程序步,32位操作数占13个程序步。
    例:FMOV K0 D0 K10:把数据K0传送到以数据寄存器D0开始的10个元件D0~D9中,D0到D9中的数据完全相同。

XCH交换


  • BCD bcd转换(D)BCD(P) 将二进制数据转换为8421码。16位指令5步,32位指令9步。16位数值范围0-9999,32位0-99999999
    例:BCD D12 K2Y0将数据寄存器D12中的二进制数转换为8位(K2?)BCD码从Y0到Y7输出??
  • BIN bin转换(D)BIN(P) 将数据(BCD码)转换为二进制数。16位指令5步,32位指令9步。16位数值范围0-9999,32位0-99999999
    例:BIN K2X0 D13将8位(K2?)BCD码转换为二进制数据放入D13数据寄存器中??

2、程序流程控制指令

程序跳转指令


  • CJ条件跳转,CJP脉冲执行方式,可以缩短运算周期和使用双线圈 例:“CJ P8” 指令+标识符。注意:1、被跳过程序驱动条件改变时,但其线圈保持跳转前的状态,2、跳转执行期间定时器和计数器停止工作,直到跳转条件不满足。3、跳转指令指针标识符不要在跳转指令之前。4、程序跳转条件执行时间不能大于200ms,不然WDT会报错。

CALL子程序调用
SRET子程序返回


  • EI中断许可,DI中断禁止,IRET中断返回:中断指令用于中断信号引起的子程序调用,EI和DI指令组成允许中断范围,中断源产生中断后,CPU暂停主程序执行转而执行中断服务程序,当遇到IRET时 返回断点继续执行主程序。注意:中断源同时发出信号中断指针号越小优先级越高。

FEND主程序结束
WDT监控定时器:对PLC的监视定时器进行刷新,缺省值是200ms,可用D8000来设置
FOR循环范围开始
NEXT循环范围终了
3、算数及逻辑运算控制指令
4、循环位移指令
5、数据处理


6、高速指令


  • 高速脉冲指令PLSY

PLSY K1600 K6400 Y0:每秒钟发送1600个脉冲(频率),一共发送6400个脉冲,由Y0输出。脉冲输出个数=0时,表示一直发脉冲。不能控制电机方向,方向信号需要单独控制。
脉冲频率控制脉冲转速,脉冲输出个数控制电机旋转圈数或者说位置。
M8029脉冲输出结束标识,脉冲输出结束8029接通。
D8140:32位寄存器,存放Y0当前脉冲数
D8142:32位寄存器,存放Y1当前脉冲数


  • 带加减速高速脉冲指令PLSR
    PLSR K1600 K6400 K1000 Y0:K1600脉冲输出频率,K6400脉冲输出个数,K1000加减速时间设定1S,Y0脉冲输出端子,不能控制电机方向,方向信号需要单独控制。
    M8029脉冲输出结束标识,脉冲输出结束8029接通。
  • 带加减速和方向控制的高速脉冲指令PLSV
    PLSV没有脉冲输出个数,一般用作点动指令使用。
    PLSV K-1600 Y0 Y3: K1600脉冲输出频率,值可以为正值和负值表示不同方向,Y0脉冲输出端子,Y3方向信号不需要单独控制
    PLSV指令加减速的设置:首先启用设置加减速(接通M8338启用),第二设置加减速,Y0加速时间设置D8348(16位)减速时间设置D8349(16位),Y1加速时间设置D8358(16位)减速时间设置D8359(16位),Y2加速时间设置D8368(16位)减速时间设置D8369(16位)。

PLSY、PLSR、PLSV以上三条高速脉冲指令用在点动程序中,自动定位控制中基本不适用

7、方便指令
8、外部输入输出处理指令
9、外部设备通信指令
10、实数处理指令
11、位点控制
12、实时时钟


推荐阅读
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了如何使用Spring Boot进行高效开发,涵盖了配置、实例化容器以及核心注解的使用方法。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文将详细介绍如何在Linux操作系统中执行PHP脚本,包括环境配置、命令使用及验证方法。对于需要在Linux环境下开发或部署PHP应用的用户来说,这是一篇非常实用的文章。 ... [详细]
  • 本文探讨了 Spring Boot 应用程序在不同配置下支持的最大并发连接数,重点分析了内置服务器(如 Tomcat、Jetty 和 Undertow)的默认设置及其对性能的影响。 ... [详细]
  • vivo发布iQOO 11系列:搭载骁龙8 Gen2与多项创新技术
    vivo正式推出iQOO 11系列智能手机,该系列搭载最新的高通骁龙8 Gen2处理器,并引入多项创新技术,致力于为用户提供卓越的性能和游戏体验。 ... [详细]
author-avatar
mobiledu2502880517
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有