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通信完成。
次发此类贴,排版不是很完美,希望多多指教。谢谢。