#include <stdio.h>
int m1 //共享变量
int m2 //共享变量
struct{
int id //进程标号
int waiter1 //指针,用于标识等待队列的下一个进程
int priority //进程优先级
char status //进程状态
}pcb[4]
struct{
int value //信号量的值
int waiter2//指针,用于标识等待此信号量队列的第一个进程
}sem[3]
char stack[11][4] //现场保护堆栈
int i; //cpu中的通用寄存器
int ep//当前运行进程指针
char addr //程序运行时的地址
void init() //初始化
int find() //找出就绪进程
int w2() //
int process1() //进程1
int process2() //进程2
int process3() //进程3
int p(int,int ,char) //P原语
int v(int,int ,char) //V原语
main()
{
init()
printf("系统程序开始执行\n")
for(){
if(find()!=0) //找出就绪进程
w2() //进程调度
else break//退出程序
}
printf("系统程序结束\n")
}
void init() //初始化进程
{
int j,k
pcb[0].status='w' //进程状态设置为等待
pcb[0].priority=4 //进程的优先级别
for(j=1j<=3j++){
pcb[j].id=j //进程编号
pcb[j].status='r' //进程状态设置为就绪
pcb[j].waiter1=0 //进程指针初始化为0
pcb[j].priority=j //设置进程优先级
}
for(j=1j<=2j++){
sem[j].value=1 //信号量赋值为1
sem[j].waiter2=0 //等待信号量队列的初始化
}
i=0 //CPU通用寄存器初始化
ep=0 //
addr='0' //程序运行地址
m1=0 //共享变量初始化
m2=0 //共享变量初始化
for(j=1j<=10j++){
for(k=1k<=3k++)
stack[j][k]='0' //现场保护堆栈初始化
}
}
int find(){ //查找初始化变量
int j
for(j=1j<=3j++)
if(pcb[j].status=='r') return(j)//如果pcb队列中有就绪进程,返回进程编号
return(0)
}
int w2(){ //进程调度程序
int pd
pd=find() //找出就绪进程编号
if(pd==0) return(0)//如果没有找到就绪进程,退出程序
else if(ep==0){//如果当前运行进程是否为0
pcb[pd].status='e' //直接将当前进程设置为运行状态
ep=pd //当前运行进程设置为pd
printf("进程%d正在执行\n",ep)
}
else
if(pcb[pd].priority<pcb[ep].priority)//如果当前进程比待调入进程优先级进行比较
{//调入进程优先级别高
pcb[ep].status='r'//把CPU运行进程执行状态设置为就绪
printf("读取进程%d\n",pcb[pd].id)
pcb[pd].status='e'//将待调入进程执行状态设置为执行
ep=pd//将当前运行进程指针为待调入进程
}
printf("运行进程%d\n",ep)
i=stack[1][ep] //恢复进程的通用寄存器中的值和运行地址。
addr=stack[2][ep]
switch(ep){ //根据当前运行的进程选择运行
case 1:process1()
break
case 2:process2()
break
case 3:process3()
break
default:printf("当前进程出现错误%d\n",ep)
break
}
}
int process1(){//进程1
if(addr=='m') goto m//如果当前运行地址是m,跳到m运行
i=1
a:
printf("进程1在信号量sem[1]上调用P操作\n")
if(p(1,1,'m')==0) return(0)//进行p操作,m表示程序执行到m
else goto m
m:
printf("打印进程1...m1=%d\n",m1)//进程1的操作,打印,寄存器i+5
printf("打印进程1...i=%d\n",i)
i+=5
goto a//跳回a执行
}
int process2(){//进程分为3部分
if(addr=='m') goto m
if(addr=='n') goto n
i=1
a:
printf("进程2在信号量sem[2]上调用P操作\n")
if(p(2,2,'m')==0) return(0)
m:
m1=2*m2
printf("进程2在信号量sem[1]上调用V操作m1=%d\n",m1)
if(v(1,2,'n')==0) return(0)
else{
n:
printf("打印进程2...i=%d\n",i)
i+=10
goto a
}
}
int process3(){
if(addr=='m') goto m
if(addr=='n') goto n
i=1
a:
if(i>4){
printf("进程3在信号量sem[2]上调用P操作\n")
if(p(2,3,'n')==0) return(0)
}
n:
m2=i
printf("进程3在sem[2]信号量上调用V操作m=%d\n",m2)
if(v(2,3,'m')==0) return(0)
else{
m:
i+=1
goto a
}
}
int p(int se,int p,char ad){
int w
sem[se].value--//信号量减1
if(sem[se].value==0) return(1)//如果信号量=0,返回1,说明阻塞
printf("阻塞当前进程%d\n",p)
pcb[p].status='w'//改变进程状态
ep=0//运行进程为空
pcb[p].waiter1=0//设为尾末
w=sem[se].waiter2//找出等待队列的队尾
if(w==0) sem[se].waiter2=p//插入等待队列
else{
while(pcb[w].waiter1!=0) w=pcb[w].waiter1
pcb[w].waiter1=p
}
stack[1][p]=i//保存现场
stack[2][p]=ad
return(0)
}
int v(int se,int p,char ad){
int w
sem[se].value++//信号量加1
if(sem[se].value>0) return(1)//信号量>0,无等待进程
w=sem[se].waiter2//返回第一个等待进程
sem[se].waiter2=pcb[w].waiter1//调整位置
pcb[w].status='r'//进程改变状态
printf("唤醒进程%d\n",w)
stack[1][p]=i//进程状态进栈
stack[2][p]=ad
return(0)
}
虽然不是C#,但意思如下,希望能帮到你。。。。。这是我自己以前做过的。
#include <stdio.h>
struct{
char pstatus //哲学家状态
int pid//哲学家编号
int waiter1
int priority//优先级,数值大的就餐的优先级高
}pcb[6]
struct sp{
int stick //筷子状态,0表示可使用或表示空闲,1表示有人在使用或不空闲
}num[6]//筷子编号
struct{
int value //互斥信号量,临界区数,初值为1
int waiter2 //同步信号量,初值为0
}sem[5]
char stack[11][6]
int m1,m2//为系统设置的公用数据被三个进程共享使用。
int i,ep //ep表示正在就餐的哲学家的pid,i为通用寄存器
char addr //addr为程序计数器
void init()//初始化函数
int find()//查找
int hungry()
int process1()
int process2()
int process3()
int process4()
int process5()
int p(int,int ,char)
int v(int,int ,char)
int main(){
init()
printf("系统程序开始执行\n")
for()
{ if( find()!=0 ) hungry()
else break
}
printf("系统程序结束\n")
}
void init(){
int j,k
pcb[0].pstatus='w'
pcb[0].priority=2//数越大优先级越高
for( j=1j<=5j++)
{
num[j].stick=0
pcb[j].pid=j
pcb[j].pstatus='t'
pcb[j].priority=5
}
for(j=1j<=5j++)
{
sem[j].value=1
sem[j].waiter2=0
}
i=0ep=0m1=0 m2=0
for(j=1j<=11j++)
{
for(k=1k<=6k++)
stack[j][k]='0'
}
}
int find()
{
int j
for(j=1j<=5j++)
if(pcb[j].pstatus=='t'&&pcb[j].priority==5)return (j)
return 0
}
int hungry(){
int j,left,right
j=find()
left=j
right=j+1
if(j==0) return(0)
/*else if(num[left].stick==1||num[right].stick==1){
num[left].stick=0
num[right].stick=0
pcb[j].pstatus='w'
printf("在等吃饭的哲学家编号为%d\n",pcb[j].pid)}*/
if(ep==0){
//&&num[left].stick==0 &&num[right].stick==0&&pcb[j].pstatus=='t'&&pcb[j].priority==5
if(num[left].stick==0&&num[right].stick==0)
{
printf("将正在思考的哲学家%d状态设为执行状态\n",pcb[j].pid)
printf("读取进程%d\n",pcb[j].pid)
pcb[j].pstatus='e'
ep=j
num[left].stick=1
num[right].stick=1
printf("运行进程%d\n",ep)
pcb[ep].priority--
}
else{
printf("哲学家%d没有同时获得左右两只筷子,只好放下筷子等待吃饭\n",pcb[j].pid)
num[left].stick=0
num[right].stick=0
pcb[j].pstatus='w'
pcb[j].priority++
if(pcb[j].pstatus=='w'&&pcb[j].priority>pcb[j-1].priority)
{ printf("将在等待中哲学家%d设为t状态\n",pcb[j].pid)
pcb[j].pstatus='t'
printf("读取进程%d\n",pcb[j].pid)
pcb[j].pstatus='e'
ep=j}
}
}
i=stack[1][ep]
addr=stack[2][ep]
switch(ep){
case 1:process1()
break
case 2:process2()
break
case 3:process3()
break
case 4:process4()
break
case 5:process5()
break
default:printf("当前进程出错!%d\n",ep)
break
}
}
process1(){
if(addr=='m') goto m
i=1
a:
printf("哲学家1在信号量sem[1]上调用P操作\n")
if(p(1,1,'m')==0) return(0)
else goto m
m:
printf("打印进程1...m1=%d\n",m1)
printf("打印进程1...i=%d\n",i)
i+=5
goto a
}
process2(){
if(addr=='m') goto m
if(addr=='n') goto n
i=1
a:
printf("进程2在信号量sem[3]上调用P操作\n")
if(p(3,2,'m')==0) return(0)
m:
m1=m2+4
printf("进程2在信号量sem[2]上调用V操作m1=%d\n",m1)
if(v(2,2,'n')==0) return(0)
else{
n:
printf("打印进程2...i=%d\n",i)
i+=10
goto a
}
}
process3(){
if(addr=='m') goto m
if(addr=='n') goto n
i=1
a:
printf("进程3在信号量sem[4]上调用P操作\n")
if(p(4,3,'m')==0) return(0)
m:
m1=m2+4
printf("进程3在信号量sem[2]上调用V操作m1=%d\n",m1)
if(v(2,3,'n')==0) return(0)
else{
n:
printf("打印进程3...i=%d\n",i)
i+=15
goto a
}
}
process4(){
if(addr=='m') goto m
if(addr=='n') goto n
i=1
a:
printf("进程4在信号量sem[4]上调用P操作\n")
if(p(4,4,'m')==0) return(0)
m:
m1=m2+4
printf("进程4在信号量sem[3]上调用V操作m1=%d\n",m1)
if(v(3,4,'n')==0) return(0)
else{
n:
printf("打印进程4...i=%d\n",i)
i+=20
goto a
}
}
process5(){
if(addr=='m') goto m
if(addr=='n') goto n
i=1
a:
if(i>1){
printf("进程5在信号量sem[2]上调用P操作\n")
if(p(2,5,'n')==0) return(0)
}
n:
m2=i
printf("进程5在sem[5]信号量上调用V操作m=%d\n",m2)
if(v(5,5,'m')==0) return(0)
else{
m:
i+=1
goto a
}
}
int p(int se,int p,char ad){ //p操作
int w //等待指示字单元
sem[se].value--
if(sem[se].value==0) return(1) //判断是否有资源
printf("阻塞当前进程%d\n",p) //打印阻塞进程
pcb[p].pstatus='w' //把阻塞进程置"w"状态
ep=0
pcb[p].waiter1=0
w=sem[se].waiter2
//下一状态指示字赋给w
if(w==0) sem[se].waiter2=p //把等待进程标识符送入信号单元
else{
while(pcb[w].waiter1!=0) //找等待队列是否为空
w=pcb[w].waiter1 //送入等待指示字单元
pcb[w].waiter1=p //否则插入等待队列
}
stack[1][p]=i
stack[2][p]=ad// 保护现场
return(0)
}
int v(int se,int p,char ad){
int w
sem[se].value++
if(sem[se].value>0) return(1)
w=sem[se].waiter2
sem[se].waiter2=pcb[w].waiter1
pcb[w].pstatus='t'
printf("唤醒进程%d\n",w)
stack[1][p]=i
stack[2][p]=ad
return(0)
}
豹2主战坦克Leopard 2 Main Battle Tank
克劳斯·玛菲股份有限公司
Krauss Maffei AG,DE
克劳斯·玛菲股份有限公司和克虏伯·马克机械制造股份有限公司
Krauss-Maffei AG and Krupp Mak Maschin
生产
德国(1950辆)、荷兰(450辆)、瑞士(380辆)
概述
豹1主战坦克刚一投产,波尔舍(Porsche)公司就获得了一项进一步发展豹1坦克的合同,以提高该坦克的战斗效能。1967年该合同期满时恰逢德国与美国已经在联合研制MBT-70坦克,联合发展计划不允许任何一国从事自己的坦克发展。
然而,德国为豹1坦克研制了提高性能的新部件,其中一些部件为研制新坦克创造了条件。1968年,克劳斯·玛菲公司获得了一项价值2500万德国马克的合同,制造2辆新坦克样车。这种新坦克与后来的生产型豹1A3/豹1A4坦克相似,装有改进型火控系统、不同的稳定装置、新型发动机和传动装置,还装有1门105mm线膛坦克炮、1挺7.62mm并列机枪和1挺7.62mm高射机枪。
1969年,当德国和美国联合研制的MBT-70坦克还停留在样车发展阶段时,德国便利用MBT-70坦克部件发展了一种牡野猪(Eber)试验坦克,克劳斯·玛菲公司制造了2辆样车。然后,在此基础上又研制了一种叫做野猪(Keiler)的新型试验坦克。
1970年MBT-70坦克计划告吹,德国便作出研制豹2坦克的决定。1972~1974年间,克劳斯·玛菲公司制出16个车体和17个炮塔,所有样车均装有MBT-70坦克的伦克(Renk)公司传动装置和MTU公司的柴油机。
10辆样车装有莱茵金属(Rheinmetall)公司的105mm线膛炮,其余样车安装莱茵金属公司的120mm滑膛炮。2辆底盘车装有液气悬挂装置,但最终被采用的是带有摩擦减振器的高强度扭杆悬挂装置。样车上装有各种型式的火控系统,其中1辆样车的炮塔顶上还装有1门20mm遥控高射炮。样车于1972~1974年进行了部件系统技术试验,然后进行部队试验。1975年2~3月在加拿大进行冬生试车,1975年4~5月在美国尤马(Yuma)试验场进行热带沙漠试验。1975年2~3月在加拿大进行冬季试车,1975年4~5月在美国尤马(Yuma)试验场进行热带沙漠试验。豹2坦克样车试验情况为:
行车试验 公路行驶34531千米,起伏路行驶27472千米。
发动机试验 共试验MB873型发动机49台,其中23台进行了台架试验,26台装车试验。1975年以前,台架试验总共进行了30000h,单台发动机最长试验时间为2400h,进行了3次按北约试验标准规定的400h运行试验,在起伏地上进行了4327h耐久性行驶试验。
传动装置试验 对41台HSWL 354型液力机械综合传动装置进行了试验,其中1台为台架试验,40台为装车试验。台架试验运行了8000h,最长一次试验持续1200h。装车试验共行驶158000千米,最长的一次行车试验距离为18400千米。侧传动装置与传动装置一起试验,共试制了85台侧传动装置。
行动装置试验 16辆样车底盘装有不同型式的行动装置,按规定的项目进行反复试验。对平衡肘、负重轮和悬挂系统进行了反复试验,仅摩擦减振器在10年内进行的行驶性能试验就有69000千米。炮塔试验 1973年3月~1975年12月试验了炮塔和武器系统。用9辆样车对120mm滑膛炮及火控系统和105mm线膛炮及火控系统进行了长达15153h的使用试验,其中对装有120mm火炮的炮塔试验了4755h,对装有105mm火炮的炮塔试验了10398h。
射击试验 1972年~1975年12月进行试验,共发射105mm炮弹3742发,发射120mm炮弹1667发。
1974年,美国和德国签订了关于两国坦克发展计划标准化理解备忘录,1977年进行了修改,内容包括两国关于坦克部件的标准化问题。标准化的部件包括发动机、传动装置、炮长望远瞄准镜、夜视设备、火控系统、履带和主要武器。
为满足美国需要,德国制造了另一种称为豹2AV(美国称为朴实型豹2)坦克。该坦克装有不同的火控系统和炮塔,车体为间隙复合装甲,还有很多受1973年中东战争影响进行的其他改进项目。总共制造了2个车体和3个炮塔,向美国交付了1辆完整的豹2AV坦克和1个底盘车,供美国的1976年9月进行与XM1坦克样车的对比试验。但美国没有采用这种坦克而选择了本国两种竞争车型中的一种——克莱斯勒(Chrysler)公司的XM-1坦克。然而美国却决定在M1的产品改进型M1A1坦克上采用德国莱茵金属公司的120mm滑膛炮。
1977年,德国选定克劳斯·玛菲公司为主承包商并签定了大量生产豹2坦克的合同,在1800辆订货中,克劳斯·玛菲公司生产990辆,其余810辆由克虏伯·马克公司制造。
第一辆预生产型豹2坦克于1978年年底交给德国国防军用于部队训练。1979年初又交付了3辆。第一辆生产型豹2坦克由克劳斯·玛菲公司于1979年10月在慕尼黑交付。到1982年底年产量达到300辆水平。
德国陆军的1800辆豹2坦克订货分5批生产:
第一批380辆,1979年开始生产时尚未安装处于研制阶段的热成像瞄准镜,但为该镜留有安装位置和接口。为保证部队使用,车上装有PZB200型微光观瞄仪器。
第二批450辆,1981年开始生产,装有热成像瞄准镜,并提高了某些部件和系统的性能。从外观看,取消了横风传感器、提高了车长周视潜望镜的高度(增高5cm),为方便与车外乘员通话而在炮塔左后侧增设了车外通话接口,加大了三防通风斗尺寸等。
第三批300辆,1983年开始生产,其标准与第二批基本相同。
第四批300辆,1984年开始生产,采用了新型SEM80/90车用电台,该电台天线较短,为炮长增装了1个依托支架、使炮长能方便地进行瞄准和射击。
第五批370辆,1985年开始生产,装有数字式电子计算机,配有弹道程序,还装有训练使用的射击模拟器接口和自动灭火抑爆系统。
前三批豹2坦克的费用为51亿德国马克,5批的总费用为92亿德国马克。
1987年10月30日,德国政府批准了150辆豹2坦克的新订货计划,其中55%由克劳斯·玛菲公司生产,其余由克虏伯·马克公司制造。1988年1月新订购的第一辆豹2坦克交货,然后克劳斯·玛菲公司以每月5辆的速度生产,克虏伯·马克公司以低于每月5辆的速度陆续生产。这150辆豹2坦克将代替经过改进后运往土耳其的150辆豹1A4坦克。此外,另有100辆豹2坦克新订货即将被批准,以补充运往土耳其250辆豹1A4坦克的空缺。这100辆豹2坦克,其中65辆由克劳斯·玛菲公司生产,35辆由克虏伯·马克公司制造。
德国陆军拥有1800辆豹2坦克中的第一批正返回工厂进行大修,用观瞄与测距合一的热成像瞄准镜代替临时性使用的微光夜视装置。该热成像瞄准镜已成为第二批及以后几批豹2坦克的制式装备。第二批豹2坦克的其他变化还包括取消了横风传感器、改进了排气格栅,修改了工具储藏箱和指挥塔盖等。
第五批豹2坦克使用新的油漆图案、数字式火控计算机机芯和灭火抑爆系统。
结构特点
一、总体布置
该坦克车体由间隙复合装甲制成,分成3个舱:驾驶舱在车体前部,战斗舱在中部,动力舱在后部。
驾驶员位于车体右前方,有1个向右旋转开启的单扇舱盖和3具观察潜望镜,其中中间1具潜望镜可以更换成被动夜视潜望镜。驾驶舱左边的空间储存炮弹。
炮塔在车体中部上方,车长和炮长位于右边,装填手拉于左边。炮塔后部有1个可储存一部分炮弹的大尾舱;炮塔顶上有两个舱盖,右边一个是车长舱盖,左边一个为装填手舱盖;炮塔左边有1个补给弹药用的窗口。
二、武器系统
1.主要武器
该坦克安装莱茵金属公司研制的120mm滑膛炮,炮管长5.3m,用电渣重熔钢制成,装有热护套和抽气装置,设计膛压为710米Pa,实际使用膛压为500米Pa(5500千克f/cm2)。炮管系用自紧工艺制造,内膛表面经镀铬硬化处理,从而提高了炮管的疲劳强度、磨损寿命和防腐蚀能力。炮管寿命为650发(标准动能弹)。
整个火炮系统带防盾重4290千克,不带防盾重3100千克(包括炮管、热护套、抽气装置和炮闩),炮管重1315kg。最大后坐距离为370mm,一般后坐距离为340mm。
2.弹药
120mm滑膛炮配用尾翼稳定脱壳穿甲弹和多用途破甲弹两种弹药。车上装42发弹,其中27发储存在驾驶员左边的车前部分,15发储存在炮塔尾舱里。
DM13尾翼稳定脱壳穿甲弹是120mm火炮的主弹种,由弹丸、可脱落弹托和钢底半可燃药筒构成。弹丸由弹套、尾翼、弹芯和装在弹底的曳光装置组成的弹芯直径为38mm、长径比为12:1。弹芯为外部套有钢套的钨弹芯。该穿甲弹的初速约为1650米/s,最大有效射程为3500米。
DM12多用途破甲弹具有破甲和杀伤双重作用,初速为1143m/s。该弹为尾翼稳定弹,短尾翼用铝合金挤压制成,经表面热处理,可承受500米Pa以上的膛压;采用了压电引信;改进了点火装置,将原来的单孔底火改成多孔底火,在周围一圈开有径向孔,使点火时间从22ms缩短为5ms。
半可燃药筒由惰性纤维、硝化棉、二苯胺、树脂等混合制成,内装发射药、底火和缓蚀添加剂衬套。为防止药筒受潮和微生物侵蚀,在药筒上涂有一层油膜。
DM23弹是于1983年采用的德国第二代尾翼稳定脱壳穿甲弹,其整体式钨镍合金弹芯的直径为32mm,长径比为14:1。
DM33弹是第三代尾翼稳定脱壳穿甲弹,具有更大的长径比,但至今尚未投产。
该坦克的弹药与美国M1A1坦克的弹药通用。
3.火控系统
火控系统是由机械、光学、液压和电子件组成的综合系统,因采用稳像式瞄准镜,火炮液压伺服系统随动于瞄准镜。该综合系统通常被称为指挥仪式火控系统,由于是稳定质量较小的瞄准镜并设有位置和速度复合电路,因而具有易于稳定和很高的行进间对运动目标的射击命中率。
车长有1个向后开启的圆舱盖和可360°观察的潜望镜,舱盖前装有1个PERI-R17型稳定的周视主瞄准镜,该镜有2×和8×两咱放大倍率。
炮长有1个双放大倍率的稳定式EMES 15型潜望式瞄准镜,其中包括激光测距仪和热成像装置。装在EMES 15型瞄准镜中的热像仪能使火炮在夜间或不良天气下或者对伪装的目标进行瞄准和射击。炮长还有1个辅助的FERO-Z18型望远式单目夜间瞄准镜,放大倍率为8×。在夜间,车长用与炮长EMES 15型瞄准镜相连的热成像瞄准镜观察战场。EMES 15瞄准镜的图像可以传给车长的PERI-R17型瞄准镜,使车长也能看到同炮长相同的图像。此外,车长还可以通过计算机控制的测试台控制检测系统RPP 1-8,自动地监视火控系统的工作情况。炮长的EMES 15型双目稳定式三合一主瞄准镜的反射镜头是双向稳定的,其昼间通道的放大倍率为12×,视场为5°。
该坦克样车原采用蔡斯(Zeiss)公司的EMES 12型体视、激光测距仪,生产型车采用美国休斯(Hughes)公司专利的钇铝石榴石激光测距仪,并与EMES 15型炮长主瞄准镜组合为一体。激光测距仪最大测量距离为9990米,精度±10米,测得的距离、火力准备和所选弹种的数据都显示在炮长瞄准镜下部。火控计算机由通用电气德律风根(AEG-Telefunken)公司的FLER-H型混合式计算机发展为在第五批豹2坦克上安装的数字式电子计算机,该计算机可计算瞄准角和火炮横向提前角,涉及的参数有目标距离、车辆倾斜角、目标的运动方向、横风和弹道数据等。火控计算机计算了这些参数后将控制信息送入武器随动系统,后者将武器与炮长的EMES 15或车长的PERI-R17型瞄准镜的瞄准线对准。
炮长还有1个安装在炮塔顶部的观察潜望镜,装填手有1个单目观察潜望镜。
4.辅助武器
辅助武器有两种,一种是莱茵金属公司的MG3A1式7.62mm并列机枪,安装在120mm火炮左侧,射速为1200发/min;另一种是安装在装填手舱盖环形支架上的MG3A1式7.62mm高射机枪,用于防空,高低射界为-10°~+75°。
该坦克上载有7.62mm机枪弹4754发,其中2000发储藏在炮塔里。
三、推进系统
1.发动机
该坦克装有MTU公司研制的MB873Ka-501型发动机,它是一种4冲程12缸V型90°夹角水冷预燃室式增压中冷柴油机,在2600r/min时,功率为1103千瓦(1500马力)。
该发动机具有单位体积功率高、低速扭矩特性好、燃油经济性好、起动性好等特点。与豹1坦克使用的MB838型发动机相比,平均有效压力从0.81MPa(8.3kgf/cm2)提高到1.07MPa(10.9kgf/cm2)、排量从37?4L增加到47?6L、转速从2200r/min提高到2600r/min,因而使功率从610千瓦(830马力)增加到1103千瓦(1500马力),提高87%。另一方面,通过减小进气管、喷油泵和气缸盖尺寸以及改进油底壳等部件,使发动机的结构尺寸更加紧凑。该发动机的单位体积功率从MB838型的388千瓦/m3(528马力/m3)提高到543千瓦/m3(738马力/m3)、比重量从3.1kg千瓦(2.3kg/马力)降低到2.04kg/千瓦(1.5kg/马力)。因而使豹2坦克具有比较好的加速性能,从零加速到32千米/小时仅需7s。然而,环形散热器冷却系统消耗功率达到162千瓦(220马力),比其他坦克要高。
传动装置
该坦克采用伦克(Renk)公司研制的HSWL 345型液力机械传动装置,它是德国和美国联合研制MBT-70坦克的技术成果之一。
该传动装置由可自控闭锁的液力变矩器、倒顺机构、行星变速机构、液力-液压转向装置、液力制动器和汇流行星排等部件组成。
液力变矩器为二级涡轮综合变矩器,最大变矩系数为2?5,可自控闭销。
倒顺机构由3个锥形齿轮、2个行星排和2个制动器组成,由驾驶员操纵,实现车辆的前进或倒退行驶。
行星变速机构由3个行星排、3个制动器和1个片式离合器组成,与倒顺机构相配合,可以得到4个前进档和4个倒档,但仅使用2个倒档。
转向装置是液力-液压复合的双流差速再生式机构,液力偶合器的作用是增加零轴上的转向扭矩,液压转向机构实现每个转向半径的无级调节。挂空档时,发动员机功率全部经过液力-液压转向机构传递,实现原位转向。
液力制动器具有5147千瓦(7000马力)的最大吸收功率能力,它与机械制动器共同构成豹2坦克的制动系统,最大制动力矩为24.5kN·m(2500千克f·m),可以使55t重的豹2坦克从65千米/小时的行车状态在3.6s内制动停车。
3.行动装置
该坦克采用扭杆悬挂,车体每侧有7个负重轮、4个托带轮、1个后置主动轮、1个前置诱导轮和1个履带调节器。悬挂装置包括14根高强度扭杆、10个摩擦减振器和10个液压限制器。负重轮的动行程为350mm,静行程为176mm。
在第一、二、三、六和七负重轮位置处,装有新型片式摩控减振器,10个摩控减振器的吸功能力为61kN·m。在这些负重轮位置处,还装有筒式结构的液压限制器,每个重11.5kg,当负重轮以2.94m/s向上运动时,10个液压限制器的总吸功能力为170kN·m。该坦克的行动装置具有良好的减振性能,总吸功能力比豹1坦克提高79%,达422kN·m。
该坦克采用迪尔(Diehl)公司研制的570A型双销式履带,履带板宽635mm,节距为183.5mm,板体上加有可以更换的橡胶衬垫,销耳有橡胶套,履带寿命达6400千米,橡胶衬垫寿命为1600千米。履带调节器为机械式。
四、防护系统
1.装甲防护
该坦克的设计把乘员生存力量于20项要求之首位,车体和炮塔均采用间隙复合装甲,车体前端呈尖角状,增加了厚的侧裙板,车体两侧前部有3个可起裙板作用的工具箱,提高了正面弧形区的防护能力。炮塔外轮廓低矮,防弹性好,设计时考虑了中弹后的防二次效应问题,将待发弹存于炮塔尾舱,并用气密隔板将弹药与战斗舱隔离。
2.三防装置
该坦克采用集体防护式三防通风装置,安装在底盘左侧的装甲板内,维护保养方便,空气过滤器可从外部更换。
3.灭火系统
前4批生产型豹2坦克的乘员舱未安装自动灭火系统,1985年德国为第五批生产型豹2坦克安装了英国格莱维诺(Graviner)公司生产的乘员舱灭火抑爆装置。
4.烟幕弹发射器
炮塔两则后部各装1组烟幕弹发射器,每组有8具发射器。
型号演变和变型车
1.荷兰豹2坦克
荷兰1979年3月订购了445辆豹2坦克,于1982~1986年交货,以代替369辆逊邱伦(Centurion)主战坦克和130辆AMX-13轻坦克,合同额为21亿德国马克。荷兰工业部门参加约60%合同额的零部件生产,278辆由克劳斯·玛菲公司装配,167辆由克虏伯·马克公司装配。
德国为荷兰陆军生产的首批4辆豹2坦克于1981年年中制成,大批供货于1982年7月开始,1982年11月达到每月交货10辆,1986年7月最后完成。
该坦克与德国陆军的第二、三批生产型豹2坦克基本相同,差别主要在于荷兰豹2坦克装有比利时FN公司7.62mm机枪;炮塔两侧后部装有6个发射器为一组的烟幕弹发射装置;装有荷兰生产的驾驶员微光夜视观察镜、电台和车内通话设备。
1983年,驻德国荷兰皇家第四十一装甲旅首先装备该坦克。荷兰陆军还订购了20辆豹2坦克驾驶员训练车。
2.瑞士豹2坦克
瑞士陆军于1983年8月宣布,在评价了豹2和M1坦克性能后选择豹2坦克,一次订购380辆,其中前35辆由克劳斯·玛菲公司供货,其余由瑞士以许可证方式生产。1987年最先交付的35辆用于训练,1988年1月完成用豹2坦克装备第一个坦克营的工作。
瑞士特许生产豹2坦克的主合同商是康特拉弗斯(Contraves)公司,总装厂是位于图恩(Thun)的联邦制造厂(Federal Construction Works),瑞士NAW公司制造发动机,SLM公司制造传动装置,60~70%的部件将在瑞士制造。瑞士以每月6辆的速度生产豹2坦克。
瑞士豹2坦克与德国豹2坦克相似,但装有瑞士电台和车内通话设备,装有瑞士的并列机枪和高射机枪,瑞士还决定安装英国格莱维诺公司的乘员舱自动灭火抑爆系统。
3.豹2驾驶训练车
德国陆军和荷兰陆军各订购22辆豹2驾驶训练车,该车基本上与豹2坦克相同,但炮塔被一观察塔取代,重量与标准豹2坦克相近。
4.豹2(BPz3型)装甲抢救车
波尔舍公司和克虏泊·马克公司正在利用豹2坦克底盘发展一种新型豹2装甲抢救车,该车称为3号装甲抢救车(Bergepanzer 3)。详见“装甲抢救车和修理车”部分。
性能数据
(第五批产品)
型号 豹2
乘员 4人
战斗全重55150千克
单位功率20千瓦/t
单位压力81.4kPa
车长
炮向前9.668m
炮向后8.498m
车宽
带裙板3.700米
不带裙板 3.540米
车高
至炮塔顶 2.480米
至指挥塔顶 2.807m
火线高 2.010米
车底距地高
前部 0.540米
后部 0.490米
履带宽 635mm
履带中心距 2.785m
履带着地长
左侧 4.940米
右侧 4.920米
公路最大速度 72千米/小时
越野最大速度 55千米/小时
0—32千米/小时加速时间7s
燃料储备1200L
公路最大行程 550千米
涉水深
无准备1.00米
有准备2.35m
潜渡深 4.00米
爬坡度 60%
侧倾坡度30%
攀垂直墙高 1.10米
越壕宽 3.00米
最小转向半径 原位
发动机
生产公司 MTU
型号 MB873Ka-501
类型 12V水冷多种燃料
涡轮增压中冷发动机
功率/转速 1103千瓦/2600r/min
传动装置
生产公司 伦克(Renk)
型号 HSWL 354
类型 液力机械
前进档/倒档数 4/2
转向装置类型 液力-液压复合、双流差速式
悬挂装置类型 扭杆
主要武器口径/型号/类型 120mm/Rh120-L44/滑膛
并列武器口径/型号/类型/数量 7.62mm/MG3A1/机枪/1挺
防空武器口径/型号/类型/数量 7.62mm/MG3A1/机枪/1挺
烟幕弹发射器总数量 2×8具
热烟幕 无
弹药基数
炮弹 42发
7.62mm机枪弹 4750发
穿甲弹初速 1650米/s
炮塔驱动方式 电液/手动
炮塔旋转范围 360°
车长超越控制 有
火炮俯仰范围 -9°~+20°
火炮最大俯仰速度9.5°/s
炮塔最大回转速度49°/s
火炮稳定器
高低向有
水平向有
火控系统类型 指挥仪式
测距仪型号 EMES 15(三合一)
弹道计算机类型 数字式电子计算机
车长瞄准镜型号 PERI-R17
车长夜间瞄准镜型号 PERI-R17与炮长的EMES 15相连
炮长瞄准镜类型/型号 双目、双向独立稳定/EMES 15
炮长夜间瞄准镜型号 EMES 15(昼夜合一)
炮长辅助瞄准镜型号/类型 FERO-Z18/单目
夜间瞄准镜类型 热成像
装甲结构类型
车体 间隙复合
炮塔 间隙复合
三防装置有
灭火抑爆系统 有
光电报警或对抗设备 无
电气系统电压 24V
蓄电池数量/电压/容量 8个/12V/125Ah
苏30战斗机
http://bk.baidu.com/view/347326.html
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)