CN104874893A - Groove cutting machine based on ZYNQ7000 SOC and control system thereof - Google Patents

Groove cutting machine based on ZYNQ7000 SOC and control system thereof Download PDF

Info

Publication number
CN104874893A
CN104874893A CN201410071527.3A CN201410071527A CN104874893A CN 104874893 A CN104874893 A CN 104874893A CN 201410071527 A CN201410071527 A CN 201410071527A CN 104874893 A CN104874893 A CN 104874893A
Authority
CN
China
Prior art keywords
axis
cutting machine
axle
flag
groove cutting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410071527.3A
Other languages
Chinese (zh)
Inventor
曾超
唐厚君
郁苗成
方万
孟祥旺
徐青菁
张英隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Chao Ying New Energy Technology Co Ltd
Original Assignee
Nanjing Chao Ying New Energy Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Chao Ying New Energy Technology Co Ltd filed Critical Nanjing Chao Ying New Energy Technology Co Ltd
Priority to CN201410071527.3A priority Critical patent/CN104874893A/en
Publication of CN104874893A publication Critical patent/CN104874893A/en
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K7/00Cutting, scarfing, or desurfacing by applying flames
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23KSOLDERING OR UNSOLDERING; WELDING; CLADDING OR PLATING BY SOLDERING OR WELDING; CUTTING BY APPLYING HEAT LOCALLY, e.g. FLAME CUTTING; WORKING BY LASER BEAM
    • B23K7/00Cutting, scarfing, or desurfacing by applying flames
    • B23K7/10Auxiliary devices, e.g. for guiding or supporting the torch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

The invention relates to a groove cutting machine based on a ZYNQ7000 SOC and a control system thereof. The cutting machine comprises a controller, an X-Y-Z mechanical system and a revolution cutting head. The X-Y-Z mechanical system is a gantry-type three-dimensional motion system, and comprises an X axis, a Y axis and a Z axis. The revolution cutting head is mounted on a crossbeam of the X-Y-Z mechanical system. The controller is an SOC master control module based on a ZYNQ7000 framework, and comprises a calculation module, an FPGA module and a general peripheral equipment interface. The cutting machine further comprises three servo controllers, namely an A axis, a B axis and a C axis. After the calculation module obtains the position of an operation object of each axis through calculation according to forward kinematics equations, the calculation module performs interpolation calculation through the FPGA module so as to obtain pulse signals, and then drives the servo controllers to move through the peripheral equipment interface, so that multi-axial synchronizing linkage control is achieved, and real-time interpolation effects with high accuracy are guaranteed. The groove cutting machine control system is simple in structure, is convenient to operate, is real-time, is reliable, is humanized, and can be widely popularized in a large scale.

Description

Based on groove cutting machine and the control system thereof of ZYNQ7000SOC
Technical field
The present invention relates to a kind of machine and the control system thereof in cutting technique field, particularly relate to a kind of powerful and be convenient to the groove cutting machine based on ZYNQ7000 SOC and the control system thereof of large-scale promotion.
Background technology
Numeric control groove cutting machine is the highly difficult complex art of international welding circle the next item up high request high standard, its major function does to needs the cutting that the steel plate welded carries out various curved surface groove, be directly used in welding immediately, abandon traditional secondary polishing even operating process of three processing, time saving and energy saving less manpower, can be widely used in the industries such as space flight, shipbuilding, metallurgy and machining.
The quality of numeric control groove cutting machine is undoubtedly a war of its controller kind and function.In early days, people the most often use the opening controller of card insert type based on X86-based.This controller has powerful versatility, directly can run third-party auxiliary routine on the controller, only use normal domestic use desktop computer just can realize the function of master controller, even if it is also no problem to run large-scale graphic package, operational performance is powerful, but price is but very expensive, for the industrial computer of identical configuration, its price often home-use computer 5-10 doubly; Complex structure simultaneously, need special messenger to keep in repair once break down, the maintenance time of cost is also long; Designing and developing of X86 framework every block mainboard all needs at least one medium-sized R&D team to realize, and early stage, designs consume was large, and the work of later maintenance maintenance is also loaded down with trivial details, repeatedly uses flow process frequently for industrial circle, uses burden very large; In order to cater to the actual demand of industrial sector, embedded system is arisen at the historic moment subsequently.The controller architecture of embedded system structure is simple, function is also very powerful, but the controller of common embedded system framework is substantially based on the system of import, as case system, Siemens's system, Japanese Fa Nake system etc. are sent out by Spain.These stable system performance, powerful, but because technical threshold is high, expensive, common micro scale enterprise does not have technical capability and economic strength to use at all, simultaneously, the system of import uses interface complicated, and general operator is difficult to left-hand seat, owing to being not special beveling and cutting design, parameter configuration etc. are also difficult to the process requirements meeting factory completely, complicated operation, use pole not convenient.
Summary of the invention
The present invention is just for the technical problem existed in prior art, a kind of groove cutting machine based on ZYNQ 7000 SOC is provided, comprise controller, X-Y-Z mechanical system and revolution cutting head, X-Y-Z mechanical system is the three-dimensional motion system of a planer-type, comprise X-axis, Y-axis and Z axis, revolution cutting head is arranged on the crossbeam of X-Y-Z mechanical system, and described controller is the SOC main control module based on ZYNQ 7000 framework, comprises computing module, FPGA module and Universal peripheral interface; Also comprise A axle, B axle and C axle three SERVO CONTROL, described computing module calculates the operational objective position obtaining each axle by direct kinematics equation after, carry out interpolation operation by FPGA module and obtain pulse signal, then servo controlled motion is driven by Universal peripheral interface, the synchronous interaction realizing multiaxis controls, and guarantees to reach high-precision real-time interpolation effect; Simple, the simple operation of this cut Cutter Control System structure is simultaneously applicable to large-scale promotion widely.
In order to solve the problems of the technologies described above, the technical solution adopted in the present invention is as follows: based on the groove cutting machine of ZYNQ 7000 SOC, comprise controller, X-Y-Z mechanical system and revolution cutting head, X-Y-Z mechanical system is the three-dimensional motion system of a planer-type, comprise X-axis, Y-axis and Z axis, revolution cutting head is arranged on the crossbeam of X-Y-Z mechanical system, it is characterized in that: described controller is the SOC main control module based on ZYNQ 7000 framework, comprises computing module, FPGA module and Universal peripheral interface; Also comprise A axle, B axle and C axle three SERVO CONTROL, described computing module calculates the operational objective position obtaining each axle by direct kinematics equation after, carry out interpolation operation by FPGA module and obtain pulse signal, then drive servo controlled motion by Universal peripheral interface, the synchronous interaction realizing multiaxis controls; Described A axle is unlimited rotary axle, and B axle is swinging axle, and diaxon realizes the gesture stability of beveling and cutting cutting torch by the form of rotation+beat; Described C axle is the reserved axial interface of system extension upgrading.
As a modification of the present invention, described Z axis does lifting track and moves or highly regulate tracking separately.
Improve as another kind of the present invention, described Z axis adopts speed control mode, encoder is utilized to use pid algorithm: duk=Kp × (ek – ek1)+Ki × ek+Kd × (ek – 2 × ek1+ek2), realize the real-time tracking of Z axis, wherein ek, ek1, ek2 represents this cycle drop respectively, front cycle drop, front cycle drop, Z axis speed Uk=Uk – duk.
As another improvement of the present invention, described controller system uses JFFS2 log type file system, and RAM chip is ferroelectric RAM chip.
As another improvement of the present invention, based on the groove cutting machine control system of ZYNQ 7000 SOC, it is characterized in that: comprise groove cutting machine as claimed in claim 1, exterior I O input/output interface card, human-computer interaction device, described exterior I O input/output interface cartoon is crossed motion control card and is connected to X-Y-Z mechanical system, realizes the synchronous interaction of multiaxis; Described human-computer interaction device is used for the peripheral hardware of connection control device.
In order to solve the problems of the technologies described above, present invention also offers the groove cutting machine control system based on ZYNQ 7000 SOC, the technical scheme adopted is as follows: comprise groove cutting machine as claimed in claim 1, exterior I O input/output interface card, human-computer interaction device, described exterior I O input/output interface cartoon is crossed motion control card and is connected to X-Y-Z mechanical system, realizes the synchronous interaction of multiaxis; Described human-computer interaction device is used for the peripheral hardware of connection control device.
As another improvement of the present invention, described exterior I O input/output interface cartoon is crossed optocoupler and is isolated, and uses filter circuit to carry out filtering.
As another improvement of the present invention, described controller adopts Debian Wheezy armhf version operating system.
As a further improvement on the present invention, described human-computer interaction device is capacitive touch panel type display or keyboard.
Further improve as of the present invention, described human-computer interaction device provides the expansion mouth of USB by USB-HUB.
Further improve as of the present invention, the using method of the described groove cutting machine control system based on ZYNQ 7000 SOC is that operator is indicated and code to controller input by human-computer interaction device, in computing module, obtained the operational objective position of each axle by direct kinematics equation calculating processing after controller receives user instruction, interpolation operation is carried out subsequently in FPGA module, within each fixing cycle of operation, calculate in this cycle in the mode calculated in real time and should send how many pulse signals to delivery outlet, and drive servomotor to move with this signal, realize multi-shaft interlocked.
Beneficial effect of the present invention:
(1) described control system realizes six-axis control, carries out interpolation operation by FPGA module, complete strong time, guarantee to reach high-precision real-time interpolation effect.
(2) the C axle that system extension is reserved can participate in interpolation interlock equally, realizes multiple different requirement.
(3) two kinds of motor patterns controlled can according to circumstances be selected: by being added in the lump by the track of lifting shaft in code control, the five-axle linkage that can realize X-axis, Y-axis, A axle, B axle and Z axis controls, and is convenient to the beveling and cutting of non-voucher steel plate; In addition, also can bi-coordinate system is divided into move five axles, namely X-axis, Y-axis, A axle and B axle link, and Z axis does separately and highly regulates tracking, used to be applicable to plane beveling and cutting, use more flexible.
(4) use encoder to detect height and use the real-time tracking of pid algorithm control realization Z axis, practical effect is better.
(5) described controller system uses JFFS2 log type file system, can keep normal duty, do not need uninterrupted power supply (ups) Unity support when unexpected power-off.
(6) described controller system also uses ferroelectric RAM chip, and this chip can ensure that RAM data are after unexpected power-off, and the data of preservation can not disappear as common RAM data, and more reliable and stable, safety in utilization is higher.
(7) described Control system architecture is simple, uses ZYNQ7000 SoC embedded system, because chip internal is integrated with a large amount of peripheral hardwares, so user only need that some interface circuits are configured to it just can be very fast by system cloud gray model.In general, the technical staff that 3-5 people has skilled professional experiences just can well realize a set of application and development, simple operation, easy left-hand seat.
(8) due to the inherent advantage of arm framework, SoC system price is cheap, and in general its price is often just based on 1/20 even 1/50 of X86-based, more economical and efficient.
(9) exterior I O input/output interface cartoon is crossed optocoupler and is isolated, and uses filter circuit to carry out filtering, and exterior I O input/output interface card can be made to realize voltage levels protection, and more safe, use is felt more relieved.
(10) described controller adopts Debian Wheezy armhf version operating system, the free degree is higher, the function of Debian Wheezy armhf operating system itself is just comparatively complete, most functions of desktop operating system can be realized, and Debian Wheezy armhf operating system is less, meet harsh embedded system hardware environment, thus groove cutting machine control system entirety is more mature and stable and reliable.
(11) man-machine interaction is realized by capacitive touch panel type display or keyboard, simple and convenient, the expansion mouth of USB is provided, selective more, use more flexibility, liberalization.
Accompanying drawing explanation
Fig. 1 is single shaft interpolation operation workflow diagram of the present invention;
Fig. 2 is multi-axial Simultaneous interpolation operation workflow diagram of the present invention;
Fig. 3 is that schematic diagram is moved in the position of the embodiment of the present invention 2 six axle;
Fig. 4 is Control system architecture frame diagram of the present invention.
Detailed description of the invention
Below with reference to drawings and Examples, the present invention is described in detail.
Embodiment 1
SOC system is industry first item software/hardware programmable products, Arm-Cortex-A9 and the FPGA of its original creation provides development environment very flexibly in conjunction with programmable functions, containing two Arm-Cortex-A9 operation core in SOC system, motion control commands can be performed when performing User Interface simultaneously.The present invention is based on the groove cutting machine of ZYNQ 7000 SOC, comprise controller, X-Y-Z mechanical system and revolution cutting head, X-Y-Z mechanical system is the three-dimensional motion system of a planer-type, comprise X-axis, Y-axis and Z axis, revolution cutting head is arranged on the crossbeam of X-Y-Z mechanical system, described controller is the SOC main control module based on ZYNQ 7000 framework, comprises computing module, FPGA module and Universal peripheral interface; Also comprise A axle, B axle and C axle three SERVO CONTROL, described A axle is unlimited rotary axle, and B axle is swinging axle, C axle is the reserved axial interface of system extension upgrading, six axles realize accurate interpolation at the volley, and described interpolation is that the FPGA module computing in SOC main control module completes, specific as follows:
The processing G code that computing module provides according to user, carries out the calculating of direct kinematics equation, and obtains the operational objective position of each axle in process with this, and direct kinematics equation is:
User processes the position (x in G code, y, z) through the process of transformation matrix P, just can obtain the object run position of each axle, in order to provide the system flexibility of height, user can the value of sets itself P matrix, like this can retention system to the compatibility of different machine tool structure, target location is passed in FPGA module and carries out interpolation operation subsequently, single shaft interpolation operation workflow as shown in Figure 1, the target location that direct kinematics equation calculates is given to umber of pulse register by host computer, integral number of times register m calculates according to speed and interpolation cycle, after the value accumulation calculating in JV1 register m time, JR1 register will overflow, an electric impulse signal is provided with regard to control hardware interface after spilling.
Synchronization Control for multiaxis is also like this, utilize FPGA module to each target location, within each fixing cycle of operation, calculate in this cycle in the mode calculated in real time and should send how many pulse signals to delivery outlet, and the motion of servomotor is driven with this signal, as shown in Figure 2, by means of the power of ZYNQ7000 FPGA, operator can the interpolation unit of each axle of point-device control start simultaneously, realize multi-shaft interlocked, and the interpolation cycle of work is identical, guarantees to reach high-precision real-time interpolation effect.Below for realizing the specific code of interpolation function:
module sub_DDA(
pls_Axis1,pls_Axis2,pls_Axis3,pls_Axis4,pls_Axis5,pls_Axis6,pls_Axis7,pls_Axis8, //output dir_Axis1,dir_Axis2,dir_Axis3,dir_Axis4,dir_Axis5,dir_Axis6,dir_Axis7,dir_Axis8, count_Axis1,count_Axis2,count_Axis3,count_Axis4,count_Axis5,count_Axis6,count_Axis7,count_Axis8,
Empty_DBR,
AxisState,
Clr_Axis,
Set_Count,
clk, //input
reset,
Num,
flag_En,
dda_reg0,
AxisSel,
AxisCfg, value_Axis1,value_Axis2,value_Axis3,value_Axis4,value_Axis5,value_Axis6,value_Axis7,value_Axis8,
m
);
input clk;
input reset;
input[3:0] Num;
input flag_En;
input dda_reg0;
input[31:0] AxisSel;
input[31:0] AxisCfg;
input[31:0]value_Axis1,value_Axis2,value_Axis3,value_Axis4,value_Axis5,value_Axis6,value_Axis7,value_Axis8;
input[31:0] m;
output pls_Axis1=0,pls_Axis2=0,pls_Axis3=0,pls_Axis4=0,pls_Axis5=0,pls_Axis6=0,pls_Axis7=0,pls_Axis8=0;
output dir_Axis1=0,dir_Axis2=0,dir_Axis3=0,dir_Axis4=0,dir_Axis5=0,dir_Axis6=0,dir_Axis7=0,dir_Axis8=0;
output[63:0] count_Axis1=0,count_Axis2=0,count_Axis3=0,count_Axis4=0,count_Axis5=0,count_Axis6=0,count_Axis7=0,count_Axis8=0;
output Empty_DBR=0;
output[63:0] AxisState;
output Clr_Axis;
output Set_Count;
wire clk;
wire reset;
reg pls_Axis1,pls_Axis2,pls_Axis3,pls_Axis4,pls_Axis5,pls_Axis6,pls_Axis7,pls_Axis8;
reg dir_Axis1,dir_Axis2,dir_Axis3,dir_Axis4,dir_Axis5,dir_Axis6,dir_Axis7,dir_Axis8;
reg[63:0] count_Axis1,count_Axis2,count_Axis3,count_Axis4,count_Axis5,count_Axis6,count_Axis7,count_Axis8;
reg Empty_DBR;
reg[63:0] AxisState=0;
reg Clr_Axis=0;
reg Set_Count=0;
reg[31:0] JVAxis1=0,JVAxis2=0,JVAxis3=0,JVAxis4=0,JVAxis5=0,JVAxis6=0,JVAxis7=0,JVAxis8=0;
reg[29:0] JRAxis1=0,JRAxis2=0,JRAxis3=0,JRAxis4=0,JRAxis5=0,JRAxis6=0,JRAxis7=0,JRAxis8=0;
reg[2:0] current_state=Start_S,next_state;
reg[31:0] counter_m=0;
reg[31:0] AxisSel_reg;
reg[31:0] AxisCfg_reg;
wire Full_reg1;
wire[2:0] flag_Axis;
reg[31:0] SelAxisReg;
reg plsAxis1_reg;
parameter
Start_S=3'b100,
First_S=3'b010,
Second_S=3'b001;
JudgeEmptyFull JVM_JudgeEmptyFull(
.flag_Full(Full_reg1), //output
.clk(clk), //input
.Num(Num),
.AxisSel(AxisSel),
.AxisCfg(AxisCfg),
.flag_Axis1(JVAxis1[31]),.flag_Axis2(JVAxis2[31]),.flag_Axis3(JVAxis3[31]),.flag_Axis4(JVAxis4[31]),.flag_Axis5(JVAxis5[31]),.flag_Axis6(JVAxis6[31]),.flag_Axis7(JVAxis7[31]),.flag_Axis8(JVAxis8[31])
);
assign flag_Axis = Num-1;
always (posedge clk)
begin
if(reset)
current_state <= next_state;
else
begin
current_state <= Start_S;
end
end
always (current_state,flag_En,dda_reg0,Full_reg1,counter_m,SelAxisReg)
begin
next_state=Start_S;
case(current_state)
Start_S:
if(flag_En && dda_reg0 && !Full_reg1)
begin
next_state=First_S;
end
else
next_state=Start_S;
First_S:
begin
next_state=Second_S;
end
Second_S:
if(counter_m==0)
if(flag_En)
if(dda_reg0)
next_state=First_S;
else
next_state=Start_S;
else
next_state=Start_S;
else
next_state=Second_S;
endcase
end
always (posedge clk)
begin
case(next_state)
Start_S:
begin
Empty_DBR <= 1;
Clr_Axis <= 0;
Set_Count <= 1'b0;
SelAxisReg <= AxisSel;
dir_Axis1 <= 1'b0;
dir_Axis2 <= 1'b0;
dir_Axis3 <= 1'b0;
dir_Axis4 <= 1'b0;
dir_Axis5 <= 1'b0;
dir_Axis6 <= 1'b0;
dir_Axis7 <= 1'b0;
dir_Axis8 <= 1'b0;
if(AxisCfg[1]==1)
count_Axis1 <= 0;
if(AxisCfg[5]==1)
count_Axis2 <= 0;
if(AxisCfg[9]==1)
count_Axis3 <= 0;
if(AxisCfg[13]==1)
count_Axis4 <= 0;
if(AxisCfg[17]==1)
count_Axis5 <= 0;
if(AxisCfg[21]==1)
count_Axis6 <= 0;
if(AxisCfg[25]==1)
count_Axis7 <= 0;
if(AxisCfg[29]==1)
count_Axis8 <= 0;
if(AxisSel[2:0] == flag_Axis && AxisCfg[0]==1)
begin
pls_Axis1 <= 1'b0;
JVAxis1 <= 0;
AxisState[0] <= 1'b0;
end
if(AxisSel[6:4] == flag_Axis && AxisCfg[4]==1)
begin
pls_Axis2 <= 1'b0;
JVAxis2 <= 0;
AxisState[1] <= 1'b0;
end
if(AxisSel[10:8] == flag_Axis && AxisCfg[8]==1)
begin
pls_Axis3 <= 1'b0;
JVAxis3 <= 0;
AxisState[2] <= 1'b0;
end
if(AxisSel[14:12] == flag_Axis && AxisCfg[12]==1)
begin
pls_Axis4 <= 1'b0;
JVAxis4 <= 0;
AxisState[3] <= 1'b0;
end
if(AxisSel[18:16] == flag_Axis && AxisCfg[16]==1)
begin
pls_Axis5 <= 1'b0;
JVAxis5 <= 0;
AxisState[4] <= 1'b0;
end
if(AxisSel[22:20] == flag_Axis && AxisCfg[20]==1)
begin
pls_Axis6 <= 1'b0;
JVAxis6 <= 0;
AxisState[5] <= 1'b0;
end
if(AxisSel[26:24] == flag_Axis && AxisCfg[24]==1)
begin
pls_Axis7 <= 1'b0;
JVAxis7 <= 0;
AxisState[6] <= 1'b0;
end
if(AxisSel[30:28] == flag_Axis && AxisCfg[28]==1)
begin
pls_Axis8 <= 1'b0;
JVAxis8 <= 0;
AxisState[7] <= 1'b0;
end
end
First_S:
begin
counter_m <= m;
AxisSel_reg <= AxisSel;
AxisCfg_reg <= AxisCfg;
Empty_DBR <= 1;
Clr_Axis <= 1;
Set_Count <= 1'b0;
if(AxisSel[2:0] == flag_Axis && AxisCfg[0]==1)
begin
JVAxis1 <= value_Axis1;
dir_Axis1 <= value_Axis1[30];
JRAxis1 <= value_Axis1[29:0]/2;
pls_Axis1 <= 1'b0;
AxisState[0] <= 1'b1;
if(AxisCfg[1] == 1)
count_Axis1 <= 0;
end
if(AxisSel[6:4] == flag_Axis && AxisCfg[4]==1)
begin
JVAxis2 <= value_Axis2;
dir_Axis2 <= value_Axis2[30];
JRAxis2 <= value_Axis2[29:0]/2;
pls_Axis2 <= 1'b0;
AxisState[1] <= 1'b1;
if(AxisCfg[5] == 1)
count_Axis2 <= 0;
end
if(AxisSel[10:8] == flag_Axis && AxisCfg[8]==1)
begin
JVAxis3 <= value_Axis3;
dir_Axis3 <= value_Axis3[30];
JRAxis3 <= value_Axis3[29:0]/2;
pls_Axis3 <= 1'b0;
AxisState[2] <= 1'b1;
if(AxisCfg[9] == 1)
count_Axis3 <= 0;
end
if(AxisSel[14:12] == flag_Axis && AxisCfg[12]==1)
begin
JVAxis4 <= value_Axis4;
dir_Axis4 <= value_Axis4[30];
JRAxis4 <= value_Axis4[29:0]/2;
pls_Axis4 <= 1'b0;
AxisState[3] <= 1'b1;
if(AxisCfg[13] == 1)
count_Axis4 <= 0;
end
if(AxisSel[18:16] == flag_Axis && AxisCfg[16]==1)
begin
JVAxis5 <= value_Axis5;
dir_Axis5 <= value_Axis5[30];
JRAxis5 <= value_Axis5[29:0]/2;
pls_Axis5 <= 1'b0;
AxisState[4] <= 1'b1;
if(AxisCfg[17] == 1)
count_Axis5 <= 0;
end
if(AxisSel[22:20] == flag_Axis && AxisCfg[20]==1)
begin
JVAxis6 <= value_Axis6;
dir_Axis6 <= value_Axis6[30];
JRAxis6 <= value_Axis6[29:0]/2;
pls_Axis6 <= 1'b0;
AxisState[5] <= 1'b1;
if(AxisSel[21] == 1)
count_Axis6 <= 0;
end
if(AxisSel[26:24] == flag_Axis && AxisCfg[24]==1)
begin
JVAxis7 <= value_Axis7;
dir_Axis7 <= value_Axis7[30];
JRAxis7 <= value_Axis7[29:0]/2;
pls_Axis7 <= 1'b0;
AxisState[6] <= 1'b1;
if(AxisSel[25] == 1)
count_Axis7 <= 0;
end
if(AxisSel[30:28] == flag_Axis && AxisCfg[28]==1)
begin
JVAxis8 <= value_Axis8;
dir_Axis8 <= value_Axis8[30];
JRAxis8 <= value_Axis8[29:0]/2;
pls_Axis8 <= 1'b0;
AxisState[7] <= 1'b1;
if(AxisCfg[29] == 1)
count_Axis8 <= 0;
end
end
Second_S:
begin
Empty_DBR <= 0;
Clr_Axis <= 0;
Set_Count <= 1'b0;
if(AxisSel_reg[2:0] == flag_Axis && AxisCfg_reg[0]==1)
begin
plsAxis1_reg <= pls_Axis1;
{pls_Axis1,JRAxis1} <= JRAxis1+JVAxis1[29:0];
if(Full_reg1 != 0)
AxisState[0] <= 1'b1;
else
AxisState[0] <= 1'b0;
if(!plsAxis1_reg && pls_Axis1)
begin
if(dir_Axis1==1)
count_Axis1 <= count_Axis1 + 1'b1;
else
count_Axis1 <= count_Axis1 - 1'b1;
end
end
if(AxisSel_reg[6:4] == flag_Axis && AxisCfg_reg[4]==1)
begin
{pls_Axis2,JRAxis2} <= JRAxis2+JVAxis2[29:0];
if(Full_reg1 != 0)
AxisState[1] <= 1'b1;
else
AxisState[1] <= 1'b0;
end
if(AxisSel_reg[10:8] == flag_Axis && AxisCfg_reg[8]==1)
begin
{pls_Axis3,JRAxis3} <= JRAxis3+JVAxis3[29:0];
if(Full_reg1 != 0)
AxisState[2] <= 1'b1;
else
AxisState[2] <= 1'b0;
end
if(AxisSel_reg[14:12] == flag_Axis && AxisCfg_reg[12]==1)
begin
{pls_Axis4,JRAxis4} <= JRAxis4+JVAxis4[29:0];
if(Full_reg1 != 0)
AxisState[3] <= 1'b1;
else
AxisState[3] <= 1'b0;
end
if(AxisSel_reg[18:16] == flag_Axis && AxisCfg_reg[16]==1)
begin
{pls_Axis5,JRAxis5} <= JRAxis5+JVAxis5[29:0];
if(Full_reg1 != 0)
AxisState[4] <= 1'b1;
else
AxisState[4] <= 1'b0;
end
if(AxisSel_reg[22:20] == flag_Axis && AxisCfg_reg[20]==1)
begin
{pls_Axis6,JRAxis6} <= JRAxis6+JVAxis6[29:0];
if(Full_reg1 != 0)
AxisState[5] <= 1'b1;
else
AxisState[5] <= 1'b0;
end
if(AxisSel_reg[26:24] == flag_Axis && AxisCfg_reg[24]==1)
begin
{pls_Axis7,JRAxis7} <= JRAxis7+JVAxis7[29:0];
if(Full_reg1 != 0)
AxisState[6] <= 1'b1;
else
AxisState[6] <= 1'b0;
end
if(AxisSel_reg[30:28] == flag_Axis && AxisCfg_reg[28]==1)
begin
{pls_Axis8,JRAxis8} <= JRAxis8+JVAxis8[29:0];
if(Full_reg1 != 0)
AxisState[7] <= 1'b1;
else
AxisState[7] <= 1'b0;
end
counter_m <= counter_m-1;
if(counter_m == 0)
begin
JVAxis1 <= 32'b0;
JVAxis2 <= 32'b0;
JVAxis3 <= 32'b0;
JVAxis4 <= 32'b0;
JVAxis5 <= 32'b0;
JVAxis6 <= 32'b0;
JVAxis7 <= 32'b0;
JVAxis8 <= 32'b0;
end
else if(counter_m == 1)
Set_Count <= 1'b1;
else
Set_Count <= 1'b0;
end
endcase
end
endmodule
module JudgeEmptyFull(
flag_Full, //output
clk, //input
Num,
AxisSel,
AxisCfg,
flag_Axis1,flag_Axis2,flag_Axis3,flag_Axis4,flag_Axis5,flag_Axis6,flag_Axis7,flag_Axis8
);
input clk;
input[3:0] Num;
input[31:0] AxisSel;
input[31:0] AxisCfg;
input flag_Axis1,flag_Axis2,flag_Axis3,flag_Axis4,flag_Axis5,flag_Axis6,flag_Axis7,flag_Axis8;
output flag_Full;
wire clk;
wire[3:0] Num;
wire[31:0] AxisSel;
wire[31:0] AxisCfg;
wire flag_Axis1,flag_Axis2,flag_Axis3,flag_Axis4,flag_Axis5,flag_Axis6,flag_Axis7,flag_Axis8;
wire flag_Full;
reg flag1,flag2,flag3,flag4,flag5,flag6,flag7,flag8;
wire[2:0] flag_Axis;
assign flag_Axis = Num-1;
assign flag_Full = (flag1 & flag2 & flag3 & flag4 & flag5 & flag6 & flag7 & flag8);
always (AxisSel,flag_Axis1,flag_Axis2,flag_Axis3,flag_Axis4,flag_Axis5,flag_Axis6,flag_Axis7,flag_Axis8)
//always (posedge clk)
begin
if(AxisSel[2:0]==flag_Axis && AxisCfg[0]==1)
flag1 <= flag_Axis1;
else
flag1 <= 1;
if(AxisSel[6:4]==flag_Axis && AxisCfg[4]==1)
flag2 <= flag_Axis2;
else
flag2 <= 1;
if(AxisSel[10:8]==flag_Axis && AxisCfg[8]==1)
flag3 <= flag_Axis3;
else
flag3 <= 1;
if(AxisSel[14:12]==flag_Axis && AxisCfg[12]==1)
flag4 <= flag_Axis4;
else
flag4 <= 1;
if(AxisSel[18:16]==flag_Axis && AxisCfg[16]==1)
flag5 <= flag_Axis5;
else
flag5 <= 1;
if(AxisSel[22:20]==flag_Axis && AxisCfg[20]==1)
flag6 <= flag_Axis6;
else
flag6 <= 1;
if(AxisSel[26:24]==flag_Axis && AxisCfg[24]==1)
flag7 <= flag_Axis7;
else
flag7 <= 1;
if(AxisSel[30:28]==flag_Axis && AxisCfg[28]==1)
flag8 <= flag_Axis8;
else
flag8 <= 1;
end
endmodule
According to actual conditions, the present invention can have two kinds of motor patterns controlled: when the beveling and cutting on non-smooth steel plate, such as, when the head opening of pressure vessel or the perforate of pipe are cut, the track of lifting shaft is added code in the lump, control X-axis, Y-axis, A axle, B axle do coordinated signals together with Z axis, due to this type of workpiece and non-horizontal, thus in processing cutting process, Z axis must do corresponding lifting track according to the high low head of workpiece and move; When for plane beveling and cutting, five axles can be divided into bi-coordinate system to move, namely X, Y, A, B tetra-axles link, Z axis does separately and highly regulates tracking, usual steel plate cannot be accomplished very smooth, and these small fluctuatings can cause the deviation of running orbit, so need the real-time dynamic conditioning of Z axis to ensure the central point constant height of cutting torch, utilize encoder to use pid algorithm to be quite necessary to the real-time tracking realizing Z axis, practical effect is also relatively good.
Z axis adopts speed control mode to control, and in each execution cycle, gathers Z axis actual height and obtains Zk, height set Rk is deducted the drop value ek that Zk obtains each cycle, that is:
ek = Rk – Zk
Carry out PID arithmetic:
duk = Kp × (ek – ek1)+ Ki × ek + Kd × (ek – 2×ek1 + ek2)
Wherein: ek, ek1, ek2 represent this cycle drop respectively, front cycle drop, front cycle drop, the Z axis speed Uk=Uk – duk of output, exports to Z axis by the velocity amplitude that each computing obtains, namely can the accompany movement of extraordinary control Z axis.
During according to actual use experience, we draw, when the cycle set of PID arithmetic is at 1ms, the most suitable.
In order to improve safety and reliability, this controller system uses JFFS2 log type file system, this file system is widely used in using on the embedded device of Flash medium stored as a file, ensure that file system also can keep normal operating conditions when unexpected power down, can not damage; Also use ferroelectric RAM chip, this chip can ensure that compared with traditional die RAM data data after unexpected power-off do not disappear, and further increases the security of use, can deal with emergency case, use more secure simultaneously.
 
Embodiment 2
The present embodiment is with the difference of embodiment 1: can participate in during interpolation links for the C axle that system extension is reserved is same, such as when user needs to install a set of head cutting torch additional on trolley frame, as shown in Figure 3, the motion of X-axis and Y-axis realizes the orbiting motion of steel plain, A axle and B axle realize the gesture stability of beveling and cutting cutting torch by the form of rotation+beat, C axle can be used to the setting movement controlling new head, and the left and right translation realizing new head is moved.
 
Embodiment 3
Based on the groove cutting machine control system of ZYNQ 7000 SOC, comprise the groove cutting machine as described in above-described embodiment 1, exterior I O input/output interface card, human-computer interaction device, exterior I O input/output interface cartoon is crossed motion control card and is connected to X-Y-Z mechanical system, realize the synchronous interaction of multiaxis, all exterior I O input/output interface cartoons are crossed optocoupler and are isolated, and use filter circuit to carry out filtering, exterior I O input/output interface card can be made to realize voltage levels protection, more safe, if especially use BSP76 metal-oxide-semiconductor chip, the highlyest bear 48V voltage, far above the 24V voltage that lathe uses, use is felt more relieved, in addition, controller adopts Debian Wheezy armhf version operating system, enormously simplify system, what make system can take into account the response of user's man-machine interface and movement instruction assigns operation simultaneously, and ensure that stability and the opening of system cloud gray model, the free degree is higher, the function of Debian Wheezy armhf operating system itself is just comparatively complete, most functions of desktop operating system can be realized, and Debian Wheezy armhf operating system is less, can be arranged on most electronic hard disc and uses.Use described operating system, the file destination stress-free temperature that can be used in cross compile in development machines runs to target control system, and the supporting developing instrument of convenient maturation makes the construction cycle of software greatly shorten and is easy to grasp on windows/Linux platform, research staff is made energy to be concentrated the exploitation dropped into control system itself.
The cutting of goal systems can be completed by following steps:
1) on target machine, build a common wheezy armhf operating system, now its size is about 1G.
2) debootstrap is used to build minimum environment in aforesaid operations system.
3) the domestic inittab file of minimum ring is revised.
4) linux kernel is recompilated according to Target Board, the driving needed for only retaining.
5) kernel and the accessory module of new compiling are installed.
6) use tar to pack this file system, now size is 140M.
As shown in Figure 4, based on the groove cutting machine control system of ZYNQ 7000 SOC, operator passes through human-computer interaction device, if capacitive touch panel type display or keyboard are to controller input instruction and code, in computing module, obtained the operational objective position of each axle by direct kinematics equation calculating processing after controller receives user instruction, interpolation operation is carried out subsequently in FPGA module, within each fixing cycle of operation, calculate in this cycle in the mode calculated in real time and should send how many pulse signals to delivery outlet, and drive servomotor to move with this signal.
Embodiment 4
The difference of the present embodiment and embodiment 1, embodiment 2 and embodiment 3 is: the expansion mouth that can also be provided USB by the form of USB-HUB, once can meet the USB interface demand day by day increased, more hommization, more rationalizes, and uses more flexible.
, use for the ease of operator, simplify and use step, the man-machine display interface in this control system uses the operation interface of identical style, and menu mode method of operating makes user intuitively understand the functional character of each button meanwhile.Be F1-F8 action button below each interface, and be similarly 8 action buttons on right side.Overall software interface function can be divided into following a few class:
(1) state display: coordinate position and the speed of service that can show current each axle; The planar obit simulation of machining code and current present position can be shown; Each I/O port information of lathe is also shown on the right side of interface;
(2) parameter modification: the operational factor can revising lathe, is divided into domestic consumer's parameter and important lathe parameter.Domestic consumer's parameter is that operating personnel often need the parameter of adjustment as process velocity, cut mode, cutting parameter etc. in routine use; Important lathe parameter is the parameter of lathe manufacturer debugging lathe, and such as machine tool accuracy, back to zero control, back to zero direction, soft spacing setting, acceleration setting, maximum operational speed are arranged etc.
(3) machining code editor: provide the online editing processing capacity to machining code in described control system, user can make code and revise variation arbitrarily, and the editor of code can use keyboard operation that touch-screen also can be used to operate.
(4) input/output module test: the interface providing test input output module in described control system, makes when an error occurs, can failure judgement reason fast.
(5) operation controls: provide manually to run in described control system and run two kinds of operational modes with automatic, perform daily exercise and machining code operation function respectively.In running, user governing speed multiplying power can realize level and smooth acceleration and deceleration motion arbitrarily.
 
Should be noted that, the explanation of above-mentioned implementation example the application of unrestricted creation, only illustrative principle of the present invention and effect, but not for limiting the scope of the invention.The scope of the present invention, should be as disclosed in the claims.

Claims (10)

1. based on the groove cutting machine of ZYNQ 7000 SOC, comprise controller, X-Y-Z mechanical system and revolution cutting head, X-Y-Z mechanical system is the three-dimensional motion system of a planer-type, comprise X-axis, Y-axis and Z axis, revolution cutting head is arranged on the crossbeam of X-Y-Z mechanical system, it is characterized in that: described controller is the SOC main control module based on ZYNQ 7000 framework, comprises computing module, FPGA module and Universal peripheral interface; Also comprise A axle, B axle and C axle three SERVO CONTROL, described computing module calculates the operational objective position obtaining each axle by direct kinematics equation after, carry out interpolation operation by FPGA module and obtain pulse signal, then drive servo controlled motion by Universal peripheral interface, the synchronous interaction realizing multiaxis controls; Described A axle is unlimited rotary axle, and B axle is swinging axle, and diaxon realizes the gesture stability of beveling and cutting cutting torch by the form of rotation+beat; Described C axle is the reserved axial interface of system extension upgrading.
2. groove cutting machine as claimed in claim 1, is characterized in that: described Z axis does lifting track and moves or highly regulate tracking separately.
3. groove cutting machine as claimed in claim 2, it is characterized in that described Z axis adopts speed control mode, encoder is utilized to use pid algorithm: duk=Kp × (ek – ek1)+Ki × ek+Kd × (ek – 2 × ek1+ek2), realize the real-time tracking of Z axis, wherein ek, ek1, ek2 represents this cycle drop respectively, front cycle drop, front cycle drop, Z axis speed Uk=Uk – duk.
4. groove cutting machine as claimed in claim 2 or claim 3, it is characterized in that controller system uses JFFS2 log type file system, RAM chip is ferroelectric RAM chip.
5. based on the groove cutting machine control system of ZYNQ 7000 SOC, it is characterized in that: comprise groove cutting machine as claimed in claim 1, exterior I O input/output interface card, human-computer interaction device, described exterior I O input/output interface cartoon is crossed motion control card and is connected to X-Y-Z mechanical system, realizes the synchronous interaction of multiaxis; Described human-computer interaction device is used for the peripheral hardware of connection control device.
6. groove cutting machine control system as claimed in claim 5, is characterized in that: described exterior I O input/output interface cartoon is crossed optocoupler and isolated, and uses filter circuit to carry out filtering.
7. groove cutting machine control system as claimed in claim 5, is characterized in that: described controller adopts Debian Wheezy armhf version operating system.
8. the groove cutting machine control system as described in claim 6 or 7, is characterized in that: described human-computer interaction device is capacitive touch panel type display or keyboard.
9. groove cutting machine control system as claimed in claim 8, is characterized in that: described human-computer interaction device provides the expansion mouth of USB by USB-HUB.
10. based on the using method of the groove cutting machine control system of ZYNQ 7000 SOC, it is characterized in that: operator is indicated and code to controller input by human-computer interaction device, in computing module, obtained the operational objective position of each axle by direct kinematics equation calculating processing after controller receives user instruction, interpolation operation is carried out subsequently in FPGA module, within each fixing cycle of operation, calculate in this cycle in the mode calculated in real time and should send how many pulse signals to delivery outlet, and drive servomotor to move with this signal, realize multi-shaft interlocked.
CN201410071527.3A 2014-03-01 2014-03-01 Groove cutting machine based on ZYNQ7000 SOC and control system thereof Pending CN104874893A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410071527.3A CN104874893A (en) 2014-03-01 2014-03-01 Groove cutting machine based on ZYNQ7000 SOC and control system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410071527.3A CN104874893A (en) 2014-03-01 2014-03-01 Groove cutting machine based on ZYNQ7000 SOC and control system thereof

Publications (1)

Publication Number Publication Date
CN104874893A true CN104874893A (en) 2015-09-02

Family

ID=53942708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410071527.3A Pending CN104874893A (en) 2014-03-01 2014-03-01 Groove cutting machine based on ZYNQ7000 SOC and control system thereof

Country Status (1)

Country Link
CN (1) CN104874893A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107159973A (en) * 2017-07-03 2017-09-15 泰安市源通智能机械技术研究院 Numerical control steel plate rip cutting forming machine
CN107219821A (en) * 2016-03-21 2017-09-29 芜湖微云机器人有限公司 Six-axis linkage robot curve interpolation algorithm and nanometer-scale motions control system
CN110130088A (en) * 2019-06-20 2019-08-16 武汉科普易能科技有限公司 A kind of cutting system of not parking automatic loading/unloading
CN110687843A (en) * 2019-10-14 2020-01-14 湖南强军科技有限公司 Multi-shaft multi-motor servo device based on ZYNQ and control method thereof
CN111580470A (en) * 2020-04-30 2020-08-25 苏州欧立通自动化科技有限公司 STM32F 4-based multifunctional motion control method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477355A (en) * 2008-01-04 2009-07-08 李成刚 Numerical control system used for miniature cutter
CN203275953U (en) * 2013-05-27 2013-11-06 湖州交达数控科技有限公司 Digital control system of groove cutting machine
CN103551716A (en) * 2013-10-25 2014-02-05 华南理工大学 Full-digital high-power plasma arc precise cutting system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477355A (en) * 2008-01-04 2009-07-08 李成刚 Numerical control system used for miniature cutter
CN203275953U (en) * 2013-05-27 2013-11-06 湖州交达数控科技有限公司 Digital control system of groove cutting machine
CN103551716A (en) * 2013-10-25 2014-02-05 华南理工大学 Full-digital high-power plasma arc precise cutting system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘福荣: "《计算机控制技术》", 31 May 2011 *
汪卓: "ZedBoard开发平台的多轴串联控制系统", 《电子产品世界》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107219821A (en) * 2016-03-21 2017-09-29 芜湖微云机器人有限公司 Six-axis linkage robot curve interpolation algorithm and nanometer-scale motions control system
CN107159973A (en) * 2017-07-03 2017-09-15 泰安市源通智能机械技术研究院 Numerical control steel plate rip cutting forming machine
CN110130088A (en) * 2019-06-20 2019-08-16 武汉科普易能科技有限公司 A kind of cutting system of not parking automatic loading/unloading
CN110130088B (en) * 2019-06-20 2023-09-01 武汉科普易能科技有限公司 Cutting system capable of automatically feeding and discharging without stopping
CN110687843A (en) * 2019-10-14 2020-01-14 湖南强军科技有限公司 Multi-shaft multi-motor servo device based on ZYNQ and control method thereof
CN110687843B (en) * 2019-10-14 2021-09-28 北京长峰天通科技有限公司 Multi-shaft multi-motor servo device based on ZYNQ and control method thereof
CN111580470A (en) * 2020-04-30 2020-08-25 苏州欧立通自动化科技有限公司 STM32F 4-based multifunctional motion control method

Similar Documents

Publication Publication Date Title
US9836039B2 (en) Method and system for simulating a work process on a machine tool
Minhat et al. A novel open CNC architecture based on STEP-NC data model and IEC 61499 function blocks
CN104874893A (en) Groove cutting machine based on ZYNQ7000 SOC and control system thereof
CN201689302U (en) Integrated intelligent servo driver
CN105033996B (en) Control system based on hand-push teaching type five-shaft horizontal joint robot
CN102073302A (en) Full digitalized distributed intelligent servo driver
CN201426109Y (en) PCI bus bar type multi-shaft impulse type movement control card
CN203449306U (en) Master-slave-type double-industrial-robot coordination operation control system
CN102830658A (en) Embedded numerical control system for multi-shaft numerical control machine tool
CN101396689B (en) Three-dimensional glue spreading system and method
CN104133400B (en) Rotary grinder embedded controller based on digital bus
CN105204441A (en) Hand-push teaching type five-axis polishing grinding robot
CN110286652A (en) Control system method based on H-BOT structure
CN107291016A (en) A kind of control system applied to industrial robot
CN111816039A (en) Electromechanical transmission control system and control method
CN204065733U (en) A kind of rotating disk knife sharpener embedded controller based on number bus
CN104353926B (en) A kind of motion control method being applicable to complex curve device automatic welding
WO2017101700A1 (en) Computer aided manufacturing method, device and system in direct communication with numerical control system
CN202951982U (en) Intelligent shifting system matched with robot
CN102841558B (en) Five-axis full-automatic high speed dispensing robot servo-control system
CN202362643U (en) Modular machine tool control system
CN201955650U (en) Three-coordinate motion controller
CN204790504U (en) Based on embedded AC servo controlling means of CPCI bus
CN105223910A (en) The application of a kind of PLC in numerical control flat head apparatus
CN112290856A (en) BeagleBone-Black-based motor motion controller

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150902