三菱PLC的特殊模块的读写指令详解 点击:2698 | 回复:5



Smile-lyc

    
  • [管理员]
  • 精华:127帖
  • 求助:50帖
  • 帖子:3482帖 | 22331回
  • 年度积分:1963
  • 历史总积分:145694
  • 注册:2006年8月04日
发表于:2017-06-11 13:11:10
楼主

在使用三菱特殊功能模块时,CPU除了为模块分配输入输出地址(输入X和输出Y)外,还在模块内存中为模块分配了一块数据缓冲区(BFM)来做为和CPU通讯之用。如下所示为高速计数器模块A1SD62的输入输出地址和缓冲区的地址及含义:

 

图1 A1SD62的输入信号

图2 A1SD62的输出信号

图3 A1SD62的缓冲区定义

注:模块的输入输出为占32位,其具体定义和模块在基板的位置有关,表中定义的X00~X1F及Y00~Y1F是模块占用第一个模块位置时的定义,而缓冲区的地址则可以在指令使用。

    三菱有专门两条指令实现对模块缓冲区BFM的读写,即:TO指令和FROM指令,其它指令都是这两个指令的变形,如:DTO表示32位操作指令(无D时,表示16位操作指令),TOP表示在控制命令的上升沿时执行对BFM的写入,可以根据实际情况分别使用,FROM也同样。下面对这两种指令的使用方法做一下简要介绍。

[

1、FROM指令(FNC78)

      FROM指令的功能是实现对特殊模块缓冲区BFM指定位的读取操作。指令格式如下:

指令中各软元件、操作数代表的意义如下:

CCFROM指令执行的启动条件。启动指令可以是X、Y、内部继电器M等。

Kn1模块地址的高位,K代表模块地址的高位用十进制数表示,也可以用十进制数来表示。如:当高速计数器模块A1SD62的输入输出地址分别是XA0F~XB1F及YA0F~YB1F时,此值可以是K10,也可以是HA。实际上此值是指定特殊模块在基板上的位置,在实际设置时,也可按每个位置为16点来计算得到此值(如一个模块占32点则为两个位置)。

Kn2为要读取的缓冲区的地址,可以是十进制数(以K打头),也可以是十六进制数(以H打头)。此地址只和模块有关,和模块在基板的位置无关。

Kn3Mn4读取的数据在PLC CPU中的存储地址(目标地址)。

Kn3代表从特殊模块BFM读取的二进制的位数,以4位(bit)为单位,n3允许值为1~8。如:K4代表16位(bit)。

Mn4代表数据在PLC存储区域的首地址。M代表中间继电器,表示读取的数据存储于中间继电器。存储位置也可以是数据寄存器(常用),此时就不需要前缀Kn3了。

Kn5需要传送的点数。采用FROM、FROMP格式时,以16位二进制为单位,K1代表读取16点,K2代表32点等。采用DFROM、DFROMP格式时,以32位二进制为单位,K1代表读取32点,K2代表64点等。n5的范围为1~32767。

举例:

说明:

0行:当X0=1时,读取1号(第1个K1)模块缓冲区地址29(K29)的数据保存到M0~M15的16点(K4)中间继电器中。

10行:在X0的上升沿,读取1号(第1个K1)模块缓冲区地址29(K29)的数据保存到M0~M15的16点(K4)中间继电器中。

20行:当X0=1时,读取1号(第1个K1)模块缓冲区地址29(K29)的数据保存到寄存器D0中。

30行:当X0=1时,读取1号(第1个K1)模块缓冲区地址29(K29)和30中的数据保存到寄存器D0和D1中。

40行:当X0=1时,读取1号(第1个K1)模块缓冲区地址29(K29)和30中的数据保存到寄存器D0和D1中。

50行:当X0=1时,读取1号(第1个K1)模块缓冲区地址29(K29)~32中的数据保存到寄存器D0~D3中。

60行:当X0=1时,读取第10个模块缓冲区H160,H161的数据到X700~X711中。

2、TO指令(FNC79)

      TO指令是将PLC中的数据写入到特殊模块的缓冲区内。其指令格式如下:

指令中各软元件、操作数代表的意义如下:

(D)TO(P):指令代码,其中D代表32位操作指令,P代表触点上升沿触发TO指令。

Kn1:同FROM指令。

Kn2:要写入数据的模块缓冲区地址(目标地址)。

Kn3Mn4:源数据在PLC中的存储地址。Kn3代表需要写入的二进制位数,以4位(bit)为单位,如K4代表16位,允许输入的值为K1~K8。Mn4代表源数据在PLC中的存储地址。源数据也可以是16位数据寄存器D(常用),此时就不需要前缀Kn3了。

Kn5: 需要传送的点数。允许的值为K1~K32767。

举例:

含义:在X0的上升沿,把D120中的数据写入到第8个模块地址为6的缓冲区中。


1分不嫌少!


楼主最近还看过



pdengong

  • [版主]
  • 精华:20帖
  • 求助:71帖
  • 帖子:1937帖 | 3671回
  • 年度积分:1068
  • 历史总积分:55076
  • 注册:2011年4月11日
发表于:2017-06-12 08:25:19
1楼

谢谢分享 ,好资料。

liujiseng

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4661回
  • 年度积分:0
  • 历史总积分:822
  • 注册:2011年3月29日
发表于:2017-06-12 09:03:39
2楼

谢谢分享谢谢分享.....

魏军_3

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 55回
  • 年度积分:3
  • 历史总积分:182
  • 注册:2007年10月12日
发表于:2017-06-27 11:30:37
3楼
学习学习学习!!!!!1

魏军_3

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 55回
  • 年度积分:3
  • 历史总积分:182
  • 注册:2007年10月12日
发表于:2017-06-27 11:31:06
4楼

真需要呢学习学习学习!!!!!

等春风来

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 90回
  • 年度积分:0
  • 历史总积分:102
  • 注册:2018年1月25日
发表于:2018-10-25 11:03:05
5楼

李金城老师好像很牛哦


热门招聘
相关主题

官方公众号

智造工程师