SIEMENS40D NC与PLC之间的数据通讯.docx

上传人:小飞机 文档编号:3165691 上传时间:2023-03-11 格式:DOCX 页数:6 大小:39.49KB
返回 下载 相关 举报
SIEMENS40D NC与PLC之间的数据通讯.docx_第1页
第1页 / 共6页
SIEMENS40D NC与PLC之间的数据通讯.docx_第2页
第2页 / 共6页
SIEMENS40D NC与PLC之间的数据通讯.docx_第3页
第3页 / 共6页
SIEMENS40D NC与PLC之间的数据通讯.docx_第4页
第4页 / 共6页
SIEMENS40D NC与PLC之间的数据通讯.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《SIEMENS40D NC与PLC之间的数据通讯.docx》由会员分享,可在线阅读,更多相关《SIEMENS40D NC与PLC之间的数据通讯.docx(6页珍藏版)》请在三一办公上搜索。

1、SIEMENS40D NC与PLC之间的数据通讯摘要:文章针对SIEMENS 840D NCU与PLC之间数据通讯的实现方法进行详细的说明,包括FB2/FB3、FC21的应用技术,并配合相应的举例。 关键词:840D 数据交换 FB2 FC21 NC_var selector Data exchange between NC and PLC for SIEMENS 840D HU Guoqing 1前言 在数控系统调试过程中,经常需要在NC、PLC之间进行数据交换,以使整个系统都在程序控制之中,作为当今世界优秀的高端数控产品代表SIEMENS 840D,它提供了先进的通道和技术支撑,使你可以轻

2、松地实现数据的畅通交换。笔者根据工作过程中积累的设计与编程经验,在此就这个主题与同行探讨。 经常使用的数据交换包括M代码、T代码、H/F功能传输以及840D系统提供的功能强大的接口信号,不需叙述。在这里只是针对一些专用数控功能应用时需用到的数据交换方法进行较详细的说明。 2 PLC读写NC参数变量 在进行数控铣镗床滑枕低头补偿或刀库定位控制编程时,都需要用到PLC读写NC参数或变量。 SIEMENS的8x0D toolbox中提供了FB2FB3功能块程序,结合使用配套的NC_var Selector软件就可实现此项功能。其中FB2用于读取NC变量,FB3用于写NC变量。 21 NC_var S

3、elector的使用 对于读取的NC变量,应先使用NC_var Selector软件选择所需的变量,最终建立一个AWL源文件。 下面就以Ver6.4版为例说明其使用步骤: 首先建立一个新的Project,在库文件打开框中根据需要选择ncv_NcData.mdb或者ncv_611d.mdb等。 根据需要选择相应的变量。为了提高效率,可以双击Unit或Compenent列,等出现Selections on NC-variables对话框时,点击option中selection框,然后在selection parameters方框中选择变量类型。 选完了变量后,必要时可对各变量名称进行修改,然后保存

4、变量表,命名可以将要生成的DB块名称,如DB150.var等。 选择Code菜单下Generate功能,生成DB150.awl文件。 22 Step 7下生成DB块 下面以Step 7 V5.1版为例说明其步骤: 在Project中Sources目录下,使用菜单Insert下External Source功能导入DB150.awl文件。 双击DB150.awl打开文件,在S7 LAD/STL/FBD下进行编译,生成DB150.stl。 在Project下选择DB150,将其Download到PLC CPU中。 在符号表中增加条目:SymbolNCVAR,AddressDB150,DATA TY

5、PEDA150。 23 使用FB2功能块 在OB1中增加一个网络,调用FB2,调用时需要自动生成一个背景数据块,此时你可以定义一个当前系统中不存在的块名。下面说明其各参数的含义以及如何输入其数值。 CALL FB 2 , DB110 Req :=块操作请求,类型:BOOL。每激活一次读操作进行一次。1:激活。 NumVar :=变量数量。输入要读取变量的数量,如B#16#3等。 Addr1 :=变量1。如DB150中变量1,“NCVAR”.C1_M_AXCONF_MACHAX_1 Unit1 := Column1:= Line1 :=可输入0或实际位置值。 Addr2 :=变量2。如DB150

6、中变量2,“NCVAR”.C1_M_AXCONF_MACHAX_2 RD1 :=变量存放地址1,注意其类型与Addr1对应的变量类型一致。如DB129.DB_VAR1等。 RD2 :=变量存放地址2,其类型应与Addr2变量类型一致。如P#M220.0 INT1等。 RD3 := Error :=出错代码,类型:BOOL。若数据传输出错,则该位为1,正常为0。 NDR :=执行代码,类型:BOOL。若数据传输成功,则该位为1,否则为0。 State :=状态字,类型:WORD。若传输不成功,则通过状态字可判断原因。将状态字数值作比较,可以编程输出到自定义报警地址之中。 NOP 0 24 编程注

7、意事项 1) FB2 /FB3生效的前提是在OB100初始化程序中调用FB1时须设置NCKommTRUE。 2) 为了防止因非正常中止造成通讯中断,致使通讯数据阻塞,应在非正常中止后的第一个OB1循环中屏蔽FB2/FB3的调用。 3) 对于多通道数控系统而言,若需要读取通道参数,则在一次FB2FB3调用任务中ADDR18中只能出现一个通道的通道参数。 4) 通常一次读写过程要持续12个PLC循环,因此FB2/FB3只能在循环模式下调用。 25 前面主要对读取NC参数进行了阐述,如果需写NC参数,其方法基本一致,FB3的参数也基本相同。 3 NC程序读写PLC数据 对于多附件头、自动存取刀具的平

8、面刀库,由于其类型位置检测信号都是进入PLC的,在用NC子程序编写对刀或专用动作应用程序时,经常需要读取PLC数据。 SIEMENS的8x0D toolbox中提供了FC21功能块程序,结合NC变量$A_DB*的使用就可实现此项功能。 31 FC21功能块的使用 FC21的使用相对比较简单,只需要在程序中调用它,填入相应的参数即可。下面说明其各参数的含义。 CALL FC 21 Enable :=使能,类型:BOOL。1激活功能块。 Funct :=块功能,类型:BYTE。3读NC变量,4写NC变量 S7Var :=PLC数据地址,类型:任意。如:P#M220.0 BYTE 1,P#DB100

9、.DBX8.0 BYTE 4等。注意:起始地址须是指针,后面表示数据长度。 IVAR1 :=类型:INT。对于Funct34时,其含义是位置偏置,即相对起始地址偏置值。通常设为0。 IVAR2 := 类型:INT。对于Funct34时,通常设为1。 Error := 出错指示,类型:BOOL。若数据传输出错,则该位为1,正常为0。 ErrCode:=错误代码,类型:INT。 在PLC程序中对S7Var的数据值分别进行控制,在NC程序中就可得到相应的值。 32 NC编程中$A_DB*变量的使用 840D的NC系统变量中有四种用于读写PLC变量,分别是$A_DBB、$A_DBW、$A_DBD、$A_DBR,分别用于操作8位字节、16位字、32位双字和32位实数。 变量使用格式:$DB*n n0,1,2 例如:其中$DBB0对应FC21传送的第一个字节,其中$DBB1对应FC21传送的第二个字节,依此类推。 编程实例1: IF ($A_DBB04)AND($A_DBB08) GOTOF N3000 编程实例2: MSG 本文所述的数据交换功能对于840D系统来说仅是凤毛麟角,其更多更简便实用的方法尚需进一步探讨。文中不恰当之处,敬请同行指正为感。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号