需要在 NetPro 中配置通信连接。UDT65的创建需要使用 Open IE向导来完成。
创建开放式 TCP/IP 通信所需的连接数据的向导 (Open Communication Wizard)请从下述链接中下
二、S7 Open IE通讯程序描述
1.使用Open IE 向导生成数据块
(1) 打开Open Communication Wizard程序,如图1所示:
图1.
(2)点击“Next”,如图2所示:
图2.
(3)在图3画面中选择S7-300项目及数据块的存贮路径:
图3.
(4)在图4画面中点击“Next”:
图4.
(5)在图5画面中选择“TCP native”后点击“Next”:
图5.
(6)在图6画面中选择如下后点击“Next”:
图6.
(7)在图7画面中选择此PLC的连接方式(Active为Client,Passive为Server),通讯伙伴的IP地址及使用PLC的版本号:
图7.
(8)在图8画面中输入本PLC及通讯伙伴的端口号:
图8.
(9)在图9画面中输入生成的数据块名称,本程序中为UDT65:
图9.
(10)在图10画面中点击“Next”:
图10.
(11)在图11画面中点击“Finish”,结束配置:
图11.
2.PLC编程
(1)创建数据块DB1,如图12所示:
图12.
(2)拷贝FB63,FB54,FB65,FB66至项目中,并分别为其创建背景数据块DB63,DB64,DB65,DB66,如图13所示:
图13.
(3)在OB1中编程通讯程序,如图14所示:
图14.
3.PLC通讯功能块介绍
(1)调用FB65 建立通讯连接
图15.
输入参数 "REQ" :其上升沿触发来建立连接。
输入参数“ID”:为连接ID。
输入参数“CONNECT”:填写用UDT65生成的数据块DB1,连接建立后会一直保持,直到调用FB66才会中断。
输出参数:
BUSY | DONE | ERROR | 描述 |
TRUE | 正在处理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因错误而中止,原因参看""Status" |
FALSE | FALSE | FALSE | FB未被分配一个新任务 |
输出参数“STATUS”:错误信息。
(2)调用FB64 接收程序
图16.
输入参数 "EN_R" :始终为“TRUE”。
输入参数“ID”:为连接ID。
输出参数“RCVD_LEN”:为接收数据长度。
输出参数:
BUSY | DONE | ERROR | 描述 |
TRUE | 正在处理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因错误而中止,原因参看""Status" |
FALSE | FALSE | FALSE | FB 未被分配一个新任务 |
输出参数“STATUS”:错误信息。
(3)调用FB63 发送程序
6ES74050KA020AA0
图17.
输入参数 "REQ" :为发送请求,上升沿有效。
输入参数“ID”:为连接ID。
输入参数“LEN”:为发送数据长度。
输出参数:
BUSY | DONE | ERROR | 描述 |
TRUE | 正在处理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因错误而中止,原因参看""Status" |
FALSE | FALSE | FALSE | FB 未被分配一个新任务 |
输出参数“STATUS”:错误信息。
(4)调用FB66 中断连接程序
图18.
输入参数 "REQ" :为中断连接请求,上升沿有效。
输入参数“ID”:为连接ID。
输出参数:
BUSY | DONE | ERROR | 描述 |
TRUE | 正在处理中 | ||
FALSE | TRUE | FALSE | 工作成功完成 |
FALSE | FALSE | TRUE | 工作因错误而中止,原因参看""Status" |
FALSE | FALSE | FALSE | FB 未被分配一个新任务 |
输出参数“STATUS”:错误信息。
4.Simotion侧的编程
(1)在Simotion的命令库中,包含TCP IP通讯函数,如图19所示:
图. 19
(2)打开服务器程序
图. 20
port : Simotion自己的Port,如2001
backlog : 允许的并行连接数
nextcommand : 同步或异步调用
Out : 含functionresult和connectionID
(3)接收数据
图. 21
connectionid : 连接ID,在OpenServer的返回值中。
nextcommand : 同步或异步调用
receivevariable : 接收到的数据
Out : 接收返回值,含function result和datalength
(3)发送数据
图. 22
Connectionid : 连接ID,在OpenServer的返回值中。
nextcommand :同步或异步调用
datalength : 发送数据的长度
data : 发送的数据
注意:
Simotion侧与PLC侧的发送及接收区数据长度应保持相同。
三、程序示例
PLC程序请参见附带文件:Plc-317o.zip
Simotion程序请参见附带文件:OpenIED435tcpi.zip
1概述
S7协议是SIEMENS S7系列产品之间通讯使用的标准协议 ,其优点是通信双方无论是在同一MPI总线上、同一PROFIBUS总线上或同一工业以太网中,都可通过S7协议建立通信连接,使用相同的编程方式进行数 据交换而与使用何种总线或网络无关。S7通信分为按组态方式可分为单边通信和双边通信,单边通信通常应用于以下情况:
• 通信伙伴无法组态S7连接
• 通信伙伴无法停机
• 不希望在通讯伙伴侧增加通信组态或程序
本文介绍S7-400基于PROFIBUS总线的S7单边通信的组态步骤。
实验环境,见表1。
序号 | 名称 | 订货号 |
1 | CR3导轨 | 6ES7 401-1DA01-0AA0 |
2 | PS407 | 6ES7 407-0KA02-0AA0 |
3 | CPU414-3 | 6ES7 414-3XM05-0AB0 |
4 | CPU315-2 DP | 6ES7 315-2AH14-0AB0 |
5 | PROFIBUS 标准电缆 | 6XV1 830-0EH10 |
6 | RS485总线连接器 | 6ES7972-0BB42-0XA0 |
7 | STEP7 V5.5 SP2 | |
8 | Windows XP SP3 |
表1
2 组态
2.1配置S7-400站点
S7-400站点配置参见表2。
序号 | 说明 | 图示 |
1. | 创建新项目并在项目中插入S7-400站点 | |
2. | 打开硬件组态,组态S7-400站点 | |
3. | 在硬件目录中查找使用的导轨型号,并双击找到的导轨型号 | |
4. | 在硬件目录选择使用的电源,并拖拽到导轨的1号槽 | |
5. | 在硬件目录选择使用的CPU,并拖拽到导轨的3号槽,系统将自动弹出DP接口属性对话框 | |
6. | 在对话框Address下拉框中设置DP站地址为2,单击NEW按钮添加新子网 | |
7. | 添加子网PROFBUS(1),单击选项页“Network Setting” | |
8. | 选择PRFIBUS总线传输速率为1.5Mbps,Profile中选择Standard,单击所有属性对话框OK按钮 | |
9. | 编译保存S7-400站点硬件组态,下载到S7-400 CPU中 | |
10. | 从菜单栏Option下Configure Network命令进入网络组态界面 | |
11. | 如右图所示,右键单击CPU414-3DP,在弹出对话框中选择Insert New Connection命令,插入一个新连接 | |
12. |
a) 选择Unspecified连接伙伴, b) 连接类型菜单中选择S7 connection,单击OK按钮,弹出S7 connection属性对话框 |
|
13. |
S7 connection属性对话框设置: a) 选中Established an active connection b) Interface选择CPU414-3 DP,DP(R0/S3) c) 设置伙伴PROFIBUS地址3 d) 设置本地ID为1 e) 点击Address Details按钮 |
|
14. |
Address Detail对话框设置 a) 设置安装CPU的机架号0 b) 设置安装CPU的插槽号,对于S7-300,CPU只能安装在2号槽 c) 设置连接资源号,对于S7单边连接,连接资源号总是3 设置完成后可看到伙伴TSAP为03.02,点击OK按钮关闭属性对话框 |
|
15. | 点击编译保存图标,完成S7单边连接组态,并下载至S7-400 CPU中 |
表 2
2.2配置S7-300站点
S7-300站点配置参见表3。
序号 | 说明 | 图示 |
1. | 创建新项目并在项目中插入S7-300站点 | |
2. |
打开硬件组态,组态 S7-300 站点 |
|
3. | 在硬件目录SIMATIC-300,RACK-300下双击Rail,插入S7-300导轨 | |
4. | 在硬件目录选择使用的CPU,并拖拽到导轨的2号槽,系统将自动弹出DP接口属性对话框 | |
5. | 参考表2序号6~8步骤,将CPU的 PROFIBUS DP地址设置为3,传输速率设置为1.5Mbps,Profile中选为Standard。编译保存完成S7-300站点组态,并下载到S7-300 CPU中 |
表 3
3 通信连接
如图3-1示意图,使用RS485总线连接器通过PROFIBUS标准电缆分别连接CPU414-3 的X2接口和CPU315-2的X2 接口。
图3-1 CPU之间DP通信连接示意图
4 通信编程
由于配置的是S7单边通信,只需在配置S7网络连接的一方进行编程,所以本例中只在CPU414-3中编程调用系统功能块SFB14/SFB15,如图4-1和图4-2。
图4-1 调用功能块SFB14
图4-2 调用功能块SFB15
更多关于SFB14/15参数含义,参考西门子下载中心文档编号1023《 SIMATIC 用于S7-300/400系统和标准功能的系统软件参考手册》的S7 通信章节。
西门子LOGO定货号 注释
6ED1052-1MD00-0BA5 西门子LOGO!12/24 RC* 8DI(2AI)入/4出继电器,电源电压24VDC,有模拟量输入
6ED1052-1CC00-0BA6 西门子LOGO!24 8DI(2AI)入/4出晶体管,电源电压24VDC
6ED1052-1HB00-0BA6 西门子LOGO!24RC 8入4出继电器,电源电压24VDC
6ED1052-1FB00-0BA6 西门子LOGO!230RC 8入4出继电器,电源电压220VAC
6ED1052-2MD00-0BA6 西门子LOGO!12/24 RCo 8DI(2AI)入/4出继电器,电源电压24VDC,有模拟量输入
6ED1052-2CC00-0BA6 西门子LOGO!24o 8DI(2AI)入/4出晶体管,电源电压24VDC
6ED1052-2HB00-0BA6 西门子LOGO!24RCo(AC) 8入4出继电器,电源电压24VDC
6ED1052-2FB00-0BA6 西门子LOGO!230RCo 8入4出继电器,电源电压220VAC
6ED1055-1MB00-0BA1 西门子LOGO!DM8 12/24RC
6ED1055-1CB00-0BA0 西门子LOGO!DM8 24
6ED1055-1HB00-0BA0 西门子LOGO!DM8 24R
6ED1055-1FB00-0BA1 西门子LOGO!DM8 230R
6ED1055-1CB10-0BA0 西门子LOGO!DM16 24
6ED1055-1NB10-0BA0 西门子LOGO!DM16 24R
6ED1055-1FB10-0BA0 西门子LOGO!DM16 230R
6ED1055-1MA00-0BA0 西门子LOGO!AM2
6ED1055-1MD00-0BA0 西门子LOGO!AM2 PT100
6ED1055-1MM00-0BA0 西门子LOGO!AM2 AQ
6ED1056-5CA00-0BA0 西门子程序模块(棕色卡)
6ED1057-1AA00-0BA0 西门子LOGO PC电缆
西门子SITOP电源定货号 注释
6EP1 331-1SH02 西门子单相220VAC输入,输出24VDC 1.3A
6EP1 331-2BA00 西门子单相220VAC输入,输出24VDC 2A
6EP1 332-2BA00 西门子单相220VAC输入,输出24VDC 3.8A
6EP1 332-2BA10 西门子单相120/220VAC输入,输出24VDC 2.5A
6EP1 333-2AA00 西门子单相220VAC输入,输出24VDC 5A 工业可并联
6EP1 333-2AA01 西门子单相120/230VAC输入,输出24VDC 5A 工业可并联
6EP1 333-2BA00 西门子单相120VAC/220VAC输入,输出24VDC 5A
6EP1 333-2BA01 西门子单相120VAC/220VAC输入,输出24VDC 5A
6EP1 333-3BA00 西门子单相120VAC/220to500VAC输入,输出24VDC 5A
6EP1 334-2AA00 西门子单相220VAC输入,输出24VDC 10A 工业可并联
6EP1 334-2AA01 西门子单相120/220VAC输入,输出24VDC 10A 工业可并联
6EP1 334-2BA00 西门子单相220VAC输入,输出24VDC 10A
6EP1 334-2BA01 西门子单相220VAC输入,输出24VDC 10A
6EP1 334-3BA00 西门子单相120/220VACto500VAC输入,输出24VDC 10A
6EP1 336-2BA00 西门子单相220VAC输入,输出24VDC 20A
6EP1 336-3BA00 西门子单相220VAC输入,输出24VDC 20A 工业可并联
6EP1 337-3BA00 西门子单相120/230,40A
6EP1 434-2BA00 西门子三相380VAC输入,输出24VDC 10A 工业可并联
6EP1 436-2BA00 西门子三相380VAC输入,输出24VDC 20A 工业可并联
6EP1 332-2BA20 西门子三相380VAC输入,输出24VDC 20A 新型模块式电源
6EP1 332-2BA30 西门子三相380VAC输入,输出24VDC 30A 工业可并联
6EP1 333-2AA02 西门子三相380VAC输入,输出24VDC 40A 工业可并联
6EP1 333-2AA03 西门子三相380VAC输入,输出24VDC 40A 工业可并联
6EP1 252-0AA00 西门子单相230VAC输入,输出41.5V/1.3A