分类筛选
分类筛选:

关于CbuilderPLC论文范文资料 与基于CbuilderPLC通信程序和设计有关论文参考文献

版权:原创标记原创 主题:CbuilderPLC范文 科目:毕业论文 2024-02-17

《基于CbuilderPLC通信程序和设计》:本文是一篇关于CbuilderPLC论文范文,可作为相关选题参考,和写作参考文献。

【摘 要】 为了实现PC和西门子S7-200 PLC的实时远程监控,应用C++ builder 6.0开发了一个上位机程序,通过发送接收数据报文实现了PLC输入输出端口的状态控制.经过测试,软件达到了调试效果,为工业现场PLC的灵活应用提供了一个新方法.

【关键词】 C++ Builder PLC 报文 串口 MSComm

【DOI编码】 10.3969/j.issn.1674-4977.2015.04.013

可编程逻辑控制器(PLC)主要用于工业现场的实时控制,系统相关的人机界面主要是开关、按钮、指示灯等部件.由于其稳定可靠且具有良好的适应性和易于拓展能力,在工程中得到了越来越多的应用.虽然PLC易于控制、设计灵活、能模拟现场调试、编程简单、具有良好的抗干扰性,但是PLC也有不易显示各种实时图表、曲线、趋势图和汉子,用户界面不够良好,不便于监控等缺点.现在工业现场的PLC都配备了串行接口,可以通过232、485、422和其它设备或PC相连接.而基于PC的上位机软件一般都具有良好的人机界面,修改灵活,便于实现系统的监控和管理,进行程序的编制、参数设定、参数修改、数据采集等,既能保证系统性能,又能使系统操作简单,便于在工业生产过程中有效地实时监管控制.将PC的上位机和PLC的下位机系统集成是目前大多数自动控制系统的实现方式[1].本文将设计一种可以和PLC实现稳定、可靠数据通信的上位机软件程序.

1 初始化

上位机开发以西门子S7-200(CPU224)为例,通过DC24V电源给PLC供电.集成在S7-200中的点对点PPI可以实现485接口的高速数据通信,应用银杏USB-485转换器将PC和PLC连接起来组成PC/PPI网络,实现点对点实时通信.设计软件功能包括IO输入输出两部分:开关量输入,利用继电器改变某个输入端口的状态,程序读取这个端口的输入状态(开启或关闭),并在程序中实时显示;开关量输出,上位机程序界面中指定端口的地址,单击置位复位按钮,即指定地址的端口状态为开启或关闭,使线路中指示灯点亮或熄灭.

下位机西门子S7-200PLC需要在PLC中运行一段程序,和上位机之间的通信方式采用主从方式,PC为主机,PLC为从机.待PC向PLC发出报文,后者收到报文后,进行异或校验处理,若校验正确则返回收到的报文内容.

1 PLC调试软件界面图

在C++ builder 6.0中新建plc.bpr工程,设置Form1的标题为“PLC(S7-200)调试程序”.创建3个GroupBox控件分别用于显示输入状态、输出控制和报文监控[2].此外用Shape控件来显示输入状态和输出状态指示灯(绿色和红色),用CheckBox控制输出点复选框.选用MSComm组件进行串口通信开发.

if(MSComm1->PortOpen!等于true)

{

MSComm1->CommPort等于1; //设置通信端口

MSComm1->InputMode等于1; //数据为二进制

MSComm1->Settings 等于 "9600,n,8,1";

MSComm1->InBufferSize等于512;

MSComm1->OutBufferSize等于1024;

MSComm1->RThreshold等于1;

MSComm1->PortOpen等于true; //打开端口1

Shape1->Brush->Color等于clLime;

}else

{

ShowMessage("串口已经打开");

return;

}

程序首先进行串口初始化,设置通信端口号、波特率、数据位、停止位、输入输出缓存区大小、接收触发字符数等基本信息,同时将输出状态的Shape控件初始化为绿色.当PC和PLC调试完毕时,则需要关闭上位机程序[3].

MSComm1->PortOpen等于false;

Close();

2 输入显示

首先声明一个存储接收数据的缓冲区BYTE rcv[8],针对下位机PLC的数据报文内容为:rcv(0)起始00,rcv(1)字节数,rcv(2)Q0状态,rcv(3)Q1状态<>255,rcv(4)I0状态,rcv(5)I1状态,rcv(6)校验,rcv(7)结束255.在MSComm的接收触发事件中,通过RxBuff获取MSComm1->Input所获得的报文数据,然后依次的存入rcv[8]数组中,第一个for循环用于数组赋值,第二个for循环用于显示接收到的报文信息,便于程序调试.

int ByteNum;//收到的字节数

OleVariant RxBuff;

RxBuff等于MSComm1->Input;

ByteNum等于RxBuff.ArrayHighBound();

for(int i等于0;i<=ByteNum;i++)

rcv[i]等于RxBuff.GetElement(i);

for(int i等于0;i<8;i++)

Edit1->Text等于Edit1->Text+IntToStr(rcv[i]);

应用C语言中的itoa函数将整型的接收报文数据转换成二进制的字符,便于转换成8个字节长的字符,便于后续的输入状态判断.以Shape15为例,判断str[8]字符内容,由此决定控件的颜色为红色或者绿色.

char p[8];

CbuilderPLC论文参考资料:

结论:基于CbuilderPLC通信程序和设计为适合CbuilderPLC论文写作的大学硕士及相关本科毕业论文,相关plc开题报告范文和学术职称论文参考文献下载。

相关免费毕业论文范文

热门有关优秀论文题目选题

和你相关的