技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 寄存器寻址问题

寄存器寻址问题

林慧玲 发布于2014-03-26 17:36 244 0 标签:

刚学plc,写了一段fc1块,然后在ob1里面带参数调用fc1,输入参数file处给的是db1.dbd6可是为什么模拟一开始,在lp##file指令那一行,standard显示就是c0,
当强制输入信号enter时,souce里的数据是传入db1.dbd24可是期望的是将数据传入dbd6错在哪里呢?

问题补充:
目的是:在enter的每一个上升沿取souce(数据类型:dword)里的数据存入数据块db1内,
存放地址是从file(数据类型:dword)指定的地址开始,
取数据的次数由length确定,position是当前取的次数,
当position=length时,输出dn位。
在ob1调用fc1时给出的实参是:

callfc1
enter:=l20.0
souce:=md2
length:=db1.dbw2
dn:=db1.dbx0.1
er:=db1.dbx0.0
file:=db1.dbd6
position:=db1.dbw4

1.用fc块来做这段程序合适吗?
2.给定的实参到了fc块内部执行时怎么变成了c0?


图片说明: 1,模拟运行

佳答案

没有给出#file的类型,应该是pointer吧,在fc中不能直接传递pointer,要对其进行拆分取出实参的地址。
见附件的写法试试。

1、可以使用fc做,没问题。
2、那是存放输入实参的地址,要对存放地址进行分析后取出实参的地址。


图片说明:1,1

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签