1.硬件组态
这里使用的CPU是两台1215
2.允许来自远程对象的PUT/GET通讯访问
在设备组态中点击CPU1215,找到属性,在‘属性-防护与安全-连接机制’中,将‘允许来自远程对象的PUT/GET通讯访问’打√,即选择允许来自远程对象的PUT/GET通讯访问。

3.设置IP地址
在‘属性-PROFINET 接口-以太网地址-在项目中设置IP地址’中,本例子中将IP协议设定为:第一台IP地址:192.168.0.1,第二台IP地址:192.168.0.2,若电脑连接不上PLC,将本地网络取消自动获得IP地址,改为手动输入,所设地址需与PLC在同一网段,不同地址。本例中本地IP地址:192.168.0.99。

4.连接端口
在网络视图中,将两个PLC得端口连接在一起
5.添加数据块
在两个PLC中分别添加一个数据块以供两个PLC数据交换,点击所添加的数据块的属性,将‘优化的块访问’的√点掉,即不选择优化的块访问。

6.创建数据
创建数据,本例中创建了两个数据,完成后编译。
7.添加指令块
在一个程序块内找到右侧‘指令-通讯-S7通讯’,添加PUT和GET,拖拽至程序段,拖拽后会自动添加数据块,PUT为向远处PLC写入数据,GET为从远处PLC读取数据。
8.指令块管脚设置参数
下表列出了“PUT”指令的参数:
|
参数 |
声明 |
数据类型 |
存储区 |
说明 |
|
REQ |
Input |
BOOL |
I、Q、M、D、L 或常量 |
控制参数 request,在上升沿时激活数据交换功能。 |
|
ID |
Input |
WORD |
I、Q、M、D、L 或常量 |
用于指定与伙伴 CPU 连接的寻址参数。 |
|
DONE |
Output |
BOOL |
I、Q、M、D、L |
状态参数 DONE: 0:作业未启动,或者仍在执行之中 1:作业已执行,且无任何错误。 |
|
ERROR |
Output |
BOOL |
I、Q、M、D、L |
状态参数 ERROR 和 STATUS,错误代码: ERROR=0 STATUS 的值为: 0000H:既无警告也无错误 <> 0000H:警告,详细信息请参见 STATUS。 ERROR=1 出错,有关该错误类型的详细信息,请参见 STATUS。 |
|
STATUS |
Output |
WORD |
I、Q、M、D、L | |
|
ADDR_1 |
InOut |
REMOTE |
I、Q、M、D |
指向伙伴 CPU 上用于写入数据的区域的指针。 指针 REMOTE 访问某个数据块时,必须始终指定该数据块。 示例:P#DB10.DBX5.0 字节 10。 传送数据结构(例如 Struct)时,参数 ADDR_i 处必须使用数据类型 CHAR。 |
|
ADDR_2 |
InOut |
REMOTE | ||
|
ADDR_3 |
InOut |
REMOTE | ||
|
ADDR_4 |
InOut |
REMOTE | ||
|
SD_1 |
InOut |
VARIANT |
I、Q、M、D、L |
指向本地 CPU 上包含要发送数据的区域的指针。 仅支持 BOOL、BYTE、CHAR、WORD、INT、DWORD、DINT 和 REAL 数据类型。 传送数据结构(例如 Struct)时,参数 SD_i 处必须使用数据类型 CHAR。 |
|
SD_2 |
InOut |
VARIANT | ||
|
SD_3 |
InOut |
VARIANT | ||
|
SD_4 |
InOut |
VARIANT |
此例中使用了时间存储器
设置第一台PLC管脚参数,此处以PUT指令为例,GET与PUT类似
ADDR_1脚添加的是指向PLC2所建的数据块内数据的起始地址:
P#DB3.DBX0.0 BYTE 1
SD_1脚添加的是指向PLC1即本地所建的数据块内数据的起始地址:
P#DB3.DBX0.0 BYTE 1

设置第二台PLC管脚参数,与第一台类似

9.组态指令块
在PLC1里的PUT和GET指令块点击开始组态按钮,在伙伴里选择PLC2
在PLC2里的PUT和GET指令块点击开始组态按钮,在伙伴里选择PLC1

10.编译下载程序
分别将两个PLC程序下载到对应PLC内。
本例中在两个PLC内创建了两个监控表以便观察通讯结果,在PLC1内%DB3.DBB0内值修改为111,可看到PLC2所对应的数据%DB3.DBB0也变为111,实现PLC1向PLC2写入数据
在PLC2内%DB3.DBB1内值修改为222,可看到PLC1所对应的数据%DB3.DBB1也变为222,实现PLC2向PLC1写入数据

当两个项目里设置时
步骤与一个项目里类似,但只需在两个项目里分别组态一个PLC,不需要组态第二个PLC,在第4步时,在两个项目的PLC里分别添加一个子网PN/IE_1
在第9步时,伙伴选择未指定,下方对应的伙伴地址内填入对应的地址


通讯结果

西门子S7双边通讯配置及步骤解析
本文详细介绍了两台S1200 PLC之间进行S7双边通讯的配置过程,包括硬件组态、设置IP地址、连接端口、数据块创建与优化、PUT和GET指令的应用,以及在不同项目中的配置方法。通过PUT和GET指令,实现了两台PLC之间的数据交换,并通过监控表验证了通讯效果。
1741

被折叠的 条评论
为什么被折叠?



