你(们)好
我一直在尝试运行仿真来测试代码、但无法使其正常工作。 我非常确信代码能够正常工作、因为它基于几年前别人上传的代码。 我刚才添加了项目所需的额外引脚。 我一直在尝试创建编码器信号、但我似乎无法使其在仿真器上正常运行...
这是我要使用的代码。
;-------------------------------- 变量定义-------------------------------------------------------
;-------------------------------- 输入编码器---
Encoder_MAX_STEPICESS_VALUE .equ 0x0003475
ENCODE_MINUSE_NOT_STEP .equ 0x0003474
;--- 输入编码器通道1:引脚配置---
引脚_A1 equ 10;来自 QEP 编码器的信号 A -> N2HET1[10]
PIN_B1 equ 12;来自 QEP 编码器的信号 B -> N2HET1[12]
;--- 输入编码器通道2:引脚配置---
引脚_A2 equ 14;来自 QEP 编码器的信号 A -> N2HET1[14]
PIN_B2 equ 30;来自 QEP 编码器的信号 B -> N2HET1[30]
;--- 输入编码器通道3:引脚配置---
引脚_A3 equ 16;来自 QEP 编码器的信号 A -> N2HET1[16]
PIN_B3 equ 29;来自 QEP 编码器的信号 B -> N2HET1[29]
;--- 输入编码器通道4:引脚配置---
引脚_A4 equ 27;来自 QEP 编码器的信号 A -> N2HET1[27]
PIN_B4 equ 22;来自 QEP 编码器的信号 B -> N2HET1[22]
;--- 输入编码器通道6:引脚配置---
PIN_A6 equ 31;来自 QEP 编码器的信号 A -> N2HET1[31]
PIN_B6 equ 15;来自 QEP 编码器的信号 B -> N2HET1[15]
;--- 输入编码器通道8:引脚配置---
引脚_A8 equ 19;来自 QEP 编码器的信号 A -> N2HET1[19]
PIN_B8 equ 13;来自 QEP 编码器的信号 B -> N2HET1[13]
;--- 输入编码器通道9:引脚配置---
引脚_A9 equ 6;来自 QEP 编码器的信号 A -> N2HET1[6]
PIN_B9 equ 25;来自 QEP 编码器的信号 B -> N2HET1[25]
;--- 输入编码器通道10:引脚配置---
PIN_A10 equ 24;来自 QEP 编码器的信号 A -> N2HET1[24]
PIN_B10 equ 26;来自 QEP 编码器的信号 B -> N2HET1[26]
;--- 输入编码器通道11:引脚配置---
引脚_A11 equ 8;来自 QEP 编码器的信号 A -> N2HET1[8]
PIN_B11 equ 28;来自 QEP 编码器的信号 B -> N2HET1[28]
;--- 输入编码器通道12:引脚配置---
引脚_A12 equ 1;来自 QEP 编码器的信号 A -> N2HET1[1]
PIN_B12 equ 3;来自 QEP 编码器的信号 B -> N2HET1[3]
;---------------
;-------------------------------- HET 方案---
;------------------------------------------------------------------
;-------------------------------- 输入编码器- QEP----
;-------------------------------- 启动通道1-------------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A1 FALL 和 PIN_B1 Low 或者 PIN_A1 FALL 和 PIN_B1 High --
--;--------
AFE1 BR{NEXT = ARE1、COND_ADDR = AFL1、EVENT = FALL、Pin = PIN_A1}
AFE1 BR{NEXT = BAC1、COND_ADDR = FOR1、EVENT = Low、Pin = PIN_B1}
;------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A1 RISE 和 PIN_B1 Low 或者 PIN_A1 RISE 和 PIN_B1 High --
--;-----------------
ARE1 BR { NEXT = BFE1,COND_ADDR = ARL1,EVENT = RISE,Pin = PIN_A1}
ARL1 BR { NEXT = BAC1,COND_ADDR = FOR1,EVENT = HIGH,Pin = PIN_B1}
;------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B1 FALL 和 PIN_A1 Low 或者 PIN_B1 FALL 和 PIN_A1 High --
--;--------
BFE1 BR { NEXT = BRE1,COND_ADDR = BFL1,EVENT = FALL,Pin = PIN_B1}
BFL1 BR { NEXT = BAC1,COND_ADDR = FOR1,EVENT = HIGH,Pin = PIN_A1}
;--- 测试情况4-----------------------------------------------------------------
;--Check:PIN_B1 RISE 和 PIN_A1 High 或者 PIN_B1 RISE 和 PIN_A1 High;--
--------------------
BRE1 BR {NEXT = AFE2、COND_ADDR = BRL1、EVENT = RISE、Pin = PIN_B1}
BRL1 BR {NEXT = BAC1、COND_ADDR = FOR1、EVENT = LOW、Pin = PIN_A1}
;------------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
for1 CNT {next = AFE2、reg = none、max = encoder_MAX_STETERS_VALUE}
;--------- 反向旋转---
BAC1 MOV32{NEXT = LIM1、REMOTE = FOR1、TYPE = REMTOREG、reg = A}
LIM1 eCMP{NEXT = SSUB1、COND_ADDR= HIL1、hr_LR=低电平、en_PIN_ACTION =关闭、PIN=CC10、 REG = A、DATA=0}
HIL1 adm32 { NEXT = AFE2,REMOTE = FOR1,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MAX_STEPS_VALUE}
SSUB1 ADM32 { NEXT = AFE2,REMOTE = FOR1,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINE_NE_STEP}
;--- 结束通道1----
;-------------------------------- 启动通道2-------------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A2下降和 PIN_B2下降或者 PIN_A2下降和 PIN_B2高电平---
;---------------
AFE2 BR {NEXT = ARE2、COND_ADDR = AFL2、事件= FALL、引脚= PIN_A2}
AFL2 BR {NEXT = BAC2、COND_ADDR = FOR2、EVENT =低电平、Pin = PIN_B2}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A2 RISE 和 PIN_B2 RISE 低或者 PIN_A2 RISE 和 PIN_B2高---
;-------------------------------------------------------
ARE2 BR {NEXT = BFE2、COND_ADDR = ARL2、EVENT = RISE、Pin = PIN_A2}
ARL2 BR {NEXT = BAC2、COND_ADDR = FOR2、EVENT = HIGH、Pin = PIN_B2}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B2下降和 PIN_A2下降或者 PIN_B2下降和 PIN_A2高电平---
;---------------
BFE2 BR {NEXT = BRE2、COND_ADDR = BFL2、事件=下降、引脚= PIN_B2}
BFL2 BR {NEXT = BAC2、COND_ADDR = FOR2、EVENT = HIGH、Pin = PIN_A2}
;------------ 测试情况4-----------------------------------------------------------------
;--Check:PIN_B2 RISE 和 PIN_A2 High 或者 PIN_B2 RISE 和 PIN_A2 High;--
---------------------
BRE2. BR {NEXT = AFE3、COND_ADDR = BRL2、事件=上升、引脚= PIN_B2}
BRL2 BR {NEXT = BAC2、COND_ADDR = FOR2、EVENT = LOW、Pin = PIN_A2}
;------------ 前转--------------------------------------------------------
;此指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将向后转动,则数据= ENCODER_MAX_STEPS 值
for2 CNT {next = AFE3、reg = none、max = encoder_MAX_STETERS_VALUE}
;--------- 反向旋转---
BAC2 MOV32{NEXT = LIM2、REMOTE = FOR2、TYPE = REMTOREG、reg = A}
LIM2 eCMP{NEXT = SSUB2、COND_ADDR= HIL2、hr_LR=低电平、en_PIN_ACTION =关闭、PIN=CC14、 REG = A、DATA=0}
HIL2 adm32{next = AFE3、remote = for2、type = IM®TOREM、reg = A、data = ENCODER_MAX_STETERS_VALUE}
SSUB2 adm32 { NEXT = AFE3,REMOTE = FOR2,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP}
;--------------- 结束通道2---------------
;-------------------------------- 启动通道3-------------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A3下降和 PIN_B3低或者是 PIN_A3下降和 PIN_B3高---
;-------------------------------------------------------
AFE3. BR {NEXT = are3、COND_ADDR = AFL3、事件= FALL、引脚= PIN_A3}
AFL3 BR {next = BAC3、COND_ADDR = for3、事件=低电平、引脚= PIN_B3}
;--------- 测试情况2-----------------------------------------------------------------
;--Check:Pin_A3 RISE 和 Pin_B3为低电平或者 Pin_A3 RISE 和 Pin_B3为高电平---
;---------------
区域3. BR {NEXT = BFE3、COND_ADDR = ARL3、事件=上升、引脚= PIN_A3}
ARL3 BR {NEXT = BAC3、COND_ADDR = FOR3、EVENT = HIGH、Pin = PIN_B3}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:Pin_B3下降和 Pin_A3低或者 Pin_B3下降和 Pin_A3高--
--;---------------
BFE3 BR {NEXT = BRE3、COND_ADDR = BFL3、事件=下降、引脚= PIN_B3}
BFL3 BR {NEXT = BAC3、COND_ADDR = FOR3、EVENT = HIGH、Pin = PIN_A3}
;------------ 测试情况4-----------------------------------------------------------------
;--Check:PIN_B3 RISE 和 PIN_A3 High 或者 PIN_B3 RISE 和 PIN_A3 High;--
------------------------
BRE3 BR {NEXT = AFE4、COND_ADDR = BRL3、事件=上升、引脚= PIN_B3}
BRL3 BR {NEXT = BAC3、COND_ADDR = FOR3、EVENT = LOW、Pin = PIN_A3}
;------------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将向后转动,则数据= ENCODER_MAX_STEPS 值
用于3 CNT {next = AFE4、reg = none、max = encoder_MAX_STETERS_VALUE}
;--------- 反向旋转---
BAC3 MOV32{NEXT = LIM3、REMOTE = for3、TYPE = REMTOREG、reg = A}
LIM3 eCMP{NEXT = SSUB3、COND_ADDR= HIL3、hr_LR=低电平、en_PIN_ACTION=OFF、PIN=CC16、 REG = A、DATA=0}
HIL3 adm32{next = AFE4、remote = for3、type = IM®TOREM、reg = A、data = Encoder_MAX_STETERS_VALUE}
SSUB3 adm32 { NEXT = AFE4,REMOTE = for3,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP}
;--------------- 结束通道3 -------------------------------------------------------
;-------------------------------- 启动通道4-------------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A4下降和 PIN_B4低或者 PIN_A4下降和 PIN_B4高--
--;-----------------
AFE4 BR {NEXT = ARE4、COND_ADDR = AL4、事件= FALL、引脚= PIN_A4}
AL4 BR {NEXT = BAC4、COND_ADDR = FOR4、事件=低电平、引脚= PIN_B4}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A4 RISE 和 PIN_B4 Low 或者 PIN_A4 RISE 和 PIN_B4 High;--
-----------------
ARE4 BR {NEXT = BFE4、COND_ADDR = ARL4、EVENT = RISE、Pin = PIN_A4}
ARL4 BR {NEXT = BAC4、COND_ADDR = FOR4、事件=高电平、引脚= PIN_B4}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B4下降和 PIN_A4下降或者是 PIN_B4下降和 PIN_A4高--
--;-------------------------
BFE4 BR {NEXT = BRE4、COND_ADDR = BFL4、EVENT = FALL、Pin = PIN_B4}
BFL4 BR {NEXT = BAC4、COND_ADDR = FOR4、EVENT = HIGH、Pin = PIN_A4}
;------------ 测试情况4-----------------------------------------------------------------
;--Check:PIN_B4 RISE 和 PIN_A4 High 或者 PIN_B4 RISE 和 PIN_A4 High;--
----------------------------
BRE4 BR {NEXT = AFE6、COND_ADDR = BRL4、事件=上升、引脚= PIN_B4}
BRL4 BR {NEXT = BAC4、COND_ADDR = FOR4、事件=低电平、引脚= PIN_A4}
;------------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
FOR4 CNT {next = AFE6、reg = none、max = encoder_MAX_STETERS_VALUE}
;--------- 反向旋转---
BAC4. MOV32{NEXT = LIM4、REMOTE = FOR4、TYPE = REMTOREG、reg = A}
LIM4 eCMP{NEXT = SSUB4、COND_ADDR= HIL4、hr_LR=低电平、en_PIN_ACTION =关闭、PIN=CC27、 REG = A、DATA=0}
HIL4 adm32{next = AFE6、remote = FOR4、type = IM®TOREM、reg = A、data = ENCODER_MAX_STETERS_VALUE}
SSUB4 adm32 { NEXT = AFE6,REMOTE = FOR4,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP}
;--------------- 结束通道4 ----------------
;-------------------------------- 启动通道6 -------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A6下降和 PIN_B6低或者 PIN_A6下降和 PIN_B6高---
;---;---
AFE6 BR {NEXT = ARE6、COND_ADDR = AFL6、EVENT = FALL、Pin = PIN_A6}
AFL6 BR {NEXT = BAC6,COND_ADDR = FOR6,事件=低电平,引脚= PIN_B6}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:Pin_A6 Rise 和 Pin_B6 Low 或者 Pin_A6 Rise 和 Pin_B6 High --
;---;---
ARE6. BR {NEXT = BFE6、COND_ADDR = ARL6、EVENT = RISE、Pin = PIN_A6}
ARL6 BR {NEXT = BAC6,COND_ADDR = FOR6,事件=高电平,引脚= PIN_B6}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B6 FALL 和 PIN_A6 Low 或者 PIN_B6 FALL 和 PIN_A6 High --
--;---;---
BFE6 BR {NEXT = BRE6、COND_ADDR = BFL6、EVENT = FALL、Pin = PIN_B6}
BFL6 BR {NEXT = BAC6,COND_ADDR = FOR6,事件=高电平,引脚= PIN_A6}
;--------------- 测试情况4-----------------------------------------------------------------
;--Check:Pin_B6 RISE 和 Pin_A6 High 或者 Pin_B6 RISE 和 Pin_A6 High --
--;---------------
BRE6 BR {NEXT = AFE8、COND_ADDR = BRL6、EVENT = RISE、Pin = PIN_B6}
BRL6 BR {NEXT = BAC6,COND_ADDR = FOR6,事件=低电平,引脚= PIN_A6}
;------------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
FOR6 CNT {next = AFE8、reg = none、max = Encoder_MAX_STEPS_VALUE}
;--------- 反向旋转---
BAC6 MOV32{NEXT = LIM6、REMOTE = FOR6、TYPE = REMTOREG、reg = A}
LIM6 eCMP{NEXT = SSUB6、COND_ADDR= HIL6、hr_LR=低电平、en_PIN_ACTION=OFF、PIN=CC31、 REG = A、DATA=0}
HIL6 adm32{NEXT = AFE8、REMOTE = FOR6、TYPE = IM®TOREM、reg = A、DATA = ENCODER_MAX_STEPS_VALUE}
SSUB6 adm32 { NEXT = AFE8,REMOTE = FOR6,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP }
;--------------- 结束通道6 --------------------------------------------------------
;-------------------------------- 启动通道8 --------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A8 FALL 和 PIN_B8 LALL 或者 PIN_A8 FALL 和 PIN_B8 High 的引脚;---
;---
AFE8. BR {NEXT = ARE8、COND_ADDR = AFL8、事件= FALL、引脚= PIN_A8}
AFL8 BR {NEXT = BAC8、COND_ADDR = FOR8、事件=低电平、引脚= PIN_B8}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A8 RISE 和 PIN_B8 RISE 低或者 PIN_A8 RISE 和 PIN_B8高电平---
;---------------
ARE8. BR {NEXT = BFE8、COND_ADDR = ARL8、EVENT = RISE、Pin = PIN_A8}
ARL8 BR {NEXT = BAC8,COND_ADDR = FOR8,事件=高电平,引脚= PIN_B8}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B8 FALL 和 PIN_A8 Low 或者 PIN_B8 FALL 和 PIN_A8 High 的引脚;-----
;---
BFE8 BR {NEXT = BRE8、COND_ADDR = BFL8、EVENT = FALL、Pin = PIN_B8}
BFL8 BR {NEXT = BAC8,COND_ADDR = FOR8,事件=高电平,引脚= PIN_A8}
;------------ 测试情况4-----------------------------------------------------------------
;--Check:Pin_B8 RISE 和 Pin_A8 High 或 Pin_B8 RISE 和 Pin_A8 High。-----
;---------------
BRE8. BR {NEXT = AFE9、COND_ADDR = BRL8、事件=上升、引脚= PIN_B8}
BRL8 BR {NEXT = BAC8,COND_ADDR = FOR8,事件=低电平,引脚= PIN_A8}
;------------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
FOR8 CNT {next = AFE9、reg = none、max = encoder_MAX_STETERS_VALUE}
;--------- 反向旋转---
BAC8 MOV32{NEXT = LIM8、REMOTE = FOR8、TYPE = REMTOREG、reg = A}
LIM8 eCMP{NEXT = SSUB8、COND_ADDR= HIL8、hr_LR=低电平、en_PIN_ACTION =关闭、PIN=CC19、 REG = A、DATA=0}
HIL8 adm32{next = AFE9、remote = FOR8、type = IM®TOREM、reg = A、data = Encoder_MAX_STETERS_VALUE}
SSUB8 adm32 { NEXT = AFE9,REMOTE = FOR8,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP}
;--------------- 结束通道8--------------------------------------------------------
;-------------------------------- 启动通道9--------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A9下降沿和 PIN_B9下降沿和 PIN_B9下降沿或者 PIN_A9下降沿和 PIN_B9高段的位置-->
;-----------------
AFE9 BR {NEXT = ARE9、COND_ADDR = AFL9、事件= FALL、引脚= PIN_A9}
AFL9 BR {NEXT = BAC9,COND_ADDR = FOR9,事件=低电平,引脚= PIN_B9}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A9上升沿和 PIN_B9低电平或者 PIN_A9上升沿和 PIN_B9高电平-->
;-----------------
ARE9 BR {NEXT = BFE9、COND_addr = ARL9、事件=上升、引脚= PIN_A9}
ARL9 BR {NEXT = BAC9,COND_ADDR = FOR9,事件=高电平,引脚= PIN_B9}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B9 FALL 和 PIN_A9 Low 或者 PIN_B9 FALL 和 PIN_A9 High 的引脚;-----
;--------------------
BFE9 BR {NEXT = BRE9、COND_ADDR = BFL9、事件= FALL、Pin = PIN_B9}
BFL9 BR {NEXT = BAC9,COND_ADDR = FOR9,事件=高电平,引脚= PIN_A9}
;--------- 测试情况4-----------------------------------------------------------------
;--Check:Pin_B9 RISE 和 Pin_A9 High 或 Pin_B9 RISE 和 Pin_A9 High;-----
;---------------
BRE9. BR {NEXT = AFE10、COND_ADDR = BRL9、EVENT = RISE、Pin = PIN_B9}
BRL9 BR {NEXT = BAC9,COND_ADDR = FOR9,事件=低电平,引脚= PIN_A9}
;------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
FOR9 CNT {next = AFE10、reg = none、max = Encoder_MAX_STEPS_VALUE}
;--------- 反向旋转---
BAC9. MOV32{NEXT = LIM9、REMOTE = FOR9、TYPE = REMTOREG、reg = A}
LIM9 eCMP{NEXT = SSUB9、COND_ADDR= HIL9、hr_LR=低电平、en_PIN_ACTION=OFF、PIN=CC6、 REG = A、DATA=0}
HIL9 adm32{NEXT = AFE10、REMOTE = FOR9、TYPE = IM®TOREM、reg = A、DATA = ENCODER_MAX_STEPS_VALUE}
SSUB9 adm32 { NEXT = AFE10,REMOTE = FOR9,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP }
;--------------- 结束通道9--------------------------------------------------------
;-------------------------------- 启动通道10-------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A10下降沿和 PIN_B10下降沿和 PIN_B10下降沿和 PIN_B10下降沿和高---
---------------------------------------------------------------------------------------------------------------
AFE10. BR {NEXT = ARE10、COND_ADDR = AFL10、EVENT = FALL、Pin = PIN_A10}
AFL10 BR {NEXT = BAC10、COND_ADDR = FOR10、EVENT =低电平、Pin = PIN_B10}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A10 RISE 和 PIN_B10 RISE 低电平或者 PIN_A10 RISE 和 PIN_B10高电平---
;-------------------------------------------------------
ARE10. BR {NEXT = BFE10、COND_ADDR = ARL10、EVENT = RISE、Pin = PIN_A10}
ARL10 BR {NEXT = BAC10,COND_ADDR = FOR10,事件=高电平,引脚= PIN_B10}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B10 FALL 和 PIN_A10 Low 或者 PIN_B10 FALL 和 PIN_A10 High --
--;--------------------
BFE10 BR {NEXT = BRE10、COND_ADDR = BFL10、EVENT = FALL、Pin = PIN_B10}
BFL10 BR {NEXT = BAC10、COND_ADDR = FOR10、EVENT = HIGH、Pin = PIN_A10}
;--------------- 测试情况4-----------------------------------------------------------------
;--Check:PIN_B10 RISE 和 PIN_A10 High 或者 PIN_B10 RISE 和 PIN_A10 High --
--;---------------
BRE10 BR {NEXT = AFE11、COND_ADDR = BRL10、EVENT = RISE、Pin = PIN_B10}
BRL10 BR {NEXT = BAC10,COND_ADDR = FOR10,事件=低电平,引脚= PIN_A10}
;------------ 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
用于10 CNT {next = AFE11、reg = none、max = Encoder_MAX_STEPS_VALUE}
;--------- 反向旋转---
BAC10 MOV32{NEXT = LIM10、REMOTE = FOR10、TYPE = REMTOREG、reg = A}
LIM10 eCMP{NEXT = SSUB10、COND_ADDR= HIL10、hr_LR=低电平、en_PIN_ACTION =关闭、PIN=CC24、 REG = A、DATA=0}
HIL10 adm32{next = AFE11、remote = for10、type = IM®TOREM、reg = A、data = Encoder_MAX_STEPS_VALUE}
SSUB10 adm32 { NEXT = AFE11,REMOTE = FOR10,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP }
;--------------- 结束通道10-------------------------------------------------------
;-------------------------------- 启动通道11-------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A11下降和 PIN_B11低电平或者 PIN_A11下降和 PIN_B11高电平---
;-----------
AFE11. BR {NEXT = ARE11、COND_ADDR = AFL11、事件= FALL、引脚= PIN_A11}
AFL11 BR {NEXT = BAC11,COND_ADDR = FOR11,事件=低电平,引脚= PIN_B11}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A11 RISE 和 PIN_B11 RISE 低或者 PIN_A11 RISE 和 PIN_B11 RISE 高--
--;-----------------
ARE11. BR {NEXT = BFE11、COND_ADDR = ARL11、EVENT = RISE、Pin = PIN_A11}
ARL11 BR {NEXT = BAC11,COND_ADDR = FOR11,事件=高电平,引脚= PIN_B11}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B11 FALL 和 PIN_A11 LALL 或者 PIN_B11 FALL 和 PIN_A11 High --
--;-----------------
BFE11 BR {NEXT = BRE11、COND_ADDR = BFL11、事件= FALL、Pin = PIN_B11}
BFL11 BR {NEXT = BAC11,COND_ADDR = FOR11,事件=高电平,引脚= PIN_A11}
;------------ 测试情况4-----------------------------------------------------------------
;--Check:PIN_B11 RISE 和 PIN_A11 High 或者 PIN_B11 RISE 和 PIN_A11 High。-------
BRE11 BR {NEXT = AFE12、COND_ADDR = BRL11、事件=上升、引脚= PIN_B11}
BRL11 BR {NEXT = BAC11,COND_ADDR = FOR11,事件=低电平,引脚= PIN_A11}
;--------- 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
FOR11 CNT {next = AFE12、reg = none、max = Encoder_MAX_STEPS_VALUE}
;--------- 反向旋转---
BAC11 MOV32{NEXT = LIM11、REMOTE = FOR11、TYPE = REMTOREG、reg = A}
LIM11 eCMP{NEXT = SSUB11、COND_ADDR= HIL11、hr_LR=低电平、en_PIN_ACTION=OFF、PIN=CC8、 REG=B、DATA=0}
HIL11 adm32{NEXT = AFE12、REMOTE = FOR11、TYPE = IM®TOREM、reg = A、DATA = ENCODER_MAX_STEPS_VALUE}
SSUB11 adm32 { NEXT = AFE12,REMOTE = FOR11,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP }
;--------------- 结束通道11--------------------------------------------------------
;-------------------------------- 启动通道12-------------------------------------------------------
;-------------------------------- 测试情况1-----------------------------------------------------------------
;--Check:PIN_A12下降和 PIN_B12低电平或者是 PIN_A12下降和 PIN_B12高电平---
;---------------
AFE12. BR {NEXT = ARE12、COND_ADDR = AFL12、事件= FALL、引脚= PIN_A12}
AFL12 BR {NEXT = BAC12,COND_ADDR = FOR12,事件=低电平,引脚= PIN_B12}
;------------ 测试情况2-----------------------------------------------------------------
;--Check:PIN_A12 RISE 和 PIN_B12 Low 或者 PIN_A12 RISE 和 PIN_B12 High --
--;---------------
ARE12. BR {NEXT = BFE12、COND_ADDR = ARL12、EVENT = RISE、Pin = PIN_A12}
ARL12 BR {NEXT = BAC12,COND_ADDR = FOR12,事件=高电平,引脚= PIN_B12}
;------------ 测试情况3-----------------------------------------------------------------
;--Check:PIN_B12下降和 PIN_A12低电平或者 PIN_B12下降和 PIN_A12高电平---
;---;---------
BFE12 BR {NEXT = BRE12、COND_ADDR = BFL12、事件= FALL、Pin = PIN_B12}
BFL12 BR {NEXT = BAC12,COND_ADDR = FOR12,事件=高电平,引脚= PIN_A12}
;------------ 测试情况4-----------------------------------------------------------------
;--Check:PIN_B12 RISE 和 PIN_A12 High 或者 PIN_B12 RISE 和 PIN_A12 High。-------
;-------------------------------------------------------
BRE12 BR {NEXT = AFE1、COND_ADDR = BRL12、EVENT = RISE、Pin = PIN_B12}
BRL12 BR {NEXT = BAC12,COND_ADDR = FOR12,事件=低电平,引脚= PIN_A12}
;--------- 前转--------------------------------------------------------
;这条指令表示移动的步进,值存储在数据字段中(范围:0到 ENCODER_MAX_STEPS 值)
;如果数据字段为0,电机将后退,数据= ENCODER_MAX_STEPS 值
FOR12 CNT {next = AFE1、reg = none、max = encoder_MAX_STETERS_VALUE}
;--------- 反向旋转---
BAC12 MOV32{NEXT = LIM12、REMOTE = FOR12、TYPE = REMTOREG、reg = A}
LIM12 eCMP{NEXT = SSUB12、COND_ADDR= HIL12、hr_LR=低电平、en_PIN_ACTION=OFF、PIN=CC1、 REG= B、DATA=0}
HIL12 adm32{next = AFE1、remote = FOR12、type = IM®TOREM、reg = A、data = ENCODER_MAX_STETERS_VALUE}
SSUB12 adm32 { NEXT = AFE1,REMOTE = FOR12,TYPE = IM®TOREM,reg = A,DATA = ENCODER_MINUSE_ONE_STEP}
;--------------- 端通道12-------------------------------------------------------
;-------------------------------- 终端输入编码器---
;-------------------------------- 结束方案----------
对如何使其在仿真器上工作有任何想法? 谢谢!