设为首页
收藏本站
PLC技术网
开启辅助访问
切换到宽版
登录
注册哦
只需一步,快速开始
微信扫码登录
门户
Portal
论坛
BBS
导读
Guide
排行榜
Ranklist
搜索
搜索
本版
文章
帖子
用户
PLC论坛-全力打造可编程控制器专业技术论坛
»
论坛
›
工控技术交流区
›
『国外:三菱/西门子/欧姆龙/松下』
›
S7-1500PLC之间的S7通信
返回列表
发新帖
[西门子]
S7-1500PLC之间的S7通信
[复制链接]
40106
|
0
|
2024-3-23 07:27:18
|
显示全部楼层
|
阅读模式
大家好,本集我们介绍S7-1500PLC之间的S7通信...
基于应用层的S7连接通信有两种方式,可以在用户程序中确认通信方是否接收到发送的数据。第一种方式创建通信连接的方式可以在网络视图中选择S7连接,通过拖拽的方式实现两台S7-1500 PLC之间的S7通信,然后调用通信函数发送和接收数据,这种方式对于熟悉经典STEP7的工程师可能比较有利。
第一种方式:
1.首先,硬件组态建立连接
2.然后,在程序块中插入发送和接受指令
3.一个PLC添加发送
4.一个PLC添加接受即可
功能描述:
指定具有输入参数 R_ID 的指令对“BSEND”和“BRCV”。相关指令中的参数 R_ID 必须相同。
调用该指令并且在控制输入 REQ 上检测到上升沿之后,就会激活该发送作业。调用“BSEND”后,不在后台对其进行处理,这表示只能在用户程序中读取数据。
要传送的数据区已经分段。各段独立地发送至伙伴。“BRCV”收到每一段后,伙伴将确认该段。如果数据已分段,则必须多次调用“BSEND”,直到所有段均已传送完。
待发送数据的数据区域通过 SD_1 指定。为了确保数据一致性,只能在当前发送操作完成后写入当前正在使用的发送区域SD_1 的一部分。这种情况下,状态参数 DONE 的值将变为“1”。
根据作业的不同,可以使用 LEN 指定发送数据的长度。如果 LEN =“0”,那么将发送所有通过 SD_1 参数寻址的数据。
如果控制输入 R 出现了上升沿,则当前的发送过程会被中止。
由于使用了异步数据传送,只有在伙伴指令调用对先前的数据进行访存之后,才能启动新的数据传送操作。数据采集完成后,伙伴指令“BRCV”中的状态参数“NDR”将置位。
另一种方式是在调用发送和接收数据的通信函数时直接建立,这种方式更加简单。这种方式之适合于PUT/GET通信函数。下面以示例的方式介绍方式。
1.首先在客户端PLC的程序中调用GET程序块
2.在程序块属性的向导中选择通信伙伴。
如果勾选主动建立连接选项,则本方主动发起连接的创建,对方则自动取消这个选项。
3.之后在块参数界面中设定启动请求变量,读取区域和存储区域相关参数,以及通信状态参数。本例中将读取通信伙伴的数据区MB200~MB203并存储于本地地址区MB300~MB303值。完成参数向导后,程序块的参数被赋值。
4.在客户端PLC S7-1513中新建监控表,键入用于控制读取请求信号M100.0以及通信数据接收区MB300~MB303 ,4个字节变量。
5.在服务器端PLC S7-1516中新建变量表并键入通信数据发送区MB200~MB203 4个字节变量。
6.通信程序编写完成之后,在网络视图中可以看到两台PLC之间的S7连接自动创建。
7. S7-1500 PLC之间的PUT/GET通信需要启用服务器端PLC保护功能下的“允许来自远程对象的通信访问”选项,否则不能通信,这一点非常重要。
8.分别下载服务器和客户端PLC软硬件配置。
9.最后,分别监控两个变量表的状态。
修改服务器端变量MB200到MB203的数值。
启动客户端PLC通信请求信号M100.0,可以看到服务器端PLC的指定的变量数值被成功地读取到MB300到MB303的存储变量中了。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
注册哦
x
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册哦
本版积分规则
发表回复
回帖后跳转到最后一页
剑指工控
回复楼主
返回列表
『国外:三菱/西门子/欧姆龙/松下』
『国产:台达/汇川/信捷产品交流区』