一款第三方通讯平台的开发及应用_第1页
一款第三方通讯平台的开发及应用_第2页
一款第三方通讯平台的开发及应用_第3页
一款第三方通讯平台的开发及应用_第4页
一款第三方通讯平台的开发及应用_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一款第三方通讯平台的开发及应用田善江(陕西锌业有限公司 陕西商洛726007)0引言随着技术的发展,智能化设备越来越多。有人量的智能化机器(或仪表)需要与plc通讯。具 体到印制电路板电镀生产线来说,依据印制电路板的型号规格以及印制电路板投入电镀槽时间的长 短,自动控制整流器的输出电流,对于保证印制电路板的电镀质最意义重人,这就要求采用智能化 的整流器,更要求智能化幣流器与电镀生产线的plc系统实现通讯,接收plc的控制指令,并将输 出电流、电压等实时参数发送给flco不同品牌的智能化整流器,其内部单片机的软件各有千秋, 通讯协议各不和同,这就给智能化整流器与plc的通讯带來很大难度。因此就迫

2、切需要一种即可与 plc通讯,乂能与智能化整流器通讯的笫三方通讯平台。1待研发第三方通讯平台的通讯对象1.1以欧姆龙品牌c系列plc为主通讯对象欧姆龙品牌c系列plc在印制电路板行业电镀生产线控制系统屮广泛应用,其通讯协议是公开 发布的。且欧姆龙plc与上位机实现通讯比较方便,只需要按照上位机提出的要求设定相关参数, 将通讯线与上位机连接正确即可,并不需要特别编写通讯程序。数据传输时,上位机主动从plc读 取数据,并主动向plc写入数据。plc程序只需要在plc数据区屮约定存储区域读取上位机发来 的数据,并将需要发给上位机的数据写入plc存储区中约定的上位机读数据区域即可。因此,待研发第三方通

3、讯平台将欧姆龙品牌c系列plc作为主通讯对象。将其作为第作为智能 化整流器的上位机考虑。1.2从通讯对象为各种品牌的智能化整流器不同厂家的智能化整流器尽管使用的单片机程序各不和同,且通讯协议千差万别,但单片机程 序的主要功能基本和同:(1)将幣流器的地址上传给上位机。(2)对整流器的输出电流、电压的检测信号(己经过模拟放人电路转换为dc05v标准信号) 进行数字化处理,转换为数字数据,再通过串口发送出去,以便上传给上位机进行本整流器的输出 电流、电压的远程显示;(3)对串口接收到的上位机发送来的信号进行甄别处理,不是发给木整流器的,则丢弃:对发 送给木整流器的数据进行接收,并按不同的指令,分别

4、处理如下:a、将上位机发来的恒流(或恒压)工作方式指令,经数字化处理,变为开关量信号0或1,从 规定的端口输出,用于控制整流器按恒流方式或者按恒压方式工作;b、将上位机传來的电流(或电压)设定值进行处理(如果设定的整流器工作方式为恒流方式, 只处理电流设定值;工作方式为恒压方式,则只处理电压设定值),转换为0-511或01023的数 字数据,然后再经过pwm转换为pwm方波,从pwm输出端输岀,经外围电路处理后变为模拟量 信号,用以控制整流器恒流方式时的电流输出大小及恒压方式时的电压输出大小。c、将上位机传来的整流器输出开通(或关断)设定指令,经过处理,变为开关最信号0或1, 从规定的端口输出

5、,用于控制整流器开通输出或关断输出。因此,如果第三方通讯平台要成为比较通用的产品,就应可以与不同品牌的智能化整流器通讯, 而不是只与特定品牌的整流器通讯。这个问题的关键是要识别不同厂家通讯协议并进行处理。经反 复分析研究,这个问题是可以通过软件方法解决的。另外,由于不同品牌智能化整流器的软件主要 功能基本相同,因此笫三方通讯平台软件中的核心数据处理部分就可以封装为一个标准的函数模块, 而不需要针对不同品牌整流器进行特别考虑。根据i二述,完全能够做到将各种不同品牌整流器作为笫三方通讯平台的从通讯对彖。2待研发第三方通讯平台的硬件平台选择硬件平台的选择原则是兼顾经济性、先进性和方便性。因此pc机显

6、然因为价格较高且休积较 人是不合适作为硬件平台的。所以确定硬件平台以嵌入式主板为核心,再配置少量外围器件构成。经反复进行价格及性能比较,嵌入式主板决定选择深圳市深蓝宁科技有限公司生产的 pcm-3592型(或pcm-3593型)嵌入式主板。该型主板町根据川户需要提供串口、usb 口、vga/lcd 接口、鼠标/键盘接口、电源接口等接口配线。pcm-3592型嵌入式主板主要技术特点如下:项目描述项目描述cpux86核心的soc (系统级芯片)系统内存256mb硬盘(光盘)接口增强型ide接口串行u4 路 rs232 口显示支持支持vga/lcd显示usb 接 口两路高速usb2. 0支持的操作系

7、统d0s6. 22, d0s7. 1, wince5. 0, wince6. 0,linux, win98, win2000, winxp, xpe 等电源dc5v硬盘也选用深圳市深蓝宇科技有限公司的1款4g固态ide硬盘。该款硬盘体积很小,可直接插在 嵌入式主板的ide接u±o其容量可以满足要求,因为操作系统最多会占用1g左右存储空i'可,第三 方通讯平台软件所需存储空间不会超过2m, 4g的容量,安装操作系统及第三方通讯平台软件后,还 会剩余大量存储空间。另外,因为1条电镀牛产线需要使用少则10儿台,多则儿十台整流器,通讯时最合适的方式是选 样rs485方式,以便实现人量

8、大量整流器与上位机远距离通讯。因此,在通讯平台实际应用时,需 耍根据生产线上整流器数量及分组情况选用1-3个232转485串口转换器,插接在嵌入式主板上规定为 与整流器通讯的com口上,以实现与各组整流器的rs485通讯总线的连接。3软件开发31编程语言的选择编程语言决定选用面向对象的编程语言c+6.0语言。编程过程决定先建立程序模型,在此基础 上逐步求精。这样便于编程与测试基本同步进行,可以少走弯路,并且逐步求精的最终结果就是软 件成品了。32辅助软件的编程第三方通讯平台的核心软件命名为第三方通讯平台程序(简称通讯平台程序),为了通讯平 台程序安装及测试的需要,有儿款辅助软件需要与通讯平台程

9、序同步编程,分别是整流器通讯协 议注册程序、plc模拟程序、-整流器模拟程序。(1)整流器通讯协议注册程序(简称注册程序)注册程序在通讯平台程序安装吋使用,其功能是将在窗口输入的整流器通讯协议写入一个命名 为urect_protv,扩展名为ini的文件里,并将文件rect_prot.ini#储在指定路径下,以便通讯平台程 序启动后读取,从而使第三方通讯平台能够与具有特定通讯协议的整流器实现通讯。为防i上用户误删除该ini文件,可将其存储路径特别规定,使川户单位除专责技术员外难以找到。注册程序的窗口分位为2个输入区域,一个是串口初始化输入区,另一个是数据帧格式输入区:a、串口初始化输入区:共4个

10、条冃,每个条冃由1个静态文木框和一个组合框组成。文木框指 明本条冃为波特率、数据位数、还是奇偶校验位、停止位,组合框则川于对波特率、数据位数等的 值进行选择。b、数据帧格式输入区:针对通讯协议对数据帧规定的各项冃,如起始字符、地址、命令字符、 数据区、检查和、校验码、终止符等项目,分别进行输入。每一个项目由1个静态文本椎和1个编 辑框组成,静态文本框川以指明本项目名称;编辑椎用以输入。注册程序窗口共设置2个按钮,一个注册按钮,一个取消按钮。注册按钮的功能为:将输入区 录入的整流器通讯协议各个项目分别赋给对应的变量,然后将这些变量按规定的顺序分行写入文件 rect_pro匸ini,并将文件存在指

11、定路径下。按下注册按钮,如果输入的通讯协议不违背串口通讯的相 关规则,则注册成功,同时弹出消息框,显示“注册成功”,按下消息框的确认按钮后,消息框消失 关闭注册窗口。如果输入的通讯协议不符合串口通讯的相关规则,则注册失败,弹出消息框,显 示“你输入的通讯协议不合法,请返回上一步注”,按下消息框的确认按钮后,消息框消失,但注 册窗口继续保留,以便进行修改。按下取消按钮,将放弃注册通讯协议,注册窗口关闭。(2)plc模拟程序plc模拟程序的川途是模拟欧姆龙plc与第三方通讯平台通讯,以便通讯平台软件在没冇真实 plc存在的情况下即町进行测试。它不需要对欧姆龙plc的所有功能进行模拟,只要能进行整流

12、器 的相关参数设定,并按欧姆龙plc与上位机进行通讯的通讯协议构造数据帧并发送且能被笫三方通 讯平台正确接收,以及能够正确接收第二方通讯平台通讯发来的遵循欧姆龙plc通讯协议的数据帧 即可。为了进行参数设定以及验证是否对第三方通讯平台传输的数据进行了止确接收,需要一个人接 交互窗口。交互窗口需要一个显示区以及一个设定按钮。显示区用以显示每一台确定地址的整流器 的电压、电流实际值,也显示plc模拟程序为各台整流器设定的电压、电流值等。设定按钮的功能 是调出一个设定对话框,在设定对话框里可以单台、也可以逐台对整流器进行工作参数设定,如恒 流、恒压工作方式、开通或关断输出、设定电流、设定电压等。(3

13、)整流器模拟程序(简称虚拟整流器)虚拟整流器的川途是:安装在pc机上川以模拟真实的整流器与第三方通讯平台通讯,以便对 第三方通讯平台进行测试。对虚拟整流器的具体要求为:a、可以模拟通讯协议各不相同的整流器;b、能够将第三方通讯平台传输來的电流、电压等设定值显示出來;c、能够设定虚拟输出电流、电压,传输给笫三方通讯平台,也在模拟整流器的窗口显示出來。 为满足上述要求,具体的编程为:创建一个文件名为rect_protocol.dat的dat文件,该文件应与虚拟整流器存储在同一路径下。 rect_protocol.dat可在虚拟整流器启动前创建,也町在虚拟整流器启动前根据测试需要,按照某一品 牌整流

14、器的通讯协议对rect_protocol.dat的内容进行修改。虚拟整流器按照对话框应川程序进行创建和编程,在其初始化函数中读取文件rect_protocol. dat,并根据读取的内容初始化com 口及构建与第三方通讯平台通讯的数据帧格式。为虚拟整流器创建1个通讯线程comthread, jij以实现与笫三方通讯平台的通讯。再创建2个 与通讯密切相关的全局函数datreadproc和framestructureo datreadproc川以处理虚拟整流器接收 自第三方通讯平台的下传数据帧,framestructure用于构建与笫三方通讯平台通讯的上传数据帧。 comthread将函数fram

15、estructure构建的符合通讯协议的数据帧上传给第三方通讯平台,并通过调 川datreadproc,从接收自第三方通讯平台的数据帧解析出电流设定值、电压设定值、恒流/恒压工 作方式设定值、开通/关断整流器输出设定值,并分别赋给全局变量ampset. voltset. cvci_set> onoff_seto虚拟整流器显示窗口的主要功能为显示串口收到的数据以及进行虚拟输出电流、电压的设定。 主要编程过程如f:a、创建 4 个静态文本框,丿ij 以显示 ampset、voltsetx cvci_set、onoff_setob、创建2个编辑框,分别用以设定虚拟输出电流、虚拟输出电压,并为2

16、个编辑框控件各添加 1个int型变g ampout (虚拟输出电流)、voltout (虚拟输出电压);c、为确认按钮添加一个消息函数onok,在onok中删除自动生成的代码“cdialog:onok();”, 使确认按钮按下后,对话框不会关闭;并添加代码“updatedata(true);",将编辑框的数值赋给对 应的变量ampout. voltout;再调川函数framestructure,实现对上传数据帧的更新,使最新的虚 拟输出电流、电压及时传输给第三方通讯平台。d、将取消按钮的标题修改为“退出”,其它属性不做修改。按下退出按钮后,将关闭对话框, 虚拟整流器退出运行。33通讯

17、平台程序的编程通讯平台程序作为笫三方通讯平台的核心,具编程效果直接决定着笫三方通讯平台是否具有应 丿ij价值。为了少走弯路,首先耍明确通讯平台程序的主要任务,并围绕主要任务解决关键问题,然 后再逐步完善。(1)通讯平台程序的主要任务如下:a、数据上传任务:接收同一电镀生产线上的所冇整流器(通讯亦议相同)传输來的数据,进行处理后,按照欧姆 龙plc与计算机进行串口通讯的通讯协议构造数据帧,传输给欧姆龙plcob、数据下传任务:接收plc传输來的数据,进行处理后,按照整流器的通讯协议构造数据帧,发送给整流器。c、视口任务:将接收自plc及整流器的数据,均以友好的方式在窗口显示,以方便技术人员进行软

18、件调试时 及h后运行屮的维护。(2)需要解决的关键问题及其编程实现:1)如何使第三方通讯平台适应不同厂家整流器的通讯协议解决思路为:在笫三方通讯平台的破件平台上安装整流器通讯协议注册程序,安装通讯平台程 序z前运行注册程序进行特定品牌整流器的通讯亦议注册。通讯平台程序的初始化函数中读取注册 通讯协议时生成的ini文件rect_prot.ini,根据其内容完成对下传com 口进行初始化,并按其规则构造 下传数据帧,及对整流器的上传数据帧进行处理。2)如何防止多串口通讯对cpu资源的过渡占川第三方通讯平台工作时,需同时启用至少2个最多4个串口,具体为:与plc通讯需要1个串口, 与整流器通讯,需要

19、13个串口。1条印制电路板电镀生产线所配整流器一般在20至50台之间,特别 大的生产线,整流器数量也可能多达近70台,为保证串口通讯质量,需要按每组不超过32台给一条 电镀生产线的所冇整流器进行分组,每组整流器对应1个com口。串口通讯对cpu资源山用较多,多个串口进行通讯,处理不好的话,很容易导致cpu占用率过 高,使笫三方通讯平台运行不稳定甚至死机。为解决这一问题,应采川多线程技术。具休为:a、主线程:丿ij于对接收到的数据进行处理和视口显示。b、与plc通讯的线程:完成与plc的通讯。c、与整流器通讯的线程:与整流器通讯的线程根据整流器分组情况进行创建,每组整流器对应1个线程。鉴于不同的

20、电镀生产线所需整流器数量不同,分组情况也不一样,这就需要一个用于保存特定 生产线的整流器数量、地址、额定电压、电流及分组情况的datt文件。通讯平台程序在初始化函数 中读取这个dat文件(在读rect_prot.iniz后进行),从而根据整流器分组情况,确定需创建与整流 器通讯的线程数量。该dat文件的编写规则、模板文件及对文件的存储路径的规定应随笫三方通讯平 台使用说明书捉供,文件的具体编写,应由用户根据编写规则白行完成。3)第三方通讯平台读、写的数据在plc屮存储地址的标准化处理第三方通讯平台上传给plc的数据,以及plc卜-传给第三方通讯平台的数据,均由第三方通讯平 台主动读写plc的相

21、应数据区(dm区)來完成。由于第三方通讯平台对应的用户为不确定的,为保 证笫三方通讯平台的通川性及标准化,必须制定一个标准,对上传数据及下传数据在plc中的存储 地址范围、以及各类数据的定义、含义、数值上下限等进行明确规定。每一个川户编写plc程序时, 都应按这个标准处理与笫三方通讯平台通讯的数据。这个标准规定的数据存储在plc的dm区中,因此町称该标准为dm区参数表。dm区参数表如市 川户按照笫三方通讯平台约定的规则编写,可能冇点难度。因此口j在第三方通讯平台窗口上设置一 个dm参数生成按钮,在第三方通讯平台接上显示器、键盘、鼠标进行调试和维护时,单击dm参数 生成按钮,通讯平台软件即可根据

22、读取的前文所述dat文件生成excel格式的dm参数表。用户将该参 数表打印出来即可使用。4软件调试41软件开发过程中的测试:为使软件开发过程少走弯路,采用3台pc机同时编程,一台开发plc模拟程序,一台开发虚拟整 流器,一台开发通讯平台软件及进行整流器注册程序的编程。开发通讯平台软件的pc机的串口 com1 与开发plc模拟程序的pc机进行串口通讯,com2与开发虚拟整流器进行串口通讯。一边编程,一 边测试,首先解决好通讯问题,然后再随着开发进程的深入,不断解决新出现的各种问题。4.2软件开发完成后的测试尽管在软件开发过程中,测试伴随着整个编程过程,但为了提高第三方通讯平台软件的可靠性, 软件开发完成后,进行全面的测试,是十分必要的,具体如下:(1)硬件准备:需准备以下设施:嵌入式主板1台,川作第三方通讯平台的锁件载体(简称第三方通讯平台)。pc机3台:1台模拟plc, 2台pc机模拟整流器;rs232通讯电缆1根,川于模拟plc与笫三方通讯平台z间的串口通讯连接。232转485串口转换器2个,笫三方通讯平台与模拟整流器的pc机z间通讯使用。(2)软件安装:a、模拟整流器的pc机上软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论