发表于:2011/6/8 20:44:35
#0楼
各位大侠 ;
小弟现有一工程,需要用到定长,而且要求精确到1mm,并且不适用伺服或者步进,所以我就想用一般程序里的浮点运算,但是不知道为什么我在适用的过程中发现,在自由监控中可以任意赋值的寄存器,但是在文本中 就不能任意赋值,就是赋值寄存器出现乱码,而且用ECMP指令进行比较的时候,输入浮点但是指令的=指令不执行。
举例‘;
LDM8000---------C630 K99999
|
|HSCR C630 D10
|
|DFLT D10 D12
|
|DFLT D4001 D14
|
|EMUL D14 D12 D16
LDM0---------------ECMP D18 D20 M10
LDY0 ---------------|-------DAND = D18 D16-----ZRSTM10 M12
|
|
LDY1-----------------
注释:M10 M12 启动正反转 y0y1 正反输出 D18文本赋值 D16通过编码器计数进行浮点运算值(比较的基数)
D18为32位寄存器
小弟现有一工程,需要用到定长,而且要求精确到1mm,并且不适用伺服或者步进,所以我就想用一般程序里的浮点运算,但是不知道为什么我在适用的过程中发现,在自由监控中可以任意赋值的寄存器,但是在文本中 就不能任意赋值,就是赋值寄存器出现乱码,而且用ECMP指令进行比较的时候,输入浮点但是指令的=指令不执行。
举例‘;
LDM8000---------C630 K99999
|
|HSCR C630 D10
|
|DFLT D10 D12
|
|DFLT D4001 D14
|
|EMUL D14 D12 D16
LDM0---------------ECMP D18 D20 M10
LDY0 ---------------|-------DAND = D18 D16-----ZRSTM10 M12
|
|
LDY1-----------------
注释:M10 M12 启动正反转 y0y1 正反输出 D18文本赋值 D16通过编码器计数进行浮点运算值(比较的基数)
D18为32位寄存器