STL指令设计规范1101.doc_第1页
STL指令设计规范1101.doc_第2页
STL指令设计规范1101.doc_第3页
STL指令设计规范1101.doc_第4页
STL指令设计规范1101.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

STL指令设计一、 操作数表示方法 1. 逻辑指令操作数表示方法n 用三个字节表示 n 字节1 字节2 字节3n 字节1:74 区号 30 通道号n 字节2:16位地址低字节字节3:16位地址高字节 字节字节1(07)字节2(815)字节3(1623)位03 4703470347I、Q、M、T、C、P、PID、S区等通道号 区号 16位偏移地址2. 其它操作数表示方法n 4个以上字节n 字节1 字节2 字节3 字节4 字节扩充n 字节1:数据类型n 字节2:区号+寻址方式n 字节3、字节4:16位地址/立即数双字节n 字节5:立即数扩充字节 n 当寻址方式为间接寻址(0x3)时,区号域表示指针所指的区号,数据类型域表示指针所指的数据类型。n 用户定义指针变量时(在sgv文件定义),寻址方式选间接寻址,变量名任意,类型表示指针所指的数据类型,地址名依据开头字母确定指针指向的区,I开头代表指向I区的指针,Q开头代表指向Q区指针,T开头代表指向T区指针,C开头代表指向C区指针,M开头代表指向M区。首字母后边紧跟数字,数字代表指针在M区的首地址(指针变量一共占两个字节)字节 字节1(07) 字节2(07)字节3(0 7)字节4(07)扩展字节 位0-7034703470347 I、Q、M、T、C、P、PID、S区等数据类型寻址方式区号 16位偏移地址无立即数数据类型寻址方式区号立即数(1N个字节)3. I 、Q通道地址映射关系:开关量,通道地址为00,模拟量,通道地址=通道号*24. 区号代码定义序号区号代码(4位)说明10000I区20001Q区30010M区40011T区50100C区60101P区70110PID80111S区91000立即数101001Sm区111010通讯区 5. 寻址方式定义序号寻址方式代码(4位)说明10000立即(数)寻址 20001直接(绝对地址)寻址,当前地址是变量的首地址30010直接(寄存器)寻址,当前寄存器内容是变量的首地址40011间接(指针)寻址,当前地址是变量的首地址的地址50100间接(寄存器)寻址,当前寄存器内容是变量的首地址的地址60101变址寻址(指针),当前地址是变量的首地址的地址的地址70110变址寻址(寄存器)寻址,当前寄存器内容是变量的首地址的地址的地址80111直接偏址(指针)寻址,当前地址寄存器内容是变量的首地址91000间接偏址(指针)寻址,当前地址寄存器内容是变量的首地址的地址101111IO寻址6. 数据类型定义: 序号类型类型码说明长度(位)范围存储结构初始化值1BOOL10布尔10,102BYTE11字节816#0016#FF03SINT12短整型8-12812705INT14整型16-32768 3276707WORD16字1616#0 16#FFFF08DATE17日期16D#1984-01-01 D#2163-6-61984-01-019DINT18双整型32-2147483648 2147483647011REAL 1A实数32-8388608E-127 -8388607E1271.401298E-45 3.402823E38012TIME1B时间32T#0S T#49D17H2M47S295MS00:00:00:0013TIME_OF_DAY1C日内时间32TOD#00:00:00 TOD#23:59:59.9900:00:0014DWORD1D双字3216#0 16#FFFFFFFF015LINT1E长整型64-263 263-1017LREAL20长实数64-1.7976931E308 -4.9406564E-3244.9406564E-324 1.7976931E308018DATE_AND_TIME21日期时间64DT#1984-01-01-00:00:00 DT#2163-12-31-23:59:59.9991984-01-01:00:00:0019LWORD22长字6416#0 16#FFFFFFFFFFFFFFFF020STRING23字符串1256*80255个ASCII字符或汉字第一个字节表示该字符串长度0(空)21INTA24整数数组22STU25结构n 变量通过查询变量表得到数据的类型 n 立即数通过在立即数前设置符号分布表示什么类型的数据 二、STL指令1位逻辑指令(13个)指 令含 义格 式数据类型存 储 区中间码LD取LD BOOLI,Q,M,T,C,S20LDP21LDN取非LDN BOOLI,Q,M,T,C,S22LDNP23A与A BOOLI,Q,M,T,C,S24AN与非AN BOOLI,Q,M,T,C,S25O或O BOOLI,Q,M,T,C,S26ON或非ON BOOLI,Q,M,T,C,S27ALD与闭合ALD28OLD或闭合OLD29=赋值= BOOLI,Q,M2AR复位R BOOLI,Q,M,T,C2BS置位S BOOLI,Q,M2CDIFU上升沿DIFU BOOLI,Q,M2DDIFD下降沿DIFD BOOLI,Q,M2E2比较指令 CMP含义:比较指令格式: CMP 参 数数据类型存 储 区 域说 明中间码操作数1I,Q,M或常数第一个参与比较的数值 30操作数2I,Q,M或常数第二个参与比较的数值比较结果送给状态字中相应位,下发时区分操作数类型。操作数大于或等于四字节3算术运算指令(5个)指令含义格 式数据类型存 储 区说 明中间码ADD 加ADD INT/DINT操作数1I,Q,M或常数被加数加数和 41I,Q,M或常数I,Q,M SUB 减SUB INT/DINTI,Q,M或常数被减数减数差 42I,Q,M或常数I,Q,M MUL 乘MUL INT/DINTI,Q,M或常数被乘数乘数积 43I,Q,M或常数I,Q,M DIV 除DIV INT/DINTI,Q,M或常数被除数除数商 44I,Q,M或常数I,Q,M MOD 取余MOD INT/DINTI,Q,M或常数被除数除数余数 45I,Q,M或常数I,Q,M 下发时区分操作数类型。4移位和循环指令(5个)指令含义格 式数据类型存 储 区说 明中间码SS50整数右移SS INT/DINT操作数2:WORD操作数1I, Q, M或常数操作数2I, Q, M或常数操作数3I, Q, M地址1要移位或循环的值地址2要移位或循环的位数地址3移位或循环操作的结果50SL51左移SL WORD/DWORD操作数2:WORD51SR52右移SR WORD/DWORD操作数2:WORD52RL53左循环RL WORD/DWORD操作数2:WORD53RR54右循环RR WORD/DWORD操作数2:WORD54下发时区分操作数类型。5字逻辑指令(3个)指令含义格 式数据类型存 储 区说 明中间码AND55相与AND WORD/DWORD操作数1I, Q, M 操作数2I, Q, M或常数操作数3I, Q, M操作数1第一个逻辑运算值操作数2第二个逻辑运算值操作数3逻辑运算的结果(双)字55OR56相或OR WORD/DWORD56XOR57相异或XOR WORD/DWORD57下发时区分操作数类型。6赋值指令 MOV 60含义:赋值指令格式: MOV 参 数数据类型存 储 区 域说 明操作数1WORD/DWORDI,Q,M或常数源地址(源数值)操作数2WORD/DWORDI,Q,M 目的地址下发时区分操作数类型。7跳转指令 JMP 70含义:跳转指令格式: JMP说明:跳转到指定标号所在的行(程序段)指定行的标号表示:标号:跳转指令格式跳转指令字节数为从JMP地址开始计算向上,向下偏移多少字节 16位最高位为符号位例如 JMP 1234H JMP地址为8000H 即为8000H+1234HJMP 9234H JMP地址为8000H 即为8000H-1234H8计数器指令(实际是3个)指令含 义格 式数据类型存 储 区 中间码SC 80计数器置初值SC 计数器COUNTER地址WORD计数器:C地 址:WORD80CU81加计数器线圈CU 81CD82减计数器线圈CD 82RC83复位计数器RC 83SC:将预置值传送到指定的计数器。CU:在RLO=1并且计数器的值小于“999”时,则使指定计数器的值加“1”。如果在RLO=0,或计数器的值已经为“999”,则计数器的值保持不变。CD:指令在RLO=1并且计数器的值大于“0”时,则使指定计数器的值减“1”。如果在RLO=0,或计数器的值已经为“0”,则计数器的值保持不变。R:在 RLO=1 时,对寻址计数器进行复位。计数器地址格式同上SC+计数器号(0-127)1字节+数据(立即数,直接寻址)16位例如 设置计数器3 初值为M区地址100处 80H+03H+011 001100100 00009定时器指令(实际是4个)定时器区用RAM256个定时器偏移地址读写TTBi.7 TBi.00000HR/WT075位时基TMi40位状态0001HR/W值时基4位3位2位1位0位0002HR/WTE0000不记时LNDNPNENEN00003HR/W00110mS1自动重装1计时到1计时1使能计时-0004HR/WTB0010100mS0111S1001M04FBHR/WT2551011H04FCHR/W1101D0不0未到0暂停0停04FDHR/WTE2551111Y04FEHR/W04FFHR/WTB255其中:Ti(i=0,1,2,255)065535,为定时器(Ti从TEi减记数到0止)TEi(i=0,1,2,255)065535,为定时器初值TBi(i=0,1,2,255)时基和状态定时器指令序号码STL操作数说明185LTTi初值(4个字节)时基(1个字节)设定时器,如果位寄存器RB值=1,则初值-TEi,时基-TMi时基:75,其余为0286=Ti.EN其他操作寻址使能,将位寄存器值RB - TBi.EN387=Ti.PN其他操作寻址暂停,将位寄存器值RB - TBi.PN488RTTi复位,如果位寄存器值=1,则1 - Ti 589=Ti.LN其他操作寻址设重装,位寄存器值为1送TBi.LN,对于定时中断:1、根据TMi.75的值设定中断时间2、如果TB

温馨提示

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

评论

0/150

提交评论