S7200SMART与300CPU通信

西门子(中国)代理商 

康经理 发布

零售  批发 外贸

提供西门子软件说明书等

相关技术:


S7-200 SMART与CP343-1 Lean模块以太网通信”一文,,就琢磨着找来硬件试一试,可惜翻遍公司仓库没有找到CP343-1通讯模块,就寻思着,能不能直接用集成的PN口完成通信,测试了下,目标达成。

测试如下:

软件:STEP7 V5.5 SP2,STEP 7-MicroWIN SMART v2.2

硬件:CPU 314C-2PN/DP,CPU CR60

一.SMART V2.2软件

软件版本及硬件固件都需要升级到2.2,程序里调用OUC库的方法,小沧海的帖子里写的很清楚,一样一样的。

1建立连接,其中Active作为被动连接,置为0;IP地址为连接伙伴的地址;两端的端口为2000.

 

2读取

 

3发送

 

4断开连接

 

二.S7-300程序

由于PN口的CPU不能通过netpro方式组态TCP协议,只能以OPEN IE的方式进行组态,参考链接:https://support.industry.siemens.com/cs/document/80490650/%E4%BD%BF%E7%94%A8%E8%A5%BF%E9%97%A8%E5%AD%90plc%E9%9B%86%E6%88%90%E7%9A%84pn%E5%8F%A3%E5%AE%9E%E7%8E%B0s5-%E5%85%BC%E5%AE%B9%E9%80%9A%E4%BF%A1%E4%BD%BF%E7%94%A8%E5%85%A5%E9%97%A8?dti=0&lc=zh-CN

1在STEP7中建立好站点,地址为smartV2.2中建立连接程序块中的192.168.2.10

 

2.创建程序块

首先需要在例程中将FC97、UDT65拷贝至项目中,而其余的FB63,64,65,66这四个功能块可以在Standard Library -> Communication Blocks里得到。

sample_o.zip

 

在程序中生成一个DB块,块号不限(本例为DB101),在块中建立变量DB_VAR,类型为UDT65。

 

创建好的程序块如下所示:

 

3.编写程序

首先调用FC97,

ID: 连接ID
DEV_ID
DEV_ID = B#16#1 用于本PLC型号(注意不是通信对方)为 IM151-8 PN/DP CPU
DEV_ID = B#16#2 用于本PLC型号(注意不是通信对方)为 CPU31x-2PN/DP或IM154-8 CPU
DEV_ID = B#16#3 用于本PLC型号(注意不是通信对方)为 CPU319-3PN/DP
DEV_ID = B#16#5用于本PLC型号(注意不是通信对方)为 CPU41x-3PN/DP
ACTIVE: 主动连接,置为1
LOC_PORT: CPU本地的TCP端口
REM_PORT: 通信伙伴的TCP远程端口
IP_ADDR1 ... IP_ADDR4: 通信伙伴的IP地址
V23:本机是否是CPU31x-2PN/DP FIRMWARE 版本为2.3或以下版本
CON_DB:用UDT65生成的变量

 建立连接,调用FB65,“ID”为FC97连接ID,“CONNECT”参数填写用UDT65生成的变量。

 调用发送和接受程序,其中数据大小与smartV2.2中设置一致

 

 

 断开连接,调用FB66

 

三.进行通讯测试,在STEP7创建一个变量表,在smartV2.2中创建一个状态图表,可以看出发送、接受数据正常。

 

至此,通过集成PN口的300CPU与SMART v2.2的TCP通信完成。

次发此类贴,排版不是很完美,希望多多指教。谢谢。