S7 硬件组态后如何读数据 点击:444 | 回复:13



阿水--王者之师

    
  • 精华:24帖
  • 求助:348帖
  • 帖子:1616帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-01-30 08:23:28
楼主

        做的一个 PROFUBUS 网络CT SP1405 变频器的通讯测试, 现在在 S7 硬件组态中组态好硬件, 分配好地址, 及一些程序,后全下载到 PLC 中, 现在硬件组态显示 PROFIBUS DP 从站也通讯正常, 但是我在 PLC 程序中读取的 从站数据为什么全是 0 ?

    上图不从站在线显示信息正常,

     上图为 在线读取 的 SP1405 变频器的 PROFIBUS 站信息数据, 怎么会全是 "0", 有几个如速度O 反地址: I 145.4 就是 1, 还有变频器故障 时返回的  I 145.3 现在也应是 "1"  

      在  S7 程序中, 这些数据 从站地址 IW 142 或是别的 就是直接读取吧?



楼主最近还看过



千山独步--王者之师

  • 精华:0帖
  • 求助:0帖
  • 帖子:159帖 | 3098回
  • 年度积分:4
  • 历史总积分:21261
  • 注册:2007年2月02日
发表于:2013-01-30 09:34:01
1楼
设置相应状态字的参数了吗?

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-30 09:42:11
2楼
变频器里面还要设,比如你要通过IW142(输入通道0)读变频器里面参数Pr#2.01, post-ramp speed ref (加速的设定值),你要先在变频器里面定义指针,如果你插在中间槽,指针地址是#16.10,你在16.10里面放入201,这样,读IW142你就可以读到参数#2,01了。。。。。。。

阿水--王者之师

  • 精华:24帖
  • 求助:348帖
  • 帖子:1616帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-01-30 09:56:05
3楼
引用 通讯网-原创军团 的回复内容: 变频器里面还要设,比如你要通过IW142(输入通道0)读变频器里面参数Pr#2.01, post-ramp speed ref (加速的设定值),你要先在变频器里面定义指针,如果你插在中间槽,指针地址是#16.10,你在16.10里面放入201,这样,读IW142你就可以读到参数#2,01了。。。。。。。


     我现在测试的是直接使用老外写的 SP1405 的程序及参数, 完全下截到 变频器, 只是现在连接的是我这边的一个 318 PLC , 读写的都有程序, 且是直接输入/输出到 PLC 程序 !

阿水--王者之师

  • 精华:24帖
  • 求助:348帖
  • 帖子:1616帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-01-30 09:57:28
4楼
  现在不是说通道, 现在只是说这个输入/输出 数据在PLC 程序中是直接读与写还是要通过标准块来读写这个数据 ?

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-30 11:12:12
5楼
应该不用块,就像模拟量输入/输出一样,直接就有数值在里面。

阿水--王者之师

  • 精华:24帖
  • 求助:348帖
  • 帖子:1616帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-01-30 13:25:31
6楼
引用 通讯网-原创军团 的回复内容: 应该不用块,就像模拟量输入/输出一样,直接就有数值在里面。


   对呀,应该是这样的, 老外的程序我看了也没有找到人家所说的还用标准 FC 块来读取, 就直接在 S7 程序中使用数据,如 IW146, I 145.0---

银光人生—华

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 13597回
  • 年度积分:0
  • 历史总积分:52877
  • 注册:2007年11月23日
发表于:2013-01-30 13:39:23
7楼

看样子是通信上了,但是为什么没有数据,子站(变频器)有数据,但是PLC按道理应该也是有数据的;

楼主地址是不是有点问题;下图是300和200DP通信截图;

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-31 09:21:41
8楼
昨天翻一下书,。>4个字节的读写。。可能需要再用功能块读一下。。。SFC14..读。。。SFC15是写。。。。你加加试试

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-31 10:32:34
9楼
..............................................加这么一句试试。。

xcw999

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 326回
  • 年度积分:0
  • 历史总积分:784
  • 注册:2012年3月03日
发表于:2013-01-31 12:21:59
10楼

引用 通讯网-原创军团 的回复内容:..............................................加这么一句试试。。


同意通讯网大侠的观点。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-31 13:55:58
11楼

上面写错了,误人子弟。。。呵呵。。。应该如下:

因为读入的地址,272.。16进制应该写W#16#110.....RET_VAL是状态字,随便放一个地方就行。最后一句是把从272开始的6个字节的byte,分别放入数据块DB1中的DB0,DB1......DB5..六个单元中。

当然,我这里的272是我模块的地址,你的要按照你定义的写。。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-01-31 14:02:44
12楼
这些问题都好说,都是些常识性的问题,翻翻书就可以找到答案。。。。

通讯网-原创军团

  • 精华:11帖
  • 求助:1帖
  • 帖子:432帖 | 10265回
  • 年度积分:0
  • 历史总积分:24711
  • 注册:2004年7月09日
发表于:2013-02-01 22:46:17
13楼
对了,你可能看错地方了,是PIW272.。。。。。你 L piw272   T mw300.。。。看看。。。

热门招聘
相关主题

官方公众号

智造工程师