n
描述
要参数化点对点连接,需要使用参数化软件 "CP PtP Param"。用于参数化的软件 "CP PtP Param" 的下载请参考条目号:27013524。
按照如下步骤参数化和组态:
序号 | 步骤 |
1. | 创建一个 S7项目,插入 S7-300 站。 |
2. | 打开硬件组态,添加机架,电源,CPU 和 CP 340。 |
3. | 单击 CP 340 并且在菜单中选择 "Edit> Object Properties..." 或者双击 CP 340。打开 CP 340 的属性对话框。 |
4. | 不必在 "General","Addresses"和 "Basic Parameters" 选项卡中作任何设置。点击 "Parameter..." 按钮来参数化 3964R 协议。 n
|
5. | 在协议选择栏中选择 3964 (R) 协议。 点击信封图样的矩形然后按“回车”键或者双击该图标,打开“协议”对话窗口。 n
|
6. | 在“协议”对话框中设置协议参数。除了优先级外,所有的参数必须与通讯伙伴的 参数相匹配。如果将优先级设置为高,那么通讯伙伴侧的优先级必须设置为低。 点击"OK" 按钮保存设置。 n
|
7. | 关闭参数化软件 "CP PtP Param" 。 |
8. | 在CP340 属性对话框中,点击 "OK" 按钮保存设置。 |
9. | 保存和编译硬件组态,并且下载组态到 S7-300 CPU 中。 |
表 01
n
编程
在本例中,做了一个简单的点对点连接的程序。对于使用 CP340的点对点连接,需要使用标准功能块 FB3 "P_SEND"和 FB2 "P_RECV"。该功能块位于程序库 "CP PtP" 的 "CP 340 > Blocks" 目录下。n
图. 04n
功能块 FB2 "P_RCV" 允许接收来自一个通讯伙伴的数据并把它们保存在一个数据块中。功能块 FB2 "P_RCV" 的输入输出参数如下:
名称 | 类型 | 数据类型 | 注释 | 取值范围,备注 |
EN_R | INPUT | BOOL | 使能数据接收 | 常量"1" |
R | INPUT | BOOL | 作业中断 | 中断当前作业,禁止接收。 |
LADDR | INPUT | INT | CP 340 的基础地址 | 从 STEP 7 组态中获得的基础地址。 |
DB_NO | INPUT | INT | 数据块编号 | 接收数据块:取值范围随 CPU 类型而定,不能为 0 |
DBB_NO | INPUT | INT | 数据字节编号 | 0 <= DBB_NO <= 8190,自该字节起接收数据 |
NDR | OUTPUT | BOOL | 作业完成,没有出错 | 参数 "STATUS" 值为 W#16#0000。 |
ERROR | OUTPUT | BOOL | 作业完成,出现错误 | 参数 "STATUS" 包含错误信息。 |
LEN | OUTPUT | INT | 接收到的报文的长度 | 1 <= LEN <= 1024, 单位是字节 |
STATUS | OUTPUT | WORD | 错误代码 | 当ERROR = 1 时,在参数 "STATUS" 中包含错误信息。 |
表 02
n
功能块 FB3 "P_SEND" 允许发送一个完整的数据块,或者数据块的部分区域到一个通讯伙伴中。
功能块FB3 "P_SEND" 的输入输出参数如下:
名称 | 类型 | 数据类型 | 注释 | 取值范围,备注 |
REQ | INPUT | BOOL | 触发作业 | 使用上升沿触发作业 |
R | INPUT | BOOL | 作业中断 | 当前作业被中断,禁止发送。 |
LADDR | INPUT | INT | CP 340 的基础地址 | 从 STEP7 中获得的基础地址 |
DB_NO | INPUT | INT | 数据块编号 | 发送数据块:取值范围随 CPU 类型而定,不能为 0 |
DBB_NO | INPUT | INT | 数据字节编号 | 0 <= DBB_NO <= 8190,自该字节起发送数据 |
LEN | INPUT | INT | 数据长度 | 1 <= LEN <= 1024,单位为字节 |
DONE | OUTPUT | BOOL | 作业完成,没有出错 | 参数 "STATUS" 的值为 W#16#0000。 |
ERROR | OUTPUT | BOOL | 作业完成,出现错误 | 参数 "STATUS" 包含错误信息。 |
STATUS | OUTPUT | WORD | 错误代码 | 当 ERROR = 1 时,在参数 "STATUS"中包含错误信息 |
表 03
功能块FB2 "P_RCV" 的状态参数 NDR,ERROR,LEN 和 STATUS 和功能块 FB3 "P_SEND" 的参数 DONE,ERROR 和 STATUS 只在一个循环周期内有效。
程序结构
功能块 FB3 "P_SEND" 和 FB2 "P_RECV" 在功能 FC1 中被调用。FB3 "P_SEND" 发送数据块 DB4中起始地址为字节 DBB 0 的12 个字节的数据到通讯伙伴中。FB2 "P_RECV" 从通讯伙伴中接收数据。接收的数据存储在 DB4 中,并以 DBB 12 为起始地址。数据的传输是周期性的触发。发送过程不断地进行,当一个发送作业完成后,立即触发新的作业。
图. 05
本例中,CP 340 设置了如下协议相关的参数:
- 波特率:9600 bits/s
- 数据位:8
- 停止位:1
- 偶校验
- 优先级高,因此必须将通讯伙伴的优先级设置为低
STL 源程序
pzp340_3964r.pdf ( 6 KB )
下载
下载中包含 "PtP_CP340.zip" 归档项目。
复制 "PtP_CP340.zip" 文件到单独的文件夹中,并双击文件。然后可以使用 STEP 7 来打开和处理解压的项目数据。
PtP_CP340.zip ( 297 KB )
创建环境
本 FAQ 中的图片和相关的下载是在 STEP 7 V5.5 SP3 中创建的。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc340522.html