当前位置首页 > 行业资讯 > 技术应用 > 正文

串行通讯在烘干机测控系统中的应用

发布日期:2015-10-30 来源: 中国干洗加盟网 查看次数: 63 作者:[db:作者]
核心提示:  2PLC与上位机之间的通讯协议粮食含水量控制是保证粮食存储质量的重要措施。目前,粮食干燥机的控制主要是由人工进行手动调节,要求操作工有很强的责任心和丰富的经验。实现粮食干燥机械的自动化,将有助于提

  2PLC与上位机之间的通讯协议粮食含水量控制是保证粮食存储质量的重要措施。目前,粮食干燥机的控制主要是由人工进行手动调节,要求操作工有很强的责任心和丰富的经验。实现粮食干燥机械的自动化,将有助于提高我国农业机械的自动化水平,有助于提高干燥后粮食的品质。

  笔者设计的烘干机测控系统采用台工业控制计算机作为监督控制级,用一台PLC进行顺序控制、工况状态检测和报警等工作,工控机通过串行口向PLC发布控制命令,同时接收PLC发送的干燥机系统的状态信息,用来完成数据分析、工况状态显示、输出控制信号及信息存储等功能,以实现对粮食干燥机的实时监测和控制。

  1系统的硬件配置测控系统采用一台研华工控机作为上位机,PLC采用CPM1A型可编程控制器,CPU单元采用IO点数为40点的CPM1A-40CDR-A,IO扩展模块选用两个20点I/O扩展单元CPM1A-20EDR.通过RS232C通讯适配器与工控机之间通过串行口实现通讯,通讯采用1:1链接方式,用RS232-C适配器CPM1- CIF01通过屏蔽电缆直接与计算机连接。电缆采用交叉接法,RS-232C适配器的模式设定开关为"HOST",CPM1A与个人计算机之间通讯端口的接线见所示。

  通讯协议是对数据传输方式的规定,包括数据格式和数据位的定义等。在上位链接通讯中,上位机具有初始发送优先权。通讯由上位机来启动,CPM1A自动返回响应信息。CPM1A与上位机采用异步串行通讯方式,数据是以"帧"为单位进行传送的,上位机或PLC每送出一帧,发送权就轮换。上位链接系统的通信协议要使上位机与上位链接单元之间正确交换数据,不仅要保证波特率一致和数据格式一致,而且要求上位机要严格按照OMRON可编程控制器专用协议编写通信程序,数据参数包括起始位、数据长度、停止位、奇偶校验和波特率等。

  标准通讯参数为起始位为1位,数据长度为7位,停止位为2位,偶校验,波特率为9600bps.帧的格式如和所示。

  工控机RS-232C适配器工控机与CPM1A的连接机号识别码开始通道号读出通道数上位机计算机命令帧格式终端读出通道内容区的大小为1024B,发送缓冲区的大小为512B等,要保证和PLC通讯参数一致。可以通过程序来实现,对串口进行初始化的部分代码如下://串口初始化PLC响应帧格式讯为标准形式。在DM6653中,输入00设定机号为00,操作码RR为读出输入/输出/内部辅助等继电器的数据,FCS置于分界符或结束符前以检查是否发生任何数据错误。FCS为转换成两个ASC字符的8位数据,这个8位数据是对帧开始数据直到这帧正文结束(FCS前)的数据进行"异或"运算的结果。例如,计算机发送一命令帧00RR0200000143 *CR,帧中43为FCS的值,它是由命令帧中0,0,R,R,0,2…1分别转化为ASC码,再转化为8位二进制数进行"异或"运算后转化为十六进制的结果。命令帧由上位机发送给PLC,响应帧为PLC接收到命令帧后自动向上位机发送的应答信号。PLC如果正确执行了上位机下达的命令,响应码为00.在通讯的过程中,每次接收一帧数据时都要计算FCS,并将结果与包含在帧中的FCS比较,检查帧中数据是否有效。

  一帧发送的最大为131个字符,因此在发送/接收132个字符以上长度的命令和响应时,必须进行分割处理,分割帧的结尾用CR码一个字符代替终端(*CR),上位机发送一帧信息后,等待PLC发送的分界符CR,上位机接收到后继续发送下一帧,按此次序直到整个命令发送完毕。

  3上位计算机数据传输程序设计C++6.0采用面向对象的设计方法,可视化的编程环境,具有强大的MFC类库,适合开发代码效率高的大型应用程序。VisualC++6.0提供X控件一MSComm控件。用户可以在应用程序中嵌入该控件,从而方便地进行串口通信编程。

  首先,通过菜单把MSComm控件添加到工程中,选择菜单下子菜单中的6.0即可。

  3.1串口初始化在使用MSComm控件之前要进行初始化,选中添加到窗体上的MSComm控件,点击鼠标右键,在出现的快捷菜单中选中,在出现的对话框中对MSComm控件的一些属性进行设置,如接收缓冲串口入方式为二进制方式3.2串口通讯程序上位机串口通讯程序框图如所示。

  串口通讯程序框图通讯程序采用主从应答方式,工控机处于主动状态,读数据时工控机通过通讯端口向PLC发出读数据命令,PLC响应命令并将数据准备好,上位机读通讯口输入缓冲区的内容即可读到所需的数据;(array))函数发送数据,用GetInputO函数读取数据,接收到下位机响应帧后,首先检查接收到的信息块内的地址号是否是本机机号,相同则接收信息;然后校验响应帧的结束码是不是00,是则说明PLC正确的执行了上位机的命令,上位机计算响应帧的校验码,如果与响应帧的校验码相同,就说明此次通讯成功,否则上位机重新发送命令。

  4结束语现了工控机与CPM1A型PLC的串行通讯,应用在粮食干燥机控制系统中,工控机定时向PLC发出读取命令,PLC自动进行应答,把干燥机上下料位等状态信息上传给工控机,工控机对数据进行处理和显示,实现了对干燥塔的状态参数的实时监测。这种控制系统能够充分利用个人计算机良好的人机界面功能、丰富的应用软件和PLC的抗干扰能力强、可靠性高、模块化结构、接口功能强以及编程简单的优点,使两者优势互补,组成高性能价格比的控制系统。

网页评论共有0条评论