S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx

上传人:b****6 文档编号:6303920 上传时间:2023-01-05 格式:DOCX 页数:19 大小:427.48KB
下载 相关 举报
S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx_第1页
第1页 / 共19页
S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx_第2页
第2页 / 共19页
S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx_第3页
第3页 / 共19页
S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx_第4页
第4页 / 共19页
S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx

《S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx》由会员分享,可在线阅读,更多相关《S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx(19页珍藏版)》请在冰豆网上搜索。

S71200与S7300 CP ISO on TCP通信300用TIA PORTAL.docx

S71200与S7300CPISOonTCP通信300用TIAPORTAL

S7-1200CPU与S7-300CPISOonTCP通信(S7-1200作为客户端,S7-300使用TIAPORTAL)

S7-1200CPU与S7-300之间通过ISOonTCP通信,需要在双方都建立连接,连接对象选择“Unspecified”。

所完成的通信任务为:

①S7-1200将DB3里的100个字节发送到S7-300的DB4中

②S7-300将DB3里的10个字节发送到S7-1200的DB4中

硬件和软件需求及所完成的通信任务

硬件:

①S7-1200CPU/S7-300CPU+CP343-1

②PC(带以太网卡)

③TP电缆

软件:

STEP7V11orHigher

S7-1200组态

1.打开STEP7V11软件并新建项目

在STEP7V11的“PortalView”中选择“Createnewproject”创建一个新项目

2.添加硬件并命名PLC

然后进入“Projectview”,在“Projecttree”下双击“Addnewdevice”,在对话框中选择所使用的S7-1200CPU添加到机架上,命名为PLC_1,如图1所示。

图1.添加新设备

为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:

在“Projecttree”>“PLC_1”>“Deviceconfiguration”中,选中CPU,然后在下面的属性窗口中,“Properties”>“Systemandclockmemory”下,将系统位定义在MB1,时钟位定义在MB0,如图2所示。

时钟位我们主要使用M0.3,它是以2Hz的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。

图2.系统位与时钟位

3.为PROFINET通信口分配以太网地址

在“DeviceView”中点击CPU上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“Ethernetaddresses”下分配IP地址为192.168.0.1,子网掩码为255.255.255.0,如图3.所示。

图3.分配IP地址

S7-1200编程

1.在PLC_1的OB1中调用“TCON”通信指令

①在第一个CPU中调用发送通信指令,进入“Projecttree”>“PLC_1”>“Programblocks”>“OB1”主程序中,从右侧窗口“Instructions”>“Communications”>“OPENUserCommunications”下调用“TCON”指令,创建连接,如图4所示。

图4.调用“TCON”通信指令

②创建DB2分配连接参数,见图5所示

图5.创建连接数据块DB2(Con_DB)

③定义PLC_1的“TCON”连接参数

PLC_1的TCON指令的连接参数需要在指令下方的属性窗口“Properties”>“Configuration”>“Connectionparameter”中设置,如图6所示。

图6.定义TCON连接参数

连接参数说明:

Endpoint

可以通过点击选择按钮选择伙伴CPU:

PLC3

Connectiontype

选择通信协议为ISOonTCP(也可以选择TCP或UDP协议)

ConnectionID 

连接的地址ID号,这个ID号在后面的编程里会用到

Connectiondata

创建连接时,生成的Con_DB块。

见图2所示

Activeconnectionsetup

选择本地PLC_1作为主动连接

Addressdetails 

定义通信伙伴方的端口号为:

2000;如果选用的是ISOonTCP协议,则需要设定的TSAP地址(ASCII形式),本地PLC_1可以设置成“PLC1”,伙伴方Unspecified可以设置成“PLC3”。

    

2.定义PLC_1的“TSEND”发送通信块接口参数

① 调用“TSEND”在OB1内调用发送100个字节数据到PLC2中

进入“Projecttree”>“PLC_1”>“Programblocks”>“OB1”主程序中,从右侧窗口“Instructions”>“Communications”>“OPENUserCommunications”下调用“TSEND”指令,如图7所示。

图7.调用TSEND

② 创建并定义PLC_1的发送数据区DB块。

通过“Projecttree”>“PLC_1”>“Programblocks”>“Addnewblock”,选择“Datablock”创建DB块,选择绝对寻址,点击“OK”键,定义发送数据区为100个字节的数组,如图8~9所示。

图8.创建发送数据区DB块

注意:

对于双边编程通信的CPU,如果通信数据区使用DB块,既可以将DB块定义成符号寻址,也可以定义成绝对寻址。

使用指针寻址方式,必须创建绝对寻址的DB块。

图9.定义发送数据区为字节类型的数组图PLC1_TSENDC_DATA

③ 定义PLC_1的“TSEND”发送通信块接口参数,如图10所示。

图10.定义TSEND接口参数

参数说明:

输入接口参数:

REQ  

=M0.3

//使用2Hz的时钟脉冲,上升沿激活发送任务

ID

:

=1

//创建连接ID

LEN

=100

//发送数据长度

DATA 

=P#DB3.DBX0.0BYTE100

//发送数据区的数据,使用指针寻址时,DB块要选用绝对寻址

输出接口参数:

DONE

=M300.0

//任务执行完成并且没有错误,该位置1

BUSY 

=M300.1

//该位为1,代表任务未完成,不能激活新任务

ERROR   

=M300.2

//通信过程中有错误发生,该位置1

STATUS

=MW302

//有错误发生时,会显示错位信息号

3.在PLC_1的OB1中调用接收指令T_RCV并配置基本参数

为了实现PLC_1接收来自PLC_2的数据,则在PLC_1中调用接收指令T_RCV并配置基本参数。

① 调用“TRCV”在OB1内调用

进入“Projecttree”>“PLC_1”>“Programblocks”>“OB1”主程序中,从右侧窗口“Instructions”>“Communications”>“OPENUserCommunications”下调用“TRCV”指令,配置接口参数,如图11所示。

图11.调用TRCV指令并配置接口参数

参数说明:

输入接口参数:

EN_R

=TRUE

//准备好接收数据

ID

=1

//连接号,使用的是TCON的连接参数中ID号

LEN

=8

//接收数据长度为10个字节

DATA

=P#DB5.DBX0.0BYTE10

//接收数据区的地址

输出接口参数:

NDR

=M310.0

//该位为1,接收任务成功完成

BUSY

=M310.1

//该位为1,代表任务未完成,不能激活新任务

ERROR

=M310.2

//通信过程中有错误发生,该位置1

STATUS

=MW312

//有错误发生时,会显示错误信息号

RCVD_LEN  

=MW314

//实际接收数据的字节数

② 创建并定义PLC_1的接收数据区DB块。

通过“Projecttree”>“PLC_1”>“Programblocks”>“Addnewblock”,选择“Datablock”创建DB块,选择绝对寻址,点击“OK”键,定义接收数据区为100个字节的数组,如图12~13所示。

图12.创建接收数据区DB块

注意:

对于双边编程通信的CPU,如果通信数据区使用DB块,既可以将DB块定义成符号寻址,也可以定义成绝对寻址。

使用指针寻址方式,必须创建绝对寻址的DB块。

图13定义接收数据区为字节类型的数组

S7-300组态

1.使用STEP7V11软件添加新设备并命名PLC3

然后进入“Projectview”,在“Projecttree”下双击“Addnewdevice”,在对话框中选择所使用的S7-300CPU添加到机架上,命名为PLC3,如图14所示。

图14.添加新设备

2.使用STEP7V11软件配制硬件组态

进入“PLC3”,在“Projecttree”下双击“Deviceconfiguration”,在对话框中选择所使用的S7-300CP通讯卡添加到机架上,如图15所示。

图15.组态CP卡

为了编程方便,使用CPU属性中定义的时钟位,定义方法如下:

在“Projecttree”>“PLC3”>“Deviceconfiguration”中,选中CPU,然后在下面的属性窗口中,“Properties”>“clockmemory”下时钟位定义在MB0,如图16所示。

时钟位我们主要使用M0.3,它是以2Hz的速率在0和1之间切换的一个位,可以使用它去自动激活发送任务。

图16.系统位与时钟位

3.为PROFINET通信口分配以太网地址

在“DeviceView”中点击CP设备上代表PROFINET通信口的绿色小方块,在下方会出现PROFINET接口的属性,在“Ethernetaddresses”下分配IP地址为192.168.0.3,子网掩码为255.255.255.0,如图17所示。

图17.分配IP地址

4.创建CPU的逻辑网络连接

在项目树“Projecttree”>“Devices&Networks”>“Networksview”视图下,创建两个设备的连接。

用鼠标点中PLC_3上CP343-1的PROFINET通信口的绿色小方框,然后拖拽出一条线,到另外一个PLC_1上的PROFINET通信口上,松开鼠标,连接就建立起来了,如图18所示。

图18.建立两个CPU的逻辑连接

5.网络组态

打开“NetworkView”配置网络,选中CPU,然后选中“Connnection”在连接列表里建立新的连接并选择连接对象和通信协议,如图19.所示。

图19.创建新的连接并选择ISO-on-TCP协议

点击确定,配置详细连接参数如IP地址及TSAP号,如图20.所示。

图20.详细通讯参数

配置完连接并编译存盘后。

S7-300编程

1.软件编程

在OB1中,从“Instruction”>“Communicationprocessor”>“SimaticNETCP”下,调用AG_SEND、AG_RECV通信指令。

创建发送和接收数据块DB3和DB4,定义成100个字节的数组。

如图21~22

图21.调用AG_SEND

图22.调用AG_RECV

CALL“AG_SEND”

//调用AG_SEND

ACT 

=%M0.2

//为1时,激活发送任务

ID

=1

//连接号,要与连接配置中一致

LADDR

=W#16#100

//CP的地址,要与配置中一致见图3

SEND

=P#DB3.DBX0.0BYTE10

//发送数据区

LEN

=10

//发送数据的长度

DONE

=%M10.0

//为1时,发送完成

ERROR

=%M10.2

//为1时,有故障发生

STATUS

=%MW12

//状态代码

 

CALL“AG_RECV”

//调用AG_RECV

ID

=1

//连接号,要与连接配置列表中一致,

LADDR

=W#16#100

//CP的地址,要与配置中一致,见图3

RECV 

=P#DB4.DBX0.0BYTE100

//接收数据区

NDR

=%M20.0

//为1时,接收到新数据

ERROR

=%M20.1

//为1时,有故障发生

STATUS

=%MW22

//状态代码

LEN

=%MW24

//接收到的实际数据长度

注意:

AG_SEND/AG_RECV管用LADDER定义为CP卡硬件地址,参考图15

监控通信结果

下载S7-1200和S7-300中的所有组态及程序,监控通信结果,如图23所示。

在S7-1200CPU中向DB3中写入数据:

“1”、“2”、“3”....,则在S7-300中的DB4块收到数据也为“1”、“2”、“3”...。

在S7-300CPU中向DB3中写入数据:

“10”、“20”、“30”....,则在S7-1200中的DB4块收到数据也为“10”、“20”、“30”...。

图23.监控表

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1