在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
谢谢大家了!
图片说明:
最佳答案
我觉得你还是FB3上的时序处理的有问题吧?
提问者对于答案的评价:
谢谢你的热情回答!
最佳答案作者回复:
不知道对您有没有帮助,如果还没有成功,可以发邮件给我,cheng_sky@163.com, 我们再讨论。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc160102.html