NC变量的问题

在840DsL系统的NC date\Definition目录下有一XX.DEF文件中有下面一句:
define ib_wp_fct                as $a_dbb[250]
define i_wp_clamped             as (($a_dbb[250] b_and 'b1')<>0)       
define i_wp_unclamped            as (($a_dbb[250] b_and 'b100')<>0) 
请问    $a_dbb[250]与(($a_dbb[250] b_and 'b1')<>0) 、 (($a_dbb[250] b_and 'b100')<>0) 是NC变量还是PLC变量,他们有什么联系?他们的值是怎么谁赋给的?

最佳答案

楼组的问题比较典型,在 NC 高级编程中经常要读写 PLC 变量。具体如下:
1、$A_DBB[ ] 此语句的含义:读取 PLC 变量。例如 $A_DBB[250] 读取 NC内存区域中的 DBB250 ,此区域的大小在做内存配置时被指定。此区域专门用来和PLC 交换数据。必须要分清,这些区域是连贯的,DBB[250]是指区域 中的第250个字节。它可以存储 PLC 中任何区域的内容例如: M、Q、I、 DB 、L区域 。
$A_DBW对应地址是由FC21输入变量指定的。同样840D的NC和PLC用FC21来实现NC与PLC的数据交换,这是一块独立的内存区,其中交换数据的类型、起始地址与长度要在FC21中说明。
2.define ib_wp_fct                as $a_dbb[250],即即读取 $a_dbb[250]为ib_wp_fct  赋值,
define i_wp_clamped             as (($a_dbb[250] b_and ''b1'')<>0),即$a_dbb[250]的每一位与b1相与,B_AND 是二进制数按位进行逻辑与运算的符号。将$a_dbb[250]不为0的各位赋值给i_wp_clamped变量,
define i_wp_unclamped            as (($a_dbb[250] b_and ''b100'')<>0) ,即将$a_dbb[251]不为0的各位赋值给i_wp_unclamped变量,注意,字节的读取顺序,
3.直接读写PLC 输入输出变量:
读输入
$A_PBB_IN[n] 
$A_PBW_IN[n] 
$A_PBD_IN[n] 

写输出
$A_PBB_OUT[n] = XX
$A_PBW_OUT[n] = XX
$A_PBD_OUT[n] = XX

上述语句中的n 是指读写plc 中的哪一输入输出,记住是输入输出,不是过程印象区 例如:$A_PBB_OUT[1] = 1 在 plc 中的表现就是 PQB1=1。
具体可以参阅西门子权威资料包光盘 DOCONCD 2006 中的 
SINUMERIK 840Dsl/840D/840Di
SINUMERIK 810D
Special *s (Part 3)一节内容,其中 FB1 这一章中的FC21 对自定义变量的如何使用读写介绍的非常详细。

提问者对于答案的评价:
非常满意

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc194721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月18日 下午10:46
下一篇 2017年8月18日 下午10:46

相关推荐

  • 840Dsl主轴报轮廓监控

    换向角几十度,攻丝的时候报警,轮廓监控。是什么原因,需要重新做换向角吗?做了换向角还需要改哪里? 最佳答案 这个报警是主轴给定转速或角度指令后,主轴实际和设定出现偏差未在允许公差内…

    2020年10月31日
  • 关于西门子810M系统的6010和6013的报警寻求帮助

    一台西门子810M系统的机床由于失电将数据全部丢失,上传了数据后机床无法正常工作,出现报警号6010 SERVO DRIVE AMPLIFIERES&…

    SINUMERIK 2017年11月1日
  • 840D HMI设置

    前辈们,这个如何设置成全屏? 版主推荐答案 设定如上图  查看完整帖子:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a…

    2020年10月31日
  • 西门子840D SL 程序问题

    ;— FIRST TOOL CALL —IF(OPT_TCALL) T=FST_TOOL IF(MACH_TYP…

    SINUMERIK 2020年10月31日
  • 驱动器使能后Y轴电机慢速旋转

    802DSL系统与ADI4模块采用总线通讯,模拟输出到力士乐驱动器,使能后Y轴电机慢速旋转,每分钟1转左右,检测驱动器输入有5mv左右。其他两个轴没有输入。短接输入则不转动。 最佳…

    SINUMERIK 2020年11月1日
  • 定位控制角度对偶码怎样接到S7-200

    用户如何借助于一个输入字节的对偶码给CPU来指定定位角度。用户程序根据该码计算出所需的定位步数,再由CPU输出相关个数的控制脉冲。请指教! 最佳答案 用带方向的直接计数就OK了 提…

    SINUMERIK 2017年10月31日
  • 数控中方式组BAG怎么理解

    数控中方式组BAG怎么理解,求详细点教程 钻石用户推荐最佳答案 就是机床运行的模式,比如JOG(点动),AUTO(自动),MDI(手动方式输入),在doc on&nbsp…

    SINUMERIK 2020年10月31日
  • 828D刀盘过重,旋转过程中偶发207900报警

    828D数控车床刀塔重,自动换刀偶发电机停不住,报警207900电机堵转,如何修改参数让刀盘旋转慢点 最佳答案 先看电机在刀载换刀时的负载情况,你这是207900是在旋转到位的时候…

    SINUMERIK 2020年10月31日
  • 611驱动配置优化

    810D和840D的PCU20都需要用611的调试软件进行驱动配置,如何配置,能否提供个软件 最佳答案 软件就是IBNTOOL,有点大,不好发 提问者对于答案的评价:请给我一个吧。…

    SINUMERIK 2018年12月5日
  • 程控运行到这IF&#160; R36&lt0&#160; GOTOF&#160; N1出现报警it0不对

    出现报警it0不对程序是这样的IF  R0=1  GOTOF  AAR31=$AA_IM[X]R32=$AA_IM[Y]…

    SINUMERIK 2017年12月10日