西门子CPU模块6ES7313-6CG04-0AB0
摘要:介绍了推进系统的基本组成,重点介绍了基于多线程技术的PLC与PC的通讯方式,给出了部分VC6.0的程序,该种通讯方法简单、实用有较高的实用价值。
关键词:串行通讯PLC多线程重叠结构VC6.0
0.引言
在现代工业控制系统中,PLC以其高可靠性、适应工业过程现场、*的联网功能等特点,被广泛应用。可实现顺序控制、PID回路调节、高速数据采集分析、计算机上位管理,是实现机电一体化的重要手段和发展方向。但PLC无法单独构成完整的控制系统,无法进行复杂的运算和显示各种实时控制图表和曲线,无良好的用户界面,不便于监控。将个人计算机(PC)与PLC结合起来使用,可以使二者优势互补,充分利用个人计算机*的人机接口功能、丰富的应用软件和低廉的价格优势,组成高性能价格比的控制系统。
1.系统构成
推进系统中,PC机选用工控计算机。它是整个控制系统的核心,是上位机。其主要利用良好的图形用户界面,显示从PLC接收的开关量和控制手柄的位置,进行一些较复杂的数据运算,并且向PLC发出控制指令。
PLC是该系统的下位机,负责现场高速数据采集(控制手柄的位置),实现逻辑、定时、计数、PID调节等功能,通过串行通讯口向PC机传送PLC工作状态及有关数据,同时从PC机接受指令,向蜂鸣器、指示灯、滑油泵、控制手柄的位置等发出命令,实现PC机对控制系统的管理,提高了PLC的控制能力和控制范围,使整个系统成为集散控制系统。
2.通讯协议
计算机与PLC之间的通信是建立在以RS232标准为基础的异步双向通信上的,FX系列PLC有其特定的通信格式,整个通信系统采用上位机主动的通信方式,PLC内部不需要编写专门的通信程序,只要把数据存放在相应的数据寄存器中即可,每个数据寄存器都有相应的物理通信地址,通信时计算机直接对物理通信地址进行操作。通信过程中,传输字符和命令字以ASCⅡ码为准,常用的字符及其ASCⅡ码对应关系。
计算机与PLC进行通讯时,计算机与PLC之间是以帧为单位进行信息交换的,其中控制字符ENQ、ACK、NAK,可以构成单字符帧发送和接受,其余的信息帧发送和接受时都是由字符STX、命令字、数据、字符ETX以及和校验5部分组成。
校验和在信息帧的尾部用来判断传输的正确与否,和校验码的计算方法是将命令码到ETX之间的所有字符的ASCⅡ码(十六进制数)相加,取所得和的2位数,在后面的通信程序设计里面还会提到。进行差错检验的方法很多,常用的有奇偶校验码,水平垂直冗余校验LRC,目前广泛使用的是CRC校验码,它能查处99%以上18位或更长的突出错误,而在计算机与PLC点对点的短距离通讯时,出错的几率较小,因而采用校验和法,基本能满足要求。
3.多线程技术及在VC++串口通信程序中的实现
在Windows的一个进程内,包含一个或多个线程,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。
一个进程内的所有线程使用同一个32位地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行和什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完任务后再执行。在多处理器的机器上,调度程序可以把多个线程放到不同的处理器上运行,这样可以使处理器的任务平衡,也提高系统的运行效率。
Windows内部的抢先调度程序在活动的线程之间分配CPU时间,Windows区分两种不同类型的线程,一种是用户界面线程(UserInterfaceThread),它包含消息循环或消息泵,用于处理接收到的消息;另一种是工作线程(WorkThread)它没有消息循环,用于执行后台任务、监视串口事件的线程即为工作线程。
本系统采用MFC编程方法,MFC是把串口作为文件设备来处理的,它用CreateFile()打开串口,并获得一个串口句柄,用SetCommState()进行端口配置,包括缓冲区设置,超时设置和数据格式等。然后调用函数ReadFile()和WriteFile()进行数据的读写,用WaitForSingleObject()监视通信事件。在用ReadFile()和WriteFile()读写串口时,一般采用重叠方式。因为同步I/O方式是当程序执行完毕才返回,这样会阻塞其他线程,降低程序执行效率。而重叠方式能使调用的函数立即返回,I/O操作在后台进行,这样线程就可以处理其他事务,同时也实现了线程在同一串口句柄上实现读写操作。
使用重叠I/O方式时,线程要创建OVERLAPPED结构供读写函数使用,该结构重要的成员是hEvent事件句柄。它将作为线程的同步对象使用,读写函数完成时hEvent处于有信号状态,表示可进行读写操作;读写函数未完成时,hEvent被置为无信号。
利用Windows的多线程技术,在辅助线程中监视串口,有数据到达时依靠事件驱动,读入数据并向主线程报告;并且,依靠重叠读写操作,让串口读写操作在后台运行。
4.上位计算机通信程序设计
以读取PLC输出线圈Y0为首的2个字节的数据为例,编写一个通信程序。查PLC软元件地址表可知,输出线圈Y0的首地址为00A0H,2个字节的数据即为Y0-Y7和Y10-Y17,根据返回的数据,就可以知道PLC此时的状态,以实现对PLC的监控。在每一次读操作之前,先要进行握手联络。对PLC发请求讯号ENQ,然后读PLC的响应讯号。如果读到的响应讯号为ACK,则表示PLC已准备就绪,等待接收通讯数
FX1N系列PLC是一种普遍选择方案,多可达128点控制。由于FX1N系列PLC具有对于输入/输出、逻辑控制以及通讯/链接功能的可扩展性,因此它对普遍的解决方案有广泛的适用范围。
三菱FX2NC系列PLC在保留其原有的*功能特色的前提下实现了极为可观的规模缩小。I/O型连接口降低了接线成本并节省了时间。
FX2N系列PLC是FX系列中的模块。它拥有无以匹及的速度、更的功能、逻辑选件以及定位控制等特点,FX2N是从16到256路输入、输出的多种应用的选择方案。
FX3UC系列是三菱电机针对市场需求产品小型化、大容量存储、高性价比的背景下开发出来的第三代微型可编程控制器。内置了高性能的显示模块,FX3UC系列PLC还专门强化了通信的功能。
2.设备说明:
HZS间隙式混泥土搅拌设备自动控制系统是HZS型间隙式混泥土搅拌设备的核心控制部件,系统是由上位控制计算机单元,可编程控制器三菱Q00CPU,以及配料,称料控制仪表CB920X组成的分布计算机控制系统。系统能够完成各个工作环节的工作状态控制;系统的启动/停止,及故障的连锁控制;物料配方的管理,上传和下载;异常工作情况下的监控,故障解除和对电动装置的保护控制。
该配料计量系统通过固定落差、动态逐次逼近、脉冲精称等控制方法来提高物料的精度。计算机控制系统可以在管理计算机操作界面上设配料生产过程中所需的各项参数,完成对各单元的初始化设置,系统启动后,测量并显示工作过程中的各项参数,对异常情况给以警告。同时配合控制柜面板上的元器件及监控仪表,可及时切换手/自动状态,修改各项工作参数,达到优化的工作环境。还可以完成工作过程数据的存储,以及生产报表的打印功能。HZS60型混泥土搅拌设备在自动控制系统的支持下可以实现灵活的操作和更加直观全面的自动化生产。

3.系统配置图:
HZS60自动控制系统是由上位控制计算机,面板功能接口,信号适调接口,信号转换接口,功率转换接口以及可编程控制器PLC组成。单元之间利用标准RS232串行口进行通讯,使之成为一套完整的系统。控制系统采用集中方式对拌和设备的主要工作单元进行直接控制,各模拟信号通过CB920X输入中央控制单元,开关量信号和控制输出信均通过可编程控制器PLC与上位控制计算单元相连接。上位控制计算机还提供生产管理功能和一套屏幕操作界面。
系统组成及功能如下:(可参照系统配置图)

可编程控制器:选用三菱Q系列PLC,此类型PLC比同类型产品具有高水平的应用性和灵活的扩展性能,并且支持目前流行的开放式网络CC-bbbb、PROFIBUS-DP和DEVICENET,为以后的性能提升留下广阔的空间。
物料计量控制单元:选用CB920X-10称重仪表,支持通用的电阻应变片式传感器,内部集成算法,能达到准确的物料计量。同时支持四种物料的配比,通过累计方式自动分批称量,允许手动强制补料。CB920通过RS485/RS232与PLC通讯,进行配方的对写和存储,并且与PLC配合实现的配料方案。
上位计算机管理单元:它通过中央控制单元来管理各单元的工作,为用户提供可操作的人机界面,存储配料清单,与PLC用RS232串行通讯口进行数据监控,接收各单元传送的异常信号,向用户发出报警信号和处理措施,按年、月、日、时统计班次生产资料,以表格形式打印并将数据存盘。
辅助设备控制单元:采用可编程控制器PLC的DC电压输入电压作为开关量信号适调和光电隔离环节,采用继电器输出单元作为开关量输出的功率放大和隔离环节,中央控制单元通过通讯口来控制其工作方式。
动力配电控制单元:选用优质的施耐德电器元件:空气断路器,接触器,继电器,以及电机软启动软停止单元,确保精密控制仪表和电动执行装置的安全,对各负载之路出现的过流,短路和欠压等情况进行监控,同时各支路设置跳闸反馈保护。
4.控制模式:
该套控制系统分为控制台手动、控制台自动(REMOTE),及上位机自动(LOCAL)三种操作模式。第一种操作模式主要用在可编程控制器和上位机均不能正常工作的状态下,而后两种操作则依赖于配料控制器、PLC和上位计算机之间的协调工作和正常运行。
5.调试体会:
该套控制系统在调试期间因为是单机系统,基本没有遇见较大的问题。设备的运行情况良好,与其他设备之间的通讯稳定,完全能满足现场的生产稳定性要求。
6. 用户反馈:
经过近两年的运行,在诸多恶劣的工作环境中运行,此系统未出现任何故障,充分体现场了三菱产品的高度可靠性,得到了用户的高度好评。
西门子PLC,西门子CPU,西门子代理商,西门子授权代理商,西门子一级代理商