好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

STL指令设计规范1101.doc

7页
  • 卖家[上传人]:ldj****22
  • 文档编号:27889387
  • 上传时间:2018-01-13
  • 文档格式:DOC
  • 文档大小:242.50KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • STL 指令设计一、 操作数表示方法 1. 逻辑指令操作数表示方法 用三个字节表示  字节 1 字节 2 字节 3 字节 1:7~4 区号 3~0 通道号 字节 2:16 位地址低字节字节 3:16 位地址高字节 字节 字节 1(0~7) 字节 2(8~15) 字节 3(16~23)位 0~3 4~7 0~3 4~7 0~3 4~7I、Q、M、T、C、P、PID、S 区等通道号 区号 16 位偏移地址2. 其它操作数表示方法 4 个以上字节 字节 1 字节 2 字节 3 字节 4 字节扩充 字节 1:数据类型 字节 2:区号+寻址方式 字节 3、字节 4:16 位地址/立即数双字节 字节 5~:立即数扩充字节  当寻址方式为间接寻址(0x3)时,区号域表示指针所指的区号,数据类型域表示指针所指的数据类型 用户定义指针变量时(在 sgv 文件定义) ,寻址方式选间接寻址,变量名任意,类型表示指针所指的数据类型,地址名依据开头字母确定指针指向的区,I 开头代表指向 I 区的指针,Q 开头代表指向 Q 区指针,T 开头代表指向 T 区指针,C 开头代表指向 C 区指针,M 开头代表指向 M 区。

      首字母后边紧跟数字,数字代表指针在 M 区的首地址(指针变量一共占两个字节)字节 字节1(0~7)字节 2(0~7) 字节 3(0~ 7) 字节 4(0~7) 扩展字节 位 0-7 0~3 4~7 0~3 4~7 0~3 4~7 I、Q、M、T、C、P、PID、S 区等数据类型 寻址方式 区号 16 位偏移地址 无立即数 数据类型 寻址方式 区号 立即数(1~N 个字节)3. I 、Q 通道地址映射关系:开关量,通道地址为 00,模拟量,通道地址=通道号*24. 区号代码定义序号 区号代码(4 位) 说明1 0000 I 区2 0001 Q 区3 0010 M 区4 0011 T 区5 0100 C 区6 0101 P 区7 0110 PID8 0111 S 区9 1000 立即数10 1001 Sm 区11 1010 通讯区5. 寻址方式定义序号 寻址方式代码(4 位)说明1 0000 立即(数)寻址 2 0001 直接(绝对地址)寻址,当前地址是变量的首地址3 0010 直接(寄存器)寻址,当前寄存器内容是变量的首地址4 0011 间接(指针)寻址,当前地址是变量的首地址的地址5 0100 间接(寄存器)寻址,当前寄存器内容是变量的首地址的地址6 0101 变址寻址(指针) ,当前地址是变量的首地址的地址的地址7 0110 变址寻址(寄存器)寻址,当前寄存器内容是变量的首地址的地址的地址8 0111 直接偏址(指针)寻址,当前地址±寄存器内容是变量的首地址9 1000 间接偏址(指针)寻址,当前地址±寄存器内容是变量的首地址的地址10 1111 IO 寻址6. 数据类型定义: 序号 类型类型码 说明 长度(位) 范围存储结构 初始化值1 BOOL 10 布尔 1 0,1 02 BYTE 11 字节 8 16#00~16#FF 03 SINT 12 短整型 8 -128~127 05 INT 14 整型 16 -32768 ~ 32767 07 WORD 16 字 16 16#0 ~ 16#FFFF 08 DATE 17 日期 16 D#1984-01-01 ~ D#2163-6-6 1984-01-019 DINT 18 双整型 32 -2147483648 ~ 2147483647 011 REAL 1A实数 32-8388608E-127 ~ -8388607E1271.401298E-45 ~ 3.402823E38012 TIME 1B 时间 32 T#0S ~ T#49D17H2M47S295MS 00:00:00:0013 TIME_OF_DAY 1C 日内时间 32 TOD#00:00:00 ~ TOD#23:59:59.99 00:00:0014 DWORD 1D 双字 32 16#0 ~ 16#FFFFFFFF 015 LINT 1E 长整型 64 -263 ~ 263-1 017 LREAL20长实数 64-1.7976931E308 ~-4.9406564E-3244.9406564E-324 ~ 1.7976931E308018 DATE_AND_TIME 21 日期时间 64 DT#1984-01-01-00:00:00 ~DT#2163-12-31-23:59:59.999 1984-01-01:00:00:0019 LWORD 22 长字 64 16#0 ~ 16#FFFFFFFFFFFFFFFF 020 STRING23字符串 1~256*80~255 个 ASCII 字符或汉字第一个字节表示该字符串长度0(空)21 INTA 24 整数数组22 STU 25 结构 变量通过查询变量表得到数据的类型  立即数通过在立即数前设置符号分布表示什么类型的数据 二、STL 指令1.位逻辑指令(13 个)指 令 含 义 格 式 数据类型 存 储 区 中间码LD 取 LD BOOL I,Q,M,T , C,S 20LDP 21LDN 取非 LDN BOOL I,Q,M,T , C,S 22LDNP 23A 与 A BOOL I,Q,M,T , C,S 24AN 与非 AN BOOL I,Q,M,T , C,S 25O 或 O BOOL I,Q,M,T , C,S 26ON 或非 ON BOOL I,Q,M,T , C,S 27ALD 与闭合 ALD 28OLD 或闭合 OLD 29= 赋值 = BOOL I,Q,M 2AR 复位 R BOOL I,Q,M,T , C 2BS 置位 S BOOL I,Q,M 2CDIFU 上升沿 DIFU BOOL I,Q,M 2DDIFD 下降沿 DIFD BOOL I,Q,M 2E2.比较指令 CMP含义:比较指令格式: CMP 参 数 数据类型 存 储 区 域 说 明 中间码操作数 1 I, Q, M或常数 第一个参与比较的数值 30操作数 2 I, Q, M或常数 第二个参与比较的数值比较结果送给状态字中相应位,下发时区分操作数类型。

      操作数大于或等于四字节3.算术运算指令(5 个)指令 含义 格 式 数据类型 存 储 区 说 明 中间码操作数 1> I,Q,M 或常数I,Q,M 或常数ADD 加 ADD INT/DINTI,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 被除数除数商44MOD 取余 MOD INT/DINTI,Q,M 或常数 被除数除数45I,Q,M 或常数I,Q,M 余数下发时区分操作数类型4.移位和循环指令(5 个)指令 含义 格 式 数据类型 存 储 区说 明 中间码SS50整数右移 SS INT/DINT操作数 2:WORD50SL51左移 SL WORD/DWORD操作数 2:WORD51SR52右移 SR WORD/DWORD操作数 2:WORD52RL53左循环 RL WORD/DWORD操作数 2:WORD53RR54右循环 RR WORD/DWORD操作数 2:WORD操作数 1I, Q, M 或常数操作数 2I, Q, M 或常数操作数 3I, Q, M地址 1要移位或循环的值地址 2要移位或循环的位数地址 3移位或循环操作的结果54下发时区分操作数类型。

      5.字逻辑指令(3 个)指令 含义 格 式 数据类型 存 储 区 说 明 中间码AND55相与 AND WORD/DWORD55OR56相或 OR WORD/DWORD56XOR57相异或 XOR WORD/DWORD操作数 1I, Q, M 操作数 2I, Q, M 或常数操作数 3I, Q, M操作数 1第一个逻辑运算值操作数 2第二个逻辑运算值操作数 3逻辑运算的结果(双)字57下发时区分操作数类型6.赋值指令 MOV 60含义:赋值指令格式: MOV 参 数 数据类型 存 储 区 域 说 明操作数 1 WORD/DWORD I, Q, M或常数 源地址(源数值)操作数 2 WORD/DWORD I, Q,M 目的地址下发时区分操作数类型7.跳转指令 JMP 70含义:跳转指令格式: JMP 说明:跳转到指定标号所在的行(程序段)指定行的标号表示: 标号:跳转指令格式跳转指令字节数为从 JMP 地址开始计算向上,向下偏移多少字节 16 位最高位为符号位例如 JMP 1234H JMP 地址为 8000H 即为 8000H+1234HJMP 9234H JMP 地址为 8000H 即为 8000H-1234H8.计数器指令(实际是 3 个)指令含 义 格 式 数据类型存 储 区 中间码SC 80计数器置初值 SC 80CU81加计数器线圈 CU 81CD82减计数器线圈 CD 82RC83复位计数器 RC 计数器COUNTER地址WORD计数器:C地 址:WORD83SC:将预置值传送到指定的计数器。

      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 个定时器偏移地址 读写 T TBi.7 ~ TBi.00000H R/W 7~5 位时基 TMi 4~0 位状态0001H R/WT0值 时基 4 位 3 位 2 位 1 位 0 位0002H R/W 000 不记时 LN DN PN EN EN00003H R/WTE0001 10mS0004H R/W TB0 010 100mS… 011 1S1自动1计时1计时1使能-… 100 1M04FBH R/W 101 1H重装到 计时04FCH R/WT255110 1D 0 不 0 未到 0 暂停 0 停04FDH R/W 111 1Y04FEH R/WTE25504FFH R/W TB255其中: Ti(i=0,1,2,…255)=0~65535,为定时器(Ti 从 TEi 减记数到 0 止)TEi( i=0,1,2,…255)=0~65535,为定时器初值TBi(i=0,1,2,…255 )=时基和状态定时器指令序号 码 STL 操作数 说明1 85 LT Ti 初值(4 个字节) 时基(1 个字节)设定时器,如果位寄存器 RB 值=1,则初值->TEi ,时基 ->TMi时基:7~5,其余为 02 86 = Ti.EN其他操作寻址 使能,将位寄存器值 RB -> TBi.EN3 87 = Ti.PN 其他操作寻址 暂停,将位寄存器值 RB -> TBi.PN4 88 RT Ti 复位,如果位寄存器值=1,则 1 -> Ti 5 8。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.