三菱PLC的特殊模块的读写指令
- 格式:doc
- 大小:181.50 KB
- 文档页数:6
三菱PLC功能指令1.位操作指令:位操作指令用于读取、写入和修改位级别的数据。
常见的位操作指令包括LD(逻辑与)、ORR(逻辑或)、AND(逻辑与)、XOR(异或)等。
2.数据操作指令:数据操作指令用于读取、写入和修改字节、字和双字级别的数据。
常见的数据操作指令包括MOV(赋值)、ADD(加法)、SUB(减法)、MUL(乘法)、DIV(除法)等。
3.计数器指令:计数器指令用于实现计数功能。
有三种类型的计数器指令:上升沿计数器、下降沿计数器和阶段计数器。
计数器指令可以用于进行数量统计、进度监测等应用。
4.定时器指令:定时器指令用于实现定时功能。
有两种类型的定时器指令:上升沿定时器和下降沿定时器。
定时器指令可以用于进行时间监测、延时操作等应用。
5.移位指令:移位指令用于将数据的位进行移动。
常见的移位指令包括SHL(左移)、SHR(右移)等。
移位指令通常用于数据处理和位拼接等应用。
6.比较指令:比较指令用于比较两个数值的大小。
常见的比较指令包括CMP(比较)、EQ(等于)、NE(不等于)、GT(大于)等。
比较指令可以用于实现条件判断和逻辑控制等应用。
7.转移指令:转移指令用于控制程序的流程。
常见的转移指令包括JMP(无条件跳转)、JE(等于时跳转)、JNE(不等于时跳转)、JG(大于时跳转)等。
转移指令可以用于实现程序的循环和条件判断等应用。
8.存储器控制指令:存储器控制指令用于读取和写入存储器的数据。
常见的存储器控制指令包括LD(读取)、ST(写入)等。
存储器控制指令可以用于实现数据存储和加载等应用。
9.数学指令:数学指令用于实现各种数学运算。
常见的数学指令包括SIN(正弦)、COS(余弦)、SQRT(平方根)等。
数学指令可以用于实现数据处理和数值计算等应用。
10.基本运算指令:基本运算指令用于实现基本的数值运算。
常见的基本运算指令包括加法、减法、乘法和除法等。
基本运算指令通常用于实现逻辑计算和数据处理等应用。
三菱FX系列plc指令集锦1、LD 取一常开触点指令2、LDI 取一常闭触点指令3、AND 串联一常开触点4、ANI 串联一常闭触点5、OR 并一常开触点6、ORI 并一常闭7、ANB 并联回路的“与”运算8、ORB 并联回路的“或”运算9、MPS 累加器结果的进栈堆10、MRD 读取栈内容11、MPP 堆栈移出内容12、PLS 上升沿输出13、PLF 下降沿输出14、LDP 上升沿读入累加器15、LDF 下降沿读入累加器16、ANDP 累加器内容与上升沿“与”运算17、ANDF 累加器内容与下降沿“与运算18、ORP 累加器内容与上升沿“或”运算19、ORF 累加器内容与下降沿“或”运算20、MC 生产主控母线(操作数Y、M)21、MCR 生产主控母线复位指令22、示教式定时设定的应用制定功能指令TTMR(FNC64)注释:“K2”常数0—2设定定时设定值与按键输入时间的比例1)、当K=0时,定时设定与按键输入比例为1:12)、当K=1时,定时设定与按键输入比例为1:103)、当K=2时,定时设定与按键输入比例为1:100TTMR实际改变的是数据寄存器的存储数据,故需要进行示教式设定的定时器必须用数据寄存器D来设定时间。
(精度比较差)23、任意频率的时钟生成M8011(10Ms)M8012(100Ms)M8013(1S)M8014(60S)任意周期时钟脉冲信号可利用STMR指令的特性,通过以下程序生成。
24、高速比较指令(DHSZ)25、高速置位/复位指令(DHSCS/DHSCR)FNC53/FNC54用于计数器的比较与输出的直接控制注释:高速计数器C241为带复位输入(X1)的单相高速输入计数器,使用DHSCS后,只要计数器值达到1000后,y0置1(不受PLC时间的限制),而使用DHSCR后,只要计数值到达2000,就可以使Y0置为0。
26、高速比较指令(DHSZ) FNC 55注释:K1000为比较下限K2000为比较上限27、速度测量(SPD) FNC56(脉冲密度指令)可以计算单位时间内的输入脉冲数,可用于以位置脉冲形式输出的机械装置速度的实时测量。
三菱特殊功能模块读写指令的使用在我们的FX系列PLC有很多特殊功能模块,大致可以分成:模拟量输入/输出模块、温度传感器输入模块、定位控制模块等等。
那么三菱FX系列PLC的模拟量模块是如何和三菱FX PLC 进行联系的呢?在三菱FX系列PLC中设置有两个指令对模拟量模块进行控制,这两条指令就是读指令FROM和写指令TO。
PLC和模拟量模块的数据交换就是通过这特殊功能模块的读写指令来完成的。
对于这两个指令,其中的操作数涉及到模块编号和模块BFM单元,那么我们首先是要理解一下什么是模块编号和什么是模块BFM单元。
下面就先讲一下模块编号的由来。
当出现多个特殊功能模块与PLC进行相连时,PLC对模块进行的读写操作必须得区分出是哪个模块进行的,因此就产生了区分不同模块的位置编号。
一个PLC的基本单元最多能连接8个特殊功能模块,所以编号就是0#-7#。
那么什么是特殊功能模块的缓冲存储器BFM呢?缓冲存储器BFM的主要功能就是作为PLC与特殊功能模块进行信息交换的中间单元。
FX2N的模拟量模块大都是32个BFM缓冲存储单元的,编号是从BFM0-BFM31。
我们要知道的是每个BFM缓冲存储器都是一个字单元,所以我们经常会说到通道字和状态字等。
对以上的概念有了一定的了解之后,我们就开始学习一下特殊功能模块的读写指令。
特殊功能模块的读指令是FROM,指令格式是FROM m1 m2 D n,这条指令的意思就是把位置编号为m1的特殊功能模块中以BFM#m2为首址的n个数据读到PLC中以D为首址的n个字元件中。
举个例子,FROM K1 K10 D0 K1 这条指令,简单的说就是把1#模块的BFM#10单元内容复制到PLC的D0单元里面。
如果将该指令改成FROM K1 K10 D0 K4,那就是把1#模块的BFM#10~BFM#13这四个单元内容复制到PLC的D0~D3单元里面,对应的关系是:BFM#10对应D0,BFM#11对应D1,BFM#12对应D2,BFM#13对应D3。
1、FROM指令(FNC78)之阳早格格创做FROM指令的功能是真止对于特殊模块慢冲区BFM指定位的读与支配.指令方法如下:指令中各硬元件、支配数代表的意思如下:CC:FROM指令真止的开用条件.开用指令不妨是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的慢冲区中.。
三菱PLC的特殊模块的读写指令
在使用三菱特殊功能模块时,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指定位
的读取操作。
指令格式如下:
指令中各软元件、操作数代表的意义如下:
C C:FROM指令执行的启动条件。
启动指令可以是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的缓冲区中。