回复:840D面板上的模式信号找不到,按键也没看到信号,但是可以转换模式

已锁定

asdf6

西门子1847工业学习平台

  • 帖子

    1352
  • 精华

    12
  • 被关注

    138

论坛等级:奇侠

注册时间:2008-09-02

钻石 钻石 如何晋级?

发布于 2020-08-23 23:15:07

3楼

FUNCTION FC 19 : VOID

TITLE =

AUTHOR : NUMERIK

FAMILY : _800D

NAME : MCP_IFM

VERSION : 6.1

CODE_VERSION1

 

VAR_INPUT

BAGNo : BYTE ; //方式组号(面板信号传送到哪个方式组)

ChanNo : BYTE ; //通道号(面板信号传送到哪个通道)

SpindleIFNo : BYTE ; // 主轴号

END_VAR

VAR_OUTPUT

FeedHold : BOOL ; //进给保持

SpindleHold : BOOL ; //主轴停

END_VAR

 

VAR_TEMP

schmier : ARRAY [0 .. 15 ] OF BOOL ; //Schmierzellen fuer Flanken *

richtung : BYTE ; //方向键和快移键

richtung2 : BYTE ; 

richtung3 : BYTE ; //dummy

achs_nr : BYTE ; //aktuell angewaehlte Achsnr. von MST

bb : ARRAY [0 .. 15 ] OF BOOL ; //BAG-Anwahlen

akt_db : WORD ; // Achtung, vorher Absolutzugriffe (*) !!!

max_bag : WORD ; // 方式组的个数

max_kan : WORD ; //通道的个数

max_axe : WORD ; //轴(包括进给轴和主轴)的个数

mst_ein01 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Eingaenge 0.0..1.7 * (lb12)

mst_ein23 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Eingaenge 2.0..3.7

mst_ein45 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Eingaenge 4.0..5.7

mst_ein67 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Eingaenge 6.0..7.7

mst_aus01 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Ausgaenge 0.0..1.7

mst_aus23 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Ausgaenge 2.0..3.7

mst_aus45 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Ausgaenge 4.0..5.7

mst_aus67 : ARRAY [0 .. 15 ] OF BOOL ; //temporaere Ausgaenge 6.0..7.7 *

loop_c : WORD ; //loop counter

increment : BYTE ; //INC信号

ba_inc : BYTE ; //Maschinenfunktion INC Rueckmeldung

param : INT ; 

Poi_Aus : DWORD ; //Pointer Ausgaenge

MCP_db : WORD ; //Maschinensteuer DB

BAGN : BYTE ; //方式组的个数

mksaxisold : BYTE ; //Achsno old if new axis sel.

DB8Offs : DWORD ; //面板在DB8中的偏移

mkschange : BOOL ; //changed

wksold : BOOL ; //是WCS

mstt2 : BOOL ; 

vskorr : BYTE ; //倍率信号

END_VAR

 

BEGIN

 

NETWORK

 

TITLE =

 

///NETZWERK Eingang

L DB7.DBW 128; //OB100中FB1的输出参数,方式组的个数

T #max_bag; //临时变量,只在此程序块(FC19)中有效

L DB7.DBW 130; //OB100中FB1的输出参数,通道的个数

T #max_kan; 

L DB7.DBW 132; //OB100中FB1的输出参数,轴(包括进给轴和主轴)的个数

T #max_axe;

L #BAGNo; //FC19输入参数,方式组号

PUSH ; 

AW W#16#F; 

T #BAGN; //方式组的个数

POP ; 

AW W#16#F0; 

SET ; 

JZ e001; //若此参数是B#16#0*,则表示是第一面板;若此参数是B#16#1*,则表示是第二面板

S #mstt2; //置第二面板标志,表示此FC19是处理第二面板信号的

LAR2 P#62.0; //第二面板在DB8中的偏移Offset im DB8 f. 2. MCP

LAR1 DB7.DBD 150; //第二面板的指针

JU e002; 

e001: R #mstt2; 

LAR2 P#0.0; //第一面板在DB8中的偏移Offset im DB8 f. 1. MCP

LAR1 DB7.DBD 146; //第二面板的指针

e002: TAR2 #DB8Offs; //将地址寄存器的值传送到临时变量

OPN DI 8; 

L DIW [AR2,P#0.0]; 

T LW 0; //Schmierzellen (Schmier) = Flankenmerker *

L DIB [AR2,P#3.0]; 

T #achs_nr; //holen des alten Zustandes Achsnr.

A DIX 1.7; //First Run absolut

= #schmier[15]; //kopieren

//

L DBW [AR1,P#0.0]; //DB-Nr. der MSTT

T #MCP_db; 

L DBD [AR1,P#8.0]; //输出的指针Pointer auf Ausgaenge

T #Poi_Aus; 

L DBD [AR1,P#2.0]; //输入的指针Pointer auf Eingaenge

LAR1 ; 

OPN DB [#MCP_db]; //aufschlagen des DB fuer MST

LAR2 P##mst_ein01; //Adresse mst_ein laden (Var_temp Datum) !!!

//AR2 wird im gesamten Baustein als Zeiger

//verwendet

L D [AR1,P#0.0]; //面板的输入IB0-IB3 

T LD [AR2,P#0.0]; //存放在临时变量mst_ein01 

L D [AR1,P#4.0]; //面板的输入IB4-IB7 

T LD [AR2,P#4.0]; //存放在临时变量mst_ein23

LAR1 #Poi_Aus; //bereichsuebergreifende Adresse der MST Ausgaenge

L D [AR1,P#0.0]; //面板的输出QB0-QB3 

T LD [AR2,P#8.0]; //存放在临时变量mst_aus01 

L W [AR1,P#4.0]; //面板的输出QB4-QB5 

T LW [AR2,P#12.0]; //存放在临时变量mst_aus23

A DIX 45.0; //neuer Hochlauf Mimik

JCN e100; 

A #mstt2; 

JC e099; 

= #mst_ein45[3]; //面板X轴键

e099: = #schmier[0]; //Vorschub Halt setzen

= #schmier[1]; //Spindel Halt setzen

S DB10.DBX 57.0; //INC Anwahl in BAG Interface

e100: R #mkschange; 

L B#16#0; 

T #ba_inc; 

T #mksaxisold; //keine MKS Achse zu deaktivieren

T #richtung; 

///NETZWERK Global_ein

L LB [AR2,P#1.0]; //面板IB1

AW W#16#3F; //保留INC信号

T #increment; //存放在临时变量

//

L LB [AR2,P#3.0]; //面板IB3

AW W#16#1F; //保留倍率信号

T #vskorr; //存放在临时变量

A #schmier[7]; //First Run Merker

JC n001; //NC Bearbeitung

//

A #mst_aus23[13]; //面板上WCS_MCS LED灯亮,是WCS

= #wksold; 

A #mst_ein45[12]; //面板上WCS_MCS键

FP #schmier[3]; 

JCN mks1; 

S #mkschange; 

AN #mst_aus23[13]; //面板上WCS_MCS LED灯,原来灭,点亮;原来亮,熄灭

= #mst_aus23[13]; 

//angewaehlte Achsnr. wird 0

L #achs_nr; //装载轴号

JU mks2; 

mks1: L LW [AR2,P#4.0]; //面板输入IB4和IB5

AW W#16#EE7; //保留轴选择键

L #achs_nr; //veraendert nicht die Anzeigebits

JZ kea2; 

mks2: A #wksold; //原来是工件坐标系

JC mks4; 

T #mksaxisold; //alte gewaehlte Achse retten

mks4: L LD [AR2,P#10.0]; //面板输出QB2和QB3

AD DW#16#8F31FEFF; //去掉轴选择键的LED

T LD [AR2,P#10.0]; 

A #mkschange; //进行了WCS和MCS的切换

JC kea1; 

A #mst_aus23[13]; 

JC wks3; //如果面板上WCS LED灯亮,转wks3

LAR1 P#8.0; //Axis table for MCP1

AN #mstt2; 

JC ke90; 

LAR1 P#32.0; //Axis table for MCP2

ke90: OPN DI 10; //DB for Axis Table

L DIW [AR1,P#22.0]; //maxaxis for MCP1, MCP2

OW W#16#0; 

JN wks4; //if not zero

L #max_axe; //max. Anzahl Maschinenachsen

JU wks4; 

kea2: L LB [AR2,P#4.0]; //面板IB4

AW W#16#E0; //保留方向键和快移键

T #richtung; 

JU kea3; 

wks3: L B#16#3; //max. Anzahl GEO-achsen

wks4: JL m009; 

JU keae; //Accu = 0

JU m001; 

JU m002; 

JU m003; 

JU m004; 

JU m005; 

JU m006; 

JU m007; 

JU m008; 

JU m009; 

m009: A #mst_ein45[10]; //面板第9轴选择键

S #mst_aus23[11]; //面板第9轴LED

L B#16#9; //轴号

JC keae; 

m008: A #mst_ein45[9]; //面板第8轴选择键

S #mst_aus23[10]; //面板第8轴LED

L B#16#8; //轴号

JC keae; 

m007: A #mst_ein45[1]; //面板第7轴选择键

S #mst_aus23[4]; //面板第7轴LED

L B#16#7; //轴号

JC keae; 

m006: A #mst_ein45[8]; //面板第6轴选择键

S #mst_aus23[9]; //面板第6轴LED

L B#16#6; //轴号

JC keae; 

m005: A #mst_ein45[13]; //面板第5轴选择键

S #mst_aus23[14]; //面板第5轴LED

L B#16#5; //轴号

JC keae; 

m004: A #mst_ein45[2]; //面板第4轴选择键

S #mst_aus23[5]; //面板第4轴LED

L B#16#4; //轴号

JC keae; 

m003: A #mst_ein45[14]; //面板Z轴选择键

S #mst_aus23[15]; //面板Z轴LED

L B#16#3; //轴号

JC keae; 

m002: A #mst_ein45[15]; //面板Y轴选择键

S #mst_aus45[0]; //面板Y轴LED

L B#16#2; //轴号

JC keae; 

m001: A #mst_ein45[3]; //面板X轴选择键

S #mst_aus23[6]; //面板X轴LED

L B#16#1; //轴号

JC keae; 

kea1: L B#16#0; //轴号清零

JU ke99; 

keae: A #mst_aus23[13]; //LED MKS/WKS

JC ke99; 

DEC 1; 

SLW 3; //Accu to Pointer

+AR1 ; 

OPN DI 10; //DB for Axis Table

L DIB [AR1,P#0.0]; //Axis table for MCP1 or MCP2

ke99: T #achs_nr; 

kea3: A #mst_ein45[6]; //面板负方向键

= #mst_aus23[7]; //面板负方向键LED

A #mst_ein45[7]; //面板正方向键

= #mst_aus23[8]; //面板正方向键LED

///NETZWERK NC

n001: A #schmier[15]; //First run absolut

JC e010; 

OPN DI 10; //Signale von PLC an NCK

A #mst_ein23[7]; //面板钥匙开关0位置

= DIX 56.4; //DB10.dbx56.4

A #mst_ein23[14]; //面板钥匙开关1位置

= DIX 56.5; //DB10.dbx56.5

A #mst_ein23[6]; //面板钥匙开关2位置

= DIX 56.6; //DB10.dbx56.6

A #mst_ein45[4]; //面板钥匙开关3位置

= DIX 56.7; //DB10.dbx56.7

///NETZWERK BAG

e010: L B#16#1; 

T #param; //als Fehlerparameter

L #max_bag; //方式组数

L #BAGN; //方式组号

OW W#16#0; 

JZ KBAG; //若方式组号为0转KBAG

<I ; //方式组数小于方式组号转fehl,PLC停机

JC fehl; 

DEC 1; //减1

L P#20.0; //20 Byte Offset

*I ; 

LAR1 ; //Zeiger auf BAG

OPN DI 11; //BAG DB aufschlagen

//umverdrahten

A #mst_ein01[0]; //面板UTO方式选择键

= #bb[0]; //Automatik anwaehlen

A #mst_ein01[1]; // 


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25799条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。