



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用VC+开发微机与OMRON PLC间的一种通讯程序 本文介绍了一个使用Visual C+编写的通信程序,主要实现微机与OMRON PLC间的通信,并对它们间的通信协议作了阐述。 一、前言 可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式或模拟式输入输出控制各种类型的机械的生产过程。可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体、易于扩充其功能的原则设计。早期的PLC以数字量的顺序控制为主,提供了简单的慢速的通信功能(只支持RS232、RS485、多采用Modbus协议),现在的PLC不仅具有逻辑运算、顺序控制、定时、计数和算术操作,而且还具有A / D、D / A转换,数值计算和数据处理等功能。它既可以对开关量进行控制,也可以对模拟量进行控制,随着PLC功能不断扩充,它还有通讯联网功能,举例C200HX / HG / HE的OMRON PLC的CPU内的RS - 232C端口和外设端口支持通信功能就有与编程设备(如编程器,CPT,或CXP (中文版)进行通信、与个人计算机和其它外设进行上位机链接通信、与个人计算机和其它外设进行RS - 232C、与其它PC进行1:1、再有是与装有NT链接接口的可编程终端(PT)进行NT链接通信(1:1、1:N),本课题就是基于OMRON PLC的链接通信(有通信协议),用VC+开发的上位机与PLC间的通信。 二、OMRON PLC的通信协议 目前,随着PLC的快速发展,越来越多的PLC生产厂商开发了它与计算机的通信功能(主要是利用计算机串口进行通信),本文是以C200HE PLC为例,作详细阐述,本文的通信协议采用的是上位机链接通信。上位机链接通信通过在上位机与PLC之间交换命令和应答实现的。在一次交换中传输的命令和应答数据称为一帧,一个帧最多可包含131个数据字符。 识别码和正文取决于接收到的上位机联结命令,结束码表示命令完成的状态(即是否有错误发生),当应答超过132字符,它必须分成若干帧。结束码是应答帧中表示PLC应答的信息。例结束代码为00表示正常结束,13表示FCS错误,14表示格式错误,15表示入口码数据错误,18表示帧长度错误,A3表示传输数据时因FCS错误引起终止,A8表示传输数据时因帧长度错误引起终止。 本文的上位机命令帧包括读写PLC单元中的数据的命令。读命令帧为:01RR0100000141* + CHR $(13),意思是上位机读取节点为1的PLC中的IR0100单元中的内容。写命令帧为:01WR0100000171* + CHR $(13),意思是写一个数到节点为1的PLC的IR0100单元中。 三、系统结构图 上位计算机与多个PLC进行通信,必须连接一个RS232 / 422电平转换器,RS422采用平衡发送接收方式,它具有传输距离长、抗干扰能力强和多点通信能力,最多可以接32台PLC,如图1所示,每一台PLC都必须挂一个COM06单元进行RS422方式连接,所有的PLC与计算机间的通讯采用的是PLC上位机链接通信协议。 1、硬件设置 RS232 / 422转换器的设置开关拨到422方式,OMRON PLC上的COM06通信板单元同样设置为422方式和四线制。 2、参数设置 上下位机的通信波特率设置为9600,数据格式设置为E,7,2。 3、节点设置 在PLC的DC6558单元中设置节点号00(初始值) 31(号机)。 四、用Visual C+6.0编写串行通信程序 本文的上位机链接通信程序是用Visual C+6.0编写的,主要是利用VC+中的一个通信控件来实现的。 首先利用MFC AppWizard ( exe ) 建立一个基于对话框,支持Activex控件,命名为Transcomn的应用程序。然后在对话框中加入一些控件,其中那个电话形状的控件必须是在系统中注册过的Microsoft Communications Control,由它进行通讯时首先得设置它的一些属性如表1。 属性 设定值 说明 CommPort 1 通讯协议为 PLC 上位机链接通信,利用微机的串口1 InputMode 0 接收数据类型为文本形式 Rthreshold 1 每接收一个字符就产生一个事件 Settings 9600, E, 7, 2 参数依次为波特率、奇偶检验数据位数、停止位数 五、程序编写 在程序中需添加的代码如下: / TranscommDlg.cpp:implementation file BOOL CTranscommDlg:OnInitDialog () 最后要在ClassWizard中添加变量和响应函数如表2。 控制名称 控制ID 对应变量或函数 通讯地址文本框 ID - ADDRESS m_address DM 区文本框 ID - DM m_dmbox LR 区文本框 ID - LR m_lrbox HR 区文本框 ID - HR m_hrbox IR 区文本框 ID - IR m_irbox 应答帧文本框 ID - RESPONSE m_response 通讯控件 ID - MSCOMM M - comm. 发送命令按钮 ID - SEND OnSend ( ) / TODO:Add extra initialization here / 打开通信端口1 m_comm.SetCommPort (1); IF_(m_comm.GetPortOper () m_comm.SetPortOper (FALSE); m_comm.SetPortOpen (TRUE); / 初始状态为选中地址为1的PLC,并对它的DM0100单元实行操作 m_address= “1” m_dmbox=“0100” return TRUE; / 发送事件 void CTranscommDlg:OnSend () / TODO:Add your control notification handler code here / 按本文第二部分介绍的,写出需要传出的命令码字符串CString m_send / 将这个字符串发送到串行口 Cstring m_send; m_comm.SetOutput (COleVariant (m_send); / 接收事件 void CTranscommDlg:OnComm () / TODO:Add your control notification handler code here if (m_comm.GetCommEvent () = 2) COle Variant m_input = m_comm.GetInput (); m_input
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年建筑施工安全员新员工岗位专业知识笔试题目及答案
- 2025技能考试人工智能训练师二级题库及答案完整版
- 2025年安全员考试试题题库安全员资考试试题附答案
- 综合应用能力事业单位考试医疗卫生类E类试题及答案2025年
- 监理工程师继续教育考试试题及答案
- 手机维修店客户服务标准作业流程
- 2024年新版植保无人飞机应用技能理论知识考试题库含答案
- 桥梁隧道工程公路水运工程试验检测人员应试题及答案2025年
- 企业环境保护责任落实与监督体系
- 2025年土木培训测试题及答案
- 简易钢结构雨棚施工承包合同范本
- 苏州市前期物业管理委托合同范本
- 2022年冀教版七年级上册数学第一次月考试卷
- 《气管支架临床应用》课件
- 导数的应用-函数的零点问题(5题型分类)-2025年高考数学一轮复习(解析版)
- 8·12天津滨海新区爆炸事故调查报告分析及反思
- 2024新指南:中国阿尔茨海默病早期预防指南解读课件
- 江苏省南京市联合体2024-2025学年八年级上学期期中考试语文试题含答案
- 有限责任干股持有者分红权利具体合同版
- 与爱人相约的协议书(2篇)
- 山东版离婚协议书模板
评论
0/150
提交评论