在PLC读取NC数据——R参数时,我始终读取不成功。在此完整记录下我的试验过程,请各位高手帮忙分析一下问题所在,新手可以

已锁定

小师胡

  • 帖子

    9
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2016-03-10

普通 普通 如何晋级?

在PLC读取NC数据——R参数时,我始终读取不成功。在此完整记录下我的试验过程,请各位高手帮忙分析一下问题所在,新手可以

2792

7

2016-04-22 22:48:14

在PLC读取NC——R参数时,利用了NCVAR,始终读取不成功。我在附件中完成的记录了我的实验过程,在此希望各位高手们能帮忙分析一下问题所在,做这个的新手们也可以进来学习一下,做个参考。我的QQ:1015115760,想了解相关问题的新手咱们可以交流一下
   不管我对R1(之前看到别人在这里出现问题,R参数号码弄错,所以我试过多个R参数,R0,R1,R2等等,结果还是一样读不到)中的数值做何修改,MD200和DB37.DBB19中的数值都不做改变。恳请各位帮我看看,我的问题出在哪里,为什么就读不到R参数中的数值,工作不易,在下万分感激!也是将我的坎坷经验分享给各位同行们,以后做这个能省事些!
   我这里用到的机床是840D系统的,PLC是S7-300,step7是用的5.4,toolbox版本为6.5.
1, 利用NC-VAR将R参数生成DB块
   1.1 新建项目,选择R参数所在的变量目录,选择“ncv_ncdata”,然后点击确定
   1.2 在出现的NC变量表中选择130号变量——R参数(toolbox版本不同,R参数的序号不同。另外,R参数中是选择R[ ]还是选择rpa[ ]是有区别的,好像也是依版本而定,此处我也不太清楚)。双击选择的R参数,出现通道号和轴号的选择界面。此处可以先都填“0”,在调用FB2时再具体填写,点击确定,然后进行保存。
   1.3 点击菜单栏中的“code”,在下拉选项中选择”selection”,然后在出现的界面中编辑所要生成DB块的序号和符号,BD块的序号必须是西门子对用户开放的(>>120),此处选择为DB150,符号选择默认的”ncvar“,点击”OK”.(此处还有其他两个属性栏,我不太清楚作用,这里没有管他)。
   1.4 接着在“code”下拉选项中选择“generate”,在出现的弹窗中为即将生成的,awl文件命名,此处名为“xiaohu”,点击确定。到此已经将R参数生成为.awl格式的文件。
   1.5 打开step7,新建项目,将机床PLC中的程序上传到新建的项目中。选中“program”,点击右键,选择“insert new object”,接着选择“external source…”,然后选择之前生成的.awl文件,此处选择”xiaohu.awl”点击确定,这时在”source”目录下会出现名为“xiaohu”的STL文件。
    1.6 双击1.5中生成的名为“xiaohu”的STL文件,然后在出现的窗口中选择”file”下的“compile”对“xioahu”文件进行编译,编译结果显示没有错误和警告,则到此DB块生成成功。早“block”目录下也会出现生成的DB150。
    1.7 在符号表中添加DB150的符号,此处为“ncvar”,然后保存
2, 利用FB2读取DB150中的数值
    2.1 首先打开OB100,将FB1下的“NCKomm”输入处置位,填写“TRUE”.此处的含义是允许NC和PLC之间交换数据
    2.2 在OB1中调用FB2。FB2生效的方式是需要一个上升沿的信号,此处我试过了两种方式生成上升沿的信号。
    第一种: AN    M     85.0
         S     M     85.0
         O     M     85.1
         O     M     85.2
         R     M     85.0
在FB2中rep:=M 85.0,这个用的是西门子工业论坛中“西范斯”大侠给的
   第二种:在MCP上使用用户按钮,其信号地址是I 5.3,然后FB2中的rep处输入
 rep:=I 5.3;
这个触发方式也试过了,在MCP上按I 5.3按钮也没有作用(该按钮是有效地,我OB1中添加“A I 5.3
= Q 3.4”,LED灯亮)
   另外,R参数是real型数据,也就是32为的浮点型数据,在FB2中读取的数据输出要填写32为的PLC数据类型,如MD,DBD…
以下是我完整的PLC程序
AN    M     85.0
      S     M     85.0
      O     M     85.1
      O     M     85.2
      R     M     85.0
      CALL  FB     2 , DB131
       IN0  :=M85.0
       IN1  :=1
       IN2  :=“ncvar”.C0_RP_R0_1
       IN3  :=B#16#1           ’选择通道1
       IN4  :=
       IN5  :=W#16#1          ‘选择读取R1
       IN6  :=
       IN7  :=
       IN8  :=
       IN9  :=
       IN10 :=
       IN11 :=
       IN12 :=
       IN13 :=
       IN14 :=
       IN15 :=
       IN16 :=
       IN17 :=
       IN18 :=
       IN19 :=
       IN20 :=
       IN21 :=
       IN22 :=
       IN23 :=
       IN24 :=
       IN25 :=
       IN26 :=
       IN27 :=
       IN28 :=
       IN29 :=
       IN30 :=
       IN31 :=
       IN32 :=
       IN33 :=
       OUT34:=M100.0
       OUT35:=M100.1
       OUT36:=MW120
       IO37 :=MD200
       IO38 :=
       IO39 :=
       IO40 :=
       IO41 :=
       IO42 :=
       IO43 :=
       IO44 :=
  L    MD200
  T    DB37.DBB19

谢谢大家了!我也可以支付一定的报酬,能解决问题就行!

   

使用的R参数.PNG


在PLC读取NC数据——R参数时,我始终读取不成功。在此完整记录下我的试验过程,请各位高手帮忙分析一下问题所在,新手可以 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25498条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。