e6cpag5c编码器fx5u读取方法

如题所述

第1个回答  2022-02-12
有二种办法可以实现,
1、用gry()指令,优点简单、缺点需要占用全部的输入通道,如0通道,或者1通道;
2、自己写解码程序,优点,仅仅占用通道的8个位,缺点稍微麻烦一点,下面是我用的程序,其中bmq0-bmq7 分别为编码器的0-7输出端,可以接在0通道或者1通道的0-7位上,3通道为转换后的输出通道,其输出为0-255,需要的话再用四则运算换算为360度制的数据
LD bmq7
OUT 3.07
LD 3.07
ANDNOT bmq6
LD bmq6
ANDNOT 3.07
ORLD
OUT 3.06
LD 3.06
ANDNOT bmq5
LD bmq5
ANDNOT 3.06
ORLD
OUT 3.05
LD 3.05
ANDNOT bmq4
LD bmq4
ANDNOT 3.05
ORLD
OUT 3.04
LD 3.04
ANDNOT bmq3
LD bmq3
ANDNOT 3.04
ORLD
OUT 3.03
LD 3.03
ANDNOT bmq2
LD bmq2
ANDNOT 3.03
ORLD
OUT 3.02
LD 3.02
ANDNOT bmq1
LD bmq1
ANDNOT 3.02
ORLD
OUT 3.01
LD 3.01
ANDNOT bmq0
LD bmq0
ANDNOT 3.01
ORLD
OUT 3.00
LD P_On
MOV(021) 3 绝对角度
LD<(310) 绝对角度 零位角
-(410) 零位角 绝对角度 D5
-(410) &256 D5 主轴相对角度
' 主轴相对角度值(0-255)计算1
LD=(300) 绝对角度 零位角
MOV(021) #0 主轴相对角度
' 主轴相对角度值(0-255)计算2
LD>(320) 绝对角度 零位角
-(410) 绝对角度 零位角 主轴相对角度
相似回答