教程5三菱的指令系统_第1页
教程5三菱的指令系统_第2页
教程5三菱的指令系统_第3页
教程5三菱的指令系统_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、教程5 三菱的指令系统(V1.0)5.1 三菱的指令系统三菱的指令系统在国内是被研究的比较深入的指令系统,因而国内仿三菱的PLC也是最多的。原因是三菱的PLC比较简单,主要体现在以下几个方面:1、通讯协议简单,大约只有45个命令(读/写,force on/force off等);2、通讯命令采用绝对地址方式,很容易被推测出内部结构;5.1.1 三菱的指令字节码三菱的指令字节码的安排很不合理,但从另一侧面也反映早期PLC的功能和控制能力是比较弱,随着PLC的发展,PLC的功能也在不断加强,但为了保持兼容,通常采用打补丁的方法扩展,用现在的眼光看就显得极不合理,本教程以FX1S系列PLC为例说明。

2、指令字节码是指令中的指令码、变量地址、常数以一定的顺序,按字节(或字)排列而成的一串二进制代码。三菱指令字节码中的变量地址采用绝对地址,其划分如下:寄存器名称 =位地址 + 偏移量 = 实际地址ppp 空间(最大)S =(S0127 = 02F) + 0 = 0000007F128 * 8 = 1024 bitsX (八进制) =(X000017 = 001)+ 80=008009F 32 * 8 = 256Y (八进制) =(Y000015 = 001)+ A0=00A000BF 32 * 8 = 256T =(T063 :03F)+ C0=00C000FF64 * 4 = 256M =(M

3、0511 = 040)+ 100=010001BF192 * 8 =1536C =(C031 :01F) + 1C0=01C0029F224PY= ()+ 2A0= 02A002BF32 * 8 = 256OT= ()+ 2C0= 02C002FF64 * 4 = 256PM= ()+ 300= 030003BF192 * 8 = 1536M1536M3071OC= ()+ 3C0= 03C004BF256RT= ()+ 4C0= 04C005BF256RC= ()+ 5C0= 05C007FF256TV= ()+ 800= 080009FF256CV16= ()+ A00= 0A000BFF

4、256CV32= ()+ C00= 0C000DFFD80008255= () + E00 = 0E000FFF256D0D255= (01FF) + 1000 = 011FF5.1.2 三菱指令格式三菱的指令字节码的指令类型由第一个字决定,其中第一个字的最高4位定义如下: 应用指令 = 0 P应用指令 = 1 LD= 2 LDI = 3 AND = 4 ANI = 5 OR= 6 ORI = 7 数据/地址 = 8 (多字指令,第二字及以后有效) 地址 = A (仅对M1536-M3071有效,需加偏移量200) OUT = C (仅对Y,M有效) SET = D (仅对Y,M有效) RST

5、 = E (仅对Y,M有效) 纯单字指令 = F 5.1.2.1 单字格式单字格式,即一个字(16位二进制数)表示一条指令,如:纯单字指令 END 000F ANB FFF8 ORB FFF9 MPS FFFA MRD FFFB MPP FFFC INV FFFD NOP FFFF 单字指令 LD 2000+ppp ;(扩展 Mp除外) LDI 3000+ppp ;(扩展 Mp除外) AND 4000+ppp ;(扩展 Mp除外) ANI 5000+ppp ;(扩展 Mp除外) OR 6000+ppp ;(扩展 Mp除外) ORI 7000+ppp ;(扩展 Mp除外) OUTYM C000+

6、ppp ;(仅对Y,M有效) SETYM D000+ppp ;(仅对Y,M有效) RSTYM E000+ppp ;(仅对Y,M有效) 5.1.2.2 双字格式是从0类应用指令中扩展出来的。(0 class)OUT 0002 8000+ppp ;(仅对M8xxx有效) OUT 0002 A000+ppp ;(仅对Mp有效)SET 0003 8000+ppp ;(仅对M8xxx有效) SET 0003 A000+ppp ;(仅对Mp有效)RST 0004 8000+ppp ;(仅对M8xxx有效) RST 0004 A000+ppp ;(仅对Mp有效)OUTS 0005 8000+ppp ;(仅对

7、S有效) SETS 0006 8000+ppp ;(仅对S有效)RSTS 0007 8000+ppp ;(仅对S有效) PLS 0008 8000+ppp ;(仅对Y,M有效) PLF 0009 8000+ppp ;(仅对Y,M有效)MC 000A 8000+(N) 8000+ppp ;(仅对Y,M有效)MCR 000B 8000+(N) ; N=0-7 RSTTC 000C 8000+ppp ;(仅对T,C,Cp有效) RSTD 000D 8m00+xx8n00+yy;(仅对 D 有效,包含Z,V) ( 01 class)MLD 01C2 A000+ppp ;(仅对Mp有效)MLDI 01C

8、3 A000+ppp ;(仅对Mp有效)MAND 01C4 A000+ppp ;(仅对Mp有效)MANI 01C5 A000+ppp ;(仅对Mp有效)MOR 01C6 A000+ppp ;(仅对Mp有效) MORI 01C7 A000+ppp ;(仅对Mp有效) MLDP 01CA 8000+ppp ;(扩展 Mp除外) MLDP 01CA A000+ppp ;(仅对 Mp有效) MLDF 01CB 8000+ppp ;(扩展 Mp除外) MLDF 01CB A000+ppp ;(仅对 Mp有效) MANDP 01CC 8000+ppp ;(扩展 Mp除外) MANDP 01CC A000+

9、ppp ;(仅对 Mp有效) MANDF 01CD 8000+ppp ;(扩展 Mp除外) MANDF 01CD A000+ppp ;(仅对 Mp有效) MORP 01CE 8000+ppp ;(扩展 Mp除外) MORP 01CE A000+ppp ;(仅对 Mp有效) MORF 01CF 8000+ppp ;(扩展 Mp除外) MORF 01CF A000+ppp ;(仅对 Mp有效) 5.1.2.3 3字格式OUTTK 0000+(T)VV00+xx VV00+yyOUTCK 0000+(C)VV00+xx VV00+yyOUTCp K 0000+(Cp) VV00+xx VV00+yy

10、 8000+zz 8000+ww5.1.2.4 3字以上格式除了上述基本指令外,三菱还有一类指令称为应用指令,其格式如下:指令码 + 变量地址1(或常数1)+变量地址2(或常数2)+ 三菱应用指令中的变量地址格式16变量地址格式 = VV00+xx ,VV00+yy32变量地址格式 = VV00+xx ,VV00+yy ,8000+zz ,8000+ww位(点)元件地址格式= VV00+xx ,VV00+yy;三菱的变量表示很奇怪,16位的变量用2个字表示,第一个字的高8位和第二个字的高8位组成变量类型描述字,第一个字的低8位和第二个字的低8位组成变量地址或常数。32位的变量用4个字表示,第一

11、个字的高8位和第二个字的高8位组成变量类型描述字,第三个字的高8位、第四个字的高8位固定位0x80,第一个字的低8位、第二个字的低8位、第三个字的低8位、第四个字的低8位组成32位的变量地址或常数。这样的安排人为地增加了解析的复杂性,降低了指令的执行速度,浪费程序存储空间。以下是变量类型描述表(VV) 序号第1字高8位第2字高8位变量类型备注18080K常数28280H常数38480位变量(X、Y、M、S、M8、C、T)48482K14bit58484K28bit68486K312bit78488K416bit8848AK520bit9848CK624bit10848EK728bit11849

12、0K832bit128680D8xxx138682Txxx148684Cxxx158686DxxxD 1000178880Pxxx188A80ASCII CHAR199080KxxxxV209482K1(X,Y,M,S)V219484K2(X,Y,M,S)V229486K3(X,Y,M,S)V239488K4(X,Y,M,S)V24948AK5(X,Y,M,S)V25948CK6(X,Y,M,S)V26948EK7(X,Y,M,S)V279490K8(X,Y,M,S)V28A482K1(X,Y,M,S)Z29A484K2(X,Y,M,S)Z30A486K3(X,Y,M,S)Z31A488K4(

13、X,Y,M,S)Z32A48AK5(X,Y,M,S)Z33A48CK6(X,Y,M,S)Z34A48EK7(X,Y,M,S)Z35A490K8(X,Y,M,S)Z36A680D8xxxZ37A682TxxxZ38A684CxxxZ39A686DxxxZD 10005.1.3 三菱指令表分类FNC NO.指令助记符指令码功能说明指令长度PLC的型号FX1SFX1NFX2NFX2NC程序流程00CJ0x0010条件跳转201CALL0x0012子程序调用202SRET0x0014子程序返回203IRET0x0016中断返回204EI0x0018开中断205DI0x001A关中断206FEND0x0

14、01C主程序结束207WDT0x001E监视定时器刷新208FOR0x0020循环的起点与次数209NEXT0x0022循环的终点2传送与比较10CMP0x0024比较711ZCP0x0026区间比较712MOV0x0028传送513SMOV0x002A位传送11-14CML0x002C取反传送5-15BMOV0x002E成批传送716FMOV0x0030多点传送7-17XCH0x0032交换5-18BCD0x0034二进制转换成BCD码519BIN0x0036BCD码转换成二进制5算术与逻辑运算20ADD0x0038二进制加法运算721SUB0x003A二进制减法运算722MUL0x003C

15、二进制乘法运算723DIV0x003E二进制除法运算724INC0x0040二进制加1运算325DEC0x0042二进制减1运算326WAND0x0044字逻辑与727WOR0x0046字逻辑或728WXOR0x0048字逻辑异或729NEG0x004A求二进制补码3-循环与移位30ROR0x004C循环右移5-31ROL0x004E循环左移5-32RCR0x0050带进位右移5-33RCL0x0052带进位左移5-34SFTR0x0054位右移735SFTL0x0056位左移736WSFR0x0058字右移9-37WSFL0x005A字左移9-38SFWR0x005CFIFO(先入先出)写入

16、739SFRD0x005EFIFO(先入先出)读出7数据处理40ZRST0x0060区间复位541DECO0x0062解码742ENCO0x0064编码743SUM0x0066统计ON位数5-44BON0x0068查询位某状态7-45MEAN0x006A求平均值7-46ANS0x006C报警器置位7-47ANR0x006E报警器复位1-48SQR0x0070求平方根5-49FLT0x0072整数与浮点数转换5-高速处理50REF0x0074输入输出刷新551REFF0x0076输入滤波时间调整3-52MTR0x0078矩阵输入953HSCS0x007A比较置位(高速计数用)1354HSCR0x

17、007C比较复位(高速计数用)1355HSZ0x007E区间比较(高速计数用)17-56SPD0x0080脉冲密度757PLSY0x0082指定频率脉冲输出758PWM0x0084脉宽调制输出759PLSR0x0086带加减速脉冲输出7方便指令60IST0x0088状态初始化761SER0x008A数据查找7-62ABSD0x008C凸轮控制(绝对方式)963INCD0x008E凸轮控制(增量方式)964TTMR0x0090示教定时器565STMR0x0092特殊定时器7-66ALT0x0094交替输出367RAMP0x0096斜坡信号968ROTC0x0098旋转工作台控制9-69SORT0

18、x009A数据排序17-70TKY0x009C十进制键输入7-71HKY0x009E十六进制键输入9-72DSW0x00A0数字开关973SEGD0x00A2七段译码5-74SEGL0x00A4七段显示775ARWS0x00A6方向开关9-76ASC0x00A8ASCI码转换成16进制数11-77PR0x00AAASC码打印5-78FROM0x00ACBFM读出9-79TO0x00AEBFM写入9-80RS0x00B0串行数据传送981PRUN0x00B2八进制位传送582ASCI0x00B416进制数转换成ASCI码783HEX0x00B6ASCI码转换成16进制数784CCD0x00B8校

19、验码785VRRD0x00BA电位器变量输入586VRSC0x00BC电位器变量区间587-088PID0x00C0PID运算989-0浮点数运算110ECMP0x00EC二进制浮点数比较13-111EZCP0x00EE二进制浮点数区间比较17-118EBCD0x00FC二进制浮点数十进制浮点数9-119EBIN0x00FE十进制浮点数二进制浮点数9-120EADD0x0100二进制浮点数加法13-121EUSB0x0102二进制浮点数减法13-122EMUL0x0104二进制浮点数乘法13-123EDIV0x0108二进制浮点数除法13-127ESQR0x010E二进制浮点数开平方9-129

20、INT0x0112二进制浮点数二进制整数5-130SIN0x0114二进制浮点数Sin运算9-131COS0x0116二进制浮点数Cos运算9-132TAN0x0118二进制浮点数Tan运算9-147SWAP0x0136高低字节交换3-定位155ABS0x0146ABS当前值读取13-156ZRN0x0148原点回归9-157PLSV0x014A可变速的脉冲输出9-158DRVI0x014C相对位置控制9-159DRVA0x014E绝对位置控制9-时钟运算160TCMP0x0150时钟数据比较11161TZCP0x0152时钟数据区间比较9162TADD0x0154时钟数据加法7163TSUB

21、0x0156时钟数据减法7166TRD0x015C时钟数据读出3167TWR0x015E时钟数据写入3169HOUR0x0162计时仪7-外围设备170GRY0x0164二进制数格雷码5-171GBIN0x0166格雷码二进制数5-176RD3A0x0170模拟量模块(FX0N-3A)读出7-177WR3A0x0172模拟量模块(FX0N-3A)写入7-触点比较2162230x01C00x01CF已使用224LD=0x01D0(S1)= (S2)时起始触点接通5225LD0x01D2(S1) (S2)时起始触点接通5226LD0x01D4(S1) (S2)时起始触点接通5228LD0x01D8

22、(S1) (S2)时起始触点接通5229LD0x01DA(S1) (S2)时起始触点接通5230LD0x01DC(S1) (S2)时起始触点接通5232AND=0x01E0(S1)= (S2)时串联触点接通5233AND0x01E2(S1) (S2)时串联触点接通5234AND0x01E4(S1) (S2)时串联触点接通5236AND0x01E8(S1) (S2)时串联触点接通5237AND0x01EA(S1) (S2)时串联触点接通5238AND0x01EC(S1) (S2)时串联触点接通5240OR=0x01F0(S1)= (S2)时并联触点接通5241OR0x01F2(S1) (S2)时并联触点接通5242OR0x01F4(S1) (S2)时并联触点接通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论