- {{item.name}}
CP341 的ASCII 通讯(STEP7)
- 0
- 37
CP341 的ASCII 通讯(STEP7)
硬件及软件列表
组态和配置
编写通信程序
设备连接
通信测试
手册下载
硬件及软件列表
设备名称 | 设备型号 |
PS 307 | 6ES7 307-1EA00-0AA0 |
CPU 315-2DP | 6ES7 315-2AG10-0AB0 |
MMC | 6ES7 953-8LG11-0AA0 |
CP341 | 6ES7 341-1AH01-0AE0 |
注意:STEP7 V5.X软件上,必须安装如下软件包才可进行后续的组态配置。
组态和配置
1、打开上面创建的项目ptp,用鼠标右键点击项目名称,选择Insert New Object->SIMATIC 300 Station,更改站的名称为CP341 ASCII。
图1
2、双击Hardware进入硬件组态界面,插入RACK、CPU315-2DP、CP341。
图2
3、双击CP341模板,点击Parameter...,配置CP341参数。
图3
4、在Protocol选项中选择ASCII协议。
图4
5、双击Protocol下的信封图标,配置ASCII通信参数,参数的设定要和通讯伙伴的相同。通信波特率:9600bps,数据位:8位,停止位:1位,奇偶校验:无,字符延迟时间:4ms,其他参数都采用默认设置。
图5
6、如果选用的是RS422/485接口的CP341时,还需要设置接口属性,如下图所示。接收端初始状态可参考上文说明。
图6
7、配置完成后点击“保存编译”按钮,保存编译硬件组态,并确认没有错误后下载到CPU中,至此完成了全部的硬件组态过程。
图7
编写通信程序
1、双击OB1,打开OB1编程画面,从库Libraries->CP PtP->CP341中调用发送功能块FB8 P_SND_RK,为其分配背景数据块DB8,将参数LADDR设为硬件组态中CP340的起始逻辑地址256。
图8
2、创建发送数据块DB1。
图9
3、调用发送功能块,设置参数。
图10
CP341的发送功能块FB8 P_SND_RK的参数设置见下表。
LADDR | 硬件组态中的起始逻辑地址,本例中为256 |
DB_NO | 发送数据块号,本例中为1(DB1) |
DBB_NO | 发送数据的起始地址,本例中为0(DB1.DBB0) |
LEN | 发送数据的长度,本例中为10 |
REQ | 发送数据触发位,上升沿触发,本例中为M0.0 |
R | 取消通讯, |
DONE | 发送完成位,发送完成并没有错误为TRUE, |
ERROR | 错误位,为TRUE说明有错误 |
STATUS | 状态字,标识错误代码,查看CP341手册获得相应的说明 |
其它参数 | 与ASCII通讯协议无关,本例中不用 |
4、从库Libraries->CP PtP->CP341调中用接收程序块FB7 P_RCV_RK,为其分配背景数据块DB7,将LADDR设为硬件组态中的起始逻辑地址256。
5、创建接收数据块DB10
图11
6、调用接收功能块,设置参数
图12
CP341的接收功能块FB7 P_RCV_RK的参数设置见下表。
LADDR | 硬件组态中的起始逻辑地址,本例中为256 |
DB_NO | 发送数据块号,本例中为10(DB10) |
DBB_NO | 发送数据的起始地址,本例中为0(DB10.DBB0) |
LEN | 接收数据的长度,本例中为MW2,只有在接收到数据的当前周期,此值不为0,可以查看MW4的值来确认接收到数据的长度 |
EN_R | 使能接收位,本例中为M0.1 |
R | 取消通讯,本例中不用 |
NDR | 接收完成位,接收完成并没有错误时为TRUE, |
ERROR | 错误位,为TRUE时说明有错误 |
STATUS | 状态字,标识错误代码,查看CP341手册获得相应的说明 |
其它参数 | 与ASCII通讯协议无关,本例中不用 |
设备连接
本文档使用的CP341的接口是RS232C,因此需要通过标准的RS232C电缆来连接CP341和计算机的串口,具体的电缆连接方法请查看CP341手册B章节连接电缆部分(见:手册、文档和软件链接部分)。
如果使用的CP341是RS485接口的模块,需要使用RS232C/RS485转换器。
通信测试
前面使用Step7 V5.5软件已经将通信CP341的通信工作做完,下面进行通信测试。这里使用串口通讯测试软件SSCOM32软件来测试CP341和计算机的通信,步骤如下。
1、CP341从SSCOM32接收数据
首先将硬件配置和程序下载到CPU315-2DP中,将M0.1设为TRUE,使能接收。在计算机上打开软件SSCOM32,在字符输入窗口输入16进制数据0102030405060708090A,然后点击发送按钮发送数据。
图13
在STEP7中打开接收数据块DB10监控接收到的数据,可以看到SSCOM32发送的数据被正确的接收。
图14
2、CP341发送数据到SSCOM32
将M0.0从FALSE置成TRUE,CP341将发送数据,将DB1中前10个字节设为十六进制的31 32 33 34 35 36 37 38 39 3A ,可以从SSCOM32接收窗口中看到收到的数据(十六进制)。
图15
手册下载
更详细的资料请参看如下手册:
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}