编辑: ZCYTheFirst | 2019-07-04 |
9 针D型连接器,PLC 还提供了实 现RS-485 与PC 机上 RS-232C 相连接的 PC/PPI 电缆, 利用它可以方便地实现 S7-200 系列 PLC 与PC 之间的硬件连接. S7-200 的编程软件为 STEP7-Micro/WIN32,该软件有 STL、FBD 和Ladder 三种 编程模式,有SIMATIC 指令和 IEC131-3 指令两种指令.本通讯协议模块设计是使用 SIMATIC 指令的 ladder 编程. 图23串口调试助手总体方案设计与实现 在了解了下位机基本原理和所要实现的功能后, 大致可以构思出上位机串口调试 界面的外观和操作按钮.下面,我们就来具体的应用 delphi 编程实现串口调试助手的 设计. 3.1 串口调试助手的概要设计 3.1 .1 通信控件选择 Microsoft Communication Control(简称 MSCOMM 控件)是微软公司为 Visual Basic 提供的一个串口控件,在Visval C++、Visval Basic、Delphi 等开发环境中均可 使用.它通过串行端口传送和接收数据,为应用程序提供基本的串口通信功能,使得 程序员不必花费大量的时间去了解较为复杂的 API 函数,因此被广泛使用.所以本软 件可以利用 Delphi7.0 根据 MSCOMM 控件设计. 利用 MSCOMM 控件可以简化很多较繁琐的程序.它提供了两种处理通信问题的 方法:一是事件驱动方法,一是查询法.用于串口调试助手的功能比较简单,不需要 太复杂的处理方式,所以使用查询法就足够了.查询方式实质上还是事件驱动,但在 综合课程设计报告 第4页共15 页 有些情况下,这种方式显得更为便捷.在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误. 通信 MSCOMM 控件提供了
27 个关于通信控制方面的属性和
5 个标准属性.其 中主要的和本次使用的属性如下: CommPort 设置并返回通信端口号;
Settings 以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位;
PortOpen 设置并返回通信端口的状态,也可以打开和关闭端口;
Input 从接收缓冲区返回和删除字符;
Output 向传送缓冲区写一个字符. 3.1.2 系统层次结构图 串口调试助手的工作流程图如图
3 所示 图3串口调试程序工作流程图 综合课程设计报告 第5页共15 页3.2 串口调试助手的详细设计 3.2.1 窗体设计 窗体要实现人机会话,所以界面要以操作简便、美观、功能齐全为准则.界面要 求有串口调试程序的基本功能,并且有对 PLC 进行的读写功能键.为了能动态显示 PLC 与上位机的实时通信,将PLC 控制交通灯的时序变化表现出来,界面还增加了 交通灯的实时显示图.窗体界面设计如图 4: 图4窗体界面 3.2.2 串口初始化 在使用串口之前必须先初始化串口,这样程序才能正常的使用串口发送接收数 据.初始化串口事件代码如下: //打开串口 MSComm.CommPort :=cmbbxComNum.ItemIndex +1;
综合课程设计报告 第6页共15 页//默认值为 '
9600,N,8,1'
ComSetting:=cmbbxBaud.Text;
ComSetting:=ComSetting+'
,'
+cmbbxCheckBit.Text;
ComSetting:=ComSetting+'
,'
+cmbbxDataNum.Text;
ComSetting:=ComSetting+'
,'
+cmbbxStopBit.Text;
MSComm.Settings:=ComSetting;
MSComm.PortOpen:=True;
在使用完 Mscomm 通信对象后,需要将通信端口关闭,代码如下: MSComm.PortOpen:=False;
3.2.3 数据的发送与接收 1.通信模块设计 字节序号 内容 字段 备注
0 0x81 Frame ID 帧头,必须为 0x81
1 ID ID PLC 的从站地址
2 Length_H Length 协议帧长度为 N+1