为机床工具企业提供深度市场分析                     

用户名:   密码:         免费注册  |   点击 进入企业管理  |   申请VIP  |   退出登录  |  

English  |   German  |   Japanese  |   添加收藏  |  

车床 铣床 钻床 数控系统 加工中心 锻压机床 刨插拉床 螺纹加工机床 齿轮加工
磨床 镗床 刀具 功能部件 配件附件 检验测量 机床电器 特种加工 机器人

TPI
搜索
热门关键字:

数控机床

 | 数控车床 | 数控系统 | 滚齿机 | 数控铣床 | 铣刀 | 主轴 | 立式加工中心 | 机器人
      用户频道:    应用案例 |  汽车 |  模具 |  船舶 |  电工电力 |  工程机械 |  航空航天 |  仪器仪表 |  通用机械 |  轨道交通 |  发动机加工 |  齿轮加工 |  汽轮机加工
您现在的位置:数控机床市场网>资讯中心>技术前沿
NC程序与PLC数据交换功能应用
2021-7-15  来源:成都天翔环境股份有限公司  作者:安保钢  访问量:
      西门子840D和840D s l系统中,NC和PLC有高速数据交换区。数据交换的内容可自由配置,能够实现特定的功能,NC程序获取PLC一侧的机床传感器状态,使NC程序更加灵活地运行;也可以使用NC程序收集PLC所需的一些配置数据。数据交换区在NC一侧是系统变量$A_DBB[]、$A_DBW[]、$A_DBD[]及$A_DBR[],在PLC一侧需通过FC21进行访问。

      1. NC与PLC数据传输原理
 
      (1)高速数据交换区是一块NC和PLC共享的内存区域,彼此进行写入和读取。
   
      (2)高速数据交换区的访问方式:NC使用系统变量$A_DBB[n],$A_DBW[n],$A_DBD[n]及$A_DBR[n]访问高速数据交换区;PLC使用FC21访问高速数据交换区。高速数据交换区的存储单位是字节。
   
      2. NC对高速数据交换区的访问
 
    默认情况下NC对高速数据交换区进行读操作,向数据区写数据需要使通道机床数据28150$MC_MM_NUM_VDIVAR_ELEMENTS配置可写的数量。否则会出现报警,如图1所示。
 
图 1 
    
      (1)各系统变量: $ A _DBB[n]用来访问1字节数据,包括BYTE、CHAR,n为字节地址$A_DBW[n]用来访问2字节整数,n为字节地址,应为2的整数倍;$A_DBD[n]用来访问4字节整数,n为字节地址,应为4的整数倍;$A_DBR[n]用来访问浮点数,n为字节地址,应为4的整数倍。
   
      高速数据交换区以字节地址访问, 以整数为例第一个整数$A_DBW[0],第二个整数$A_DBW[2]。如果下标错误,例如$A_DBW[1]则报警,如图2所示。
 
图2 
   
      (2)$A_D B B [ n ] 、$A_DBW[n]和$A_DBD[n]的赋值数据格式:整数格式——例如$A_DBW[0]=1;$A_DBW[0]=-1。字符格式——例如$A_DBB[0]='a'。二进制格式—— 例如$ A _
DBB[0]='B10000010'。十六进制格式——例如$A_DBW[0]='H2E0F'。
   
      (3)$A_DBR[n]的赋值数据格式:$A_DBR[n]应为浮点格式,例如$A_DBR[4]=123.456。
   
    (4)数据类型转换:NC程序在使用高速数据交换区时可进行数据类型转换,例如:对$A_DBB[n]、$A_DBW[n]和$A_DBD[n]赋值浮点类型,系统不认为这是编程错误,而是转换为整数后赋值。$A_DBB[0]=1.23,则结果是$A_DBB[0]=1。向浮点变量赋值整数也有相应过程。
   
      如果对数据类型转换没有充分了解,则要尽量避免,否则与预期可能存在偏差。例如:$A_DBB[0]=-1,R10=$A_DBB[0],结果是R10=255.0,而不是R10=-1。
 
      (5)系统在赋值时对变量的取值范围进行检测,如果超出范围则报警。例如:Byte变量取值范围0到255,则$A_DBB[0]=256会引发报警,如图3所示。 
 
图3 
 

      3. PLC对高速数据交换区的访问

      PLC使用FC21 T r a n s f e r访问高速数据交换区。其中: E n a b l e —— 启动传送;Funct——WORD类型,等于3是读取操作,等于4是写入操作;S7Var——Any类型,指定PLC存储地址;IVAR1——INT类型,指定高速数据交换区的访问地址;IVAR2——INT 类型,指定信号量;Error——BOOL类型,等于1则程序出错;ErrCode——出错时存储错误代码。程序如下:

      CALLTransfer

      Enable :=TRUE

      Funct :=B#16#3

      S7Var :=P#L 0.0 INT 7

      IVAR1 :=1000

      IVAR2 :=1001

      Error :=#error

      ErrCode:=#errcode

 

      A n y类型中分别指定起始地址、数据类型和重复次数。P#L0.0 INT 7解释为起始地址L0.0,数据类型INT,重复次数7IVAR1=1000高速数据交换区的访问地址是$A_DBB[1000]

 

      上文程序从$A_DBB[1000]起始读取7个整数,存储到L0.0起始的7INTLW0LW7

   

      4. 字节顺序

 

      NCPLC的字节顺序是不同的。NC字节顺序:16位高8位在后,低8位在前;32位高16位在后,低16位在前。PLC字节顺序与之相反。FC21运行时会根据数据类型转换字节顺序,使传输的数值保持正确。在编程时要注意这一点。例如:LW0存储16进制数 270ELB0存储27LB1存储0E;传送到$A_DBW[0],则$A_DBB[0]存储0E$A_DBB[1]存储27

 

      5. 信号量

 

      信号量确保N CP L C之间如有一方对一段地址连续访问, 则禁止另一方访问这段地址。信号量在FC21IVAR2 中指定,VAR2=1001即指定$A_DBB[1001]为信号量。

 

      使用信号量时的读写过程:PLC——只有在信号量等于1时对数据区读写,读写完成后把信号量置0,由FC21执行。NC——只有在信号量等于0时对数据区读写, 读写完成后把信号量置1 。使用同步动作执行。例如WHENEVER $A_DBB[1001]==1DO RDISABLE ,当信号量等于1时读入禁止。

 

      6. PLCNC传送BOOL信号

 

      为了使BOOL信号传送到NC,可把多个BOOL信号保存在字节变量中,然后向NC传送这个字节变量。NC使用位指令检测相应的位。 

 

      例如:PLC把某开关信号赋值给L0.3,然后通过FC21LB0传送给$A_DBB[0]NC使用位指令检测第三位,即($A_DBB[0]B_AND'B00001000'),如果开关BOOL量等于1,($A_DBB[0]B_AND 'B00001000')不等于0;如果开关BOOL量等于0,( $A_DBB[0] B_AND'B00001000')等于0

 

      PLCNC传送数组或结构:传送数组在S7Var中把数组的起始地址、数据类型和数据长度指定即可。由于NCPLC字节顺序不同,对于结构则应对其内部各变量逐个按其类型传送。PLC编程时结构和数组可直接赋值给ANY类型的参数,但变量类型为BYTE,有可能在字节顺序上出错。

 

      7. NCPLC任意传送数据的试验

 

      NCPLC传送数据,首先NC把数据写入数据交换区,然后PLC从数据交换区读取数据。PLC要想取得数据首先要知道数据的起始位置、数据量,读到哪里,这些信息必须在编写PLC程序时在FC21参数S7VarIVAR1指定。

 

      使NCPLC任意位置传送数据的方法如下:首先NC把需要传送的数据写入数据交换区并写入数据的起始位置,然后在数据交换区指定位置建立一个ANY结构指定PLC地址数据、类型和数量;PLC调用1FC21读取数据的起始位置和ANYA结构;PLC调用第2FC21以第1FC21读取的起始位置和ANYA为参数读取。

 

      4所示为把所需传送数据的地址存在1002,在交换区10041013处建立一个ANY结构,1000设为信号量。图5所示为两次调用FC21。图6所示为临时变量表,第1次调用的FC21 P#L0.0 INT 7涵盖了变量c t rDepartureDestination。在第2次调用FC21时使用这些变量。

 

图4 

 

图5 

 

  

图6 

 

      8. 结语

 

      全文讲述了NC变量和PLC1字节、2字节及4字节基本数据类型的数据交换,以及BOOL变量的传输及检取、数组和结构体的传输,可以为具体的应用提供依据,这样原来需要频繁编写或选择程序的可以具体处理,提高设备的应用性。 
 
 
    投稿箱:
        如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息
  • target=_blank>CIMT2021部分五轴加工中心浅析
  • target=_blank>基于三菱和西门子数控系统平台对圆锥轴承磨削参数固化的应用
  • target=_blank>全新 ANCA 刀具跳动补偿技术大幅减少刀具跳动
  • target=_blank> 智能、柔性、复用,一套夹具覆盖超 40 种航空零件
  • target=_blank>新型组合式断屑刀具在曲轴沉孔加工中的应用
名企推荐
山特维克可乐满
哈斯自动数控机械(上海)有限公司
西门子(中国)有限公司
哈挺机床(上海)有限公司
北京阿奇夏米尔技术服务有限责任公司
陕西秦川机械发展股份有限公司