在编写程序的过程中,经常会碰到存储区中的数值需要改变,或者数据在PLC中存储位置需要改变,这就需要用到传送指令。
首先我们介绍一下标准的一对一传送指令:MOV指令:将IN端输入数据复制一份移至OUT输出端,数据类型不同需要用的传送指令也不同,有如下几种。
说明:
1.只要检测到EN条件闭合,就发生数据传送,每个扫描周期执行一次。
2.值的传送过程为IN复制到OUT,OUT中原本数据被覆盖掉,IN中数据仍然保留。
3.对IN的参数可以是常数也可以是变量,对OUT必须是变量。IN为常数时,通常称为赋值。
4.每种指令对应的数据类型必须匹配,否则会发生错误。
5.对定时器和计数器用字传送指令,传送的是当前值。
6.实数传送即浮点数传送,因为浮点数都是32位,所以操作数也为VD。不能与双字传送混用。
7.ENO为能流输出,可以再接其它指令,如常开,常闭,输出,置位,复位等。不接指令时不得延长否则编译报错。
立即传送指令:
移动字节立即读取指令读取物理输入 IN 的状态,并将结果写入存储器地址 OUT 中,但不更新过程映像寄存器。
传送字节立即写入指令从存储器地址 IN 读取数据,并将其写入物理输出 OUT 以及相应的过程映像位置。
块传送指令:将相邻几个数据同时传送到另外几个相邻的寄存器中。块传送应避免地址重叠,否则容易发送数据传输错误。
以BLKMOV_B为例说明指令的执行过程:将IN(VB0)开始的N(5)个数据复制到OUT(VB5)开始的N(5)个寄存器中,N为1-255。三种块传送原理相同,只是存储空间大小不同而已。
字填充指令:将IN中字类型的存储器或常数写入从地址OUT开始的N个字寄存器中。N的范围是1—255。
典型应用:批量清零,初始化。
交换指令:每执行一次,将IN中的字寄存器的高字节和低字节交换一下。
字交换方法:两个字要进行互换,没有直接指令,可以使用传送指令进行交换。
比如要将VW100和VW102中的数据互换,可用如下程序实现:
- 西门子S7-1500在不同网段通讯的常用方法! 2024-11-29
- 【实用干货】PLC在电气自动化控制系统中的各种应用集合 2024-11-29
- S7-1200 与S7-1500 中优化的 DB 块和标准 DB 块有哪些 2024-11-29
- 西门子PLC编程中FB与FC的区别 2024-11-29
- 西门子博图进行PN通讯控制ET200S 2024-11-29
- 西门子PLC与AS-I从站通信 2024-11-29
- 西门子S7-200SMART之间Profinet通信教程 2024-11-29
- 1200与200SMART进行TCP通信的全过程 2024-11-29
- 什么是分配列表?西门子S7-1200分配列表如何使用? 2024-11-29
- 西门子S7-1500 模拟量模块读取数据程序编写 2024-11-29