PC与PLC通讯方式的讨论

已锁定

moonspell

  • 帖子

    71
  • 精华

    0
  • 被关注

    2

论坛等级:游民

注册时间:2004-05-28

普通 普通 如何晋级?

PC与PLC通讯方式的讨论

1746

2

2007-10-24 07:31:47

有一些二级的应用,需要脱离组态软件,直接访问S7 PLC,采用什么办法呢?

S7的通讯协议中兼容S5协议就支持ISO、ISO-on-TCP、TCP等多种协议,我们采用TCP协议。为了让PLC和PC机之间能相互通讯,就需要在PLC的网络组态中加入TCP连接。在建立连接的时候通常要注意几个方面:一是选择通讯伙伴;二是通讯伙伴的地址、端口;三是将连接设置为被动的。

按照西门子技术支持文档18843927的介绍完成上述步骤,就可以用Socket编程来访问PLC数据了,为了配合PC的程序,PLC中要利用Send/Recv功能块编写发送和接收数据的程序。

下面叙述一下我遇到的问题。

一、按照西门子文档的说明,选择连接伙伴时选“未指定”,并在地址选项中保留伙伴的IP地址和端口为空(不填任何内容)。针对这种连接,用Delphi的Socketclient组件编写的程序可以顺利读写PLC的数据。

二、当我组态一个PG/PC,并指定连接伙伴为此PG/PC时,地址选项中IP会自动填写PG/PC的IP,自己指定一个端口。这时再用SocketClient组件就会出错。错误发生在连接建立的时候,提示的信息是“非同步错误 10053”,查socket错误代码,10053是软件造成的错误,大概是说连接超时或协议错误。

然而用在Delphi 6后indy组件的IdTCPClient组件就能成功(这个程序是别人写的)。


哪位达人对这两种连接的配置的差别有些心德,请不吝赐教,谢谢!
PC与PLC通讯方式的讨论 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

通信与网络组件

共有4451条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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