回复:如何通过以太网在2个CPU之间传递数据,急,请版主及各位同行帮忙

button007

  • 帖子

    550
  • 精华

    9
  • 被关注

    2

论坛等级:侠客

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2003-11-20 20:24:57

0楼

PLC通过以太网通讯
1、 先在每个PLC站的Hardware里正确组态以太网通讯模板的通讯协议、地址,然后下载到相应的PLC的。这里分为两种情况,一种是每个PLC都在你的项目里组态,另一种是其他的PLC在别人的项目里。第一种情况直接组态即可。第二种情况需要在你的项目里插入一个other staton,然后双击这个站,在interfaces新建一个以太网通讯,用对方PLC的参数配置好这个站。
2、 在SIMATIC Manager界面下,点击Configure Network按钮。在NetPro界面下,点击要进行通讯的PLC,在屏幕的下方会出现一个表格。用鼠标双击第一行表格,在弹出的对话框里Station一项,选择要与这个PLC通讯的站,Module选通讯用的模块(如果有两个模块的话)。Connection里的type一项选择通讯类型,点击ISO transport connection。勾选Display properties dialog,然后点击OK进行进一步配置。
在这个地方也有两个情况,如果两个PLC组态在同一个项目里,就可直接进入下一步。如果不是的话,会直接弹出一个Object Properties对话框,在Addresses标签项里需要添加other staton的TSAP,这里要添加对方的PLC上组态的参数。
3、 右键点击这个新建好的连接,选择Object Properties。记住Black Parameter下面的图示里的ID,LADDR两项的参数,留一会编程用。保存并编译这个配置。然后把配置下载到相应的PLC中。
4、 编程。在程序里调用Library里SIMATIC_NET_CP下面的CP300或CP400里的FC5 AG_SEND/FC6 AG_RECV


CALL FC 5 //AG_SEND
ACT :=M50.0 触发
ID :=1 刚才Black Parameter里的值
LADDR :=W#16#200
SEND :=P#DB30.DBX 1.0 BYTE 240 存放发送数据的的起始地址及长度
LEN :=MW14 发送数据的长度
DONE :=M1.2 通讯的状态,1为正在通讯
ERROR :=M1.3 1为出错
STATUS:=MW200 通讯状态字

LEN的说明:With a call with a job header, the length information is made up of the job header (4 bytes) + user data (1..236 bytes). LEN must therefore be >= 5


CALL FC 6 //AG_RECV
ID :=1 刚才Black Parameter里的值
LADDR :=W#16#200
RECV :=P#DB31.DBX 1.0 BYTE 240 存放读入数据的的起始地址及长度
NDR :=M1.0 通讯的状态,1为正在通讯
ERROR :=M1.1 1为出错
STATUS:=MW202 通讯状态字
LEN :=MW10 接收数据的长度

程序编辑好后下载到PLC里,然后把要通讯的数据放入交换区里即可。


做人要厚道
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

通信与网络组件

共有4547条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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