【摘要】 介绍840D快速输入输出接口信号的控制流程,CNC和PLC如何交换信息,总结了快速输入输出接口信号的详细对应表,以及快速输入输出接口信号的实际应用。
【关键词】 快速输入输出、接口信号、模拟量、NCK
1、 前言
840D快速输入输出接口信号是840D NCK与PLC信息交换的桥梁和纽带,在带有840D数控系统的数控机床中,其应用必不可少,对其进行研究并掌握应用方法具有重要的指导意义。
2、 840D快速I/O硬件接口
840DNCU上的X121接口包含四个快速输入和四个快速输出,其针脚定义如下表1。
表1:X121插头引脚分配
引脚 名称 类型 说明
1 M24EXT 电压输入 外部24V(-),用于NC二进制输出
2 M24EXT 电压输入 外部24V(-),用于NC二进制输出
3 OUTPUT1 输出 NC二进制输出1
4 OUTPUT0 输出 NC二进制输出0
5 INPUT3 输入 NC二进制输入3
6 INPUT2 输入 NC二进制输入2
7 INPUT1 输入 NC二进制输入1
8 INPUT0 输入 NC二进制输入0
20 P24EXT 电压输入 外部24V(+),用于NC二进制输出
21 P24EXT 电压输入 外部24V(+),用于NC二进制输出
22 OUTPUT3 输出 NC二进制输出3
23 OUTPUT2 输出 NC二进制输出2
24 MEXT 电压输入 外部地(用于NC输入的参考地)
25 MEXT 电压输入 外部地(用于NC输入的参考地)
26 MEXT 电压输入 外部地(用于NC输入的参考地)
27 MEXT 电压输入 外部地(用于NC输入的参考地)
快速输入输出还可以通过硬件进行扩展。
3、快速I/O机床参数配置
要使用快速输入输出接口信号,在机床参数中必须进行配置设置,否则将出现相关报警。
MD10350: FASTIO_DIG_NUM_INPUTS = 0~5 快速数字输入数量(字节数),最多5个字节,共40个输入。
MD10360: FASTIO_DIG_NUM_OUTPUTS = 0~5快速数字输出数量(字节数),最多5个字节,共40个输出。
MD10300: FASTIO_ANA_NUM_INPUTS = 0~8 快速模拟输入数量,最多8个模拟输入通道。
MD10310: FASTIO_ANA_NUM_OUTPUTS = 0~8 快速模拟输出数量,最多8个模拟输出通道。
4、快速I/O接口信号的控制过程
快速输入接口信号的控制流程如图1,对应表如表2:
①输入禁止=0,同时设置开关为0时,将硬件输入写入NCK,从零件加工程序中读到硬件输入,即$A_IN[n]= 硬件输入。
输入禁止=1,同时设置开关为0时,直接将“0”写入NCK,即$A_IN[n]=0,将硬件输入禁止。
② 设置开关为1时,直接将“1”写入NCK,即$A_IN[n]=1。

表2:快速输入接口信号对应表
零件程序读 名称 PLC程序写开关 输入禁止开关 硬件输入实际值 硬件输入
$A_IN[1] input1 db10.dbx1.0 db10.dbx0.0 db10.dbx60.0 X121:8脚
$A_IN[2] input2 db10.dbx1.1 db10.dbx0.1 db10.dbx60.1 X121:7脚
$A_IN[3] input3 db10.dbx1.2 db10.dbx0.2 db10.dbx60.2 X121:6脚
$A_IN[4] input4 db10.dbx1.3 db10.dbx0.3 db10.dbx60.3 X121:5脚
$A_IN[5] input5 db10.dbx1.4 db10.dbx0.4
$A_IN[6] input6 db10.dbx1.5 db10.dbx0.5
$A_IN[7] input7 db10.dbx1.6 db10.dbx0.6
$A_IN[8] input8 db10.dbx1.7 db10.dbx0.7
$A_IN[9] input9 db10.dbx123.0 db10.dbx122.0 db10.dbx186.0
$A_IN[10] input10 db10.dbx123.1 db10.dbx122.1 db10.dbx186.1
$A_IN[11] input11 db10.dbx123.2 db10.dbx122.2 db10.dbx186.2
$A_IN[12] input12 db10.dbx123.3 db10.dbx122.3 db10.dbx186.3
$A_IN[13] input13 db10.dbx123.4 db10.dbx122.4 db10.dbx186.4
$A_IN[14] input14 db10.dbx123.5 db10.dbx122.5 db10.dbx186.5
$A_IN[15] input15 db10.dbx123.6 db10.dbx122.6 db10.dbx186.6
$A_IN[16] input16 db10.dbx123.7 db10.dbx122.7 db10.dbx186.7
$A_IN[17] input17 db10.dbx125.0 db10.dbx124.0 db10.dbx187.0
$A_IN[18] input18 db10.dbx125.1 db10.dbx124.1 db10.dbx187.1
$A_IN[19] input19 db10.dbx125.2 db10.dbx124.2 db10.dbx187.2
$A_IN[20] input20 db10.dbx125.3 db10.dbx124.3 db10.dbx187.3
$A_IN[21] input21 db10.dbx125.4 db10.dbx124.4 db10.dbx187.4
$A_IN[22] input22 db10.dbx125.5 db10.dbx124.5 db10.dbx187.5
$A_IN[23] input23 db10.dbx125.6 db10.dbx124.6 db10.dbx187.6
$A_IN[24] input24 db10.dbx125.7 db10.dbx124.7 db10.dbx187.7
$A_IN[25] input25 db10.dbx127.0 db10.dbx126.0 db10.dbx188.0
$A_IN[26] input26 db10.dbx127.1 db10.dbx126.1 db10.dbx188.1
$A_IN[27] input27 db10.dbx127.2 db10.dbx126.2 db10.dbx188.2
$A_IN[28] input28 db10.dbx127.3 db10.dbx126.3 db10.dbx188.3
$A_IN[29] input29 db10.dbx127.4 db10.dbx126.4 db10.dbx188.4
$A_IN[30] input30 db10.dbx127.5 db10.dbx126.5 db10.dbx188.5
$A_IN[31] input31 db10.dbx127.6 db10.dbx126.6 db10.dbx188.6
$A_IN[32] input32 db10.dbx127.7 db10.dbx126.7 db10.dbx188.7
$A_IN[33] input33 db10.dbx129.0 db10.dbx128.0 db10.dbx189.0
$A_IN[34] input34 db10.dbx129.1 db10.dbx128.1 db10.dbx189.1
$A_IN[35] input35 db10.dbx129.2 db10.dbx128.2 db10.dbx189.2
$A_IN[36] input36 db10.dbx129.3 db10.dbx128.3 db10.dbx189.3
$A_IN[37] input37 db10.dbx129.4 db10.dbx128.4 db10.dbx189.4
$A_IN[38] input38 db10.dbx129.5 db10.dbx128.5 db10.dbx189.5
$A_IN[39] input39 db10.dbx129.6 db10.dbx128.6 db10.dbx189.6
$A_IN[40] input40 db10.dbx129.7 db10.dbx128.7 db10.dbx189.7
快速输出接口信号的控制流程如图2,对应表如表3:
①零件加工程序对$A_OUT[n]进行赋值,$A_OUT[n]写入NCK,此时DB10.DBB64…=$A_OUT[n]的值。
② 覆盖开关0→1时,将PLC的设置值写入NCK,即覆盖NCK的值,此时DB10.DBB64…=PLC设置值。
③ 设置开关为0,同时禁止开关为0时,将NCK的值写到硬件输出。
设置开关为1,同时禁止开关为0时,将PLC的设置值DB10.DBB6…直接写到硬件输出。
④ 禁止开关为1时,直接将“0”写到硬件输出,将硬件输出禁止。
表3:快速输出接口信号对应表
零件程序写 名称 PLC程序读 覆盖屏幕形式 PLC程序写输出 设定屏幕形式 输出禁止 硬件输出
$A_OUT[1] output1 db10.dbx64.0 db10.dbx5.0 db10.dbx6.0 db10.dbx7.0 db10.dbx4.0 X121:4脚
$A_OUT[2] output2 db10.dbx64.1 db10.dbx5.1 db10.dbx6.1 db10.dbx7.1 db10.dbx4.1 X121:3脚
$A_OUT[3] output3 db10.dbx64.2 db10.dbx5.2 db10.dbx6.2 db10.dbx7.2 db10.dbx4.2 X121:23脚
$A_OUT[4] output4 db10.dbx64.3 db10.dbx5.3 db10.dbx6.3 db10.dbx7.3 db10.dbx4.3 X121:22脚
$A_OUT[5] output5 db10.dbx64.4 db10.dbx5.4 db10.dbx6.4 db10.dbx7.4 db10.dbx4.4
$A_OUT[6] output6 db10.dbx64.5 db10.dbx5.5 db10.dbx6.5 db10.dbx7.5 db10.dbx4.5
$A_OUT[7] output7 db10.dbx64.6 db10.dbx5.6 db10.dbx6.6 db10.dbx7.6 db10.dbx4.6
$A_OUT[8] output8 db10.dbx64.7 db10.dbx5.7 db10.dbx6.7 db10.dbx7.7 db10.dbx4.7
$A_OUT[9] output9 db10.dbx190.0 db10.dbx131.0 db10.dbx132.0 db10.dbx133.0 db10.dbx130.0
$A_OUT[10] output10 db10.dbx190.1 db10.dbx131.1 db10.dbx132.1 db10.dbx133.1 db10.dbx130.1
$A_OUT[11] output11 db10.dbx190.2 db10.dbx131.2 db10.dbx132.2 db10.dbx133.2 db10.dbx130.2
$A_OUT[12] output12 db10.dbx190.3 db10.dbx131.3 db10.dbx132.3 db10.dbx133.3 db10.dbx130.3
$A_OUT[13] output13 db10.dbx190.4 db10.dbx131.4 db10.dbx132.4 db10.dbx133.4 db10.dbx130.4
$A_OUT[14] output14 db10.dbx190.5 db10.dbx131.5 db10.dbx132.5 db10.dbx133.5 db10.dbx130.5
$A_OUT[15] output15 db10.dbx190.6 db10.dbx131.6 db10.dbx132.6 db10.dbx133.6 db10.dbx130.6
$A_OUT[16] output16 db10.dbx190.7 db10.dbx131.7 db10.dbx132.7 db10.dbx133.7 db10.dbx130.7
$A_OUT[17] output17 db10.dbx191.0 db10.dbx135.0 db10.dbx136.0 db10.dbx137.0 db10.dbx134.0
$A_OUT[18] output18 db10.dbx191.1 db10.dbx135.1 db10.dbx136.1 db10.dbx137.1 db10.dbx134.1
$A_OUT[19] output19 db10.dbx191.2 db10.dbx135.2 db10.dbx136.2 db10.dbx137.2 db10.dbx134.2
$A_OUT[20] output20 db10.dbx191.3 db10.dbx135.3 db10.dbx136.3 db10.dbx137.3 db10.dbx134.3
$A_OUT[21] output21 db10.dbx191.4 db10.dbx135.4 db10.dbx136.4 db10.dbx137.4 db10.dbx134.4
$A_OUT[22] output22 db10.dbx191.5 db10.dbx135.5 db10.dbx136.5 db10.dbx137.5 db10.dbx134.5
$A_OUT[23] output23 db10.dbx191.6 db10.dbx135.6 db10.dbx136.6 db10.dbx137.6 db10.dbx134.6
$A_OUT[24] output24 db10.dbx191.7 db10.dbx135.7 db10.dbx136.7 db10.dbx137.7 db10.dbx134.7
$A_OUT[25] output25 db10.dbx192.0 db10.dbx139.0 db10.dbx140.0 db10.dbx141.0 db10.dbx138.0
$A_OUT[26] output26 db10.dbx192.1 db10.dbx139.1 db10.dbx140.1 db10.dbx141.1 db10.dbx138.1
$A_OUT[27] output27 db10.dbx192.2 db10.dbx139.2 db10.dbx140.2 db10.dbx141.2 db10.dbx138.2
$A_OUT[28] output28 db10.dbx192.3 db10.dbx139.3 db10.dbx140.3 db10.dbx141.3 db10.dbx138.3
$A_OUT[29] output29 db10.dbx192.4 db10.dbx139.4 db10.dbx140.4 db10.dbx141.4 db10.dbx138.4
$A_OUT[30] output30 db10.dbx192.5 db10.dbx139.5 db10.dbx140.5 db10.dbx141.5 db10.dbx138.5
$A_OUT[31] output31 db10.dbx192.6 db10.dbx139.6 db10.dbx140.6 db10.dbx141.6 db10.dbx138.6
$A_OUT[32] output32 db10.dbx192.7 db10.dbx139.7 db10.dbx140.7 db10.dbx141.7 db10.dbx138.7
$A_OUT[33] output33 db10.dbx193.0 db10.dbx143.0 db10.dbx144.0 db10.dbx145.0 db10.dbx142.0
$A_OUT[34] output34 db10.dbx193.1 db10.dbx143.1 db10.dbx144.1 db10.dbx145.1 db10.dbx142.1
$A_OUT[35] output35 db10.dbx193.2 db10.dbx143.2 db10.dbx144.2 db10.dbx145.2 db10.dbx142.2
$A_OUT[36] output36 db10.dbx193.3 db10.dbx143.3 db10.dbx144.3 db10.dbx145.3 db10.dbx142.3
$A_OUT[37] output37 db10.dbx193.4 db10.dbx143.4 db10.dbx144.4 db10.dbx145.4 db10.dbx142.4
$A_OUT[38] output38 db10.dbx193.5 db10.dbx143.5 db10.dbx144.5 db10.dbx145.5 db10.dbx142.5
$A_OUT[39] output39 db10.dbx193.6 db10.dbx143.6 db10.dbx144.6 db10.dbx145.6 db10.dbx142.6
$A_OUT[40] output40 db10.dbx193.7 db10.dbx143.7 db10.dbx144.7 db10.dbx145.7 db10.dbx142.7
快速模拟量输入接口信号的控制流程如图3,对应表如表4:
①输入禁止=0,同时设置开关为0时,将模拟量硬件输入写入NCK,从零件加工程序中读到模拟量硬件输入,即$A_INA[n]= 模拟量硬件输入。
输入禁止=1,同时设置开关为0时,直接将“0”写入NCK,即$A_INA[n]=0,将模拟量硬件输入禁止。
② 设置开关为1时,直接从PLC将设置值写入NCK,从零件加工程序中读到PLC的设置值,即$A_INA[n]=设置值。
快速模拟量输出接口信号的控制流程如图4,对应表如表5:
① 零件加工程序对$A_OUTA[n]进行赋值,$A_OUTA[n]写入NCK,此时DB10.DBB210…=$A_OUTA[n]的值。
② 覆盖开关0→1时,将PLC的设置值写入NCK,即覆盖NCK的值,此时DB10.DBB210…=PLC设置值。
③ 设置开关为0,同时禁止开关为0时,将NCK的值写到模拟量硬件输出。
设置开关为1,同时禁止开关为0时,将PLC的设置值DB10.DBB170…直接写到模拟量硬件输出。
④ 禁止开关为1时,直接将“0”写到模拟量硬件输出,将模拟量硬件输出禁止。
表4:快速模拟量输入接口信号对应表
零件程序读 名称 PLC程序写 设置值 输入禁止 硬件输入实际值 硬件输入
$A_INA[1] input1 db10.dbx147.0 db10.dbw148 db10.dbx146.0 db10.dbw194 模拟量输入1
$A_INA[2] input2 db10.dbx147.1 db10.dbw150 db10.dbx146.1 db10.dbw196 模拟量输入2
$A_INA[3] input3 db10.dbx147.2 db10.dbw152 db10.dbx146.2 db10.dbw198 模拟量输入3
$A_INA[4] input4 db10.dbx147.3 db10.dbw154 db10.dbx146.3 db10.dbw200 模拟量输入4
$A_INA[5] input5 db10.dbx147.4 db10.dbw156 db10.dbx146.4 db10.dbw202 模拟量输入5
$A_INA[6] input6 db10.dbx147.5 db10.dbw158 db10.dbx146.5 db10.dbw204 模拟量输入6
$A_INA[7] input7 db10.dbx147.6 db10.dbw160 db10.dbx146.6 db10.dbw206 模拟量输入7
$A_INA[8] input8 db10.dbx147.7 db10.dbw162 db10.dbx146.7 db10.dbw208 模拟量输入8
表5:快速模拟量输出接口信号对应表
零件程序写 名称 PLC程序读 覆盖屏幕形式 PLC程序写输出 设定屏幕形式 输出禁止 硬件输出
$A_OUTA[1] output1 db10.dbw210 db10.dbx166.0 db10.dbw170 db10.dbx167.0 db10.dbx168.0 模拟量输出1
$A_OUTA[2] output2 db10.dbw212 db10.dbx166.1 db10.dbw172 db10.dbx167.1 db10.dbx168.1 模拟量输出2
$A_OUTA[3] output3 db10.dbw214 db10.dbx166.2 db10.dbw174 db10.dbx167.2 db10.dbx168.2 模拟量输出3
$A_OUTA[4] output4 db10.dbw216 db10.dbx166.3 db10.dbw176 db10.dbx167.3 db10.dbx168.3 模拟量输出4
$A_OUTA[5] output5 db10.dbw218 db10.dbx166.4 db10.dbw178 db10.dbx167.4 db10.dbx168.4 模拟量输出5
$A_OUTA[6] output6 db10.dbw220 db10.dbx166.5 db10.dbw180 db10.dbx167.5 db10.dbx168.5 模拟量输出6
$A_OUTA[7] output7 db10.dbw222 db10.dbx166.6 db10.dbw182 db10.dbx167.6 db10.dbx168.6 模拟量输出7
$A_OUTA[8] output8 db10.dbw224 db10.dbx166.7 db10.dbw184 db10.dbx167.7 db10.dbx168.7 模拟量输出8
5、快速输入输出接口信号的应用
某意大利端面外圆磨床,采用西门子840D数控系统,测量系统采用MARPOSS P7进行轴向端面测量和径向外圆测量,量仪的测量信号经量仪输出到西门子PLC的输入板,PLC程序读量仪的测量信号,输出到快速I/O接口信号的DB10.DBX1.0~DB10.DBX1.3,然后零件加工程序读与之相对应的接口信号$A_IN[1]~$A_IN[4],使加工程序在磨削过程中在线及时跟踪量仪的尺寸信号,达到在线磨削。
磨削工艺图如图5,首先零件进行粗磨,当零件磨削到60μ时,量仪发出AC3信号,对应PLC输入I61.4为1,通过PLC程序把db10.dbx1.0置1,零件加工程序判断与之对应的$A_IN[1],$A_IN[1]为1时,磨削过程转到半精磨。
当半精磨到25μ时,量仪发出AC2信号,对应PLC输入I61.5为1,通过PLC程序把db10.dbx1.1置1,零件加工程序判断与之对应的$A_IN[2],$A_IN[2]为1时,磨削过程转到精磨。
当精磨到10μ时,量仪发出AC1信号,对应PLC输入I61.6为1,通过PLC程序把db10.dbx1.2置1,零件加工程序判断与之对应的$A_IN[3],$A_IN[3]为1时,磨削过程转到光磨。
当光磨到0μ时,量仪发出AC0信号,对应PLC输入I61.7为1,通过PLC程序把db10.dbx1.3置1,零件加工程序判断与之对应的$A_IN[4],$A_IN[4]为1时,磨削尺寸到退刀。
P7径向量仪信号:
AC3:对应PLC输入I61.4半精磨(60μ),输出到db10.dbx1.0对应$A_IN[1] (input1)
AC2:对应PLC输入I61.5精磨(25μ), 输出到db10.dbx1.1对应$A_IN[2] (input2)
AC1:对应PLC输入I61.6光磨(10μ), 输出到db10.dbx1.2对应$A_IN[3] (input3)
AC0:对应PLC输入I61.7尺寸到(0), 输出到db10.dbx1.3对应$A_IN[4] (input4)
P7轴向量仪信号:
I62.4 轴向0
I62.5 轴向1
I62.6 轴向2
I62.7 轴向3
相关PLC程序如下:
A I61.4 /AC[3]
S db10.dbx1.0 /input1
A I61.5 /AC[2]
S db10.dbx1.1 /input2
A I61.6 /AC[1]
S db10.dbx1.2 /input3
A I61.7 /AC[0]
S db10.dbx1.3 /input4
A M195.6
AN T22
AN I45.2
=DB10.DBX1.4 /input5
零件加工子程序:TC01CAL.SPF
%_N_TC01CAL_SPF
……
For II = PSoglia + 1 To 4
……
If II > 1
Contatto = II - 1
MSG("SKIP "<<Contatto)
Else
Contatto=1
EndIf
If LatoLav>0
When $A_IN[Contatto] == True Do DELDTG
When $AA_IW[Z]<=(PosZ) Do DELDTG $AC_Marker[0]=1
Else
When $A_IN[Contatto] == True Do DELDTG
When $AA_IW[Z]>=(PosZ) Do DELDTG $AC_Marker[0]=1
EndIf
G1 X=Quota_X Z=Quota_Z F=LVelo //粗磨、半精磨、精磨
If $AC_Marker[0]==1
When $A_IN[Contatto] == True Do DELDTG
G1 X=Quota_X F=LVelo*MoltVeloX
EndIf
……
EndFor
//光磨
……
6、结束语
通过840D快速输入输出接口信号的研究,以及对应用实例的研究分析,总结了快速输入输出接口信号的详细对应表,对840D快速输入输出接口信号的设计、应用、维修提供了极其重要的指导作用。
参考文献:
① SINUMERIK 810D /840D/840Di Description of Functions
② SINUMERIK 840D/840Di/810D/SIMODRIVE 611digital Lists
如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
- target=_blank>斯达拉格海科特助力轨道交通制造业
- target=_blank>力士乐降低燃油消耗的电子正向控制系统(EPC)
- target=_blank>力士乐内置轴控制器:简化了自动化实现的过程
- target=_blank>数控车床床身油水分离结构的研制
- target=_blank>凯美瑞轴承(KMR)推出BS2系列球面滚子密封轴承