Abstract: Virtual control objects are designed by using the VB software in this paper. An
interaction and communication mechanism between VB and PLC is established by using the
protocol conversion module. The conventional experimental control and program verification can
be realized by the PLC and virtual control objects.
Key words: PLC VB Virtual control object
【中图分类号】P315.69 【文献标识码】A 文章编号1606-5123(2017)09-0000-00
1 引言
基于虚拟现实技术的虚拟仿真实验室是利用真实的控制器(单片机、DSP、FPGA、PLC、ARM等)和计算机建立仿真系统。计算机通过接线电路和真实控制器连接,用来模拟控制器控制结果,仿真系统可使控制器像被实际安装在现场一样运行。计算机能以图示方式响应实际发生的动作,也即为调试控制系统提供了虚拟环境。从而能通过操作该仿真系统来检验系统设计的合理性和控制程序设计的正确性。将大大缩短控制系统的设计、调试周期,而成本将大为降低。
随着计算机应用的普及,若将虚拟现实系统技术应用于电气控制与PLC教学上,可以直观地讲解PLC的工作原理,学生也可以在计算机上做PLC的实验,同时也为学生进行系统创新设计提供了一个低成本的虚拟环境。
2 系统设计
2.1 实验方案
(1)首先利用第三方协议转换模块,建立VB与PLC之间的基础交互通信,开发VB底层通信程序[1-2]。
(2)使用西门子PLC编程软件TIA PORTAL V13建立PLC与虚拟控制对象的通信连接,进行实验验证,根据验证结果对虚拟控制对象进行修正[3]。
(3)最后对虚拟仿真实验平台进行远程控制实验。
2.2 系统结构
(1)主控制器:综合现场安装环境、系统需求及系统成本等方面考虑,选用西门子S7-1200系列PLC作为主控制器,包括电源模块、CPU模块、Profibus_DP主站模块。
(2)被控对象:十字路口交通灯、抢答器仿真模型。
(3)监控终端:笔记本电脑。
(4)协议转换:由于嵌入式工控机外部通信接口为RS232,应首先通过232/485接口转换器将其转换为RS485接口接入PM125模块,再由其转换为Profibus_DP接口,通过总线连接器接至Profibus_DP主站模块。
控制系统设备及软件清单如附表所示。
附表 控制系统设备及软件清单
PLC部分 |
||||
名称 |
型号 |
单位 |
数量 |
备注 |
电源模块 |
6EP1333-3BA10 |
块 |
1 |
AC 120/230 V→DC 24 V / |
CPU模块 |
6ES7 214-1AG31-0XB0 |
块 |
1 |
14入/10出 |
DP通信模块 |
6GK7 243-5DX30-0XE0 |
块 |
1 |
|
总线连接器 |
6ES7 972-0BA50-0XA0 |
个 |
2 |
Profibus_DP,不带编程口 |
协议转换模块 |
PM125 |
块 |
1 |
Profibus_DP转Modbus |
接口转换器 |
|
个 |
1 |
RS485转RS232 |
笔记本电脑 |
|
台 |
1 |
监控终端 |
十字路口交通灯、抢答器仿真模型 |
|
套 |
1 |
运行于1台工控机 |
编程软件 |
STEP 7 Professional V13 |
套 |
1 |
|
监控软件 |
SIMATIC WINCC V13 |
套 |
1 |
|
33 PLC与PM125通信
若想被控对象与控制器通信成功,需要对被控对象的PM125模块进行系统设置,具体是设置数据发送机制以及定义发送字节数量。PM125模块利用输出地址首字节QB0取值的变化触发数据发送机制;发送字节的数量在第二个字节QB1中定义。
(1)利用QB0触发数据发送机制:QB0的数据每变化一次,会发送一批数据到PM125模块。因此,可以使QB0的最低位Q0.0按照0→1→0→1→…变化,触发数据发送机制。具体实现方法有很多种,例如:输入地址的首字节IB0 用于存放接收计数,PM125每接收一次数据,IB0计数会累积加1,因此其最低位I0.0的值是按照0→1→0→1→…变化的。可以编写语句,令Q0.0=I0.0。
(2)在QB1中定义发送字节的数量:VB发送的字节数量传送到QB1。
4 VB程序编程
(1)串口设置程序:用于对串口端口号、波特率、数据格式、校验格式等参数进行设置,应与PM125设置相匹配。
(2)串口接收程序:利用MSComm1_OnComm()函数,当控件接收缓存区有数据,即MSComm1.InBufferCount > 1时,将缓存区的数据 (MSComm1.Input)接收并进行处理。此部分的数据相当于PLC的输出端口的状态。
(3)串口发送程序:对于VB窗口上的按钮、复选框等状态进行读取,经过CRC校验后,将其传送到控件的输出缓存,即MSComm1.Output,然后通过PM125发送给PLC。此部分数据相当于PLC的输入端口的状态。
(4)CRC校验程序:对(3)中的发送数据,必须要进行CRC校验,如图2所示。
5 结束语
项目以实例介绍了西门子S7-1200系列与VB之间的交互通信机制,从而实现PLC对虚拟控制对象的常规实验控制和程序验证,最终建立一套完整虚拟仿真实验室,这将大大提高学生实验课程和课后学习验证PLC程序的效率。
参考文献
[1] 杨克玉. VB6.0程序设计实训教程[M].机械工业出版社, 2005.
[2] 徐永洪,符影杰,江峰,等.基于VB6.0的串口通信实现[J].仪器仪表用户, 2004, 11(1):67-68.
[3] 张春.深入浅出西门子S7-1200 PLC[M].北京航空航天大学出版社, 2009.
共0条 [查看全部] 网友评论