最近在研究电火花的电源的脉冲利用率的问题
说白了就是检测单位时间内的 短路 拉弧 正常 空载的情况
根据测得的条件来调整脉冲频率,反极性探测排泄,和主轴的servo等。
但是写程序有点问题(vhdl) 主要是定义了std——logic——vector
到后面的case语句报错,搞不懂为什么。
以下是程序的片段
port(clk:in std_logic;
lights :in std_logic_vector(5 downto 0);
);
end mosc;
architecture mosc1 of mosc is
signal nops:std_logic_vector(5 downto0);
signal nopl:std_logic_vector(5 downto0);
signal shorts:std_logic_vector(5 downto0);
signal shortl:std_logic_vector(5 downto0);
signal light_l:std_logic_vector(5 downto0);
signal light_h:std_logic_vector(5 downto0);
signal temp :std_logic_vector(5 downto0);
begin
process---火花状态识别模块部分
begin
if clr=Ƈ'then
nop <=Ɔ'
light <=Ɔ'
short <=Ɔ'
int <=Ɔ'
nops <=Ɔ'
nopl <=Ɔ'
shorts <=Ɔ'
shortl <=Ɔ'
light_l<=Ɔ'
light_h<=Ɔ'
end if;
if clr=Ɔ' and ent_clk=Ƈ' then
case lights is
when "00001" =>nopl<=nopl+1;
when "10010" =>nops<=nops+1;
when "11001"=>light_h<=light_h+1;
when "10011" =>light_l<=light_l+1;
when "00100" =>shortl<=shortl+1;
when "00111" =>shorts<=shorts+1;
end case;
end if;