SIEMENS-840D-NC与PLC之间的数据通讯_第1页
SIEMENS-840D-NC与PLC之间的数据通讯_第2页
SIEMENS-840D-NC与PLC之间的数据通讯_第3页
SIEMENS-840D-NC与PLC之间的数据通讯_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要:文章针对SIEMENS 840D NCU与PLC之间数据通讯的实现方法进行详细的说明,包括FB2/FB3、FC21的应用技术,并配合相应的举例。关键词:840D 数据交换 FB2 FC21 NC_var selectorData exchange between NC and PLC for SIEMENS 840D HU Guoqing(Wuhan Huazhong Automation Technology Devolopment Ltd.,Wuhan 430077,CHN)1前言在数控系统调试过程中,经常需要在NC、PLC之间进行数据交换,以使整个系统都在程序控制之中,作为当今世界

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

3、or软件就可实现此项功能。其中FB2用于读取NC变量(包括MD参数和NC内部变量),FB3用于写NC变量。21 NC_var Selector的使用对于读取的NC变量,应先使用NC_var Selector软件选择所需的变量,最终建立一个AWL源文件。下面就以Ver6.4版为例说明其使用步骤:首先建立一个新的Project,在库文件打开框中根据需要选择ncv_NcData.mdb(读取NC参数)或者ncv_611d.mdb(读取611D驱动参数)等。根据需要选择相应的变量。为了提高效率,可以双击Unit或Compenent列,等出现Selections on NC-variables对话框时,

4、点击option中selection框,然后在selection parameters方框中选择变量类型。选完了变量后,必要时可对各变量名称进行修改,然后保存变量表,命名可以将要生成的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下进行编译(在File菜单下),

5、生成DB150.stl。在Project下选择DB150,将其Download到PLC CPU中。在符号表中增加条目:SymbolNCVAR,AddressDB150,DATA TYPEDA150。23 使用FB2功能块在OB1中增加一个网络,调用FB2,调用时需要自动生成一个背景数据块,此时你可以定义一个当前系统中不存在的块名(如DB110)。下面说明其各参数的含义以及如何输入其数值。CALL FB 2 , DB110 Req :=块操作请求,类型:BOOL。每激活一次读操作进行一次。1:激活。 NumVar :=变量数量。输入要读取变量的数量,如B#16#3等。 Addr1 :=变量1。如

6、DB150中变量1,“NCVAR”.C1_M_AXCONF_MACHAX_1 Unit1 := Column1:= Line1 :=可输入0或实际位置值。 Addr2 :=变量2。如DB150中变量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。若数据传输

7、成功,则该位为1,否则为0。State :=状态字,类型:WORD。若传输不成功,则通过状态字可判断原因。将状态字数值作比较,可以编程输出到自定义报警地址之中。NOP 024 编程注意事项1) FB2 /FB3生效的前提是在OB100初始化程序中调用FB1(RUN_UP)时须设置NCKommTRUE。2) 为了防止因非正常中止(如断电、RESET等)造成通讯中断,致使通讯数据阻塞,应在非正常中止后的第一个OB1循环中屏蔽FB2/FB3的调用(需用到首次循环变量)。(同样的建议适用于FB4/FB5功能块)3) 对于多通道数控系统而言,若需要读取通道参数,则在一次FB2FB3调用任务中ADDR18

8、中只能出现一个通道的通道参数。4) 通常一次读写过程要持续12个PLC循环,因此FB2/FB3只能在循环模式下调用。25 前面主要对读取NC参数进行了阐述,如果需写NC参数,其方法基本一致,FB3的参数也基本相同。3 NC程序读写PLC数据对于多附件头、自动存取刀具的平面刀库,由于其类型位置检测信号都是进入PLC的,在用NC子程序编写对刀或专用动作应用程序时,经常需要读取PLC数据。SIEMENS的8x0D toolbox中提供了FC21(Transfer)功能块程序,结合NC变量$A_DB*的使用就可实现此项功能。31 FC21功能块的使用FC21的使用相对比较简单,只需要在程序中调用它,填

9、入相应的参数即可。下面说明其各参数的含义。CALL FC 21 Enable :=使能,类型:BOOL。1激活功能块。 Funct :=块功能,类型:BYTE。3读NC变量,4写NC变量 S7Var :=PLC数据地址,类型:任意(根据需传送的数据数量而定)。如:P#M220.0 BYTE 1,P#DB100.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对应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论