南大傲拓科技NA系列PLC指令BLKMOV应用 点击:912 | 回复:1



糊涂虫6

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 2回
  • 年度积分:0
  • 历史总积分:65
  • 注册:2017年9月30日
发表于:2017-10-08 22:28:56
楼主

 块移动 BLKMOV

功能描述

该功能模块将一定数量的输入数据复制到相同存储空间的输出数据中。

图标调用

LD中的表示形式:

 

 

FBD中的表示形式:

 

IL中的表示形式:

CAL    BLKMOV (IN:=Input, N:=Number, OUT=>Output)

ST中的表示形式:

BLKMOV (IN:=Input, N:=Number, OUT=>Output);

参数说明

图示

参数

描述

数据类型

测点类型

IN

Input

被复制的源数据

BOOLBYTEWORDDWORDSINTINTDINTREALUSINTUINTUDINT

常数、IQIWQWMMWNNWSSW、变量

N

Number

复制数据的数量,以输入数据的类型为单位。

BYTEWORDDWORDSINTINTDINTUSINTUINTUDINT

常数、IWQWMWNWSW、变量

OUT

Output

数据输出的测点,数据被复制后保存在该测点中。

BOOLBYTEWORDDWORDSINTINTDINTREALUSINTUINTUDINT

MMWNNW、变量

 

例:

1、整型数批量移动

 

说明:上图中,当%M0001=1时,以%MW0001为起始地址的连续8个字寄存器数值批量复制到以%NW0001为起始地址的连续8个字寄存器里面。

                                                              

寄存器

数值

 

 

 

 

 

 

 

寄存器

数值

%MW0001

10

%NW0001

10

%MW0002

20

%NW0002

20

%MW0003

30

%NW0003

30

%MW0004

40

%NW0004

40

%MW0005

50

%NW0005

50

%MW0006

60

%NW0006

60

%MW0007

70

%NW0007

70

%MW0008

80

%NW0008

80

 

2、位状态批量移动到字寄存器

      

说明:上图中,当%I0001=1时,以%M0001为起始地址的连续16个位寄存器数值批量复制到以%MW0001为起始地址的连续N个字寄存器里面。如果移动位的个数为32个,那么就占用两个字寄存器,即%MW0001存前16个位,%MW0002存后16个位。

                                                              

寄存器

数值

 

 

 

 

 

 

 

寄存器

数值

%M0001

1

%MW0001

7

%M0002

1

%MW0002

0

%M0003

1

%MW0003

0

%M0004

0

%MW0004

0

%M0005

0

%MW0005

0

%M0006

0

%MW0006

0

%M0007

0

%MW0007

0

%M0008

0

%MW0008

0

3、字状态批量移动到位寄存器

      

说明:上图中,当%I0001=1时,%MW0001寄存器数值批量复制到以%M0001为起始地址的连续16寄存器里面。如果移动位的个数为2个,那么就占用32寄存器,即%M0001%M0016存前16个位(%MW0001的数值)%M0017~%M0032存后16个位(%MW0002的数值)

                                                              

寄存器

数值

 

 

 

 

 

 

 

寄存器

数值

%MW0001

7

%M0001

1



%M0002

1



%M0003

1



%M0004

0



%M0005

0



%M0006

0



%M0007

0



%M0008

0

4修改SW1-SW6系统时钟

      

说明:上图中,使用BLKMOVE功能块,写入%O1寄存器(此寄存器即为%SW1~%SW6,共6个字,系统时间寄存器)的值,输入端IN可用%MW%NW%V寄存器,每个寄存器独立存储年、月、日、时、分、秒,请注意数据范围,如果有数据范围不对的,写入将不成功,比如月超过12,小时超过24

5读取SOE事件

      

说明:上图中,使用BLKMOV功能块,SOE模块产生SOE事件,每个CPU最大可以存储256SOE事件,对应%E[0]~%E[255]N读取事件的个数。每个SOE事件,占用16个字节,具体格式见下表:

SOE事件信文格式:

地址(字节)

名称

说明

1

事件标识

1

2

性质

1OFFON

0ONOFF

3

此数值为(年-2000)后的值

4


5


6


7


8


9

毫秒


10


11

测点号


12

13

测值

0/1

14

15

预留数据

0

16

 

SOE事件指针%SW0010存储当前事件储存地址,起始地址为10031(字型地址),产生一个SOE事件,指针加8,达到256个事件后,指针重新从10031开始,同理,%E[**]存储SOE事件也是采取滚动模式,超过%E[255]后,下一个事件从%E[0]开始存储。





70123

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1195回
  • 年度积分:15
  • 历史总积分:136
  • 注册:2013年8月08日
发表于:2017-10-09 08:16:56
1楼

感谢分享呵呵呵呵的学习


热门招聘
相关主题

官方公众号

智造工程师